ospaz-site/README.md

89 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ospaz-site
## Необходимое ПО
Для запуска данного сайта требуется следующее ПО:
* база данных _PostgreSQL_
* реверс-прокси сервер _nginx_
* интерпретатор _Python_ с версией не ниже 3.11
## Первый запуск
### Подготовка python-venv
Первым делом нужно создать virtual env. Сделать это можно следующей командой:
python -m venv ./venv
Далее нужно активировать virtual env. Активация на разных платформах описана в документации по ссылке:
https://docs.python.org/3/library/venv.html#how-venvs-work
Далее нужно установить зависимости проекта. Они все перечислены в файле _requirements.txt_. Для установки всех зависимостей нужно ввести следующую команду:
pip install -r requirements.txt
После успешной установки зависимостей виртуальное окружение готово к работе. При запуске проекта в следующий раз виртуальное окружение нужно будет только активировать.
Далее для всех команд считается, что виртуальное окружение активировано.
### Подготовка переменных окружения
Пароли, ключи и прочие настройки сайта задаются через переменные окружения.
Для корректной работы сайта нужно скопировать файл [.env-template](.env-template) с новым именем _.env_.
После копирования необходимо отредактировать файл _.env_, вставив корректные значения следующих переменных:
* DB_NAME="db_name" - Название базы данных
* DB_USERNAME="db_user" - Имя пользователя базы данных
* DB_PASSWORD="db_pass" - Пароль пользователя базы данных
* DB_HOST="example.com" - Имя хоста базы данных, доменное имя или IP-адрес
* DB_PORT=5432 - Порт базы данных, изменять по умолчанию не требуется
* DJANGO_SECRET="django-secure-******" - Секретный ключ django для подписи сессий. Вместо звездочек нужно вставить
длинную строку (>40) случайных символов. Этот ключ не нужно запоминать или где-то хранить.
Остальные переменные окружения не следует изменять, если в этом нет необходимости.
### Применение миграций
После клонирования репозитория и настройки venv нужно выполнить следующие команды:
python manage.py makemigrations users index
python manage.py migrate
### Создание суперпользователя
Для создания суперпользователя нужно ввести команду
python manage.py createsuperuser
Команда попросит ввести логин и пароль, потом повторить введенный пароль.
### Запуск сервера
Для запуска сервера нужно ввести команду
python manage.py runserver localhost:39080 --noreload
В данном случае сервер будет прослушивать адрес localhost и порт HTTP 39080.
Порт и прослушиваемый адрес можно изменять.
### Конфигурация nginx
Для корректной работы сайта нужно вставить следующую конфигурацию в _nginx.conf_ в секцию виртуального хоста:
location /static {
alias "<path-to-site-root>/static";
}
location /favicon.ico {
add_header Content-type "image/svg+xml";
alias "<path-to-site-root>/static/favicon.svg";
}
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://localhost:39080; // адрес и порт, указанные при запуске сервера
}
При этом нужно заменить _\<path-to-site-root\>_ на путь к папке, в которой расположен сайт.