Установка Severcart в соседстве с GLPI
Вводная часть. Нужно отредактировать. Иногда необходимо установить Severcart на тот же сервер где уже установлен GLPI, Joomla, PhpMyAdmin, и др. Появляется необходимость подключить программу Severcart к уже имеющейся конфигурации Apache, где уже работает GLPI, Joomla, PHPMyAdmin и др. Далее предложена инструкция одной из возможных решений данной задачи. Разнесения
Устанавливаем PostgreSQL
export LC_ALL="ru_RU.UTF-8"
export LC_ALL="ru_RU.UTF-8" >> ~/.bashrc
yum install -y postgresql-server
Инициализируем базу данных и добавляем её в автозагрузку
service postgresql initdb
systemctl enable postgresql.service
systemctl start postgresql.service
Создаём владельца БД
su postgres
psql
CREATE USER scuser WITH PASSWORD '123456';
Создаём базу данных severcart
CREATE DATABASE severcart WITH OWNER=scuser ENCODING='UTF8' TABLESPACE=pg_default LC_COLLATE='ru_RU.UTF-8' LC_CTYPE='ru_RU.UTF-8' CONNECTION LIMIT = -1;
Выходим из оболочки psql
\q
Переключаемся на пользователя root
su -
Разрешаем доступ пользователю scuser подключаться к postgres. Для этого в файле /var/lib/pgsql/data/pg_hba.conf меняем строку
host all all 127.0.0.1/32 ident
на
host all all 127.0.0.1/32 md5
Закрепляем изменения в конфигурации
systemctl restart postgresql.service
Устанавливаем Python
yum install epel-release
yum install -y python36
python3.6 -m venv /var/venv/
mkdir -p /var/venv/severcart/
Скачиваем и распаковываем пакет Severcart
Скачиваем самый свежий файл *.zip
архива с
официального сайта продукта.
Сайт перенаправит на облачный хостинг файлов
Далее распаковываем архив в каталог /var/venv/severcart
unzip 1_X_X.zip -d /var/venv/severcart
Установка python пакетов
source /var/venv/bin/activate
python3 /var/venv/severcart/tkinstaller/install.py
Далее настроим префикс программы Severcart для Apache в конфигурационном файле /var/venv/severcart/conf/settings.py меняем строку
URL_PREFIX = ''
на
URL_PREFIX = 'severcart'
Установка web сервиса
Далее установим серверный процесс обрабатывающий динамические запросы
yum install supervisor -y
systemctl start supervisord
systemctl enable supervisord
Назначаем нужные права доступа к файлам
chmod 755 -R /var/venv/severcart/
chown nobody:nobody -R /var/venv/severcart/
cd /etc/supervisord.d
touch severcart.ini
[program:severcart]
command=/var/venv/bin/gunicorn conf.wsgi_prod:application -c /var/venv/severcart/conf/gunicorn.conf.py
directory=/var/venv/severcart
user=nobody
autorestart=true
redirect_stderr=true
service supervisord start
supervisorctl reread
supervisorctl update
supervisorctl status severcart
supervisorctl restart severcart
Настройка Apache
Для работы нам понадобится proxy_module Apache для передачи запросов процессу генерации динамических страниц. Далее предполагается, что программа Apache уже установлена.
yum install httpd -y
systemctl enable httpd
systemctl start httpd
В CentOS 7 все эти модули включены по умолчанию. Чтобы убедиться в этом, можете ввести:
httpd -M
Чтобы настроить mod_proxy, нужно создать новый конфигурационный файл. Создайте файл django.conf в каталоге /etc/httpd/conf.d и откройте его:
vi /etc/httpd/conf.d/django.conf
Для начала нужно настроить статические файлы. После этого Apache будет направлять все запросы, начинающиеся с /static, в каталог static в каталоге проекта.
<VirtualHost 0.0.0.0:80>
ServerName severcart.local
ServerAlias *severcart.local
CustomLog /var/log/httpd/access_log combined
ErrorLog /var/log/httpd/error_log
ProxyPass /static !
ProxyPass /media !
Alias /static /var/venv/severcart/static
<Directory /var/venv/severcart/static>
Require all granted
</Directory>
Alias /media /var/venv/severcart/media
<Directory /var/venv/severcart/media>
Require all granted
</Directory>
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:9000/
ProxyPassReverse / http://127.0.0.1:9000/
</VirtualHost>
Домен severcart.local поменяйте на свой.
Запустим службу Apache
systemctl restart httpd
Далее проверяем в браузере открытие страницы. Если увидите приглашение ввести логин и пароль, значит установка успешно завершена. Проверка на наличие ошибок в конфигурации Apache
apachectl configtest