Это старая версия документа!
Содержание
Тестовая страница блога
Как развернуть сервис 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
Пример конфига:
<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
(после первого выполнения он создаст файл 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 <pid>
Заключение
После выполнения всех шагов ваш сервис будет готов к работе. Убедитесь, что все сервисы, такие как PostgreSQL, Apache и Django, работают корректно и не конфликтуют между собой.
Как развернуть сервис ShariX Open на Astra Linux
1. Установить виртуальные машины в соответствии со схемой развертывания сети.
2. Настроить сеть внутри виртуальной машины в соответствии с выбранным сценарием - Development или Production
3. Перенести на виртуальную машину код для развертывания
4. Создать БД для функционирования сервиса (если ее нет) для подключения к программному продукту. Рекомендуется использовать PostgreSQL
5. Подготовить Django-проект к запуску
6. Настроить сервисы (веб-сервер, XMPP-сервер и тп)
Работа с виртуальной машиной
Установить виртуальные машины: Развертывание сети с использованием Proxmox или другой виртуализационной платформы. Рекомендуемые параметры для виртуальной машины:
CPU: 2 ядра
RAM: 4GB
HDD: 40GB
0. Установка новых репозиториев
В связи с тем, что у Astra устаревшие пакеты в репозиториях, нужно поставить сторонние репозитории и старые закомментировать поставив в начале #, либо самим поставить нужные пакеты локально через носитель. Для примера поставим репозитории Debian в /etc/apt/sources.list:
deb [trusted=yes] http://deb.debian.org/debian/ stretch main contrib non-free deb-src [trusted=yes] http://deb.debian.org/debian/ stretch main contrib non-free deb [trusted=yes] http://deb.debian.org/debian/ stretch-updates main contrib non-free deb-src [trusted=yes] http://deb.debian.org/debian/ stretch-updates main contrib non-free deb [trusted=yes] http://security.debian.org/debian-security/ stretch/updates main contrib non-free deb-src [trusted=yes] http://security.debian.org/debian-security/ stretch/updates main contrib non-free
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, работают корректно и не конфликтуют между собой.
Гайдик
TODO
1. Сделать части с образением внимания на install.cfg и настройку подключения к БД
Добавить в файлик /etc/hosts строчки
10.0.2.2 git.sharix-app.org
Установка пакетов
apt-get update apt-get dist-upgrade --enable-upgrade update-kernel apt-get install postgresql17-server\ python3 \ git
Установка postgresql
Взят из alt linux wiki: <https://www.altlinux.org/PostgreSQL>
Устновка
/etc/init.d/postgresql initdb
При установке заполнить поля
- admin_name - имя администратора БД - password - пароль администратора БД
admin_name: postgres admin_passowrd: postgres
Включение доступа по сети
echo "listen_addresses = 'localhost'" >> /var/lib/pgsql/data/postgresql.conf
Автозапуск БД после перезагрузки ОС
systemctl enable postgresql --now
Проверка статуса БД
systemctl status postgresql
Создание БД
Шаблон:
createdb -U postgres -O [ПОЛЬЗОВАТЕЛЬ] [БАЗА]
В выпоняем в консоли:
createdb -U postgres -O postgres sharix-db
Добавление алиаса для python3
echo "alias python='python3'" >> /etc/bashrc.d/alias.sh
Установка проекта
Скачивание репо
git clone https://git.sharix-app.org/ShariX_Open/sharix-open-webapp-base.git cd sharix-open-webapp-base git checkout unstable
Далее действия выполняются в папке `sharix-open-webapp-base`
настройка подключения к БД
Выполнить команду:
cp core/_settings_vars.py core/settings_vars.py
В файле `core/_settings_vars.py` настроить параметры для подключения к БД:
Было:
DB_NAME = None DB_USER = None DB_PASSWORD = None DB_HOST = None DB_PORT = 5432
Стало:
DB_NAME = 'sharix-db' DB_USER = 'postgres' DB_PASSWORD = 'postgres' DB_HOST = 'localhost' DB_PORT = 5432
выполнить скрипт:
sed -i "s/DB_NAME = None/DB_NAME = 'sharix-db'/g" core/settings_vars.py sed -i "s/DB_USER = None/DB_USER = 'postgres'/g" core/settings_vars.py sed -i "s/DB_PASSWORD = None/DB_PASSWORD = 'postgres'/g" core/settings_vars.py sed -i "s/DB_HOST = None/DB_HOST = 'localhost'/g" core/settings_vars.py
Установка
./bin/install.sh
Запуск
./bin/start.sh
Нужно ли?
apt-get install lsof\ telnet telnet git.sharix-app.org lsof -i -P
Добавление алиаса для python3:
В конец файла cat /etc/bashrc.d/alias.sh добавить текст:
alias python='python3'
Для прода
настроить файлик для настройки ssh ключей ~/.ssh/config
Host git.sharix-app.org
HostName 10.0.2.7 Port 22 IdentityFile ~/.ssh/id_ed25519
Как развернуть сервис 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, работают корректно и не конфликтуют между собой.
Имя прользователя | Логин (номер телефона) | Роль | Фамилия |
test-client-1 | 5101 | CLIENT | 1 |
test-client-2 | 5102 | CLIENT | 2 |
test-client-3 | 5103 | CLIENT | 3 |
test-guest-1 | 6101 | GUEST | 1 |
test-guest-2 | 6102 | GUEST | 2 |
test-guest-3 | 6103 | GUEST | 3 |
test-metaservice-admin-1 | 2101 | METASERVICE-ADMIN | 1 |
test-metaservice-supervisor-1 | 2201 | METASERVICE-SUPERVISOR | 1 |
test-metaservice-supervisor-2 | 2202 | METASERVICE-SUPERVISOR | 2 |
test-metaservice-supervisor-3 | 2203 | METASERVICE-SUPERVISOR | 3 |
test-metaservice-support-1 | 2301 | METASERVICE-SUPPORT | 1 |
test-metaservice-support-2 | 2302 | METASERVICE-SUPPORT | 2 |
test-metaservice-support-3 | 2303 | METASERVICE-SUPPORT | 3 |
test-metaservice-techsupport-1 | 2401 | METASERVICE-TECHSUPPORT | 1 |
test-metaservice-techsupport-2 | 2402 | METASERVICE-TECHSUPPORT | 2 |
test-metaservice-techsupport-3 | 2403 | METASERVICE-TECHSUPPORT | 3 |
test-partner-admin-1 | 3101 | PARTNER-ADMIN | 1 |
test-partner-supervisor-1 | 3201 | PARTNER-SUPERVISOR | 1 |
test-partner-supervisor-2 | 3202 | PARTNER-SUPERVISOR | 2 |
test-partner-supervisor-3 | 3203 | PARTNER-SUPERVISOR | 3 |
test-partner-support-1 | 3301 | PARTNER-SUPPORT | 1 |
test-partner-support-2 | 3302 | PARTNER-SUPPORT | 2 |
test-partner-support-3 | 3303 | PARTNER-SUPPORT | 3 |
test-partner-techsupport-1 | 3401 | PARTNER-TECHSUPPORT | 1 |
test-partner-techsupport-2 | 3402 | PARTNER-TECHSUPPORT | 2 |
test-partner-techsupport-3 | 3403 | PARTNER-TECHSUPPORT | 3 |
test-provider-1 | 4101 | PROVIDER | 1 |
test-provider-2 | 4102 | PROVIDER | 2 |
test-provider-3 | 4103 | PROVIDER | 3 |
Пароль для всех пользователей - sharix-open-test
https://yourdomain/testwords/admin - кабинет администрирования Django