Это старая версия документа!
Установка узла веб интерфейса (Ubuntu Server 18.04)
1. Создадим пользователя mpweb (из под root):
adduser mpweb
2. Создать каталог для ведения логов и назначить права:
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. ВЫЙДЕМ и ВОЙДЕМ снова! это важно!!! 6. Создадим виртуальное окружение:
mkvirtualenv mpweb workon mpweb
Настройка интерфейса администратора
1. Создадим скрипт (/home/mpweb/mpweb.sh) получения и обновления исходников (из под пользователя mpweb):
#!/bin/sh # # Global pth=/home/mpweb/minipbx_web # Checkout! #mkdir $pth #svn checkout --username zis http://svn.minipbx.ru/minipbx_web/mpweb $pth # # Update svn update --username zis $pth
2. Сделаем исполняемым:
/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.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
Настройка интерфейса пользователя
1. Создадим скрипт (/home/mpweb/mpami.sh) получения и обновления исходников (из под пользователя mpweb):
#!/bin/sh # # Global pth=/home/mpweb/minipbx_ami # Checkout! #mkdir $pth #svn checkout --username zis http://svn.minipbx.ru/minipbx_web/mpami $pth # # Update svn update --username zis $pth
2. Сделаем исполняемым:
/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