======Как развернуть сервис 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 === Пример конфига: === 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 (после первого выполнения он создаст файл 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 ===== Заключение ===== После выполнения всех шагов ваш сервис будет готов к работе. Убедитесь, что все сервисы, такие как PostgreSQL, Apache и Django, работают корректно и не конфликтуют между собой.