======Как развернуть сервис 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 === Пример конфига: === ServerAdmin web@webserver.local DocumentRoot /var/www/webapps/<директория с приложением> ErrorLog /var/log/apache2/error_log CustomLog /var/log/apache2/access_log combined AddDefaultCharset utf-8 === Активировать конфиг и перезапустить 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 ===== Заключение ===== После выполнения всех шагов ваш сервис будет готов к работе. Убедитесь, что все сервисы, такие как PostgreSQL, Apache и Django, работают корректно и не конфликтуют между собой.