osTicket met Nginx te installeren op Ubuntu 18.04 LTS

osTicket is een open-source ticketing systeem op het Linux platform, geschreven in PHP. Het ondersteunt verschillende soorten databases zoals MySQL, PostgreSQL en kan integreren met LDAP/Active directory voor centrale authenticatie.

Het is een eenvoudige en lichtgewicht web-gebaseerde toepassing. Met OsTicket kun je je ondersteuningsverzoeken beheren, organiseren en archiveren. Het routeert vragen via e-mail, web-formulieren en telefoongesprekken naadloos naar een eenvoudig, gemakkelijk te gebruiken, multi-user, web-gebaseerd platform voor klantenondersteuning.

In deze handleiding laat ik je zien hoe je osTicket kunt installeren op Ubuntu 18.04, met Nginx als webserver, MySQL/MariaDB als databaseserver en PHP.

Vereisten

  • Ubuntu 18.04
  • Een sudo gebruiker met root rechten.

Stap 1: Aan de slag

Log eerst in op je server met sudo privileges en update het systeem met de nieuwste stabiele versie met het volgende commando:

sudo apt update &&  sudo apt upgrade -y

Stap 2: LEMP server installeren

OsTicket vereist dat Web server, PHP en Database Server op je server geïnstalleerd zijn.

Installeer Nginx Web Server

Je kunt Nginx webserver installeren met het volgende commando:

sudo apt install nginx -y

Laten we nu de Nginx dienst controleren en Om de dienst handmatig te starten, voer je de volgende commando’s uit:

sudo systemctl status nginx
sudo systemctl start nginx

Schakel nu de nginx service in om bij het opstarten te starten door het volgende commando uit te voeren:

sudo systemctl enable nginx

Installeer PHP en PHP-FPM

Vervolgens moet je PHP, PHP-FPM en enkele aanvullende PHP modules installeren die nodig zijn om OsTicket goed te laten draaien:

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

Bovenstaand commando installeert php-7.2

Bewerk nu php.ini bestand door het volgende commando in terminal uit te voeren.

sudo vim /etc/php/7.2/fpm/php.ini

Haal het commentaar weg bij de variabele cgi.fix_pathinfo en verander de waarde in 0

cgi.fix_pathinfo=0

Sla het bestand nu op en sluit het.

Start vervolgens de php7.2-fpm service opnieuw op en activeer hem bij het opstarten met het volgende commando:

sudo systemctl restart php7.2-fpm
sudo systemctl enable php7.2-fpm

Installeer en configureer MySQL Database server voor OsTicket

Geef vanuit je terminal venster het volgende commando om de MySQL databaseserver te installeren.

sudo apt install mysql-server

Start nu de MySQL dienst en zet hem aan om bij het opstarten te starten en controleer dan de status van de MySQL dienst met het volgende commando:-.

sudo systemctl start mysql
sudo systemctl enable mysql
sudo systemctl status mysql

Beveilig vervolgens de MySQL installatie met het volgende commando:

sudo mysql_secure_installation

Beantwoord alle vragen zoals hieronder:


Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Log vervolgens in op de MySQL console zoals hieronder te zien is:

sudo mysql -u root -p

Voer hier je Root wachtwoord in.

Nu moet je de databank voor osTicket maken

run following command
mysql> create database osticket_db;

mysql> grant all privileges on osticket_db.* to osticket_user identified by '[email protected]';

mysql> flush privileges;

Er is een databank voor osTicket aangemaakt.

Stap 3: Download en configureer osTicket

Maak een nieuwe map voor osTicket en ga dan naar die map.

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

Download vervolgens de nieuwste osTicket setup met wget en Pak hem uit met het volgende commando:-

sudo apt-get install wget unzip
sudo wget https://github.com/osTicket/osTicket/releases/download/v1.14.1/osTicket-v1.14.1.zip
sudo unzip osTicket-v1.14.1.zip

Je krijgt scripts en upload directory na uitpakken.

Maak vervolgens een osTicket configuratiebestand van het bestand ost-sampleconfig.php met het volgende commando:

sudo su -
cd upload/
cp ost-sampleconfig.php ost-config.php

Vervolgens moet je het eigendom van de osTicket web directory veranderen in de ‘www-data’ gebruiker en groep.

sudo chown -R www-data:www-data /var/www/osticket/

Stap 4 – Creëer OsTicket Virtuele Host

Maak nu een nieuwe virtuele host configuratie voor OsTicket door het volgende commando uit te voeren:

sudo vim /etc/nginx/sites-available/osticket.conf

Plak de configuratie zoals hieronder:

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;
}
}

Hier moet je server_name 13.52.217.10 veranderen volgens je domeinnaam.

Bewaar het Nginx configuratiebestand en sluit af.

Activeer nu de virtuele host en test de configuratie.

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

Dit zal uitvoer tonen als hieronder

Test nginx Configuratie

Start nu de nginx dienst opnieuw op

sudo systemctl restart nginx

Stap 5: Installeer en configureer osTicket

Voer nu je domeinnaam in om osTicket UI te krijgen in een willekeurige webbrowser, je ziet een pagina als hieronder:

osTicket installatieprogramma

Klik vervolgens op‘Continue‘ en je wordt doorgestuurd naar het osTicket configuratiegedeelte.

Vul alle vereiste gegevens in en klik op de knop “Install Now”.

systeeminstellingen

Vul bij de database instellingen gegevens in als dbnaam, gebruikersnaam, en wachtwoord die je bij de mysql setup hebt aangemaakt.

Database instellingen

Klik ten slotte op de knop Install Now, als de installatie voltooid is toont het een screenshot zoals hieronder:

osTicket installatie geslaagd

Verander vervolgens de toestemming van ost-config.php om schrijftoegang te verwijderen door het volgende commando uit te voeren:

cd /var/www/osticket/upload/
chmod 0644 include/ost-config.php

Voor osTicket admin typ je je IP/domeinnaam in de webbrowser:

osTicket Inloggen

Voor admin login/agent panel/Admin panel configuratie type je als volgt.

Tenslotte heb je osTicket met succes geïnstalleerd op de Ubuntu 18.04 server.