Содержание
Как развернуть сервис ShariX Open на Alt Linux
1. Установить виртуальные машины в соответствии со схемой развертывания сети.
2. Настроить сеть внутри виртуальной машины в соответствии с выбранным сценарием - Development или Production
3. Перенести на виртуальную машину код для развертывания
4. Создать БД для функционирования сервиса (если ее нет) для подключения к программному продукту. Рекомендуется использовать PostgreSQL
5. Подготовить Django-проект к запуску
6. Настроить сервисы (веб-сервер, XMPP-сервер и тп)
Работа с виртуальной машиной
Установить виртуальные машины: Развертывание сети с использованием Proxmox или другой виртуализационной платформы. Рекомендуемые параметры для виртуальной машины:
CPU: 2 ядра
RAM: 4GB
HDD: 40GB
1. Установка виртуальных машин и настройка сети
При установке виртуальной машины на Alt, будет предложено настроить сетевые интерфейсы. Если DHCP не выдаст нужные параметры (Ip, Deafult gateway, Netmask) укажите их вручную соответственно схеме вашей сети.
Настроить сеть на виртуальной машине: Перейдите в /etc/systemd/network/ и создайте конфигурационный файл для сетевого интерфейса. Пример настройки VLAN интерфейса:
Пример настроек сетевого интерфейса
[Netdev] Name=ens160 Kind=vlan [VLAN] Id=20
Здесь ens160 — это интерфейс, на котором работает VLAN 20.
2. Установка и настройка пакетов
После установки виртуальной машины необходимо обновить пакеты и установить необходимые зависимости:
Обновить источники пакетов и обновить систему:
P.S обновляем под Root
apt-get update apt-get dist-upgrade apt-get update-kernel
(перед обновлением kernel нужно установить данную утилиту, перед этим указав нужный репозиторий)
Установить необходимые пакеты: Установите веб-сервер, Git и другие необходимые инструменты:
apt install apache2 git python3
3. Настройка подключения к Git
Настройте SSH-ключи для подключения к репозиториям:
Перейдите в каталог .ssh/:
cd ~/.ssh/
Создайте ключ:
ssh-keygen
Скопируйте публичный ключ и добавьте его в ваш профиль Git на сервере.
Настройте конфигурацию для Git: Создайте или отредактируйте файл ~/.ssh/config с такими параметрами:
Host git.sharix-app.org Hostname git.sharix-app.org User Denis Port 300
Проверьте подключение: Используйте команду:
ssh -vv git.sharix-app.org
Если все настроено правильно, вы получите сообщение «publickey succeeded».
4. Установка и настройка веб-сервера
Настроить конфиг Apache: Перейдите в каталог:
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>
Активировать конфиг и перезапустить Apache:
a2ensite guide.conf systemctl restart apache2
5. Клонирование репозитория и настройка окружения
Клонировать репозиторий:
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.
6. Установка и настройка базы данных PostgreSQL
Установить PostgreSQL (c указанием версии, например):
apt install postgresql17
Создать пользователя и базу данных:
Войдите в PostgreSQL:
psql -U postgres
Создайте пользователя:
CREATE USER YOURUSER WITH PASSWORD 'yourpassword';
Создайте базу данных:
CREATE DATABASE НАЗВАНИЕ БД OWNER YOURUSER;
Настроить PostgreSQL:
nano /etc/postgresql/12/main/pg_hba.conf
Убедитесь, что в нем присутствует запись:
host all all 0.0.0.0/0 md5
Перезапустите PostgreSQL:
systemctl restart postgresql
7. Запуск и перезапуск сервиса
Запустите сервис: После настройки и запуска, убедитесь, что сервис работает:
systemctl start sharix_open.service
Проверьте статус:
systemctl status sharix_open.service
Перезапуск после изменений: Если необходимо, перезапустите сервис:
systemctl restart sharix_open.service
8. Отладка
Для отладки ошибок используйте:
journalctl -u sharix_open.service
Для остановки ненужных процессов:
ps aux | grep gunicorn kill <pid>
Заключение
После выполнения всех шагов ваш сервис будет готов к работе. Убедитесь, что все сервисы, такие как PostgreSQL, Apache и Django, работают корректно и не конфликтуют между собой.