How to upgrade osTicket to 1.10.4

The osTicket is a great truly open source ticket system, you can customize to fit your business needs. If you are running an older version of osTicket, it’s best to keep up to date with stable releases to keep your ticket system protected. If you wait too long for an upgrade and newer version have many changes then it would get harder. The upgrade process is about the same for most version unless major version which might have database changes and it will run the upgrade script. Here is how to upgrade from version 1.10.1 to 1.10.4

  1. Make sure you have a good backup of Database and files of osTicket
  2. Then put the system in the offline mode: by going to /scp/settings.php
  3. Download the new version from https://osticket.com/download/ and choose the osTicket Core, v1.10.4 (Latest Release)
  4. Upload to your server v. 1.10.4 and replace current files/folders from Upload folder from your downloaded, and exclude the script folder/files
  5. Make sure you have the correct permission, then go to the URL/SCP of the osTicket system and login
  6. Delete the /setup folder and update any customization you may have, once all is good you can put system back online

That’s it, if customized PHP core files, those needs to be re-applied after the upgrade. If are using plugins, make sure it supports the new version. Most if not all open source project is fully customizable and downside to is keeping up to date with any customization been done to the core system. You will find many solutions to the problem in a forum where people report and help out each other. Please read your error message and logs of your system web server, PHP, osTicket, it gives many ideas about why things are not working. Many of them due to PHP version not supported. If you were to get help from the forum, please include your system information, like osTicket, PHP version, web server, and remember forum support is free, so don’t order/demand to fix your issues.

Note because 1.10.1 to 1.10.4 upgrade did not have any database changes so you will not see the upgrader screen. If you want you can run manually upgrader: /scp/upgrade.php, most likely you will see the message: “Nothing to do! System already upgraded to v1.10.4 with no pending patches to apply. ”

Common issues/solution:

error: Valid CSRF Token Required
solution: edit include/class.ostsession.php line around 191

catch (DoesNotExist $e) {
$this->data = new SessionData([‘session_id’ => $id]);
+            $this->data->session_data = “”;

 



osTicket installation on Ubuntu 16.04

osTicket is one of the great open source support system, very easy to install and use.  I have noted the whole process, short version, and detailed version.  What you will need from start to finish.  This installation is fresh, without any add-ons or any customization osTicket version 1.10.1.  I have written this installation based on Ubuntu 16.04 with Apache as a web server, it may work just fine with other versions of Ubuntu servers or similar to other flavors of Linux systems.  Assuming you have your web server and domain up and running without any issues.  So, let’s get started

What you will need

  • Server requirements:  You can get up to date from official docs from osTicket very well documented
    • PHP 5.6 (or better I am going to be using PHP7.0)
    • MySQL 5.0 (or better)
    • 2GB memory recommended 4GB or more
  • Access to web/database server via SSH
  • Access to site file via (FTP, SFT, GUI, SSH, etc. …)

Getting server ready to install osTicket:

Installing requirements, you may need to run add this to repository void error, log in to your web server via SSH

Commands:
sudo apt-add-repository ppa:ondrej/php
sudo apt-get install php7.0-gd php7.0-imap php7.0-xml php7.0-mbstring php7.0-intl phpapcu

Downloading osTicket:

https://osticket.com/download/
Once you have downloaded then extract it or upload it to your web server common location: /var/www/

Then set the permission:

commands: make sure to change /var/www/ to your path
sudo chown -R www-data:www-data /var/www/

Click Continue once you have fixed any issues, please correct it before going forward

Setup osTicket Database and give full permission using whichever tool you are comfortable with it, then fill in details and click Install now

if everything went well you should see Congratulation, then just change the permission of your config file

You should be able to login to your osTicket support system with the information you used earlier, see my notes, where I have put in some common issues you may encounter when installing.

Notes and common errors/solution: 

You may need to do these if you get errors or other settings changes


If you have not copied the ost-sampleconfig.php to include/ost-config.php
then you will get the following message


You will also need to make sure that ost-config.php has correct permission, otherwise, you will get this message:


if you have already installed the PHP IMAP extension and still gives you an error, take a look at your php.ini file and enable it by uncommenting /etc/php/php.ini:
;extension=imap.so
to
extension=imap.so


You may need to restart the web service after making changes to take effect:
sudo systemctl restart apache2


error: Valid CSRF Token Required OsTicket:
then need to edit file class.ostsession.php round line 191
catch (DoesNotExist $e) {
$this->data = new SessionData([‘session_id’ => $id]);
$this->data->session_data = “”;


error: Php 7.2 compatibility issue (not recommended to use this version of PHP on osTicket 1.10.1 or 1.10.4, it should support on new version 1.11)
then need to edit file class.ostsession.php round line 197

if(!is_string($this->data->session_data)) { $this->data->session_data = strval($this->data->session_data);

}


These commands to install PHP version 7.0 extensions manually one at a time:
Sudo apt-get install php7.0-gd
Sudo apt-get install php7.0-imap
Sudo apt-get install php7.0-xml
Sudo apt-get install php7.0-mbstring
Sudo apt-get install php7.0-intl
Sudo apt-get install php-apcu


Make sure to protect your ost-config after the installation by changing the permission:
sudo chmod 0644 /var/www/include/ost-config.php



Open Source osTicket system

osTicket is one of the great open source Ticket system.  You can customize the way you like if you know how to code.  They also offer services like other open source projects Installation, customization, Hosted, etc… You can check them out at osticket.com.  What I want to say my two cent is, based on what I know and been testing and knowing for few years and now I am using the osTicket in a live environment with 3 departments, this is truly one of the support systems, that have all common function you would look in the support system.  I have tested and used other open source ticket system, most if not all lack some basic function, which available if you get premium support.  osTicket, only thing is lacking is Advance Reporting/theme/nested help topic (been hearing rumor ver. 2.0 will have more options), which I don’t really use it at the moment.  I have changed it the way I like it with a few CSS styles changes and very little PHP code.

  • It can take incoming email, web portal, API and convert it into a ticket, you have options to send alert to a user, manager, an agent.
  • It has options to setup multiple departments, so it’s it feels seamless for Agents/Users.
  • It has a plugin for LDAP so a user doesn’t need to remember another username/password to submit a ticket.
  • You can add custom fields into your own form/lists.
  • You can add SLA’s (Service Level Agreements) across or for each department can have their own SLA’s.
  • It has Ticket filters for incoming tickets so you can set up to automate of ticket routing or block it.
  • and much more they are adding more

Note: one thing you have to understand in open source project is, if you use out of the box and continue updating as they release updates then it’s great.  If you customize, then you will have to keep track of your changes and would have to reapply it after the updates.

Hope this helps someone who is looking to have their own support system, without paying the high price commercial system, thank you for the great system to osTicket team, for their very hard work