0. Предварительные настройки системы
Переключитесь на root пользователя (все нижеследующие команды выполнять под root):
sudo -i(Дополнительно) Настройте часовой пояс:
timedatectl set-timezone Europe/MoscowОбновите систему:
apt update && apt dist-upgrade -yПерезагрузите сервер:
reboot
1. Установка и настройка MariaDB
(Дополнительно) Добавьте официальный репозиторий для MariaDB (в данной статье 10.3) https://downloads.mariadb.org/mariadb/repositories:
apt install software-properties-common dirmngr gpg-agent
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirror.timeweb.ru/mariadb/repo/10.3/ubuntu bionic main'
Установите сервер MariaDB:
Настройте MariaDB (необходимо изменить пароль для root пользователя, остальное можно оставить по умолчанию):apt update
apt install mariadb-server
mysql_secure_installationСоздайте базу данных для osTicket:
mysql -u root -p
mysql> CREATE DATABASE osticket CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
mysql> GRANT ALL PRIVILEGES ON osticket.* TO osticket@localhost IDENTIFIED BY 'ostpswd';
mysql> FLUSH PRIVILEGES;
mysql> QUIT;
2. Установка и настройка PHP
(Дополнительно) Добавьте репозиторий для новых версий PHP:
(Дополнительно) Добавьте репозиторий для новых версий PHP:
apt install software-properties-common dirmngr gpg-agentУстановите PHP-FPM (для osTicket v1.12 рекомендуется использовать php 7.2):
add-apt-repository ppa:ondrej/php
apt update
apt install php7.2 php7.2-common php7.2-cli php7.2-fpm php7.2-gd php7.2-mysql php7.2-mbstring php7.2-curl php7.2-xml php7.2-xmlrpc php7.2-zip php7.2-json php7.2-opcache php7.2-readline php7.2-imap php7.2-intl php7.2-ldap php-apcuОтредактируйте php.ini:
nano /etc/php/7.2/fpm/php.iniИзмените нижеследующие параметры (не забудьте убрать ; спереди изменяемого параметра):
cgi.fix_pathinfo = 0Перезапустите php-fpm:
date.timezone = Europe/Moscow
systemctl restart php7.2-fpm.service
3. Установка и настройка NGINX
(Дополнительно) Добавьте репозиторий для новых Stable версий NGINX:
(Дополнительно) Добавьте репозиторий для новых Stable версий NGINX:
apt install software-properties-common dirmngr gpg-agent
add-apt-repository ppa:ondrej/nginx
apt update
Или для новых Mainline версий NGINX (т.к. это самый свежий релиз могут возникнуть разного рода проблемы, для надёжности рекомендую использовать Stable версию):
4. Установка и настройка osTicket
Загрузите последнюю версии osTicket (https://osticket.com/download/ или https://github.com/osTicket/osTicket/releases/):
apt install software-properties-common dirmngr gpg-agentУстановите NGINX:
add-apt-repository ppa:ondrej/nginx-mainline
apt update
apt install nginxЗапуск и автозагрузка NGINX:
systemctl start nginxУдалите ссылку на конфигурационный файл по умолчанию:
systemctl enable nginx
rm /etc/nginx/sites-enabled/defaultСоздайте конфигурационного файла для osTicket:
nano /etc/nginx/sites-available/osticket.confНеобходимо заполнить нижеследующее:
server {Активируйте конфигурацию:
listen 80;
server_name localhost;
root /var/www/html/osticket;
charset utf-8;
access_log /var/log/nginx/access_osticket.log;
error_log /var/log/nginx/error_osticket.log;
index index.php;
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;
}
if ($request_uri ~ "^/.*\.php(/[^\?]+)") {
set $path_info $1;
}
location ~ ^/scp/ajax.php/.*$ {
try_files $uri $uri/ /scp/ajax.php?$query_string;
}
location ~ ^/ajax.php/.*$ {
try_files $uri $uri/ /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;
fastcgi_param PATH_INFO $path_info;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
}
ln -s /etc/nginx/sites-available/osticket.conf /etc/nginx/sites-enabled/Проверьте конфигурационный файл:
nginx -tРезультат должен быть такой:
nginx: the configuration file /etc/nginx/nginx.conf syntax is okПерезапустите NGINX:
nginx: configuration file /etc/nginx/nginx.conf test is successful
nginx -s reload
4. Установка и настройка osTicket
Загрузите последнюю версии osTicket (https://osticket.com/download/ или https://github.com/osTicket/osTicket/releases/):
cd /tmp && wget https://github.com/osTicket/osTicket/releases/download/v1.12/osTicket-v1.12.zipРазархивируйте в директорию веб-сервера:
apt install unzipИзмените владельца файлов и директорий для osTicket:
unzip osTicket*.zip
mkdir -p /var/www/html/osticket/
mv upload/* /var/www/html/osticket/
cp /var/www/html/osticket/include/ost-sampleconfig.php /var/www/html/osticket/include/ost-config.php
chown -R www-data:www-data /var/www/html/osticket/Далее перейдите на http://IP_адрес_сервера:80 и заполните требуемые поля. Для подключения к базе данных используйте следующее:
chmod -R 0744 /var/www/html/osticket/
MySQL Table Prefix: ost_Удалите директорию setup и настройте права доступа для ost-config.php:
MySQL Hostname: localhost
MySQL Database: osticket
MySQL Username: osticket
MySQL Password: ostpswd
rm -rf /var/www/html/osticket/setup/Поздравляю, osTicket установлен успешно.
chmod 0644 /var/www/html/osticket/include/ost-config.php
Комментариев нет
Отправить комментарий