Установка osTicket на Ubuntu 18.04 с Nginx, MySQL и PHP
Кратко: пошаговое руководство по установке osTicket (v1.14.1) на Ubuntu 18.04 с использованием Nginx, PHP-FPM и MySQL/MariaDB. Описаны предварительные требования, настройка веб‑сервера, БД, конфигурация Nginx, базовые меры безопасности, тесты и чеклисты для администратора.
Введение

osTicket — это открытая тикет‑система на PHP для Linux. Поддерживает разные СУБД (MySQL, PostgreSQL) и интеграцию с LDAP/Active Directory для централизованной аутентификации. Это лёгкое веб‑приложение для управления запросами (email, веб‑формы, телефон) и архивации обращений.
Цель этой инструкции — показать установку osTicket на Ubuntu 18.04 с Nginx в качестве веб‑сервера, MySQL/MariaDB как сервером баз данных и PHP (PHP‑FPM) как обработчиком PHP.
В статье используется osTicket v1.14.1 (архив скачан из GitHub) и PHP 7.2, как в оригинальном примере.
Важное
- Убедитесь, что у вас есть резервные копии перед изменением прав и конфигураций.
- Проверяйте совместимость версий osTicket и PHP в официальной документации перед установкой в продакшен.
Требования
- Сервер с Ubuntu 18.04
- Пользователь с sudo‑привилегиями
- Домен или публичный IP для доступа через браузер
- Доступ к интернету для загрузки пакетов
Основные шаги
- Обновление системы
- Установка LEMP (Nginx + PHP‑FPM + MySQL)
- Настройка базы данных
- Скачивание и разархивирование osTicket
- Конфигурация Nginx и PHP‑FPM
- Установка через веб‑интерфейс и финальная настройка прав
- Рекомендации по безопасности, тестирование и бэкап
Подробная инструкция
Обновление системы
Выполните вход под пользователем с sudo и обновите пакеты:
sudo apt update && sudo apt upgrade -yУстановка LEMP‑стека
osTicket требует веб‑сервер, PHP и СУБД.
Установка Nginx
sudo apt install nginx -yПроверка и запуск сервиса:
sudo systemctl status nginx
sudo systemctl start nginx
sudo systemctl enable nginxУстановка PHP и PHP‑FPM
Установите PHP и нужные модули. В примере используется PHP 7.2:
sudo apt install php php-mysql php-cgi php-fpm php-cli php-curl php-gd php-imap php-mbstring php-xml-util php-intl php-apcu php-common php-gettext php-bcmath -yОтредактируйте php.ini для PHP‑FPM (путь для PHP 7.2):
sudo vim /etc/php/7.2/fpm/php.iniНайдите и измените:
cgi.fix_pathinfo=0Сохраните файл. Затем перезапустите сервис и включите автозапуск:
sudo systemctl restart php7.2-fpm
sudo systemctl enable php7.2-fpmПримечание: если у вас другая версия PHP, используйте соответствующий путь (/etc/php/<версия>/fpm/php.ini) и сокет php‑fpm.
Установка MySQL/MariaDB
Установите сервер MySQL (команда для Ubuntu 18.04):
sudo apt install mysql-server -yЗапустите и включите MySQL:
sudo systemctl start mysql
sudo systemctl enable mysql
sudo systemctl status mysqlЗапустите скрипт безопасной настройки:
sudo mysql_secure_installationОтвечайте на вопросы по заранее выбранной политике паролей и удалению тестовой БД. Пример ответа на подсказки (Y — да).
Затем войдите в консоль MySQL:
sudo mysql -u root -pСоздайте базу и пользователя для osTicket (замените пароль на надёжный):
mysql> create database osticket_db;
mysql> grant all privileges on osticket_db.* to osticket_user identified by 'OsTicketPassw0rd@19';
mysql> flush privileges;Важно: используйте сложный пароль и, если нужно, ограничьте доступ по хосту.
Скачивание и подготовка osTicket
Создайте директорию и скачайте релиз osTicket (v1.14.1 в примере):
sudo mkdir -p /var/www/osticket/
cd /var/www/osticket/
sudo apt-get install wget unzip -y
sudo wget https://github.com/osTicket/osTicket/releases/download/v1.14.1/osTicket-v1.14.1.zip
sudo unzip osTicket-v1.14.1.zipПосле распаковки появятся папки scripts и upload. Далее создайте конфиг из образца:
sudo su -
cd upload/
cp ost-sampleconfig.php ost-config.phpИзмените владельца веб‑папки на www‑data (пользователь Nginx в Ubuntu):
sudo chown -R www-data:www-data /var/www/osticket/Конфигурация виртуального хоста Nginx
Создайте файл конфигурации:
sudo vim /etc/nginx/sites-available/osticket.confВставьте (обновите server_name на ваш домен или IP):
server {
listen 80;
server_name 13.52.217.10; ## change server_name as per your domain name.
root /var/www/osticket/upload;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
index index.php index.html index.htm;
# Enable gzip
gzip on;
gzip_min_length 1000;
gzip_types text/plain application/x-javascript text/xml text/css application/xml;
set $path_info "";
location ~ /include {
deny all;
return 403;
}
if ($request_uri ~ "^/api(/[\^\?]+)") {
set $path_info $1;
}
location ~ ^/api/(?:tickets|tasks).*$ {
try_files $uri $uri/ /api/http.php?$query_string;
}
if ($request_uri ~ "^/scp/.*\.php(/[\^\?]+)") {
set $path_info $1;
}
location ~ ^/scp/ajax.php/.*$ {
try_files $uri $uri/ /scp/ajax.php?$query_string;
}
location / {
try_files $uri $uri/ index.php;
}
location ~ \.php$ {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
}Сделайте символьную ссылку и проверьте конфигурацию:
sudo ln -s /etc/nginx/sites-available/osticket.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginxПримечание: если используете PHP другой версии, замените путь сокета fastcgi_pass.
Установка через веб‑интерфейс
Откройте в браузере ваш домен или IP. Вы увидите экран установщика:

Нажмите “Continue”, заполните системные и данные БД. В поле Database укажите osticket_db, пользователя osticket_user и пароль, который вы задали.


После успешной установки увидите подтверждение:

Закройте окно установщика и снимите права на запись для файла конфигурации:
cd /var/www/osticket/upload/
chmod 0644 include/ost-config.phpДоступ к панели

URLы по умолчанию:
- Админ‑вход: http://yourdomainname/scp/
- Панель агента: http://yourdomainname/scp/index.php
- Настройки админ. панели: http://yourdomainname/scp/settings.php
Проверьте, что Nginx обслуживает PHP и что файлы доступны с корректными правами.
Критерии приёмки
- Страница установки полностью загрузилась без ошибок PHP
- osTicket успешно соединился с базой данных и миграции прошли
- Файл include/ost-config.php защищён от записи
- Вы можете войти в админ‑панель и создать тестовый тикет
Рекомендации по безопасности и эксплуатации
- SSL/TLS: используйте Let’s Encrypt для HTTPS (пример с Certbot):
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomainname- Ограничьте доступ к MySQL по IP и используйте сложные пароли.
- Регулярно обновляйте систему и PHP‑модули.
- Настройте firewall (ufw):
sudo ufw allow 'Nginx Full'
sudo ufw enable- Регулярные бэкапы базы и файлов сайта (rsync + mysqldump). Пример бэкапа БД:
mysqldump -u root -p osticket_db > /backups/osticket_db_$(date +%F).sqlЛоги: следите /var/log/nginx и логи osTicket для ошибок и подозрительной активности.
Права: веб‑сервер должен иметь минимально необходимые права (www‑data только на чтение/запись нужных директорий).
Обслуживание и отладка
- Если при установке видны ошибки PHP, проверьте /var/log/nginx/error.log и /var/log/php7.2-fpm.log.
- Проверьте, что расширения php‑mbstring, php‑gd и php‑imap установлены — они необходимы для корректной работы.
- Проверяйте версию PHP: osTicket может требовать конкретные версии PHP, уточняйте в релиз‑нотях.
Чеклист для ролей
Администратор системы:
- Бэкап перед обновлением
- Настроить SSL
- Настроить firewall
- Обновлять систему и PHP
Администратор osTicket:
- Настроить очереди и SLA
- Создать учётные записи агентов
- Проверить уведомления по email
Agent (оператор поддержки):
- Проверить доступ к панели агента
- Тестировать создание/ответ на тикеты
Мини‑методология быстрой установки (3 шага)
- Подготовить сервер: обновить пакеты, установить Nginx, PHP, MySQL.
- Развернуть osTicket: скачать, распаковать, дать права, настроить Nginx.
- Пройти установку в браузере, защитить конфиг и включить HTTPS.
Тестовые сценарии и приёмка
- Тест 1: Открыть страницу установки — ожидаемый результат: без ошибок
- Тест 2: Подключение к БД — ожидаемый результат: миграции выполнены
- Тест 3: Создание тикета через веб‑форму и email — ожидаемый результат: тикет появляется в системе
Совместимость и миграция
- Инструкция адаптирована под Ubuntu 18.04 и PHP 7.2. При использовании других версий Ubuntu/PHP проверьте пути php.ini и сокеты php‑fpm.
- При миграции между СУБД (MySQL ↔ PostgreSQL) следуйте официальной инструкции osTicket и делайте полные бэкапы.
Частые ошибки и как их решать
- 502 Bad Gateway: обычно проблема с php‑fpm. Проверьте, запущен ли socket /run/php/php7.2-fpm.sock или поменяйте fastcgi_pass.
- Ошибки прав доступа: проверьте владельца и права файлов в /var/www/osticket.
- Ошибки подключения к БД: проверьте правильность имени БД, пользователя и пароля.
Краткое резюме
osTicket — удобная и лёгкая тикет‑система, которую можно развернуть на Ubuntu 18.04 при помощи Nginx, PHP‑FPM и MySQL. Основные шаги: подготовка сервера, установка LEMP, создание БД, скачивание osTicket, настройка Nginx, установка через веб‑интерфейс и финальная защита конфигурации. После установки настройте HTTPS, регулярные бэкапы и мониторинг.
Факты и примечания
- Версия в примере: osTicket v1.14.1
- СУБД: MySQL/MariaDB (также поддерживается PostgreSQL)
- В примере используется PHP 7.2 и сокет /run/php/php7.2-fpm.sock
Глоссарий (1‑строчные определения)
- Nginx — веб‑сервер и reverse proxy.
- PHP‑FPM — обработчик PHP через FastCGI.
- MySQL/MariaDB — сервер реляционной базы данных.
- SSL/TLS — шифрование HTTPS для безопасности соединений.
Социальный анонс
Коротко: полное руководство по установке osTicket на Ubuntu 18.04 с настройкой Nginx, PHP‑FPM и MySQL. Включены советы по безопасности, тесты и чеклисты для администратора.
Важно
Если вы внедряете osTicket в продакшен, протестируйте обновление на тестовом сервере и настройте мониторинг производительности и логирования.
Спасибо — удачной установки и эксплуатации osTicket!
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента