20. [Linux] Install Manager 6.2.4

Important_icon.pngImportant:

  • Please go through the guide below thoroughly before starting your installations. It’s recommended to use copy & paste for the code scripts. Prerequisite packages must be installed prior to qTest and Session Manager installations.
  • Make sure that you have backed up for data prior to an upgrade installation.

 

A. Hardware requirements for 100~300 users. For more than 300 users, please consider a cluster solution.

  1. For qTest:
    • CentOS 6.4 Final - 64 bit or Ubuntu 12.04 -  64 bit
    • RAM: 8GB AVAILABLE
    • Minimum HDD free space: 70 GB is for qTest and data storing (500 GB HDD or above is recommended for growing plan)
    • Processor: Quad core ~2.3Ghz or up
  2. For Session Manager:
    • CentOS 6.4 Final - 64 bit or Ubuntu 12.04 - 64 bit
    • RAM: 8GB AVAILABLE
    • HDD: 125 IOPS
    • CPU: quad core 2.0GHz
  3. For DBMS (if a separated DBMS is deployed):
    • RAM: 4GB AVAILABLE or more
    • HDD: 120 (10k rpm) or more
    • CPU: Quad core ~2.3Ghz or up

B. Software requirements

Download qTest OnPremise.

  1. If you are installing qTest Pro (no Session Manager):
    • MySQL version 5.5+ has been installed and is running.
    • MySQL Connector/J version 5.1.34+ has been installed.
    • RabbitMQ has been installed and running (if you are deploying qTest with load balancing).
    • Redis version 2.8.19+ has been installed and running (if you are deploying qTest with load balancing).
  2. If you are installing qTest Premium (with Session Manager), the following packages need to be installed and running:
    • MySQL version 5.5+
    • MySQL Connector/J version 5.1.34+ has been installed.
    • Redis version 2.8.19+ has been installed and running.
    • Elasticsearch version 1.7.3 has been installed and running.
    • PostgreSQL version 9.3+ has been installed and running.

»Install qTest OnPremise

»Configure qTest

»Import qTest Licenses

»Install Session Manager

»Miscellaneous & Troubleshooting

Installing qTest on Linux

A. Download qTest packages

qTest OnPremise package can be downloaded here. Once downloaded, extract the file.

# cd /usr/local
# tar -zxf qtest-enterprise-linux-x.x.x.tar.gz

 

B. Install qTest with Single Instance

  1. Access command shell on your Linux server with Root account.
  2. Copy qtest-linux-x.x.tar.gz into a directory where qTest OnPremise will be installed (e.g: /usr/local).
  3. Extract qTest bundle and change directory to qTest OnPremise:
    $ sudo su
    # cd /usr/local
    # tar -zxf qtest-linux-x.x.tar.gz
    # cd qtest-linux-x.x.x/
    
  4. Open file qtest_env.sh. Review and edit the following information.
    1. Specify information to connect to your MySQL server; including its host, port, credentials to login and the path to MySQL Connector's jar file.

      button-round-warning-icon.pngHINT:

      • If you have not installed MySQL Connector/J, please follow these instructions.
      # MySQL external configuration variables.
      MYSQL_PORT=[MySQL_Port] //eg: 3306
      MYSQL_USER="[MySQL_User]" //eg: "root"
      MYSQL_PASS="[Password_Of_MySQL_User]" //eg: "admin"
      MYSQL_HOSTNAME="[MySQL_Host]" //eg: "localhost"
      MYSQL_CONNECTOR_LIB_PATH="[Path_to_Connector_jar_File]" //eg: "/usr/local/mysql-connector/mysql-connector-java-5.1.35.jar"
      
    2. Specify your WEB Configurations includes the ports to connect to your qTest through web browser. If you set Yes for SSL_REQUIRED, you will need to specify your certificate.
      # HTTP and HTTPS variables (Please prepare your certificate when set SSL_REQUIRED to "Yes")
      WEB_PORT=[HTTP_Port] //eg: 8080
      WEB_HTTPS_PORT=[HTTPS_Port] //eg: 8443
      SSL_REQUIRED="No" //put "YES" if you want to enable SSL connection
      
      # Web server administrator port variables
      WEB_ADMIN_PORT=[Admin_Port] //eg: 8005
      WEB_ADMIN_AJP_PORT=[AJP_Port] //eg: 8009
      
    3. Specify a directory which will be use for storing attachments. It needs to be writable.
      # Attchment configuration variables
      # If you want to copy from old attachments folder to new attachment folder,
      # set OLD_ATTACHMENT_DIR point to old attachments folder.
      ATTACHMENT_DIR=$QTEST_DIR/attachments //this directory needs to be writable
      OLD_ATTACHMENT_DIR=

    Important_icon.pngImportant:

    • All configured web ports (eg. port 8080, 8443, 8005, and 8009) must be available and are not blocked by your firewall. Click here for the instruction to check if those ports are in use.
    • Attachment directory must be writable.
  5. Execute the qtest_setup.sh to install qTest.
    # cd /usr/local/qtest-linux-versionx.x
    # ./qtest_setup.sh
    
  6. If you enabled SSL connections (HTTPS) in step #4.2, you will be prompted to provide your certificates:
    # ./qtest_setup.sh
    Starting the setup process...
    Private key path: //path to your certificate key file.(Eg: /usr/local/cert/server.key)
    Private key password: //input your password here
    Certificate path: //path to your certificate file (eg: /usr/local/cert/server.crt)
    Chain certificate path (optional): //path to your chain certificate file
    Generates SSL keystore successfully!
    
  7. Start qTest instance
    # cd /usr/local/qtest-linux-versionx.x
    # ./qtest_start.sh
    
  8. To start qTest as a service on your machine (it only works on CentOS machine):
    # cd /usr/local/qtest-linux-versionx.x
    # ./config_qtest_as_service.sh
    ....qtest is auto start when OS started.... Done...
    
  9. Verify qTest service's status
    #service qtestd status
    Status-ing qtcat Server
    Instance name:             qtest
    Runtime version:           7.0.54.B.RELEASE
    qTcat runtime base:        /usr/local/qtest-linux-4.0.10/qtest
    Status:                    RUNNING as PID=19184
    
  10. After the installation is done, you can connect to your qTest using your browser. The URL is http://[Server_IP]:[HTTP_Port]. Then you can follow these instructions to configure your qTest.

C. Install qTest with Load Balancer

To deploy qTest with Load Balancer:

  • There need to be one Notification Server and you will need to install it first.
  • After you have successfully install the Notification Server, you can install multiple Application Servers.
  • Check MySQL's maximum number of connections as shown in MySQL installation guide.

C.1 Install Notification Server

  1. Access command shell on your Linux server with Root account.
  2. Copy qtest-linux-x.x.tar.gz into a directory where qTest OnPremise will be installed (e.g: /usr/local).
  3. Extract qTest bundle and change directory to qTest OnPremise:
    $ sudo su
    # cd /usr/local
    # tar -zxf qtest-linux-x.x.tar.gz
    # cd qtest-linux-x.x.x/
    
  4. Open file qtest_env.sh. Review and edit the following information.
    1. Specify information to connect to your MySQL server; including its host, port, credentials to login and the path to MySQL Connector's jar file.

      button-round-warning-icon.pngHINT:

      • If you have not installed MySQL Connector/J, please follow these instructions.
      # MySQL external configuration variables.
      MYSQL_PORT=[MySQL_Port] //eg: 3306
      MYSQL_USER="[MySQL_User]" //eg: "root"
      MYSQL_PASS="[Password_Of_MySQL_User]" //eg: "admin"
      MYSQL_HOSTNAME="[MySQL_Host]" //eg: "localhost"
      MYSQL_CONNECTOR_LIB_PATH="[Path_to_Connector_jar_File]" //eg: "/usr/local/mysql-connector/mysql-connector-java-5.1.35.jar"
      
    2. Specify your WEB Configurations includes the ports to connect to your qTest through web browser. If you set Yes for SSL_REQUIRED, you will need to specify your certificate.
      # HTTP and HTTPS variables (Please prepare your certificate when set SSL_REQUIRED to "Yes")
      WEB_PORT=[HTTP_Port] //eg: 8080
      WEB_HTTPS_PORT=[HTTPS_Port] //eg: 8443
      SSL_REQUIRED="No" //put "YES" if you want to enable SSL connection
      
      # Web server administrator port variables
      WEB_ADMIN_PORT=[Admin_Port] //eg: 8005
      WEB_ADMIN_AJP_PORT=[AJP_Port] //eg: 8009
      
    3. Specify a directory which will be use for storing attachments. It needs to be writable.
      # Attchment configuration variables
      # If you want to copy from old attachments folder to new attachment folder,
      # set OLD_ATTACHMENT_DIR point to old attachments folder.
      ATTACHMENT_DIR=$QTEST_DIR/attachments //this directory needs to be writable
      OLD_ATTACHMENT_DIR=
    4. Specify the property to install Notification Server
      NOTIFICATION_NODE="Yes"
      
    5. Specify the connection to Redis server
      CACHE_EXTERNAL="Yes"
      CACHE_ENDPOINT="[Redis_Host]"
      CACHE_PORT=[Redis_Port]
      
    6. Specify the connection to RabbitMQ server and the credentials to connect to its virtual host
      MQ_HOST="[RabbitMQ_Host]"
      MQ_PORT=[RabbitMQ_Port]
      MQ_STOMP_PORT=[RabbitMQ_Stomp_Port]
      MQ_VHOST="[RabbitMQ_Virtual_Host_Name]"
      MQ_USER="[RabbitMQ_User]" //specify a user who has been granted to the virtual host
      MQ_PASSWD="[Password_Of_The_Above_User]"
      

    Important_icon.pngImportant:

    • All configured web ports (eg. port 8080, 8443, 8005, and 8009) must be available and are not blocked by your firewall. Click here for the instruction to check if those ports are in use.
    • Attachment directory must be writable.
  5. Execute the qtest_setup.sh to install qTest.
    # cd /usr/local/qtest-linux-versionx.x
    # ./qtest_setup.sh
    
  6. If you enabled SSL connections (HTTPS) in step #4.2, you will be prompted to provide your certificates:
    # ./qtest_setup.sh
    Starting the setup process...
    Private key path: //path to your certificate key file.(Eg: /usr/local/cert/server.key)
    Private key password: //input your password here
    Certificate path: //path to your certificate file (eg: /usr/local/cert/server.crt)
    Chain certificate path (optional): //path to your chain certificate file
    Generates SSL keystore successfully!
    
  7. Start qTest instance
    # cd /usr/local/qtest-linux-versionx.x
    # ./qtest_start.sh
    
  8. To start qTest as a service on your machine:
    # cd /usr/local/qtest-linux-versionx.x
    # ./config_qtest_as_service.sh
    ....qtest is auto start when OS started.... Done...
    
  9. Verify qTest service's status
    #service qtestd status
    Status-ing qtcat Server
    Instance name:             qtest
    Runtime version:           7.0.54.B.RELEASE
    qTcat runtime base:        /usr/local/qtest-linux-4.0.10/qtest
    Status:                    RUNNING as PID=19184

C.2 Install Application Server

  1. Access command shell on your Linux server with Root account.
  2. Copy qtest-linux-x.x.tar.gz into a directory where qTest OnPremise will be installed (e.g: /usr/local).
  3. Extract qTest bundle and change directory to qTest OnPremise:
    $ sudo su
    # cd /usr/local
    # tar -zxf qtest-linux-x.x.tar.gz
    # cd qtest-linux-x.x.x/
    
  4. Open file qtest_env.sh. Review and edit the following information.
    1. Specify information to connect to your MySQL server; including its host, port, credentials to login and the path to MySQL Connector's jar file.

      button-round-warning-icon.pngHINT:

      • If you have not installed MySQL Connector/J, please follow these instructions.
      # MySQL external configuration variables.
      MYSQL_PORT=[MySQL_Port] //eg: 3306
      MYSQL_USER="[MySQL_User]" //eg: "root"
      MYSQL_PASS="[Password_Of_MySQL_User]" //eg: "admin"
      MYSQL_HOSTNAME="[MySQL_Host]" //eg: "localhost"
      MYSQL_CONNECTOR_LIB_PATH="[Path_to_Connector_jar_File]" //eg: "/usr/local/mysql-connector/mysql-connector-java-5.1.35.jar"
      
    2. Specify your WEB Configurations includes the ports to connect to your qTest through web browser. If you set Yes for SSL_REQUIRED, you will need to specify your certificate.
      # HTTP and HTTPS variables (Please prepare your certificate when set SSL_REQUIRED to "Yes")
      WEB_PORT=[HTTP_Port] //eg: 8080
      WEB_HTTPS_PORT=[HTTPS_Port] //eg: 8443
      SSL_REQUIRED="No" //put "YES" if you want to enable SSL connection
      
      # Web server administrator port variables
      WEB_ADMIN_PORT=[Admin_Port] //eg: 8005
      WEB_ADMIN_AJP_PORT=[AJP_Port] //eg: 8009
      
    3. Specify a directory which will be use for storing attachments. It needs to be writable.
      # Attchment configuration variables
      # If you want to copy from old attachments folder to new attachment folder,
      # set OLD_ATTACHMENT_DIR point to old attachments folder.
      ATTACHMENT_DIR=$QTEST_DIR/attachments //this directory needs to be writeable
      OLD_ATTACHMENT_DIR=
    4. Specify the property to install Application Server
      NOTIFICATION_NODE="No"
      
    5. If the Notification Server is in a different host, you will need to specify the its URLs:
      NOTIFICATION_EXTERNAL="Yes"
      NOTIFICATION_EXTERNAL_URL="[EXTERNAL_URL]" //full URL from the external network to the notification server, including TCP port
      NOTIFICATION_INTERNAL_URL="[INTERNAL_URL]" //full URL from the internal network to the notification server, including TCP port
      
    6. Specify the connection to Redis server
      CACHE_EXTERNAL="Yes"
      CACHE_ENDPOINT="[Redis_Host]"
      CACHE_PORT=[Redis_Port]
      
    7. Specify the connection to RabbitMQ server and the credentials to connect to its virtual host
      MQ_HOST="[RabbitMQ_Host]"
      MQ_PORT=[RabbitMQ_Port]
      MQ_STOMP_PORT=[RabbitMQ_Stomp_Port]
      MQ_VHOST="[RabbitMQ_Virtual_Host_Name]"
      MQ_USER="[RabbitMQ_User]" //specify a user who has been granted to the virtual host
      MQ_PASSWD="[Password_Of_The_Above_User]"
      

    Important_icon.pngImportant:

    • All configured web ports (eg. port 8080, 8443, 8005, and 8009) must be available and are not blocked by your firewall. Click here for the instruction to check if those ports are in use.
    • Attachment directory must be writable.
  5. Execute the qtest_setup.sh to install qTest.
    # cd /usr/local/qtest-linux-versionx.x
    # ./qtest_setup.sh
    
  6. If you enabled SSL connections (HTTPS) in step #4.2, you will be prompted to provide your certificates:
    # ./qtest_setup.sh
    Starting the setup process...
    Private key path: //path to your certificate key file.(Eg: /usr/local/cert/server.key)
    Private key password: //input your password here
    Certificate path: //path to your certificate file (eg: /usr/local/cert/server.crt)
    Chain certificate path (optional): //path to your chain certificate file
    Generates SSL keystore successfully!
    
  7. Start qTest instance
    # cd /usr/local/qtest-linux-versionx.x
    # ./qtest_start.sh
    
  8. To start qTest as a service on your machine:
    # cd /usr/local/qtest-linux-versionx.x
    # ./config_qtest_as_service.sh
    ....qtest is auto start when OS started.... Done...
    
  9. Verify qTest service's status
    #service qtestd status
    Status-ing qtcat Server
    Instance name:             qtest
    Runtime version:           7.0.54.B.RELEASE
    qTcat runtime base:        /usr/local/qtest-linux-4.0.10/qtest
    Status:                    RUNNING as PID=19184
    
  10. After the installation is done, you can connect to your qTest using your browser. The URL is http://[Server_IP]:[HTTP_Port]. Then you can follow these instructions to configure your qTest.

Configure qTest

After installing qTest successfully, there will be a few more steps needed to be accomplished before you can really start using qTest.

A. Creating Site Administrator Account

The Site Administrator account is compulsory and will be used to initiate the very first and essential activities on any qTest OnPremise sites, including creating projects, inviting users, assigning user profiles, purchasing licenses, etc...

At the first time log into qTest OnPremise using your web browser (by typing in the address bar the Server’s URL or IP address), you will be directed to the Site Administrator account creation form. To start setting up this account, simply enter details into the form as illustrated below:

Organization name This data is needed to create the root folder where all projects within a qTest site will be placed under.
First name & Last name Specify the first name and last name of the Site Administrator, used for selection/task assignments when working in qTest.
Login email Specify the email address of the Site Administrator used for logging. This must not be an organizational email address, but must be a valid email address (e.g.: address@mail.com).
Password Enter password and confirm the password again. This password must have 8-16 characters and contain at least 1 letter and 1 digit (e.g.: qtestadmin123).

1st_pic.png

B. Setting Up Email Server

button-round-warning-icon.pngHINT: This step is not required at this stage, you can skip it but email notifications will not be sent when inviting new users into your site. It’s strongly recommended to complete this step before proceeding if you have an email server already up & running. You can come back anytime later to set up your SMPT email server if needed.

Once the Site Administrator account has been successfully created, you will be taken to the Email Server Setting form. This email server is required to send outgoing emails to users when certain events is triggered inside qTest (inviting users, deactivating/reactivating accounts, assigning tasks, editing items, subscribing users to items, etc..)

To set up a new email server for automatic notifications, complete the form as follows:

Host name Specify the hostname or IP address of your SMTP mail server.
E.g.: smtp.yourcompanyname.com
Some popular SMTP email server’s hostnames:
   + Gmail: smtp.gmail.com
   + Yahoo: smtp.mail.yahoo.com
   + Outlook/Hotmail: smtp.live.com
   + AOL: smtp.aol.com
SMTP port (optional) Specify the SMTP port number, usually 25 for SMTP or 465 for SMTPS. Leave this field blank to use 25 as the default port.
Some popular SMTP email server’s port:
   + Gmail: 465
   + Yahoo, Outlook/Hotmail and AOL: 587
Security protocols Specify what security protocol your SMTP email server is using
From email address Specify the email address used in the “Form” field in every outgoing email. This email address must be also configured and approved to send outgoing emails on this email server.
Username & password
(Optional)
Enter password and confirm password if the SMPT email server requires authentication.
For free SMTP services, username is your full email address itself.
E.g.:yourname@gmail.com

2nd_pic.png

                                         Screenshot: Configure the SMTP email server

After you have filled in all details of the SMTP server, you can test for the connection to see if settings are entered correctly. Finally, just click the OK button to finishing setting up the email server.

Import qTest Licenses

To activate your qTest application, you will need to import qTest license.

In qTest administration, select tab LISENCES - USERS. From there, you have 2 options:

  • Click on Purchasse lisences to purchase new lisences and then import them to your qTest.
  • If you already have a lisence file, click on Choose license file to import your licenses.

3rd_pic.png

Miscellaneous & Troubleshooting

A. Check network ports

You can check for which ports are being used by the following command:

# netstat -npult

B. Start qTest instance

Make sure qTest OnPremise is successfully installed on Linux Server

Execute qtest_start.sh.

$ cd /user/local/qtest-linux-versionx.x
# ./qtest_start.sh

C. Shutdow qTest

On the command shell, exectute the qtest_shutdown.sh.

$ cd /user/local/qtest-linux-version.x.x
# ./qtest_shutdown.sh

D. Allow network ports to be connected through firewall

1. For Ubuntu

  1. List out current rules in iptables to verify if your port is enabled:
    # ufw status
    Status: active
    To                         Action      From
    --                         ------      ----
    3443/tcp                    ALLOW       Anywhere
    3443/tcp                    ALLOW       Anywhere (v6)
    
  2. If the port is currently not allowed, add it by the following command:
    # ufw allow [PORT]
    
    Eg: If you want to enable port 3306:
    # ufw allow 3306
    Rule added
    Rule added (v6)
    
  3. List out rules in iptables again to verify the port is allowed to be connected through firewall:
    # ufw status
    Status: active
    
    To                         Action      From
    --                         ------      ----
    3306/tcp                   ALLOW       Anywhere
    3443/tcp                    ALLOW       Anywhere
    3306/tcp                   ALLOW       Anywhere (v6)
    3443/tcp                    ALLOW       Anywhere (v6)
    

2. For CentOS

  1. Add a new rule for the port in iptables
    #iptables -I INPUT -p tcp --dport [PORT] --syn -j ACCEPT
    #service iptables save			//save iptables
    #service iptables restart		// restart iptables to allow MySQL port is enabled on firewall
    
    Eg: If you want to enable port 3306:
    #iptables -I INPUT -p tcp --dport [PORT] --syn -j ACCEPT
    #service iptables save			//save iptables
    #service iptables restart		// restart iptables to allow MySQL port is enabled on firewall
    
  2. List out rules in iptables to verify if the port is allowed to be connected through firewall
    # iptables -L -n
    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination
    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:3306 flags:0x17/0x02
    ACCEPT     tcp  --  0.0.0.0/0            202.54.1.20         tcp spts:1024:65535 dpt:5432 state NEW,ESTABLISHED
    ACCEPT     tcp  --  0.0.0.0/0            192.168.74.67       tcp spts:1024:65535 dpt:5432 state NEW,ESTABLISHED
    
    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination
    
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination
    ACCEPT     tcp  --  202.54.1.20          0.0.0.0/0           tcp spt:5432 dpts:1024:65535 state ESTABLISHED
    ACCEPT     tcp  --  192.168.74.67        0.0.0.0/0           tcp spt:5432 dpts:1024:65535 state ESTABLISHED
    

E. Start qTest as a service

Under qTest's installation directory, execute the following command.

# cd /usr/local/qtest-linux-versionx.x
# ./config_qtest_as_service.sh
....qtest is auto start when OS started.... Done...

F. Change qTest server's configurations

  1. Access to the directory where you have installed qTest Sessions. Eg: /usr/local/qtest-linux-x.x.x
  2. Stop qTest:
    # ./qtest_shutdown.sh
    
  3. Open file qtest_env.sh. Review and change the configurations as instructed in the installation guide. Save the file after you complete modifying it.
  4. Execute qtest_change_configures.sh
    # ./qtest_change_configures.sh