Инструменты пользователя

Инструменты сайта


mp_doc:imain_install_deb13_web

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
mp_doc:imain_install_deb13_web [2026/08/05 04:07] – создано zismp_doc:imain_install_deb13_web [2026/08/26 04:38] (текущий) zis
Строка 1: Строка 1:
-====== ЧЕРНОВИК Установка узла веб интерфейса (Debian 13) ====== +===== Установка узла веб интерфейса (Debian 13) ===== 
-1. Создадим пользователя mpweb (из под root)+Можно установить web приложения (webappна отдельный сервер (подготовить debian13 аналогично пп 1-4 [[imain_install_deb13_work|руководства]]) или использовать уже развернутый [[imain_install_deb13_kamailio|сервер kamaillio]]. После этого сервер нужно подготовить (общие шаги для всех webapp).
-<code>adduser mpweb</code> +
-2. Создать каталог для ведения логов и назначить права (из под root): +
-<code>mkdir /var/log/mpweb && chown mpweb:adm /var/log/mpweb</code> +
-3. Установим зависимости (из под root): +
-<code>apt install subversion python3 python3-pip gettext libmysqlclient-dev +
-pip3 install virtualenv virtualenvwrapper setuptools</code> +
-4. Добавим в конец /home/mpweb/.bashrc +
-<code>export PYTHONPATH=/usr/bin/python3 +
-export VIRTUALENVWRAPPER_PYTHON=$PYTHONPATH +
-export WORKON_HOME=$HOME/.virtualenvs +
-source /usr/local/bin/virtualenvwrapper.sh</code> +
-5. **Это важно!!!** ВОЙДЕМ под пользователем **mpweb**!\\ +
-\\ +
-6. Создадим виртуальное окружение+
-<code>mkvirtualenv mpweb +
-workon mpweb +
-</code>+
  
-=== Настройка интерфейса администратора === +Подготовка сервера к развертыванию web приложений, все действия выполнять из под root, если не указано иное:\\ 
-Все действия выполняем из под пользователя mpweb, если не указано иное.\\ +1. Создадим пользователя mpweb, группу pyenv и включим нового пользователя в новую группу
-1. Создадим скрипт (/home/mpweb/mpweb.sh) получения и обновления исходников: +<code>adduser mpweb 
-<code>#!/bin/sh +addgroup pyenv 
- +usermod -G pyenv mpweb
-+
-# Global +
-pth=/home/mpweb/minipbx_web +
-user=XXX +
- +
-# Checkout! +
-#mkdir $pth +
-#svn checkout --username $user http://svn.minipbx.ru/minipbx_web/mpweb $pth +
- +
-+
-# Update +
-svn update --username $user $pth</code> +
-2. Сделаем исполняемым: +
-<code>chmod +x /home/mpweb/mpweb.sh</code> +
-3. Первый раз делаем checkout, потом update. +
-4. Установим зависимости:  +
-<code>python3 ./setup.py install</code> +
-5. Скопируем файл настроек и настроем его+
-<code>cp /home/mpweb/minipbx_web/development.ini.sample /home/mpweb/minipbx_web/development.ini +
-cp /home/mpweb/minipbx_web/production.ini.sample /home/mpweb/minipbx_web/production.ini+
 </code> </code>
-Настройка начинается с базы данных и секретных ключей: +2. Создать каталог для ведения логов и назначить права: 
-  * sqlalchemy.url - строка подключения к БД minipbx; +<code>mkdir /var/log/mpweb && chown mpweb:adm /var/log/mpweb</code> 
-  * auth.secret - секрет для авторизации; +3Установим зависимости: 
-  * session.key - ключ для передачи параметров сессии; +<code>apt install subversion python3 python3-pip gettext default-libmysqlclient-dev nginx pyenv python3-venv</code> 
-  * session.secret - секрет для передачи параметров сессии; +4. Добавить в ~/.bashrc
-Для генерации случайных ключей воспользуйтесь командой+<code>export PYENV_ROOT=/opt/pyenv</code> 
-<code>openssl rand -hex 32</code> +**Это важно!** Не забудьте выйти - войти пользователем!\\ 
-6Для тестирования иногда нужно запускать сервер в терминале. Для этого скопируем скрипт запуска (из под root)+5Установим нужную версию python через pyenv
-<code>mkdir /home/mpweb/.local/bin +<code>pyenv install 3.8.20</code> 
-cp /home/mpweb/minipbx_web/scripts/run_mpweb /home/mpweb/.local/bin/</code> +6Сделаем каталог доступный для пользователей группы pyenv
-7. Для запуска в качестве службы скопируем systemd скрипт и включим его автоматический запуск (из под root)+<code>chown root:pyenv -$PYENV_ROOT</code> 
-<code>cp /home/mpweb/minipbx_web/scripts/mpweb.service  /lib/systemd/system/ +Тут требуется пояснение: идеология pyenv предполагает установку в домашний каталог пользователя (~/pyenv)Мне кажется такое избыточным, поэтому версия 3.8.20 установлена в систему как дополнительная версия python, доступная для всех (подобноесли бы установили ее через apt install python3.8).\\ 
-systemctl enable mpweb +7. Добавим символические ссылки: 
-systemctl start mpweb +<code>ln -s $PYENV_ROOT/versions/3.8.20/bin/python3.8 /usr/bin/python3.
-systemctl status mpweb</code> +ln -s $PYENV_ROOT/versions/3.8.20/bin/pip3.8 /usr/bin/pip3.8</code>
-8. В каталоге minipbx_web выполнить **lcompile.sh**. Скрипт выполняет обновление перевода (ru\en)\\ +
-9Не совсем правильная штукано чтобы не выполнять при каждом обновлении setup.py, сделаем+
-<code>cd /home/mpweb/.virtualenvs/mpweb/lib/python3.6/site-packages/mpweb-1.0-py3.6.egg +
-mv mpweb mpweb.1 +
-ln -s /home/mpweb/minipbx_web/mpweb mpweb +
-</code> +
-Каталог mpweb.1 можно удалить. +
-=== Настройка интерфейса пользователя === +
-Все действия выполняем из под пользователя mpweb, если не указано иное.\\ +
-1. Создадим скрипт (/home/mpweb/mpami.sh) получения и обновления исходников  (из под пользователя mpweb)+
-<code>#!/bin/sh +
- +
-+
-# Global +
-pth=/home/mpweb/minipbx_ami +
-user=XXX +
- +
-# Checkout! +
-#mkdir $pth +
-#svn checkout --username $user http://svn.minipbx.ru/minipbx_web/mpami $pth +
- +
-+
-# Update +
-svn update --username $user $pth</code> +
-2. Сделаем исполняемым: +
-<code>chmod +x /home/mpweb/mpami.sh</code> +
-3. Первый раз делаем checkout, потом update.\\ +
-4. Установим зависимости: +
-<code>bash /home/mpweb/minipbx_ami/setup.txt</code> +
-5. Скопируем файл настроек и настроем его: +
-<code>cp /home/mpweb/minipbx_ami/mpami.ini.sample /home/mpweb/minipbx_ami/mpami.ini</code> +
-Настройка начинается с базы данных и секретного ключа: +
-  * [DB].url - строка подключения к БД minipbx; +
-  * [MAIN].secret_key - ключ для шифрования JWT; +
-Для генерации случайных ключей воспользуйтесь командой: +
-<code>openssl rand -hex 32</code> +
-6. Для тестирования иногда нужно запускать сервер в терминале. Для этого скопируем скрипт запуска (из под root)+
-<code>mkdir /home/mpweb/.local/bin +
-cp /home/mpweb/minipbx_ami/bin/run_mpami /home/mpweb/.local/bin/</code> +
-7. Для запуска в качестве службы скопируем systemd скрипт и включим его автоматический запуск (из под root)+
-<code>cp /home/mpweb/minipbx_ami/bin/mpami.service  /lib/systemd/system/ +
-systemctl enable mpami +
-systemctl start mpami +
-systemctl status mpami</code> +
-8. В каталоге minipbx_ami выполнить **lcompile.sh**. Скрипт выполняет обновление перевода (ru\en)\\+
  
 +===== Разворачивание (deploy) веб приложения =====
 +  * [[imain_install_deb13_webapp_admin|Развертывание приложения веб интерфейса администратора]]
 +  * [[imain_install_deb13_webapp_user|Развертывание приложения веб интерфейса пользователя]]
mp_doc/imain_install_deb13_web.1785902870.txt.gz · Последнее изменение: zis

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki