Установка системы заявок (helpdesk) OpenSupports на сервер
Коротко о системе OpenSupports
OpenSupports — это опенсорс система заявок (hrlpdesk). Лёгкий интерфейс, возможность работы с тикетами как с авторизацией по email, так и без авторизации пользователей вовсе, предлагая создать тикет через форму и следить за ним по выданному ID. Коротко о всех фишках можно посмотреть тут, а ещё можно покрутить демку онлайн. Разве что для счастья нехватает авторизации через LDAP, но на git разработчики уверяли что обязательно допилят данный функционал. Приступим к установке!
Для начала установим чистую Ubuntu на сервер. Для этого я взял установочный образ ubuntu-18.04.1.0-live-server-amd64. Не думаю что с этим могут возникнуть проблемы. Далее далее ок готово! А вот систему лучше обновить. Подключаемся к серверу через Putty или через CMD
ssh root@IP_адрес_сервера
sudo apt update sudo apt upgrade
И установим LAMP сервер
sudo apt-get install tasksel sudo tasksel install lamp-server
Настройка Apache2
Включим модуль mpm_prefork. Этот модуль будет использоваться для обработки запросов. Ну и mod_rewrite соответственно тоже включим.
sudo a2dismod mpm_event sudo a2dismod mpm_worker sudo a2enmod mpm_prefork sudo a2enmod rewrite
Использование файлов htaccess для настроек будет возможным после того как изменим значение AllowOverride с None на All для определённых директорий (/var/www).
sudo nano /etc/apache2/apache2.conf
Как поменяли, перезапускаем Apache
sudo systemctl restart apache2
Создадим директорию для системы OpenSupports, куда далее скачаем и распакуем архив с программой
sudo mkdir -p /var/www/html/opensupports
Теперь переходим в новый каталог, качаем архив, устанавливаем приложение zip (если его нет), распаковываем файлы и после удалим архив.
cd /var/www/html/opensupports
wget -O opensupports.zip https://github.com/opensupports/opensupports/releases/download/v4.4.0/opensupports_v4.4.0.zip
sudo apt-get install zip
unzip opensupports.zip
rm -R opensupports.zip
Теперь давайте нашего пользователя включим в группу, у которой будут права на редактирование этой директории
sudo groupadd webmasters sudo gpasswd -a username webmasters sudo chown -R root:webmasters /var/www/html/opensupports sudo chmod 775 /var/www/html/opensupports
Пришло время для создания хост файла
nano /etc/apache2/sites-available/opensupports.conf
<VirtualHost *:80> ServerAdmin opensupports@itlocate.ru ServerName opensupports DocumentRoot /var/www/html/opensupports <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/html/opensupports/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride All Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Теперь, если мы перейдём в /etc/apache2/sites-available/, то увидим там помимо только что созданного хост файла ещё два стандартных. Давайте их отключим, включив наш хост.
sudo a2dissite default-ssl.conf
sudo a2dissite 000-default.conf
sudo a2ensite opensupports.conf
Перезапускаем Apache.
sudo systemctl reload apache2
Настройка PHP
Включим использование шорттегов, если они отключены. Ишем параметр и изменяем его при необходимости (short_open_tag = On)
sudo nano /etc/php/7.2/apache2/php.ini
Как поменяли, перезапускаем Apache
sudo systemctl restart apache2
Настройка MySQL
Настроем бд MySQL, затем создадим пользователя и дадим ему права на базу данных. Всё что зелёным цветом - замените на свои данные.
sudo mysql_secure_installation
mysql -u root -p CREATE DATABASE database_name; GRANT ALL PRIVILEGES ON database_name.* TO username@localhost IDENTIFIED BY 'password'; exit
Продолжаем установку через веб браузер
По сути всё о чём я писал выше — это установка и настройка обычного web сервера, а установка opensupports мало чем будет отличаться от установки любой cms (к примеру wordpress). На этапах установки нам будет предложено выбрать язык, базу и данные для подключения к ней. Единственное с чем я столкнулся, так это с тем что я не мог создавать тикеты, т.к. не хватало прав на каталог. Решение ниже.
sudo chmod -R 777 /var/www/html/opensupports/api
Вход для админов и пользователй отличаются, если для вторых вообще включена авторизация. Админы логинятся по http://IP_адрес_сервера/admin, а пользователи с главной http://IP_адрес_сервера.