======Как развернуть сервис 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, работают корректно и не конфликтуют между собой.