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
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:
Klik vervolgens op‘Continue‘ en je wordt doorgestuurd naar het osTicket configuratiegedeelte.
Vul alle vereiste gegevens in en klik op de knop “Install Now”.
Vul bij de database instellingen gegevens in als dbnaam, gebruikersnaam, en wachtwoord die je bij de mysql setup hebt aangemaakt.
Klik ten slotte op de knop Install Now, als de installatie voltooid is toont het een screenshot zoals hieronder:
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:
Voor admin login/agent panel/Admin panel configuratie type je als volgt.
- osTicket admin login – http://yourdomainname/scp/
- osTicket agent paneel – http://yourdomainname/scp/index.php
- osTicket admin paneel configuratie – http://yourdomainname/scp/settings.php
Tenslotte heb je osTicket met succes geïnstalleerd op de Ubuntu 18.04 server.