Voiced by Amazon Polly |
Overview
Quality Assurance (QA) is a critical component of software development, ensuring that applications meet high standards before release. TestLink, an open-source test management tool, and Bugzilla, a bug tracking system, are powerful tools that, when integrated, streamline QA processes by enabling seamless test case management and defect tracking. Deploying these tools on an AWS Linux server provides a scalable, cloud-based solution for QA teams. This guide walks you through the step-by-step process of setting up TestLink and Bugzilla on an Amazon EC2 instance running Amazon Linux 2 and configuring their integration to optimize your QA workflow.
Pioneers in Cloud Consulting & Migration Services
- Reduced infrastructural costs
- Accelerated application deployment
Introduction
TestLink allows QA teams to create, manage, and execute test cases while generating detailed reports. Bugzilla complements this by providing a reliable system for tracking and resolving defects. By integrating TestLink with Bugzilla via its XML-RPC interface (supported in TestLink 1.9.4 and later), testers can link failed test cases directly to bugs, ensuring traceability and efficient collaboration between QA and development teams.
This guide assumes you are using an Amazon EC2 instance with Amazon Linux 2, and it covers the installation of a LAMP stack (Apache, MySQL, PHP), Perl for Bugzilla, and both tools, followed by their integration. By the end, you will have a fully functional QA ecosystem hosted in the cloud, accessible via your Amazon EC2 instance’s public IP or DNS.
Step-by-Step Deployment and Integration
Step 1: Install the LAMP Stack and Perl
- Install Apache and PHP:
- Install Apache and PHP 7.4 (required for TestLink):sudo yum install -y httpd php php-mysqlnd php-mbstring php-gd php-xml
- Start and enable Apache:sudo systemctl start httpd
sudo systemctl enable httpd
- Install MySQL (MariaDB):
- Install MariaDB, a MySQL-compatible database:sudo yum install -y mariadb-server
- Start and enable MariaDB:sudo systemctl start mariadb
sudo systemctl enable mariadb - Secure the MariaDB installation:sudo mysql_secure_installation
Follow the prompts to set a root password and secure the database.
- Install Perl and Required Modules for Bugzilla:
- Install Perl and common modules:sudo yum install -y perl perl-CGI perl-Digest-SHA perl-TimeDate perl-DBI perl-Mysql
- Install CPAN to manage additional Perl modules:sudo yum install -y perl-CPAN
- Configure CPAN and install Bugzilla dependencies later during setup.
Step 2: Deploy Bugzilla
- Download Bugzilla:
- Download the latest stable Bugzilla release (e.g., 5.x):wget https://ftp.mozilla.org/pub/mozilla.org/bugzilla/releases/5.0.6/bugzilla-5.0.6.tar.gz
- Extract and move to the Apache web directory:tar -xzf bugzilla-5.0.6.tar.gz
sudo mv bugzilla-5.0.6 /var/www/html/bugzilla
- Set Up Bugzilla Database:
- Log in to MySQL:mysql -u root -p
- Create a database and user:CREATE DATABASE bugzilla;
CREATE USER ‘bugzilla_user’@’localhost’ IDENTIFIED BY ‘bugzilla_pass’;
GRANT ALL PRIVILEGES ON bugzilla.* TO ‘bugzilla_user’@’localhost’;
FLUSH PRIVILEGES;
EXIT;
- Configure Bugzilla:
- Navigate to the Bugzilla directory:cd /var/www/html/bugzilla
- Edit the localconfig file:sudo nano localconfig
- Update the database settings:$db_host = ‘localhost’;
$db_name = ‘bugzilla’;
$db_user = ‘bugzilla_user’;
$db_pass = ‘bugzilla_pass’; - Install required Perl modules:sudo ./checksetup.pl –check-modules
sudo perl install-module.pl –all - Run the setup script to create database tables:sudo ./checksetup.pl
- Set permissions:sudo chown -R apache:apache /var/www/html/bugzilla
sudo chmod -R 755 /var/www/html/bugzilla
- Test Bugzilla:
- Access Bugzilla at http://<your-ec2-public-ip>/bugzilla.
- Log in with the admin credentials set during pl.
Step 3: Deploy TestLink
- Download TestLink:
- Download the latest stable TestLink release (e.g., 1.9.20):wget https://sourceforge.net/projects/testlink/files/TestLink%201.9.20/testlink-1.9.20.tar.gz
- Extract and move to the web directory:tar -xzf testlink-1.9.20.tar.gz
sudo mv testlink-1.9.20 /var/www/html/testlink
- Set Up TestLink Database:
- Log in to MySQL:mysql -u root -p
- Create a database and user:CREATE DATABASE testlink;
CREATE USER ‘testlink_user’@’localhost’ IDENTIFIED BY ‘testlink_pass’;
GRANT ALL PRIVILEGES ON testlink.* TO ‘testlink_user’@’localhost’;
FLUSH PRIVILEGES;
EXIT;
- Configure TestLink:
- Navigate to the TestLink configuration directory:cd /var/www/html/testlink/config
- Edit inc.php:sudo nano config_db.inc.php
- Add the database settings:define(‘DB_TYPE’, ‘mysql’);
define(‘DB_USER’, ‘testlink_user’);
define(‘DB_PASS’, ‘testlink_pass’);
define(‘DB_HOST’, ‘hostname’);
define(‘DB_NAME’, ‘testlink’); - Set permissions:sudo chown -R apache:apache /var/www/html/testlink
sudo chmod -R 755 /var/www/html/testlink
- Install TestLink:
- Access http://<your-ec2-public-ip>/testlink in your browser.
- Follow the installation wizard, entering the database credentials and creating an admin user (e.g., username: admin, password: admin).
- Verify TestLink is accessible by logging in.
Step 4: Configure TestLink for Bugzilla Integration
- Enable Bugzilla Integration:
- Log in to TestLink as an admin.
- Navigate to Issue Tracker Management from the dashboard.
- Click Create and configure the issue tracker:
- Name: Bugzilla
- Type: bugzilla (Interface: xmlrpc)
- Configuration:<issuetracker>
<dbhost>localhost</dbhost>
<dbname>bugzilla</dbname>
<dbtype>mysql</dbtype>
<dbuser>bugzilla_user</dbuser>
<dbpassword>bugzilla_pass</dbpassword>
<uricreate>http://<your-ec2-public-ip>/bugzilla/</uricreate>
<uriview>http://<your-ec2-public-ip>/bugzilla/show_bug.cgi?id=</uriview>
</issuetracker> - Save and verify the connection status (should show “connected”).
- Assign Issue Tracker to a Test Project:
- Go to Test Project Management, edit, or create a test project.
- Under Issue Tracker Integration, select the Bugzilla issue tracker.
- Save the settings.
Conclusion
Following this guide, you’ve set up a LAMP stack, installed both tools and integrated them using TestLink’s XML-RPC interface. This integration allows QA teams to link test cases to bugs, track defect statuses, and improve collaboration, and all are hosted on a secure and accessible AWS EC2 instance. With this setup, your team can efficiently deliver high-quality software in a cloud environment.
Drop a query if you have any questions regarding Bugzilla and we will get back to you quickly.
Making IT Networks Enterprise-ready – Cloud Management Services
- Accelerated cloud migration
- End-to-end view of the cloud environment
About CloudThat
CloudThat is an award-winning company and the first in India to offer cloud training and consulting services worldwide. As a Microsoft Solutions Partner, AWS Advanced Tier Training Partner, and Google Cloud Platform Partner, CloudThat has empowered over 850,000 professionals through 600+ cloud certifications winning global recognition for its training excellence including 20 MCT Trainers in Microsoft’s Global Top 100 and an impressive 12 awards in the last 8 years. CloudThat specializes in Cloud Migration, Data Platforms, DevOps, IoT, and cutting-edge technologies like Gen AI & AI/ML. It has delivered over 500 consulting projects for 250+ organizations in 30+ countries as it continues to empower professionals and enterprises to thrive in the digital-first world.
FAQs
1. Can I use a different database like Amazon RDS instead of MariaDB on the Amazon EC2 instance?
ANS: – Yes, you can use Amazon RDS for MySQL. Update the db_host in Bugzilla’s localconfig and TestLink’s config_db.inc.php to the RDS endpoint, and ensure the EC2 instance’s security group allows access to the RDS port (3306).
2. How do I secure TestLink and Bugzilla on AWS?
ANS: – Use HTTPS by configuring an SSL certificate (e.g., via AWS Certificate Manager with an Elastic Load Balancer). Restrict Amazon EC2 security group rules to allow only trusted.

WRITTEN BY Bhupesh .
Bhupesh is working as a Research Associate at CloudThat. He is passionate about learning and gaining industrial experience in cloud computing technologies like AWS and Azure. Bhupesh is also an excellent communicator and collaborator. He also proactively seeks new challenges and opportunities to learn and grow in his role. His passion for learning and exploring new technologies and his technical expertise make him a valuable member of any team working in the field.
Comments