osTicket – это справочная служба с открытым исходным кодом и решение для работы с тикетами, написанное на PHP. Оно поддерживает множество интеграций, таких как электронная почта. Телефонный номер, и веб-формы. Вы также можете настраивать пользовательские поля, фильтры, темы, задачи, а также автоответчики.
В этом руководстве вы узнаете, как установить тикет-систему osTicket с открытым исходным кодом на сервер Ubuntu 24.04. Вы установите osTicket с помощью стека LAMP (Linux, Apache, MariaDB и PHP) и защитите osTicket с помощью HTTPS через Certbot и Letsencrypt.
Установка зависимостей
osTicket – это система продажи билетов с открытым исходным кодом, написанная на PHP. Чтобы установить osTicket на вашу систему ubuntu, вам необходимо установить стек LAMP (Linux, Apache, MariaDB и PHP). На данный момент вам нужен PHP 8.2, поэтому вы будете устанавливать его через сторонний репозиторий.
Сначала выполните следующую команду, чтобы установить основные пакеты в систему Ubuntu и добавить PPA-репозиторий для PHP. В данном случае вы будете использовать PHP 8.2 для установки osTicket, который доступен в PPA-репозитории.
sudo apt install ca-certificates apt-transport-https software-properties-common lsb-release -y sudo add-apt-repository ppa:ondrej/php -y
Теперь выполните приведенную ниже команду для установки зависимостей LAMP Stack в вашу систему Ubuntu. Введите ‘Y‘, чтобы подтвердить установку.
sudo apt install apache2 mariadb-server php8.2 libapache2-mod-php8.2 php8.2-mysql php8.2-cgi php8.2-fpm php8.2-cli php8.2-curl php8.2-gd php8.2-imap php8.2-mbstring php-pear php8.2-intl php8.2-apcu php8.2-common php8.2-bcmath php8.2-xml php8.2-zip
После завершения установки проверьте ‘apache2‘ статус службы с помощью следующей команды.
sudo systemctl is-enabled apache2 sudo systemctl status apache2
Ниже показано, что веб-сервер Apache включен и работает.
Далее проверьте состояние сервера MariaDB с помощью следующей команды. Вы увидите, что сервер MariaDB также запущен и включен в вашей системе Ubuntu.
sudo systemctl is-enabled mariadb sudo systemctl status mariadb
Наконец, выполните приведенную ниже команду, чтобы проверить версию PHP. Вы увидите, что PHP 8.2 установлен в вашей системе через репозиторий PPA.
sudo php -v sudo php -m
Настройка PHP
В этом разделе вы настроите PHP, отредактировав стандартный файл ‘php.ini’, и перезапустите веб-сервер Apache.
Откройте файл ‘/etc/php/8.2/apache2/php.ini‘ используя следующее ‘nano‘ редактор.
sudo nano /etc/php/8.2/apache2/php.ini
Измените конфигурацию по умолчанию следующим образом. Обязательно настройте параметры ‘дата.часовой пояс‘ и ‘лимит_памяти‘ по мере необходимости.
date.timezone = Europe/Berlin memory_limit = 512M
После завершения сохраните файл и выйдите из редактора.
Наконец, запустите программу ‘systemctl‘ команда ниже, чтобы перезапустить веб-сервер Apache и применить новые настройки PHP.
sudo systemctl restart apache2
Настройка сервера MariaDB
После настройки PHP вам предстоит защитить установку сервера MariaDB и создать новую базу данных и пользователя для osTicket. Вы будете использовать утилиту ‘mariadb-secure-installation’ для защиты сервера MariaDB, а затем использовать клиент ‘mariadb’.
Выполните следующую команду ‘mariadb-secure-installation‘, чтобы защитить установку сервера MariaDB.
sudo mariadb-secure-installation
Теперь вас спросят о следующих конфигурациях:
- Для установки сервера MariaDB по умолчанию без пароля root, нажмите ENTER, когда вас спросят о пароле.
- Локальная аутентификация для пользователей MariaDB root по умолчанию защищена, введите ‘n’, когда вас попросят изменить метод аутентификации на ‘unix_socket‘.
- Введите ‘Y’, чтобы создать новый пароль корневого пользователя MariaDB. Затем введите надежный пароль для пользователя MariaDB root и повторите.
- Когда появится запрос на отключение удаленной аутентификации для корневого пользователя MariaDB, введите ‘Y‘, чтобы согласиться.
- Установка сервера MariaDB по умолчанию поставляется с базой данных ‘test’ и позволяет анонимному пользователю получить к ней доступ. Введите ‘Y‘ для обоих параметров, чтобы удалить базу данных по умолчанию ‘test’ и убрать привилегию анонимности.
- Наконец, введите ‘Y‘, чтобы подтвердить права на перезагрузку таблицы.
После того как сервер MariaDB настроен и защищен, необходимо создать новую базу данных и пользователя для установки osTicket.
Войдите на сервер MariaDB с помощью клиентской команды ‘mariadb’, приведенной ниже. Введите пароль корня MariaDB, когда появится запрос.
sudo mariadb -u root -p
После входа в систему выполните следующие запросы для создания новой базы данных и пользователя ‘osticket‘ с паролем ‘osticketpassword’. При необходимости измените следующие данные.
CREATE DATABASE osticket; CREATE USER 'osticket'@'localhost' IDENTIFIED BY 'osticketpassword'; GRANT ALL PRIVILEGES ON osticket.* TO osticket@localhost IDENTIFIED BY "osticketpassword"; FLUSH PRIVILEGES;
Теперь выполните приведенный ниже запрос, чтобы убедиться, что пользователь ‘osticket‘ может получить доступ к базе данных ‘osticket’.
SHOW GRANTS FOR osticket@localhost;
В следующем выводе вы можете видеть, что ‘osticket’ База данных доступна через ‘osticket‘ user.
Наконец, введите ‘выйти‘, чтобы выйти из сервера MariaDB.
Загрузка osTicket
Теперь, когда вы настроили сервер PHP и MariaDB, вам предстоит загрузить исходный код osTicket и создать директорию установки.
Перейдите по адресу ‘/var/www/‘ каталог и загрузите исходный код osTicket, используя ‘wget‘ команда ниже.
cd /var/www wget https://github.com/osTicket/osTicket/releases/download/v1.18.1/osTicket-v1.18.1.zip
После загрузки выполните команду ‘unzip’, приведенную ниже, чтобы извлечь исходный код osTicket в папку ‘osTicket‘ каталог. Таким образом, каталог установки osTicket будет доступен по адресу ‘/var/www/osTicket‘.
unzip osTicket-v1.18.1.zip -d osTicket
Теперь выполните приведенную ниже команду, чтобы изменить право собственности на ‘/var/www/osTicket‘ директория для пользователя ‘www-data‘ и измените стандартное разрешение на ‘0755‘.
sudo chown -R www-data:www-data /var/www/osTicket sudo chmod 755 /var/www/osTicket
Наконец, выполните следующую команду, чтобы скопировать конфигурацию osTicket в ‘/var/www/osTicket/upload/include/ost-config.php‘.
mv /var/www/osTicket/upload/include/ost-sampleconfig.php /var/www/osTicket/upload/include/ost-config.php
Настройка виртуального хоста Apache
В этом разделе вы создадите новый файл виртуального хоста Apache для osTicket. Поэтому убедитесь, что ваше доменное имя указывает на IP-адрес сервера.
Создание нового файла виртуального хоста Apache ‘/etc/apache2/sites-available/osticket.conf” со следующим ‘nano‘ редактор.
sudo nano /etc/apache2/sites-available/osticket.conf
Вставьте следующую конфигурацию и не забудьте изменить ‘ServerName‘ с именем вашего домена.
ServerName ticket.local ServerAdmin admin@localhost DocumentRoot /var/www/osTicket/upload
Require all granted
Options FollowSymlinks
AllowOverride All
ErrorLog ${APACHE_LOG_DIR}/osticket.error.log
CustomLog ${APACHE_LOG_DIR}/osticket.access.log combined
После этого сохраните файл и выйдите из редактора.
Теперь выполните приведенную ниже команду, чтобы активировать ‘osticket.conf‘ файл и проверьте синтаксис Apache. Если у вас правильный синтаксис Apache, вы увидите вывод ‘Синтаксис в порядке‘.
sudo a2ensite osticket.conf sudo apachectl configtest
Наконец, запустите команду ‘systemctl‘ команда ниже, чтобы перезапустить веб-сервер Apache и применить изменения.
sudo systemctl restart apache2
Защита osTicket с помощью HTTPS
В этом разделе вы будете защищать установку osTicket с помощью HTTPS. Для этого вы установите и используете Certbot для генерации SSL/TLS сертификатов из letsencrypt.
Установите плагин ‘certbot’ и ‘python3-certbot-apache’ с помощью следующей команды ‘apt’.
sudo apt install certbot python3-certbot-apache -y
После завершения установки выполните приведенную ниже команду ‘certbot’ для генерации SSL/TLS сертификатов и защиты osTicket с помощью HTTPS. Убедитесь, что следующие адрес электронной почты и доменное имя изменены на ваши данные.
sudo certbox --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d ticket.local
После завершения работы ваши SSL/TLS сертификаты будут доступны в каталоге ‘/etc/letsencrypt/live/domain.com’, и ваша установка osTicket должна быть защищена HTTPS.
Установка osTicket
Откройте веб-браузер и зайдите на свой домен, например https://tiket.local. Если все прошло успешно, вы увидите мастер установки osTicket.
Убедитесь, что все зависимости для osTicket установлены, и нажмите кнопку Продолжить.
Измените основные настройки системы, например, имя домена, затем введите нового пользователя-администратора для osTicket и введите данные базы данных, которую вы создали.
Если установка завершена, вы увидите следующую страницу:
Далее вернитесь в терминал вашего сервера и выполните приведенную ниже команду, чтобы удалить каталог ‘setup’ из вашей установки osTicket.
sudo rm -rf /var/www/osTicket/upload/setup
Теперь, если вы зайдете на домашнюю страницу osTicket, вы получите страницу по умолчанию, как показано ниже:
Войдите в osTicket под своим пользователем admin и паролем.
Если у вас есть правильные учетные данные администратора, вы увидите следующую панель администрирования osTicket.
Заключение
Поздравляем! Вы завершили установку osTicket на сервер Ubuntu 24.04. Вы запустили osTicket с помощью стека LAMP (Linux, Apache, MariaDB и PHP), а также обеспечили безопасность osTicket с помощью HTTPS через Certbot и let’s encrypt.