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