osTicket на nginx под Ubuntu 16.04

OsTicket - бесплатная, прозрачная и легкая система поддержки клиентов, которая проста в использовании и установке. OsTicket позволяет Вам управлять, организовывать и архивировать ваш запрос в службу поддержки. Он имеет поддержку LDAP и аутентификации Active Directory.

В этой статье я покажу вам как установить и настроить OsTicket на Ubuntu 16.04. OsTicket будет работать под управлением PHP 7.0, использовать в качестве веб-сервера мы будем nginx, а в качестве базы данных MySQL 5.7.

Особенности: В Ubuntu 16.04 Права root

Шаг 1 - Установка nginx и MySQL

На этом этапе мы установим nginx и MySQL сервер из репозитория Ubuntu, а затем добавим все сервисы в автозапуск.

Войдите на сервер с учетной записи SSH:

ssh Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. 

Обновите репозиторий для Ubuntu:

sudo apt-get update 

Затем установите nginx и MySQL.

sudo apt-get install -y nginx mysql-server

Вам будет предложено ввести пароль root в MySQL, введите надежный пароль MySQL.

Теперь запустите nginx и MySQL с помощью следующей команды systemctl:

systemctl restart nginx
systemctl restart mysql 

Добавьте его на запуск при загрузке:

 systemctl enable nginx
systemctl enable mysql

Теперь убедитесь, что все службы запущены, проверка порта сервера служб:

netstat -plntu 

Вы увидите порт 80 используемый nginx и порт 3306, используемый сервером MySQL.

Шаг 2 – Установка и настройка PHP-FPM

OsTicket требует некоторого расширения PHP для установки, включая PHP-ГД, имап в XML и mbstring. На этом этапе мы установим PHP 7 и все расширения, а затем настроим PHP для работы с веб-сервера nginx.

Установите PHP-МПФ 7 и все необходимые расширения с помощью команды apt ниже:

sudo apt-get install -y php7.0-cli php7.0-mysql php7.0-cgi php7.0-fpm php7.0-gd php7.0-imap php7.0-xml php7.0-mbstring php7.0-intl php-apcu 

Если у вас все получилось, перейдите в каталог PHP 7 и отредактируйте PHP.ini-файл.

 cd /etc/php/7.0/
vim fpm/php.ini

Раскомментируйте cgi.fix_pathinfo line и измените его значение на 0.

cgi.fix_pathinfo=0 

Сохраните файл и выйдите из редактора vim.

Теперь перезагрузите php7-FPM и добавим в автозапуск:

systemctl restart php7.0-fpm
systemctl enable php7.0-fpm 

Далее мы будем настраивать PHP 7 FPM для работы с веб-сервера nginx. Перейдите к директории виртуального хоста nginx и к виртуальному хосту файла по умолчанию с vim.

cd /etc/nginx/sites-available/
vim default 

Раскомментируйте строки, как показано ниже:

location ~ \.php$ {
                include snippets/fastcgi-php.conf;
        #
        #       # With php7.0-cgi alone:
        #       fastcgi_pass 127.0.0.1:9000;
        #       # With php7.0-fpm:
                fastcgi_pass unix:/run/php/php7.0-fpm.sock; 

Сохраните и выйдите, затем перезапустите веб-сервер.

 systemctl restart nginx

Теперь проверьте PHP 7 и nginx, создав файл phpinfo.

cd /var/www/html/
echo '' > info.php 

Откройте веб-сервер, URL-адрес в браузере и посетите IP-адрес сервера. http://10.32.4.234/info.php

Вы получите информацию о конфигурации PHP.

Шаг 3 - Создание базы данных для OsTicket

На этом этапе мы создадим новую базу данных и пользователя MySQL для OsTicket. Для входа в оболочку MySQL с паролем root для MySQL:

mysql -u root -p
TYPE YOUR PASSWORD 

Создайте новую базу данных с именем 'osticket_db', и нового пользователя 'osticket' с паролем 'osticketpw@'.

 create database osticket_db;
create user osticket@localhost identified by 'osticketpw@';

Все привилегии для нового пользователя внесите в базу данных 'osticket_db'.

 grant all privileges on osticket_db.* to osticket@localhost identified by 'osticketpw@';
flush privileges;

База данных для OsTicket была создана.

Шаг 4 - Создание Виртуального Хоста OsTicket

Теперь мы должны создать новую конфигурацию виртуального хоста для OsTicket.

Перейдите к директории виртуального хоста nginx и создайте новый файл 'osticket' с vim:

cd /etc/nginx/sites-available/
vim osticket 

Вставьте конфигурацию:

server {
  listen 80;
        server_name osticket.drach.pro;
 
        root   /var/www/osticket/upload;
 
        access_log  /var/log/nginx/access.log;
        error_log  /var/log/nginx/error.log;
 
        index index.php;
        client_max_body_size 2000M;
        client_body_buffer_size 100M;
        client_header_buffer_size 10M;
        large_client_header_buffers 2 10M;
 
        client_body_timeout 12;
        client_header_timeout 12;
        keepalive_timeout 15;
        send_timeout 10;
 
        gzip             on;
        gzip_comp_level  2;
        gzip_min_length  1000;
        gzip_proxied     expired no-cache no-store private auth;
        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.0-fpm.sock;
            fastcgi_param  PATH_INFO    $path_info;
        }
} 

Мы будем использовать доменное имя 'osticket.drach.pro', вместо него надо указать своё доменное имя, а файловая система нового сайта будет располагаться в /var/www и /osticket/.

Сохраните конфигурационный nginx файл и выйдите.

Теперь активируем виртуальный хост и проверим конфигурацию.

 ln -s /etc/nginx/sites-available/osticket /etc/nginx/sites-enabled/
nginx -t

Убедитесь, что нет ошибок и перезапустите nginx.

 systemctl restart nginx

Шаг 5 – Скачивание и настройка osTicket

Создайте новый каталог для osTicket и перейдите в этот каталог.

mkdir -p /var/www/osticket/
cd /var/www/osticket/ 

Скачайте osTicket с помощью команды wget.

wget http://osticket.com/sites/default/files/download/osTicket-v1.10.zip 

Распакуйте архив Файл osTicket.

unzip osTicket-v1.10.zip 

Все веб-файлы osTicket доступны в папке 'загрузки', перейдите в этот каталог и скопируйте образец osticket файла config.

 cd upload/
cp include/ost-sampleconfig.php include/ost-config.php

Сейчас следует сменить владельца всех osticket файлов и каталогов на сайте 'www-data' пользователя и группы.

 cd /var/www/osticket/
chown -R www-data:www-data upload/

Шаг 6 - Установите OsTicket

Откройте веб-браузер и посетите ваш домен OsTicket.

Убедитесь, что все необходимые пакеты будут отмечены зеленым цветом, как показано на рисунке.

Если есть ошибки, то вы сможете увидеть красный след, как показано в примере ниже:

Нажмите на кнопку 'продолжить' и вы будете перенаправлены на OsTicket в раздел конфигурации.

В 'настройки системы'введите 'поддержки имя и адрес электронной почты по умолчанию. В разделе 'администратор', введите конфигурацию, включая администратора по электронной почте, и убедитесь, что Электронная почта отличается от стандартных служб поддержки по электронной почте.

В настройках базы данных, просто заполните данные в базе, созданной на 3 этапе.

Нажмите на кнопку 'установить' и подождите пару минут,пока файл установится. И если это будет выплнено, то ниже вы увидите.

cd /var/www/osticket/upload/ 

Удалите или переименуйте каталог ,настройте и измените права доступа к файлу osticket конфигурации

 mv setup/ setup-sh/
chmod 0644 include/ost-config.php

Установка OsTicket завершена.

Шаг 7 - Тестирование

OsTicket - Главная страница /

OsTicket для входа в админ - /scp/

OsTicket для агентов - /scp/index.php

OsTicket Админ-панель конфигурации - /scp/settings.php

2 комментарии

  • Виталий

    написал Виталий

    Понедельник, 20 Ноябрь 2017 17:44

    Установился отлично. Спасибо за подробный how to.
    Но имеется проблема: ajax пустые popup'ы выдает.
    Не знаете как побороть?

  • Виталий

    написал Виталий

    Понедельник, 20 Ноябрь 2017 19:17

    Проблема решилась добавлением самоподисанного сертификата и конфигам вирт. хоста с ssl.
    Ссылка, к сожалению не прикрепляется...

Оставить комментарий

Ваше мнение очень важно для нас! Обязательно выскажите Ваши мысли, пожелания и критику! Не стесняйтесь задавать вопросы. Скорее всего, ответ появится уже через 2-3 дня. Спасибо заранее.

Go to top