Содержание
Как развернуть сервис ShariX Open на Debian 12
1. Установить виртуальные машины в соответствии со схемой развертывания сети.
2. Настроить сеть внутри виртуальной машины в соответствии с выбранным сценарием - Development или Production
3. Перенести на виртуальную машину код для развертывания
4. Создать БД для функционирования сервиса (если ее нет) для подключения к программному продукту. Рекомендуется использовать PostgreSQL
5. Подготовить Django-проект к запуску
6. Настроить сервисы (веб-сервер, XMPP-сервер и тп)
Работа с виртуальной машиной
Установить виртуальные машины: Развертывание сети с использованием Proxmox или другой виртуализационной платформы. Рекомендуемые параметры для виртуальной машины:
CPU: 2 ядра
RAM: 4GB
HDD: 40GB
1. Установка виртуальных машин и настройка сети
Настроить сеть на виртуальной машине: Перейдите в /etc/systemd/network/ и создайте конфигурационный файл для сетевого интерфейса. Пример настройки VLAN интерфейса:
Пример настроек сетевого интерфейса
[Netdev] Name=ens19.20 Kind=vlan [VLAN] Id=20
Здесь ens19.20 — это интерфейс, на котором работает VLAN 20.
2. Установка и настройка пакетов
После установки виртуальной машины необходимо обновить пакеты и установить необходимые зависимости:
Обновить источники пакетов и обновить систему:
P.S обновляем под Root
apt update apt dist-upgrade update-kernel
Установить необходимые пакеты: Установите веб-сервер, Git и другие необходимые инструменты:
apt install apache2 git python3 python3-venv python3-pip
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
Создать виртуальное окружение для проекта:
python3 -m venv venv source venv/bin/activate
Укажите параметры подключения к базе данных. Настройте значения SECRET_KEY, ALLOWED_HOSTS, CSRF_TRUSTED_ORIGINS.
6. Установка и настройка базы данных PostgreSQL
Установить PostgreSQL:
apt install postgresql
Создать пользователя и базу данных:
Войдите в 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, работают корректно и не конфликтуют между собой.