About This Course
Basic DevOps & Application Deployment with Virtualmin & Gitlab is a hands-on, two-day workshop designed to introduce participants to the foundational practices of DevOps through practical server management and automated deployment workflows.
Participants will learn how to set up a secure Linux server with the LAMP stack (Linux, Apache, MySQL, PHP), manage web hosting environments using Virtualmin, and deploy web applications using GitLab CI/CD pipelines. The course also covers essential topics like DNS and domain configuration, SSL setup, and troubleshooting deployment issues.
Learning Outcomes
By the end of this training, participants will be able to:
- Provision and Secure a Linux Server Set up and harden a virtual private server (VPS) using SSH, firewalls, and essential system tools.
- Install and Configure a Full LAMP Stack Deploy and test Apache, MySQL/MariaDB, and PHP to support web applications.
- Manage Web Hosting Environments with Virtualmin Create and manage virtual servers/domains, configure SSL, and perform file/database management using the Virtualmin control panel.
- Understand and Configure Domain Name System (DNS) Register and point domains, manage DNS records, and troubleshoot domain resolution issues.
- Implement Continuous Deployment with GitLab CI/CD Set up GitLab repositories, create pipelines using .gitlab-ci.yml, and automate application deployments to the server.
6. Deploy and Maintain PHP Web Applications Use Git-based workflows to deploy and update real-world PHP applications in a structured and repeatable way. - Troubleshoot and Resolve Common Deployment Issues Diagnose and fix common issues related to permissions, directory structure, DNS, or CI/CD failures.
- Apply DevOps Best Practices for Small-Scale Web Projects Build a working knowledge of DevOps principles that can be applied to real client or team-based projects.
Prerequisites
Participants are expected to have basic web development knowledge
Course Outline
Day 1
LAMP + Virtualmin
-
- Course goals
- DevOps overview
- LAMP stack
- Virtualmin
- GitLab basics
- Linux Server Preparation
- Provision server
- Secure SSH
- Firewall setup with ufw and basic hardening
- LAMP Stack Installation & Manual Configuration
- Apache
- MySQL
- PHP installation and testing with a sample app
- Installing and Excploring Virtualmin
- Auto-install Virtualmin
- Access dashboard
- Create virtual server
- Enable SSL
- DNS & Domain Configuration
- Domain records (A, CNAME)
- Point domain to server
- Use Virtualmin for DNS zone management
- Virtualmin Admin: DBs, Files, Logs, Backups FTP/file manager
- Create DB, logs, simple backup strategies
Day 2
GitLab CI/CD & Deployment
- Git & GitLab Basics
- Git commands review
- GitLab UI tour
- Repo creation
- Pushing sample PHP app
- GitLab Runner & CI/CD Pipeline Setup
- Install GitLab Runner
- Register it, write .gitlab-ci.yml for deployment
- Automating Deployment to Virtualmin
- CI deploys to correct directory, manages DB, permissions, service reloads
- Final Project - Full end-to-end setup: repo → GitLab → CI/CD → deployed to Virtualmin
Upcoming Sessions
There are currently no scheduled sessions for this course.
We'll notify you when new sessions are scheduled
Your Instructor
Basic DevOps & Application Deployment with Virtualmin & GitLab
Basic DevOps & Application Deployment with Virtualmin & Gitlab is a hands-on, two-day workshop designed to introduce participants to the foundational practices of DevOps through practical server management and automated deployment workflows.
Participants will learn how to set up a secure Linux server with the LAMP stack (Linux, Apache, MySQL, PHP), manage web hosting environments using Virtualmin, and deploy web applications using GitLab CI/CD pipelines. The course also covers essential topics like DNS and domain configuration, SSL setup, and troubleshooting deployment issues.
Learning Outcomes
By the end of this training, participants will be able to:
- Provision and Secure a Linux Server Set up and harden a virtual private server (VPS) using SSH, firewalls, and essential system tools.
- Install and Configure a Full LAMP Stack Deploy and test Apache, MySQL/MariaDB, and PHP to support web applications.
- Manage Web Hosting Environments with Virtualmin Create and manage virtual servers/domains, configure SSL, and perform file/database management using the Virtualmin control panel.
- Understand and Configure Domain Name System (DNS) Register and point domains, manage DNS records, and troubleshoot domain resolution issues.
- Implement Continuous Deployment with GitLab CI/CD Set up GitLab repositories, create pipelines using .gitlab-ci.yml, and automate application deployments to the server.
6. Deploy and Maintain PHP Web Applications Use Git-based workflows to deploy and update real-world PHP applications in a structured and repeatable way. - Troubleshoot and Resolve Common Deployment Issues Diagnose and fix common issues related to permissions, directory structure, DNS, or CI/CD failures.
- Apply DevOps Best Practices for Small-Scale Web Projects Build a working knowledge of DevOps principles that can be applied to real client or team-based projects.
Prerequisites
Participants are expected to have basic web development knowledge
Course Outline
Day 1
LAMP + Virtualmin
-
- Course goals
- DevOps overview
- LAMP stack
- Virtualmin
- GitLab basics
- Linux Server Preparation
- Provision server
- Secure SSH
- Firewall setup with ufw and basic hardening
- LAMP Stack Installation & Manual Configuration
- Apache
- MySQL
- PHP installation and testing with a sample app
- Installing and Excploring Virtualmin
- Auto-install Virtualmin
- Access dashboard
- Create virtual server
- Enable SSL
- DNS & Domain Configuration
- Domain records (A, CNAME)
- Point domain to server
- Use Virtualmin for DNS zone management
- Virtualmin Admin: DBs, Files, Logs, Backups FTP/file manager
- Create DB, logs, simple backup strategies
Day 2
GitLab CI/CD & Deployment
- Git & GitLab Basics
- Git commands review
- GitLab UI tour
- Repo creation
- Pushing sample PHP app
- GitLab Runner & CI/CD Pipeline Setup
- Install GitLab Runner
- Register it, write .gitlab-ci.yml for deployment
- Automating Deployment to Virtualmin
- CI deploys to correct directory, manages DB, permissions, service reloads
- Final Project - Full end-to-end setup: repo → GitLab → CI/CD → deployed to Virtualmin
Upcoming Sessions
There are currently no scheduled sessions for this course.
We'll notify you when new sessions are scheduled
Course Information
Your Instructor
Khairil-Iszuddin bin Ismail
Professional Experience