X

How To Install OsTicket v1.14 On Centos 7 With Apache

Sharing is caring!

OsTicket is powerful online support ticketing system. In this tutorial, how to install osTicket v1. 14 on your Centos 7 using local server or public vps with apace.

How To Install Google Chrome On Ubuntu Gnome Desktop 16.04

How To Install Zabbix 5.0 On Centos 7

OsTicket Server requirements : This is my server details

  • Server IP address : 10.66.10.10
  • Server OS : Centos 7.5
  • RAM : 2 GB
  • Disk : 50 GB
  • vCPU : 2
  • CPU op-mode(s) : 64-bit
  • PHP : 5.6 (or better)
  • MySQL : 5.0 (or better)

Step #01 : Install php 5.6 & http web server using below command.

[root@osTicket ~]# echo nameserver 8.8.8.8 >> /etc/resolv.conf
[root@osTicket ~]# yum install -y epel-release
[root@osTicket ~]# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
[root@osTicket ~]# yum install yum-utils
[root@osTicket ~]# yum-config-manager --enable remi-php56 
[root@osTicket ~]# yum install wget unzip php php php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-mcrypt php-imap php-apcu php-intl php-opcache zip unzip

Check php version using this command.

[root@osTicket ~]# php -v

Output like below

PHP 5.6.40 (cli) (built: Dec 17 2019 17:12:04)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

Step #02: Must be disable any firewall or selinux from your server otherwise not setup from web gui.

By default selinux is always enable. See running status using this command.

[root@localhost ~]# sestatus

Output like this

SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: disabled
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31

For disable using this command

[root@osTicket ~]# sed -i 's/enforcing/disabled/g' /etc/selinux/config

or
manually edit selinux file using below.

[root@osTicket ~]# vi /etc/selinux/config

Change  SELINUX=enforcing  to SELINUX=disabled

Press Esc type :wq press Enter for save.

Step #03: Enable firewall for access otherwise can’t access your server ip from browser.

[root@osTicket ~]# systemctl start firewalld
[root@osTicket ~]# firewall-cmd --reload
[root@osTicket ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
[root@osTicket ~]# firewall-cmd --reload
[root@osTicket ~]# firewall-cmd --list-all
[root@osTicket ~]# reboot

Step #04: Now install mariadb database server using below command.

After reboot come to your server then you can check selinux status using this command.

[root@osTicket ~]# sestatus

output below

SELinux status: disabled

Then run installation for database server

[root@osTicket ~]# yum install -y mariadb-server
[root@osTicket ~]# systemctl start mariadb
[root@osTicket ~]# systemctl enable mariadb
[root@osTicket ~]# mysql_secure_installation

Secure installation process not needed. If you want to setup root password so you can proceed it otherwise not.

By default mariadb root password is blank

Step #05: Now login mariadb terminal using this command for create database, user & password.

[root@osTicket ~]# mysql -u root -p

MariaDB [(none)]> create database osticket_db;
MariaDB [(none)]> create user osticket_user@localhost identified by 'osticket_user@123';
MariaDB [(none)]> grant all privileges on osticket_db.* to osticket_user@localhost identified by 'osticket_user@123';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

Restart mariadb server using this command.

[root@osTicket ~]# service mariadb restart

Step #06: Download latest OsTicket from official github url and then store into my web directory.

[root@osTicket ~]# wget https://github.com/osTicket/osTicket/releases/download/v1.14.1/osTicket-v1.14.1.zip
[root@osTicket ~]# unzip osTicket-v1.14.1.zip
[root@osTicket ~]# mv upload/* /var/www/html/
[root@osTicket ~]# mv scripts/ /var/www/html/
[root@osTicket ~]# rm -rf /var/www/html/index.html
[root@osTicket ~]# cd /var/www/html/include/
[root@osTicket include]# cp ost-sampleconfig.php ost-config.php
[root@osTicket include]# cd
[root@osTicket ~]# chown -R apache:apache /var/www/html/
[root@osTicket ~]# chmod 755 -R /var/www/html/
[root@osTicket ~]# chmod 0644 /var/www/html/include/ost-config.php

Step #07: Create one virtual host for access OsTicket web GUI.

[root@osTicket ~]# vi /etc/httpd/conf.d/osticket.conf

Now insert below all text into osticket.conf file. Must be change 10.66.10.10 to replace your ip address.

<VirtualHost *:80>
ServerAdmin webmaster@technologyrss.com
DocumentRoot "/var/www/html"
ServerName 10.66.10.10
ErrorLog "/var/log/httpd/error_log"
CustomLog "/var/log/httpd/access_log" combined
<Directory "/var/www/html">
DirectoryIndex index.html index.php
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>

Press Esc type :wq press Enter for save.

[root@osTicket ~]# systemctl restart httpd
[root@osTicket ~]# systemctl enable httpd

Step #08: When access your server ip address via browser so you can see your all requirements is full fill.

If any error so first resolve then again browse  server ip.

 PHP v5.6 or greater
 MySQLi extension for PHP

Recommended:
You can use osTicket without these, but you may not be able to use all features.
 Gdlib Extension
 PHP IMAP Extension - Required for mail fetching
 PHP XML Extension (for XML API)
 PHP XML-DOM Extension (for HTML email processing)
 PHP JSON Extension (faster performance)
 Mbsting Extension - recommended for all installations
 Phar Extension - recommended for plugins and language packs
 Intl Extension - recommended for improved localization
 APCu Extension - (faster performance)
 Zend OPcache Extension - (faster performance)

If all is ok then click Continue >>

Step #09 : osTicket Basic Installation like as below details.

System Settings

Helpdesk Name : Support
Default Email : support.yourname@gmail.com

Admin User
First Name : support
Last Name : admin
Email Address : support1@gmail.com
Username : support.admin
Password : *******
Retype Password : *******

Database Settings
MySQL Table Prefix : ost_
MySQL Hostname : localhost
MySQL Database : osticket_db
MySQL Username : osticket_user
MySQL Password : osticket_user@123

All is ok then click Install Now

Congratulations!

Your osTicket URL : http://10.66.10.10

Your Staff Control Panel : http://10.66.10.10/scp

After complete installation then remove setup directory from

[root@osTicket ~]# rm -rf /var/www/html/setup

If any installation problem please see my YouTube channel for video. Please share any social media for other.

5 1 vote
Article Rating
Admin: I am system administrator as Windows and Linux platform. I have 4 years skilled from the professional period. I have to configure Linux based system such as an Asterisk VOIP system, Network monitoring tools (ZABBIX), Virtualization (XEN Server), Cloud computing (Apache CloudStack) etc. Now share my professional skill each interested person. Thanks to all.

View Comments (4)

  • This does not work i get the following when restarting httpd ---
    httpd: Syntax error on line 353 of /etc/httpd/conf/httpd.conf: Syntax error on line 6 of /etc/httpd/conf.d/osticket.conf: /etc/httpd/conf.d/osticket.conf:6: <Directory> was not closed.

    • Open this /etc/httpd/conf/httpd.conf file and find line number 6 what is error then fix it.
      //Maybe below lines add needed into this file
      Group apache
      User apache
      If needed more help so please contact me via facebook page or WhatsApp.

      Thanks.

      • The osticket.conf should be as follows:
        
        ServerAdmin webmaster@technologyrss.com
        DocumentRoot "/var/www/html"
        ServerName 10.66.10.10
        ErrorLog "/var/log/httpd/error_log"
        CustomLog "/var/log/httpd/access_log" combined
        <Directory "/var/www/html">
             DirectoryIndex index.html index.php
             Options FollowSymLinks
             AllowOverride All
             Require all granted
        </Directory>
        
        • Yes, I already showed into my video, but my mistake is I am not put all text into my post. Really very sorry. Post Edited.

          ServerAdmin webmaster@technologyrss.com
          DocumentRoot "/var/www/html"
          ServerName 10.66.10.10
          ErrorLog "/var/log/httpd/error_log"
          CustomLog "/var/log/httpd/access_log" combined

          DirectoryIndex index.html index.php
          Options FollowSymLinks
          AllowOverride All
          Require all granted

Leave a Comment