# Исн трукция по разворачиванию проекта Mcos #### 1) Подготавливаем вашу шайтан-машину (macOS) 1. Чтобы быть уверенными что все пройдет гладко, сделаем зачистку: ```bash= brew uninstall postgis brew uninstall postgres brew uninstall postgres@13 ``` 2. Ставим пакеты: ```bash= brew install gettext \ python3 \ postgres redis ``` Для люнекса надо пакет как минимум: ```bash= sudo apt install libpq-dev python3-dev ``` > \ - обратная черта (слэш) позволяет нам переводить строку без выполнения команды. То есть следующая строка будет относиться к команде на предыдущей строке. Это полезно для лучшего визуального восприятия. Лучше чем в одну строку всё 3. Если у вас вылетает ошибка при выполнении brew install: ![](https://i.imgur.com/qDitBZE.png) ТО ВЫПОЛНИТЕ СЛЕДУЮЩИЕ КОМАНДЫ: ```bash= sudo chown -R $(whoami) chmod u+w /usr/local/share/man/man5 ``` После этого повторно пробуйте установить пакеты с помощью `brew` --- #### 2) Подготавливаем базу даных 1. Авторизация Есть два способа попасть в командную строку Postgresql. При установке postgreqsl должен был автоматически создаться пользователь с именем **`postgres`** > Postgresql база даных может создавать использовать пользователей системы (linux/macos , то есть вашей ОС) для авторизации внутри базы даных. > То есть, если вы зайдёте под определённым пользователем в систему, то у вас будет возможность авторизоваться также для выполнения команд в базу даных POstgresql. > По умолчанию postgresql создает пользователей которые есть в вашей системе * Способ 1 Выполняем команду для того, чтобы сменить пользователя на **postgres**: ```bash sudo -i -u postgres ``` после чего нас должно переместить в командную среду пользователя **postgres**.(linux bash environment) После чего нужно выполнить ``` psql ``` для того чтобы запустить командную строку postgresql: * ![](https://i.imgur.com/1w42yTp.png) * Способ 2 ```bash psql postgres ``` Таким образом вы должны войти под пользователем postgres. Обычно для тестовых проектов по умолчанию используется пользователь **postgres** для авторизации в базе даных. Поэтому дальше будем использовать его 2. Дальше выполняем следующие команды для подготовки базы даных: (команды выполнять из терминала, откройте чистый терминал) ```bash= psql postgres ``` после чего строка запроса изменится и можно уже давать команды базе даных: ![](https://i.imgur.com/50aF37p.png) Выполняем: ```sql= ALTER USER postgres WITH PASSWORD 'postgres'; CREATE DATABASE muffin_tshirts; ``` по идее пользователь postgres уже должен быть создан, но если этого не случилось, выполните следующие команды: ```sql= CREATE USER postgres WITH PASSWORD 'postgres'; GRANT ALL PRIVILEGES ON DATABASE postgres to postgres; ALTER USER postgres WITH PASSWORD 'postgres'; CREATE DATABASE muffin_tshirts; ``` По идее всё готово. Можно переходить дальше. --- #### 3) Скачиваем репозиторий **--- [ команда 1 ] ---** ```bash= git clone https://github.com/atmosquare/web-app tshirts ``` это значит что проект будет скопирован из репозитория в папку (директорию) **tshirts** То, где вы эту папку разместите - уже ваше дело. Главное чтобы сами знали где. Совет: разместите в домашней директории. 1. Создайте папку **projects** в домашней директории 2. зайдите в папаку projects и выполните **--- [команду 1] ---** 3. Зайдите в папку (директорию) с проектом ```bash= cd ~ mkdir projects && cd projects git clone https://github.com/atmosquare/web-app tshirts cd tshirts ``` > && - это специальный оператор который позволяет последовательно выполнить несколько команд, пока первая команда не выполнится , следующая не будет выполнена после выполнения команд выше , вы должны находиться теперь в папке проекта. Следуйте за **уставшим кроликом** дальше: --- #### 4) Теперь, когда вы в уютном месте, ставьте виртуальное окружение: 1. Ставим окружение ```bash= python3 -m venv venv ``` эта команда создаст виртуальное окружение в папке (директории) **venv**, внутри проекта. 2. Активируем окружение (заходим в окружение) ```bash= . venv/bin/activate ``` 3. Устанавливаем нужные пакеты python: ```bash= pip install --upgrade pip pip install -r requirements.txt ``` 4. Пробуем запустить сервер: ```bash= python3 run_server.py ``` --- #### 5) На MacOS после запуска сервера надо переходить на * **http://localhost:7000** <<--- эту ссылку открываем в браузере **ВМЕСТО** * 0.0.0.0:7000