I have been using Testlink on and off for a number of years as a tool to help define and execute tests against all sorts of software. It’s far better than trying to track everything on spreadsheets (see my recent post on Making Content Better for a bit more rationale).
I needed to move my Testlink installation from my shared web-server to something a bit more robust and scalable, and have chosen Amazon Web Services (AWS) given its reputation and my previous experiences with some rather large clients of their’s.
Setting up Testlink on the server was mostly quite straightforward, but there were a few places where I ended up scratching my heads. Hopefully this brief set of instructions will help others in the same position!
If you then go to the IP address supplied by AWS, you should see the Testlink login page. However, the normal Bitnami password doesn’t seem to work, so you’ll need to change it, but you’ll only be able to do that when you’ve got a way for Testlink to send emails…
There are three stages to getting Testlink setup so it can send emails:
Setup verified email addresses (ie. those which you’ll be using within Testlink) within Amazon’s Simple Email Service (note this route is only suitable for small teams, for larger teams you’ll need to ask Amazon for production access)
Obtain SES credentials so that Testlink can use SES
This is where you’ll need to connect to the AWS server via SSH, using the .pem file created earlier. Note that AWS helpfully provides a connect button on the EC2 > Instances page, with commands for your particular instance.
Once you’ve connected using SSH, you can edit the /apps/testlink/htdocs/custom_config.inc.php file (I tend to use the nano editor, but you can also use vi if you like esoteric editing commands).
Find the section headed SMTP server configuration, and then add in the following details (NB. These are taken from the Mantis Bug Tracker configuration - which is copied by Testlink - see this forum post)
define ("SMTP_SEND", 2); $g_phpMailer_method = SMTP_SEND; #For SMTP Method $g_smtp_host = ‘email-smtp.us-east-1.amazonaws.com'; #Your SES SMTP Host $g_smtp_connection_mode = ‘tls'; #It is mandatory for SES and Gmail SMTP $g_smtp_port = 587; #For some Reason only this port was working in SES $g_smtp_username = ‘SMTP Username'; # Your SES SMTP Username (a 20 character string) $g_smtp_password = ‘SMTP Password'; # Your SES SMTP Password $g_tl_admin_email = ‘email@example.com'; #Email displayed at footer (Must be an approved sender list in SES) $g_from_email = ‘firstname.lastname@example.org'; # From Address (Verified SES Sender Email) $g_return_path_email = ‘email@example.com'; # the return address for bounced mail $g_from_name = ‘From Name'; $g_enable_email_notification = ON;
Once all that is done, you should have a working Testlink installation. It may need further tweaks, but check out the documentation stored inside the docs directory.
Note: If you want to access PHPmyadmin to administer the database, create an SSH tunnel to the port 80 instead. This can be done as follows in Unix systems:
ssh -i <path_to_private_key> -N -L 8888:127.0.0.1:80 <public_dns>
or with Putty on Windows using source port 8888 and destination 127.0.0.1:80.
Once done it will be accessible at http://localhost:8888/phpmyadmin while the tunnel is opened. Credit to Carlos on the Bitnami forums for this advice.
Posted: 17 November 2015