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

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


mp_doc:imain_install_deb13_web

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
mp_doc:imain_install_deb13_web [2026/08/25 10:23] zismp_doc:imain_install_deb13_web [2026/08/26 04:38] (текущий) zis
Строка 1: Строка 1:
-====== Установка узла веб интерфейса (Debian 13) ====== +===== Установка узла веб интерфейса (Debian 13) ===== 
-1. Создадим пользователя mpweb, группу pyenv и включим нового пользователя в новую группу (из под root):+Можно установить web приложения (webapp) на отдельный сервер (подготовить debian13 аналогично пп 1-4 [[imain_install_deb13_work|руководства]]) или использовать уже развернутый [[imain_install_deb13_kamailio|сервер kamaillio]]. После этого сервер нужно подготовить (общие шаги для всех webapp). 
 + 
 +Подготовка сервера к развертыванию web приложений, все действия выполнять из под root, если не указано иное:\\ 
 +1. Создадим пользователя mpweb, группу pyenv и включим нового пользователя в новую группу:
 <code>adduser mpweb <code>adduser mpweb
 addgroup pyenv addgroup pyenv
 usermod -G pyenv mpweb usermod -G pyenv mpweb
 </code> </code>
-2. Создать каталог для ведения логов и назначить права (из под root):+2. Создать каталог для ведения логов и назначить права:
 <code>mkdir /var/log/mpweb && chown mpweb:adm /var/log/mpweb</code> <code>mkdir /var/log/mpweb && chown mpweb:adm /var/log/mpweb</code>
-3. Установим зависимости (из под root):+3. Установим зависимости:
 <code>apt install subversion python3 python3-pip gettext default-libmysqlclient-dev nginx pyenv python3-venv</code> <code>apt install subversion python3 python3-pip gettext default-libmysqlclient-dev nginx pyenv python3-venv</code>
-4. Добавить в ~/.bashrc (для root и mpweb):+4. Добавить в ~/.bashrc:
 <code>export PYENV_ROOT=/opt/pyenv</code> <code>export PYENV_ROOT=/opt/pyenv</code>
-**Это важно!** Не забудьте выйти - войти под каждым пользователем!\\+**Это важно!** Не забудьте выйти - войти пользователем!\\
 5. Установим нужную версию python через pyenv: 5. Установим нужную версию python через pyenv:
 <code>pyenv install 3.8.20</code> <code>pyenv install 3.8.20</code>
-6. Сделаем каталог доступный для пользователей группы pyenv (из под root):+6. Сделаем каталог доступный для пользователей группы pyenv:
 <code>chown root:pyenv -R $PYENV_ROOT</code> <code>chown root:pyenv -R $PYENV_ROOT</code>
-Тут требуется пояснение: идеология pyenv предполагает установку в домашний каталог пользователя (~/pyenv). Мне кажется такое избыточным поэтому версия 3.8.20 установлена в систему как дополнительная версия python.\\ +Тут требуется пояснение: идеология pyenv предполагает установку в домашний каталог пользователя (~/pyenv). Мне кажется такое избыточнымпоэтому версия 3.8.20 установлена в систему как дополнительная версия python, доступная для всех (подобно, если бы установили ее через apt install python3.8).\\ 
-7. Добавим символические ссылки (из под root):+7. Добавим символические ссылки:
 <code>ln -s $PYENV_ROOT/versions/3.8.20/bin/python3.8 /usr/bin/python3.8 <code>ln -s $PYENV_ROOT/versions/3.8.20/bin/python3.8 /usr/bin/python3.8
 ln -s $PYENV_ROOT/versions/3.8.20/bin/pip3.8 /usr/bin/pip3.8</code> ln -s $PYENV_ROOT/versions/3.8.20/bin/pip3.8 /usr/bin/pip3.8</code>
-8. Создадим виртуальное окружение (из под mpweb): 
-<code>python3.8 -m venv ~/.virtualenvs/mpweb</code> 
-9. Для активации окружения выполняем: 
-<code>source ~/.virtualenvs/mpweb/bin/activate</code> 
-10. Создадим файл /home/mpweb/mpweb.update, вида: 
-<code>#!/bin/bash 
- 
-# Global 
-pth=/home/mpweb/minipbx_web 
-USR= 
-URL=http://svn.minipbx.ru/minipbx_web/mpweb 
- 
-if [ "$1" = "checkout" ]; then 
-    # Checkout! 
-    mkdir $pth 
-    svn checkout --username $USR --no-auth-cache $URL $pth 
-elif [[ "$1" = "update" || "$1" = "" ]]; then 
-    # Update 
-    svn update --username $USR --no-auth-cache $pth 
-else 
-    echo "Unknown command!" 
-fi</code> 
-11. Сделаем исполняемым и получим репозитарий (из под mpweb): 
-<code>chmod +x /home/mpweb/mpweb.update 
-/home/mpweb/mpweb.update checkout</code> 
-12. Установим зависимости (из под mpweb, с активированным виртуальным окружением mpweb): 
-<code>source ~/.virtualenvs/mpweb/bin/activate # Если окружение не активировано! 
-pip3.8 install -r /home/mpweb/minipbx_web/requirements.txt 
-pip3.8 install pyramid_genshi pyramid_jinja2 bcrypt</code> 
-13. [Переделать] Установить egg для pyserv (из под mpweb):  
-<code># По идее это должно работать так: 
-python3.8 /home/mpweb/minipbx_web/setup.py install</code> 
-Но, так как задумывалось НЕ работает... Создадим руками: 
-<code>mkdir ~/.virtualenvs/mpweb/lib/python3.8/site-packages/mpweb-1.0-py3.8.egg 
-ln -s -T /home/mpweb/minipbx_web/mpweb.egg-info ~/.virtualenvs/mpweb/lib/python3.8/site-packages/mpweb-1.0-py3.8.egg/EGG-INFO 
-ln -s -T ~/minipbx_web/mpweb ~/.virtualenvs/mpweb/lib/python3.8/site-packages/mpweb-1.0-py3.8.egg/mpweb</code> 
-14. Скопируем файлы настроек и запускаемый скрипт (из под mpweb): 
-<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 
-# если каталог отсутствует то нужно выйти войти под mpweb (пере зайти в сессию) 
-mkdir /home/mpweb/bin 
-cp /home/mpweb/minipbx_web/scripts/run_mpweb /home/mpweb/bin/run_mpweb 
-</code> 
-15. Обновим языковые файлы (из под mpweb): 
-<code>/home/mpweb/minipbx_web/lcompile.sh</code> 
-16. Запустим: 
-<code>/home/mpweb/bin/run_mpweb</code> 
-Можно выполнять из без пути (просто run_mpweb), но только в том случае если файл лежит bin и каталог bin был созда ДО входа в текущую сессию! Если запуск выполнился без ошибок, то двигаемся дальше.\\ 
-17. Установим службу (из под root): 
-<code>cp /home/mpweb/minipbx_web/scripts/mpweb.service /etc/systemd/system/ 
-systemctl daemon-reload 
-systemctl enable mpweb 
-systemctl start mpweb 
-systemctl status mpweb 
-</code> 
-18. Распакуем из архива (www/www.tar.gz) в /var/www/ следующие каталоги (из под root): 
-  * fontawesome/5.8.1 
-  * webix/10.2.0 
-  * mp 
-19. Настройка nginx (из под root): 
-  * Создадим файл /etc/nginx/conf.d/http_upgrade.conf: 
-<code> 
-    map $http_upgrade $connection_upgrade { 
-        default upgrade; 
-        "" close; 
-    } 
-</code> 
-  * Создадим файл /etc/nginx/sites-enabled/mpweb: 
-<code> 
-server { 
-  server_name <ИМЯ ДОМЕНА>; 
-  client_max_body_size 32m; 
- 
-        location / { 
-            root   /var/www/mp; 
-            index  index.html; 
- 
-            # kill cache 
-            add_header Last-Modified $date_gmt; 
-            add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0'; 
-            if_modified_since off; 
-            expires off; 
-            etag off; 
-        } 
- 
-        location /webix/ { 
-            rewrite  ^/webix/(.*) /$1 break; 
-            root   /var/www/webix/10.2.0; 
-        } 
- 
-        location /fa/ { 
-            rewrite  ^/fa/(.*) /$1 break; 
-            root /var/www/fontawesome/5.8.1/; 
-        } 
- 
-        location /api/ { 
-            rewrite  ^/api/(.*) /$1 break; 
-            proxy_pass   http://127.0.0.1:8000; 
-            proxy_redirect off; 
-            proxy_http_version 1.1; 
- 
-            proxy_set_header Connection keep-alive; 
-            proxy_set_header X-Forwarded-Host $host; 
-            proxy_set_header Host $host; 
-            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
-            proxy_set_header X-Real-IP $remote_addr; 
-        } 
- 
- 
-  root /var/www/mp; 
- 
-  listen 80; 
- 
-} 
-</code> 
-Не забудьте поменять <ИМЯ ДОМЕНА>, на свое имя. И добавить ssl.\\ 
-19. Добавим символическую ссылку и проверим конфигурацию (из под root). 
-<code>ln -s /etc/nginx/sites-available/mpweb /etc/nginx/sites-enabled/ 
-nginx -t 
-# если тест ОК, то 
-systemctl restart nginx 
-</code> 
  
 +===== Разворачивание (deploy) веб приложения =====
 +  * [[imain_install_deb13_webapp_admin|Развертывание приложения веб интерфейса администратора]]
 +  * [[imain_install_deb13_webapp_user|Развертывание приложения веб интерфейса пользователя]]
mp_doc/imain_install_deb13_web.1787653416.txt.gz · Последнее изменение: zis

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki