Это старая версия документа!
Установка узла веб интерфейса (Ubuntu Server 18.04)
1. Создадим пользователя mpweb (из под root):
adduser mpweb
2. Создать каталог для ведения логов и назначить права (из под root):
mkdir /var/log/mpweb chown mpweb:adm /var/log/mpweb
3. Установим зависимости (из под root):
apt install subversion python3 python3-pip gettext libmysqlclient-dev pip3 install virtualenv virtualenvwrapper setuptools
4. Добавим в конец /home/mpweb/.bashrc
export PYTHONPATH=/usr/bin/python3 export VIRTUALENVWRAPPER_PYTHON=$PYTHONPATH export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh
5. Это важно!!! ВОЙДЕМ под пользователем mpweb!
6. Создадим виртуальное окружение:
mkvirtualenv mpweb workon mpweb
Настройка интерфейса администратора
Все действия выполняем из под пользователя mpweb, если не указано иное.
1. Создадим скрипт (/home/mpweb/mpweb.sh) получения и обновления исходников:
#!/bin/sh # # 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
2. Сделаем исполняемым:
chmod +x /home/mpweb/mpweb.sh
3. Первый раз делаем checkout, потом update. 4. Установим зависимости:
python3 ./setup.py install
5. Скопируем файл настроек и настроем его:
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
Настройка начинается с базы данных и секретных ключей:
- sqlalchemy.url - строка подключения к БД minipbx;
- auth.secret - секрет для авторизации;
- session.key - ключ для передачи параметров сессии;
- session.secret - секрет для передачи параметров сессии;
Для генерации случайных ключей воспользуйтесь командой:
openssl rand -hex 32
6. Для тестирования иногда нужно запускать сервер в терминале. Для этого скопируем скрипт запуска (из под root):
mkdir /home/mpweb/.local/bin cp /home/mpweb/minipbx_web/scripts/run_mpweb /home/mpweb/.local/bin/
7. Для запуска в качестве службы скопируем systemd скрипт и включим его автоматический запуск (из под root):
cp /home/mpweb/minipbx_web/scripts/mpweb.service /lib/systemd/system/ systemctl enable mpweb systemctl start mpweb systemctl status mpweb
8. Не совсем правильная штука, но чтобы не выполнять при каждом обновлении setup.py, сделаем:
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
Каталог mpweb.1 можно удалить.
Настройка интерфейса пользователя
Все действия выполняем из под пользователя mpweb, если не указано иное.
1. Создадим скрипт (/home/mpweb/mpami.sh) получения и обновления исходников (из под пользователя mpweb):
#!/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
2. Сделаем исполняемым:
chmod +x /home/mpweb/mpami.sh
3. Первый раз делаем checkout, потом update. 4. Установим зависимости:
bash /home/mpweb/minipbx_ami/setup.txt
5. Скопируем файл настроек и настроем его:
cp /home/mpweb/minipbx_ami/mpami.ini.sample /home/mpweb/minipbx_ami/mpami.ini
Настройка начинается с базы данных и секретного ключа:
- [DB].url - строка подключения к БД minipbx;
- [MAIN].secret_key - ключ для шифрования JWT;
Для генерации случайных ключей воспользуйтесь командой:
openssl rand -hex 32
6. Для тестирования иногда нужно запускать сервер в терминале. Для этого скопируем скрипт запуска (из под root):
mkdir /home/mpweb/.local/bin cp /home/mpweb/minipbx_ami/bin/run_mpami /home/mpweb/.local/bin/
7. Для запуска в качестве службы скопируем systemd скрипт и включим его автоматический запуск (из под root):
cp /home/mpweb/minipbx_ami/bin/mpami.service /lib/systemd/system/ systemctl enable mpami systemctl start mpami systemctl status mpami