# Установка и настройка HelpDesk системы OpenSupports
## Теория :book:
HelpDesk (Service Desk) — система, предназначенная для автоматизации обработки запросов клиентов.
Благодаря HelpDesk можно подсчитать количество обращений в службу поддержки, частоту поломок техники и определить уровень предоставления услуги. Используя полученную информацию, можно спланировать развитие IT инфраструктуры, квалифицировать специалистов и выявить слабые места в компании. Таким образом, HelpDesk позволяют заявкам пользователей оперативно поступать в работу, а руководство получает возможность лучше контролировать работу менеджеров и эффективность работу IT отдела.
### Используемые ресурсы
::: info
* ПО виртуализации: VMware Workstation 16 pro;
* ОС: Linux Ubuntu 22.04;
* Виртуальные процессоры: 4
* ОЗУ: 4096
* HDD: 30 GB
:::
### Подготовка системы
Обновим систему.
```
apt update && apt upgrade -y
```
Установим LAMP-сервер.
```
apt install tasksel
tasksel install lamp-server
```
Установим Apache и подключим необходимые модули.
```
apt install apache2
a2dismod mpm_event
a2dismod mpm_worker
a2enmod mpm_prefork
a2enmod rewrite
```
Изменим параметр AllowOverride с None на All для определённых директорий (/var/www) в конфиге Apache2.
```
nano /etc/apache2/apache2.conf
```

Перезапустим Apache2.
```
systemctl restart apache2
```
#### Установка OpenSupports
Создадим папку, куда будет распоковывать архив для OpenSupports.
```
mkdir -p /var/www/html/opensupports
```
Загрузим архив и распакуесм его.
```
cd /var/www/html/opensupports
wget -O opensupports.zip https://github.com/opensupports/opensupports/releases/download/v4.4.0/opensupports_v4.4.0.zip
apt-get install zip
unzip opensupports.zip
rm -R opensupports.zip
```
Создадим группу и пользователя для OpenSupports и выдадим необходимые права.
```
useradd -s /sbin/nologin --system -g webmasters support
groupadd webmasters
gpasswd -a support webmasters
chown -R root:webmasters /var/www/html/opensupports
chmod 775 /var/www/html/opensupports
```
#### Настройка виртуального хоста
Создадим виртуальный хост apache2 для сайта.
```
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>
```
Отключим стандартные виртуальные хосты и включим ранее созданный. Перезапустим apache2.
```
a2dissite default-ssl.conf
a2dissite 000-default.conf
a2ensite opensupports.conf
systemctl reload apache2
```
#### Настроим PHP.
:::warning
Версия PHP должна быть 7.x, версия 8.x не поддерживается!
:::
```
nano /etc/php/7.4/apache2/php.ini
```
Включим использование шорттегов, если они отключены.

#### Настроим MySQL
```
mysql_secure_installation
```

Создадим пользователя и дадим ему права на базу данных.
```
mysql -u root -p
CREATE DATABASE DB_OpenSupport;
CREATE USER 'support'@'localhost' IDENTIFIED BY 'Admin123';
GRANT ALL PRIVILEGES ON DB_OpenSupport.* TO support@localhost IDENTIFIED BY 'Admin123';
exit
```
#### Переходим в веб-интерфейс
Выбираем язык.

Сверка с требованиями сервера

Третим шагом нужно было соединиться с базой данных, там всё просто.
Настроим пользовательскую систему.

Укажем название сайта и smtp сервер, если он есть.

Создаём аккаунт администратора.

Входим в аккаунт.

Готово!
### Заключение
Для пользователей внедрение Service Desk и Help Desk характеризуется повышением уровня предоставляемого сервиса и уменьшением периодов остановок из-за проблем в IT инфраструктуре. А для самих IT служб внeдрение подобнoй oрганизации рабoты становится решением прoблемы, когда бизнес не может понять запросов айтишников. Появляется возмoжность просто обoснoвывать влoжения в IT и планировать бюджет согласно потребностям в развитии бизнес-процессoв. Кроме тoго, IT департамeнт может предoставлять актуальные и достоверные данные о свoей рабoте и пoвышать дoступность своих услуг для пользователей.
Внедрение Service Desk и Help Desk также позволяет квалифицировать специалистов IT подразделений и развивать у них определенные навыки.