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

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


mp_doc:imain_install_deb13_webapp_user

Различия

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

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

Следующая версия
Предыдущая версия
mp_doc:imain_install_deb13_webapp_user [2026/08/25 10:34] – создано zismp_doc:imain_install_deb13_webapp_user [2026/08/26 09:35] (текущий) zis
Строка 1: Строка 1:
-===== ЧЕРНОВИК Развертывание приложения веб интерфейса пользователя (Debian 13) ===== +===== Развертывание приложения веб интерфейса пользователя (Debian 13) ===== 
-1. Создадим пользователя mpweb, группу pyenv и включим нового пользователя в новую группу (из под root): +азвертывание производим на подготовленный сервер, согласно [[imain_install_deb13_web|инструкции]], все действия выполнять из под **пользователя mpweb**, если не указано иное
-<code>adduser mpweb + 
-addgroup pyenv +1. Добавить в ~/.bashrc:
-usermod -G pyenv 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 default-libmysqlclient-dev nginx pyenv python3-venv</code> +
-4. Добавить в ~/.bashrc (для root и mpweb):+
 <code>export PYENV_ROOT=/opt/pyenv</code> <code>export PYENV_ROOT=/opt/pyenv</code>
-**Это важно!** Не забудьте выйти - войти под каждым пользователем!\\ +**Это важно!** Не забудьте выйти - войти пользователем!\\ 
-5. Установим нужную версию python через pyenv: +2. Создадим виртуальное окружение: 
-<code>pyenv install 3.8.20</code> +<code>python3.8 -m venv ~/.virtualenvs/mpami</code> 
-6. Сделаем каталог доступный для пользователей группы pyenv (из под root): +3. Для активации окружения выполняем: 
-<code>chown root:pyenv -R $PYENV_ROOT</code> +<code>source ~/.virtualenvs/mpami/bin/activate</code> 
-Тут требуется пояснение: идеология pyenv предполагает установку в домашний каталог пользователя (~/pyenv). Мне кажется такое избыточным поэтому версия 3.8.20 установлена в систему как дополнительная версия python.\\ +4. Создадим файл /home/mpweb/mpami.update, для получения веб приложения с svn репозитария, вида:
-7. Добавим символические ссылки (из под root): +
-<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> +
-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 <code>#!/bin/bash
  
 # Global # Global
-pth=/home/mpweb/minipbx_web+pth=/home/mpweb/minipbx_ami
 USR= USR=
-URL=http://svn.minipbx.ru/minipbx_web/mpweb+URL=http://svn.minipbx.ru/minipbx_web/mpami
  
 if [ "$1" = "checkout" ]; then if [ "$1" = "checkout" ]; then
Строка 42: Строка 27:
     echo "Unknown command!"     echo "Unknown command!"
 fi</code> fi</code>
-11. Сделаем исполняемым и получим репозитарий (из под mpweb)+Сделаем исполняемым и получим репозитарий: 
-<code>chmod +x /home/mpweb/mpweb.update +<code>chmod +x /home/mpweb/mpami.update 
-/home/mpweb/mpweb.update checkout</code> +/home/mpweb/mpami.update checkout</code> 
-12Установим зависимости (из под mpweb, с активированным виртуальным окружением mpweb)+5Иливместо пп4, скачайте и распакуйте предоставленный архив.\\ 
-<code>source ~/.virtualenvs/mpweb/bin/activate # Если окружение не активировано! +6. Установим зависимости: 
-pip3.8 install -r /home/mpweb/minipbx_web/requirements.txt +<code>source ~/.virtualenvs/mpami/bin/activate 
-pip3.8 install pyramid_genshi pyramid_jinja2 bcrypt</code> +pip3.8 install -r /home/mpweb/minipbx_ami/requirements.txt 
-13[Переделать] Установить egg для pyserv (из под mpweb):  +pip3.8 install python-multipart aiomysql aiosqlite</code> 
-<code># По идее это должно работать так+7Если вы будете использовать другое место для хранения внутренней DB (параметр DB.internal_url в mpami.ini), то необходимо этот путь создать и дать права для пользователя mpweb (из под root)
-python3.8 /home/mpweb/minipbx_web/setup.py install</code> +<code>mkdir /var/lib/mpami 
-Но, так как задумывалось НЕ работает... Создадим руками: +chown mpweb:mpweb -R /var/lib/mpami</code> 
-<code>mkdir ~/.virtualenvs/mpweb/lib/python3.8/site-packages/mpweb-1.0-py3.8.egg +Также, если будет использоваться кэш для медиа файлов (параметр media_cache.path в mpami.ini), то необходимо этот путь создать и дать права для пользователя mpweb (из под root):  
-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 +<code>mkdir /var/www/media_cache 
-ln -s -T ~/minipbx_web/mpweb ~/.virtualenvs/mpweb/lib/python3.8/site-packages/mpweb-1.0-py3.8.egg/mpweb</code> +chown mpweb:mpweb -/var/www/media_cache</code> 
-14. Скопируем файлы настроек и запускаемый скрипт (из под mpweb)+8. Скопируем файлы настроек и запускаемый скрипт: 
-<code>cp /home/mpweb/minipbx_web/development.ini.sample /home/mpweb/minipbx_web/development.ini +<code>cp /home/mpweb/minipbx_ami/mpami.ini.sample /home/mpweb/minipbx_ami/mpami.ini
-cp /home/mpweb/minipbx_web/production.ini.sample /home/mpweb/minipbx_web/production.ini+
 # если каталог отсутствует то нужно выйти войти под mpweb (пере зайти в сессию) # если каталог отсутствует то нужно выйти войти под mpweb (пере зайти в сессию)
 mkdir /home/mpweb/bin mkdir /home/mpweb/bin
-cp /home/mpweb/minipbx_web/scripts/run_mpweb /home/mpweb/bin/run_mpweb+cp /home/mpweb/minipbx_ami/scripts/run_mpami /home/mpweb/bin/run_mpami
 </code> </code>
-15. Обновим языковые файлы (из под mpweb): +9. Обновим языковые файлы (предоставляются в текстовом виде, нужно скомпилировать): 
-<code>/home/mpweb/minipbx_web/lcompile.sh</code> +<code>/home/mpweb/minipbx_ami/lcompile.sh</code> 
-16. Запустим: +10. Запустим: 
-<code>/home/mpweb/bin/run_mpweb</code> +<code>/home/mpweb/bin/run_mpami</code> 
-Можно выполнять из без пути (просто run_mpweb), но только в том случае если файл лежит bin и каталог bin был созда ДО входа в текущую сессию! Если запуск выполнился без ошибок, то двигаемся дальше.\\ +Можно выполнять из без пути (просто run_mpami), но только в том случае если файл лежит ~/bin и каталог ~/bin был создан ДО входа в текущую сессию! Если запуск выполнился без ошибок, то двигаемся дальше.\\ 
-17. Установим службу (из под root): +11. Установим службу (из под root): 
-<code>cp /home/mpweb/minipbx_web/scripts/mpweb.service /etc/systemd/system/+<code>cp /home/mpweb/minipbx_ami/bin/mpami.service /etc/systemd/system/
 systemctl daemon-reload systemctl daemon-reload
-systemctl enable mpweb +systemctl enable mpami 
-systemctl start mpweb +systemctl start mpami 
-systemctl status mpweb+systemctl status mpami
 </code> </code>
-18. Распакуем из архива (www/www.tar.gz) в /var/www/ следующие каталоги (из под root):+12. Распакуем из архива (www/www.tar.gz) в /var/www/ следующие каталоги (из под root):
   * fontawesome/5.8.1   * fontawesome/5.8.1
   * webix/10.2.0   * webix/10.2.0
-  * mp +  * ump 
-19. Настройка nginx (из под root):+13. Настройка nginx (из под root):
   * Создадим файл /etc/nginx/conf.d/http_upgrade.conf:   * Создадим файл /etc/nginx/conf.d/http_upgrade.conf:
 <code> <code>
Строка 87: Строка 71:
     }     }
 </code> </code>
-  * Создадим файл /etc/nginx/sites-enabled/mpweb:+  * Создадим файл /etc/nginx/sites-enabled/mpami:
 <code> <code>
 server { server {
Строка 94: Строка 78:
  
         location / {         location / {
-            root   /var/www/mp;+            root   /var/www/ump;
             index  index.html;             index  index.html;
  
Строка 117: Строка 101:
         location /api/ {         location /api/ {
             rewrite  ^/api/(.*) /$1 break;             rewrite  ^/api/(.*) /$1 break;
-            proxy_pass   http://127.0.0.1:8000;+            proxy_pass   http://127.0.0.1:8008;
             proxy_redirect off;             proxy_redirect off;
             proxy_http_version 1.1;             proxy_http_version 1.1;
Строка 128: Строка 112:
         }         }
  
 +        location /media_cache/ {
 +            rewrite  ^/media_cache/(.*) /$1 break;
 +            root /var/www/media_cache/;
 +        }
 +
 +        location /ws {
 +            proxy_pass http://127.0.0.1:8008;
 +            proxy_http_version 1.1;
 +            proxy_set_header Upgrade $http_upgrade;
 +            proxy_set_header Connection $connection_upgrade;
 +        }
  
-  root /var/www/mp;+    root /var/www/ump;
  
   listen 80;   listen 80;
Строка 136: Строка 131:
 </code> </code>
 Не забудьте поменять <ИМЯ ДОМЕНА>, на свое имя. И добавить ssl.\\ Не забудьте поменять <ИМЯ ДОМЕНА>, на свое имя. И добавить ssl.\\
-19. Добавим символическую ссылку и проверим конфигурацию (из под root). +14. Добавим символическую ссылку и проверим конфигурацию (из под root). 
-<code>ln -s /etc/nginx/sites-available/mpweb /etc/nginx/sites-enabled/+<code>ln -s /etc/nginx/sites-available/mpami /etc/nginx/sites-enabled/
 nginx -t nginx -t
 # если тест ОК, то # если тест ОК, то
mp_doc/imain_install_deb13_webapp_user.1787654042.txt.gz · Последнее изменение: zis

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki