SysAid – IT helpdesk installation on Linux system

Introduction

This article describes an installation of SysAid software on a Linux system using tomcat and Apache. SysAid is a commercial web-based help desk software and if you were thinking to install either its free or paid version in your organization this guide should help you to achieve it. The default installation of SysAid IT help desk is quite very straight forward. On top of this basic installation this guide will provide you with some extra settings on how to configure SysAid with apache’s https service using AJP proxy.

Scenario

At first, we will perform basic Sysaid ROOT context installation using tomcat. After that we will combine this default Sysaid installation with mysql database and apache2 on port 80. Next we will create a self-signed SSL certificate and deploy sysaid to be accessible via HTTPS URL on port 443.

Here are listed basic environment attributes used in this guide:

  • operating system Debian 6.0
  • mysql 5.1, apache 2.2, tomcat 6
  • example installation URL helpdesk.linuxcareer.com

Prerequisites

The following linux command will fetch all prerequisites for a Sysaid installation on Debian Linux server. Please alter below packages to fit your RPM Linux system such as Fedora, Redhat, Suse and etc.

# apt-get install apache2 tomcat6 mysql-server sun-java6-jre

Debian users only:
If you get a message “Package ‘sun-java6-jre’ has no installation candidate” make sure to add non-free debian repository into your /etc/apt/sources.list. The following 2 lines below should do the trick:

# sed -i 's/main/main non-free/g' /etc/apt/sources.list
# apt-get update

Set default Java environment

It is possible that your system is running a OpenJDK java environment. Feel free to test this installation using your free OpenJDK java version or set the default java environment to Sun’s Java(TM) SE Runtime Environment with:

# update-java-alternatives -s java-6-sun

When done you should see:

# java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)

Download Sysaid

If you have not done so yet, then download sysaid free ( or paid ) version:

# wget http://cdn3.sysaid.com/sysaid-server-linux-free.tar.gz

At this point we should be ready for a SysAid installation

SysAid installation

Navigate to a directory where you have downloaded SysAid package and decompress it using tar command:

# cd
# tar xzf sysaid-server-linux-free.tar.gz 
# ls
sysaid-server-linux  sysaid-server-linux-free.tar.gz
# cd sysaid-server-linux
# ls
CREDITS  init-sysaid.sh  INSTALL.txt  LICENSE.txt  README.txt  sysaid.war

In the next step we will deploy a sysaid.war file using tomcat. Here you need to make a decision whether you wish to deploy SysAid in tomcat’s ROOT context or you already have some tomcat web applications running and therefore you need to deploy SysAid in a separate directory. The difference is that in NON-ROOT context your application will be accessible via helpdesk.linuxcareer.com/sysaid as oppose to helpdesk.linuxcareer.com. Choice is yours.

As mentioned in the introduction, this guide will deploy SysAid in ROOT context. Before executing the following lines make sure that you do not have any other application running in ROOT tomcat directory otherwise all data will be lost. First stop tomcat:

# /etc/init.d/tomcat6 stop
Stopping Tomcat servlet engine: tomcat6.

Remove ROOT directory and copy SysAid into tomcat’s webapss directory and at the same time rename it to ROOT.war. In case that you do not wish to install Sysaid in ROOT context simply do not remove ROOT directory and do not rename Sysaid package.

# rm -fr /var/lib/tomcat6/webapps/ROOT/
# cp sysaid.war /var/lib/tomcat6/webapps/ROOT.war

Now start tomcat again which will automatically deploy SysAid into /var/lib/tomcat6/webapps/ROOT/ directory:

# /etc/init.d/tomcat6 start
Starting Tomcat servlet engine: tomcat6.
# ls /var/lib/tomcat6/webapps/ROOT/
applets            FormChek.js                picker.js
blank.html         help                       portal
calendar1.js       HelpDesk.xml               Reports
calendar2.js       icons                      resize.gif
calendar3.js       ilient_b.css               robots.txt
calendar4.js       ilient.css                 service.htm
calendarDHTML1.js  ilient_m.css               signup.htm
calendarDHTML2.js  images                     sounds
calendar.html      img                        styles.css
changedPass.html   jacob-1.15-M4-x64.dll      sysaid-pad.xml
charts             jacob-1.15-M4-x86.dll      thankyou.htm
ChatHeader.html    LeftMenuPanelEnduser.html  tigra_cal
combobox           leftPanelMenu              tigra_calendar
css                lib                        topmenu.html
download           m                          topmenu_sr.html
errorInSignUp.htm  mobile                     web2cal
favicon_css.ico    pad.xml                    WEB-INF
favicon.ico        picker.html

When all went well your should now have running SysAid installation accessible under your server’s hostname and port 8080. In our case the login URL is:

http://helpdesk.linuxcareer.com:8080 

Use the following SysAid default credentials to log in:

  • username: sysaid
  • password: changeit

If this is all what you need your installation is over. SysAid by default uses its own database integrated into its installation package. If you wish to use MySQL database instead, please read on.

sysaid linux installation

Integrating Mysql with SysAid

To integrate your SysAid installation with MySQL database we first need to create a new database and user. Use administrative user credentials to login to MySQL and execute the following MySQL commands to create:

  • database named: sysaid
  • user: sysaid
  • password: sysaidpass
# mysql -p
Enter password: 
mysql> create database sysaid;
Query OK, 1 row affected (0.01 sec)

mysql> CREATE USER 'sysaid'@'localhost' IDENTIFIED BY 'sysaidpass';
Query OK, 0 rows affected (0.04 sec)

mysql> grant all privileges on sysaid.* to sysaid@localhost;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

At this stage you should have empty database waiting for your sysaid integration. To do just that, we need to execute init-sysaid.sh which we have extracted in previous section from sysaid-server-linux-free.tar.gz package.

# chmod +x init-sysaid.sh
# ./init-sysaid.sh /var/lib/tomcat6/webapps/ROOT
Welcome to the SysAid initialization script!
This script will configure the database connection and initialize the database.
Please enter the host name or IP address of the MySQL server [localhost]:

Please enter the database name that should contain the SysAid data 
(please create an empty database with this name) [ilient]:
sysaid
Please enter the database login user name [mysql]:
sysaid
Please enter the database login password [mysql]:
sysaidpass
Please confirm your input:
Host name: localhost
Database name: sysaid
Database user name: sysaid
Database password: sysaidpass
Would you like to proceed (y/n) ?
y
Would you like to check connection (y/n) ?
y
Checking connection....
Connection verified.
Validating license .....
License verified. Account ID is free. Serial is 770CAFF2ABC62952
Please choose a main user name. Use this login for your first login into SysAid [sysaid]:
sysaid
Please choose the password of the sysaid login [changeit]:

Initializing database....
Initialization complete! Please restart the web application server (Tomcat).
Welcome to SysAid!

All done. Now we only need to restart Tomcat and log-in with new credentials used during execution of init-sysaid.sh integration script.

In the next section we are going to use Apache to proxy our tomcat installation and make SysAid accessible via SSL connection on Apache’s port 433. This is an optional step so feel free to skip this part.

Integrating SysAid with Apache

As already mentioned before, this step is optional and it is only useful if you wish to get rid of the the 8080 port number in your SysAis URL and want to use apache2 for SSL commutation between SysAid server and end client. This will be done by routing data using tomcat’s AJP connector and Apache’s ajp_proxy module.

First enable tomcat’s AJP connector on default port 8009. Open file /etc/tomcat6/server.xml and uncomment line:

FROM:
<!--
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
--> TO: <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

Now restart tomcat and confirm that 8009 is open:

# /etc/init.d/tomcat6 restart
Stopping Tomcat servlet engine: tomcat6.
Starting Tomcat servlet engine: tomcat6.
# netstat -ant | grep 8009
tcp6       0      0 :::8009 

SysAid on port 80

You will need to alter the following configurations to fit your environment. Particularly if you already have something running on port 80 or 433. Since we have a fresh installation of Apache2 we first disable default site:

# a2dissite default
Site default disabled.
Run '/etc/init.d/apache2 reload' to activate new configuration!

Next we declare a new virtual host by creating a file in /etc/apache2/sites-available called sysaid with a following content:

<VirtualHost *:80>

        ServerName      "helpdesk.linuxcareer.com"

        CustomLog       "/var/log/apache2/sysaid-access.log" combined
        ErrorLog        "/var/log/apache2/sysaid-error.log"


        ProxyRequests Off
        ProxyPass / ajp://localhost:8009/
</Virtualhost>

At this point reload your apache2 web server:

# /etc/init.d/apache2 reload

and your SysAid installation should be available under port 80 and URL: http://helpdesk.linuxcareer.com.

SysAid on port 443

First we need to create and sign our certificate. Simply skip this step it you already have your certificate.

Navigate to /etc/ssl and execute following lines:

Generate Your Private Key:

# openssl genrsa -out helpdesk.linuxcareer.com.key 2048

Certificate Signing Request (CSR)

# openssl req -new -key helpdesk.linuxcareer.com.key -out helpdesk.linuxcareer.com.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:NSW
Locality Name (eg, city) []:Sydney
Organization Name (eg, company) [Internet Widgits Pty Ltd]:LinuxCareer.com
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:helpdesk.linuxcareer.com
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Sign certificate:

# openssl x509 -req -days 365 -in helpdesk.linuxcareer.com.csr -signkey helpdesk.linuxcareer.com.key -out helpdesk.linuxcareer.com.crt 
Signature ok subject=/C=AU/ST=NSW/L=Sydney/O=LinuxCareer.com/CN=helpdesk.linuxcareer.com 
Getting Private key

When ready create a sysaid-ssl site in /etc/apache2/sites-available/ defining new SSL site and point it to your new/old certificates. Your sysaid-ssl file should look similar to this:

<VirtualHost *:443>

        SSLEngine on
        SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP

        SSLCertificateFile      /etc/ssl/helpdesk.linuxcareer.com.crt
        SSLCertificateKeyFile   /etc/ssl/helpdesk.linuxcareer.com.key

        ServerName      "helpdesk.linuxcareer.com"

        CustomLog       "/var/log/apache2/sysaid-access.log" combined
        ErrorLog        "/var/log/apache2/sysaid-error.log"


        ProxyRequests Off
        ProxyPass / ajp://localhost:8009/

</Virtualhost>

Next we need to enable Apache’s SSL module and new sysaid-ssl site following by Apache web server reload.

# a2enmod ssl
# a2ensite sysaid-ssl
# /etc/init.d/apache2 restart

All done. At this point you should be able to access SysAid under HTTPS URL. Enjoy

Troubleshooting

If you run into some sort of problems check sysaid’s log files located under:

/var/lib/tomcat6/webapps/ROOT/WEB-INF/logs/

If that does not help do not forget to check apache log files. SysAid configuration files are located under:

/var/lib/tomcat6/webapps/ROOT/WEB-INF/conf

with its main config file called serverConf.xml.



Comments and Discussions
Linux Forum