How to Set Up a LAMP Stack on Ubuntu VPS (For Developers & Website Owners)
Meta Description: Want to host websites or web apps on your own server? Learn what a LAMP stack is and how to set it up on your Ubuntu VPS for PHP-based sites and databases.
What Is a LAMP Stack?
A LAMP stack is a popular set of open-source software used to host dynamic websites and web applications. It’s an acronym for:
-
Linux (the operating system — Ubuntu in this case)
-
Apache (the web server)
-
MySQL or MariaDB (the database system)
-
PHP (the scripting language)
This stack powers millions of websites worldwide — from WordPress blogs to custom-built applications.
Why Use a LAMP Stack on Your VPS?
✅ Full Control:
You manage the server, the code, the database — everything.
✅ Performance:
Optimized to handle high-traffic PHP-based applications like WordPress, Joomla, or Laravel.
✅ Flexibility:
Customize your server, install modules, and tweak configurations to fit your project.
✅ Cost-Effective:
Run multiple websites on a single VPS instance without shared hosting limitations.
️ What You’ll Need
Before diving in, make sure you have:
-
A Ubuntu VPS (preferably Ubuntu 20.04 or 22.04)
-
Root or sudo access to your server
-
A domain name (optional, for testing on production)
No desktop interface needed — we’re working straight from the terminal!
⚙️ Step-by-Step Overview of the Setup Process
Note: This guide gives you the full picture without diving into every command line. If you want the full CLI version, just let me know!
1. Update Your VPS
Always start with:
-
Updating system packages
-
Installing essential tools (like curl or unzip)
2. Install Apache (Web Server)
Apache is the most popular HTTP server on the internet. It will serve your HTML, PHP, and other content.
-
Enable UFW firewall to allow HTTP (port 80) and HTTPS (port 443)
3. Install MySQL or MariaDB (Database Server)
Your backend will use MySQL/MariaDB to:
-
Store user data
-
Handle CMS platforms like WordPress
-
Run structured queries via PHP
Set a strong root password and run the secure installation script.
4. Install PHP
PHP connects your web pages to your database. Most CMS platforms (WordPress, Drupal) are PHP-based.
You’ll typically install:
-
PHP core
-
Common modules (like php-mysql, php-cli, php-curl)
5. Test with a PHP Info Page
Create a test .php
file to ensure Apache is interpreting PHP correctly.
If you see the PHP version and configuration in the browser — your LAMP stack is working.
Common Directories & Paths
Component | Path |
---|---|
Web Root | /var/www/html |
Apache Conf | /etc/apache2/apache2.conf |
PHP Config | /etc/php/8.x/apache2/php.ini |
MySQL Data | /var/lib/mysql/ |
Make sure file permissions are set correctly if you’re uploading website files.
Security Tips for a LAMP VPS
-
Use UFW firewall to limit access to only needed ports
-
Change the MySQL root username
-
Disable unnecessary PHP functions in
php.ini
-
Keep Apache modules minimal
-
Set strong file and directory permissions (no 777!)
Bonus: Install Let’s Encrypt with Certbot for free HTTPS/SSL
Use Cases for LAMP Stack on VPS
-
Hosting WordPress or Drupal sites
-
Building custom web apps (Laravel, Symfony)
-
Running client websites on isolated instances
-
Deploying internal tools or portals
Final Thoughts: A Developer’s Power Tool
A LAMP stack on a VPS gives you the power of a full web hosting environment — under your control, customizable, and ready to grow.
Once installed, you can:
-
Deploy multiple websites
-
Customize your PHP versions or modules
-
Automate tasks with cron jobs
-
Scale vertically (RAM/CPU) as your app grows