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 a leading provider of Cloud Training and Consulting services with a global presence in India, the USA, Asia, Europe, and Africa. Specializing in AWS, Microsoft Azure, GCP, VMware, Databricks, and more, the company serves mid-market and enterprise clients, offering comprehensive expertise in Cloud Migration, Data Platforms, DevOps, IoT, AI/ML, and more.
CloudThat is the first Indian Company to win the prestigious Microsoft Partner 2024 Award and is recognized as a top-tier partner with AWS and Microsoft, including the prestigious ‘Think Big’ partner award from AWS and the Microsoft Superstars FY 2023 award in Asia & India. Having trained 850k+ professionals in 600+ cloud certifications and completed 500+ consulting projects globally, CloudThat is an official AWS Advanced Consulting Partner, Microsoft Gold Partner, AWS Training Partner, AWS Migration Partner, AWS Data and Analytics Partner, AWS DevOps Competency Partner, AWS GenAI Competency Partner, Amazon QuickSight Service Delivery Partner, Amazon EKS Service Delivery Partner, AWS Microsoft Workload Partners, Amazon EC2 Service Delivery Partner, Amazon ECS Service Delivery Partner, AWS Glue Service Delivery Partner, Amazon Redshift Service Delivery Partner, AWS Control Tower Service Delivery Partner, AWS WAF Service Delivery Partner, Amazon CloudFront Service Delivery Partner, Amazon OpenSearch Service Delivery Partner, AWS DMS Service Delivery Partner, AWS Systems Manager Service Delivery Partner, Amazon RDS Service Delivery Partner, AWS CloudFormation Service Delivery Partner, AWS Config, Amazon EMR and many more.
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