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.
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.