1. Установить виртуальные машины в соответствии со схемой развертывания сети.
2. Настроить сеть внутри виртуальной машины в соответствии с выбранным сценарием - Development или Production
3. Перенести на виртуальную машину код для развертывания
4. Создать БД для функционирования сервиса (если ее нет) для подключения к программному продукту. Рекомендуется использовать PostgreSQL
5. Подготовить Django-проект к запуску
6. Настроить сервисы (веб-сервер, XMPP-сервер и тп)
Установить виртуальные машины: Развертывание сети с использованием Proxmox или другой виртуализационной платформы. Рекомендуемые параметры для виртуальной машины:
При установке виртуальной машины на Alt, будет предложено настроить сетевые интерфейсы. Если DHCP не выдаст нужные параметры (Ip, Deafult gateway, Netmask) укажите их вручную соответственно схеме вашей сети.
Настроить сеть на виртуальной машине: Перейдите в /etc/systemd/network/ и создайте конфигурационный файл для сетевого интерфейса. Пример настройки VLAN интерфейса:
[Netdev] Name=ens160 Kind=vlan [VLAN] Id=20
Здесь ens160 — это интерфейс, на котором работает VLAN 20.
После установки виртуальной машины необходимо обновить пакеты и установить необходимые зависимости:
P.S обновляем под Root
apt-get update apt-get dist-upgrade apt-get update-kernel
(перед обновлением kernel нужно установить данную утилиту, перед этим указав нужный репозиторий)
apt install apache2 git python3
cd ~/.ssh/
Создайте ключ:
ssh-keygen
Скопируйте публичный ключ и добавьте его в ваш профиль Git на сервере.
Host git.sharix-app.org Hostname git.sharix-app.org User Denis Port 300
ssh -vv git.sharix-app.org
Если все настроено правильно, вы получите сообщение «publickey succeeded».
cd /etc/apache2/sites-available/
sudo vim guide.conf
<VirtualHost *:80> ServerAdmin web@webserver.local DocumentRoot /var/www/webapps/<директория с приложением> ErrorLog /var/log/apache2/error_log CustomLog /var/log/apache2/access_log combined AddDefaultCharset utf-8 </VirtualHost>
a2ensite guide.conf systemctl restart apache2
git clone -b unstable https://git.sharix-app.org/ShariX_Open/sharix-open-webapp-base.git cd sharix-open-webapp-base
./bin/install.sh
(после первого выполнения он создаст файл install.cfg, заполните его по примеру install.cfg.example)
(окружение venv встроенно в python3)
python3 -m venv venv source venv/bin/activate
Укажите параметры подключения к базе данных. Настройте значения SECRET_KEY, ALLOWED_HOSTS, CSRF_TRUSTED_ORIGINS.
apt install postgresql17
psql -U postgres
CREATE USER YOURUSER WITH PASSWORD 'yourpassword';
CREATE DATABASE НАЗВАНИЕ БД OWNER YOURUSER;
nano /etc/postgresql/12/main/pg_hba.conf
host all all 0.0.0.0/0 md5
systemctl restart postgresql
systemctl start sharix_open.service
systemctl status sharix_open.service
systemctl restart sharix_open.service
journalctl -u sharix_open.service
ps aux | grep gunicorn kill <pid>
После выполнения всех шагов ваш сервис будет готов к работе. Убедитесь, что все сервисы, такие как PostgreSQL, Apache и Django, работают корректно и не конфликтуют между собой.