Atlantic.Net Blog

How to Install osTicket on Rocky Linux 8

osTicket is an open-source and web-based customer support ticketing system used to scale and streamline customer service operations. It is written in PHP programming and developed by Enhancesoft. osTicket is simple and lightweight and allows you to organize, manage and archive support requests. It helps to define routing rules for tickets to send the tickets to the correct department.

Features

  • Ticket Filters
  • Customer Support Portal
  • Ticket Filters
  • Custom Fields, Columns, and Queues
  • Agent Collision Avoidance
  • Assign, Transfer, & Referral

In this post, we will show you how to install osTicket on Rocky Linux 8.

Step 1 – Install Apache, PHP, and MariaDB

First, install the Apache and MariaDB server package using the following command:

dnf install httpd mariadb mariadb-server -y

Next, install the EPEL and PHP Remi repositories with the following command:

dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y

Next, disable the default PHP repository and enable the PHP Remi repository using the following command:

dnf module reset php
dnf module install php:remi-7.4 -y

Next, install PHP with other required extensions using the following command:

dnf install php php-pear php-cgi php-common php-curl php-gettext php-zip php-opcache php-apcu php-imap php-intl php-gd php-mysqli wget unzip -y

Once all the packages are installed, start and enable the Apache and MariaDB services:

systemctl enable --now httpd
systemctl enable --now mariadb

Step 2 – Configure MariaDB Database

First, secure the MariaDB installation and set the MariaDB root password using the following command:

mysql_secure_installation

Answer all the questions as shown below:

Enter current password for root (enter for none):
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

Next, log in to the MariaDB server with the following command:

mysql -u root -p

Once you are logged in, create a database and user for osTicket:

CREATE DATABASE osticketdb;
GRANT ALL PRIVILEGES ON osticketdb.* TO osticketuser@localhost IDENTIFIED BY "securepassword";

Next, flush the privileges and exit from the MariaDB shell:

FLUSH PRIVILEGES;
EXIT;

Step 3 – Install osTicket

First, download the latest version of osTicket using the following command:

wget https://github.com/osTicket/osTicket/releases/download/v1.15.4/osTicket-v1.15.4.zip

Once the download is completed, unzip the downloaded file to the Apache web root directory:

unzip osTicket-v1.15.4.zip -d /var/www/html/osTicket

Next, copy the osTicket sample configuration file:

cp /var/www/html/osTicket/upload/include/ost-sampleconfig.php /var/www/html/osTicket/upload/include/ost-config.php

Next, change the ownership of the osTicket directory to apache:

chown -R apache:apache /var/www/html/osTicket

Step 4 – Configure Apache for osTicket

Next, you will need to create an Apache virtual host configuration file for osTicket. You can create it using the following command:

nano /etc/httpd/conf.d/osticket.conf

Add the following lines:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/osTicket/upload
     ServerName osticket.example.com
     <Directory /var/www/html/osTicket/>
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     </Directory>

     ErrorLog /var/log/httpd/osticket_error.log
     CustomLog /var/log/httpd/osticket_access.log combined
</VirtualHost>

Save and close the file, then restart the Apache service to apply the changes:

systemctl restart httpd

You can now check the status of Apache using the command below:

systemctl status httpd

You should see the following output:

● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           └─php-fpm.conf
   Active: active (running) since Thu 2021-12-16 15:46:17 UTC; 9s ago
     Docs: man:httpd.service(8)
 Main PID: 12203 (httpd)
   Status: "Running, listening on: port 80"
    Tasks: 213 (limit: 23695)
   Memory: 26.4M
   CGroup: /system.slice/httpd.service
           ├─12203 /usr/sbin/httpd -DFOREGROUND
           ├─12204 /usr/sbin/httpd -DFOREGROUND
           ├─12205 /usr/sbin/httpd -DFOREGROUND
           ├─12206 /usr/sbin/httpd -DFOREGROUND
           └─12207 /usr/sbin/httpd -DFOREGROUND

Dec 16 15:46:17 rockylinux systemd[1]: httpd.service: Succeeded.
Dec 16 15:46:17 rockylinux systemd[1]: Stopped The Apache HTTP Server.
Dec 16 15:46:17 rockylinux systemd[1]: Starting The Apache HTTP Server...

Step 5 – Access osTicket Web Installation Wizard

Now, open your web browser and access the osTicket web installation wizard using the URL http://osticket.example.com. You should see the following page:
osticket requirements check
Make sure all the PHP extensions are installed, then click on the Continue button. You should see the following page:
osticket system settings
osticket admin user details
Provide your system settings, admin username, password, and database credentials, then click on the Install button. Once the installation is completed, you should see the following page:
osticket installed
Now, open your terminal, change the permissions of the osTicket configuration file, and remove the setup directory:

chmod 0644 /var/www/html/osTicket/upload/include/ost-config.php
rm -rf /var/www/html/osTicket/upload/setup/

Next, go back to your web browser and click on the Your Staff Control Panel. You should see the following page:
osticket login

Provide your admin username and password and click on the Login button. You should see the osTicket dashboard on the following page:
osticket dashboard

Conclusion

Congratulations! You have successfully installed osTicket with Apache on Rocky Linux 8. You can now use osTicket in your organization to provide customer support. Try it on dedicated hosting from Atlantic.Net!

Get a $250 Credit and Access to Our Free Tier!

Free Tier includes:
G3.2GB Cloud VPS a Free to Use for One Year
50 GB of Block Storage Free to Use for One Year
50 GB of Snapshots Free to Use for One Year