Home Linux Mint Complete guide to installing a LAMP server on Linux Mint

Complete guide to installing a LAMP server on Linux Mint

Ideal for developers and IT professionals, it covers each step from installation to configuration, ensuring a smooth and efficient setup for your web development needs.

by John Horan
setting up lamp server linux mint

Ah, the joys of setting up a LAMP server! Our focus is on the ever-popular LAMP (Linux, Apache, MySQL, PHP) stack, particularly on the user-friendly Linux Mint platform. This comprehensive guide not only walks you through the basic installation steps but also dives into common troubleshooting scenarios, providing solutions to keep your server running smoothly. From initial setup to overcoming typical hurdles, this guide aims to equip you with the necessary tools and knowledge to manage a robust LAMP server.

Why LAMP on Linux Mint?

Before diving into the nitty-gritty, let’s talk about why Linux Mint is a great choice for your LAMP server. Linux Mint is known for its user-friendliness, stability, and being based on Ubuntu, which means you get a solid foundation plus a community of helpful enthusiasts. Now, add the powerful combination of Apache, MySQL, and PHP, and you’ve got yourself a robust platform for hosting websites and applications.

Setting up a LAMP (Linux, Apache, MySQL, PHP) server on Linux Mint


Before you start, ensure you have:

  • A machine with Linux Mint installed
  • Basic knowledge of the Linux terminal
  • Internet connection

Step 1: Updating your system

First things first, let’s make sure your system is up to date. Open the terminal (Ctrl + Alt + T) and run:

sudo apt update && sudo apt upgrade

This command will fetch the list of available updates and then install them. It’s always good practice to start with a fully updated system.

Step 2: Installing Apache

Apache is the A in LAMP – a popular and powerful web server. To install Apache, enter:

sudo apt install apache2

Once the installation completes, you can check if Apache is running:

sudo systemctl status apache2

You should see output indicating that Apache is active and running. Feel free to open your web browser and type http://localhost or your server’s IP address. If you see the Apache default page, you’re on the right track!

Step 3: Installing MySQL

Next, we’ll install MySQL, the database management system. Run:

sudo apt install mysql-server

After installation, it’s important to run the secure installation script:

sudo mysql_secure_installation

This script will guide you through setting a root password, removing anonymous users, disallowing remote root login, and so on. I personally appreciate this step for the extra security it adds.

Step 4: Installing PHP

PHP is the scripting language that will process your web content. To install PHP along with some common modules, use:

sudo apt install php libapache2-mod-php php-mysql

To check your PHP installation, you can create a quick test file. Run:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/phpinfo.php

Now, navigate to http://localhost/phpinfo.php in your browser. If you see a page displaying PHP information, congrats, PHP is working!

Step 5: Testing the LAMP Stack

Now that everything is installed, let’s do a quick test. We’ll create a small PHP file that connects to MySQL.

    1. Create a file named testdb.php in /var/www/html/:
      sudo nano /var/www/html/testdb.php
    2. Add the following PHP code:
      $conn = new mysqli("localhost", "root", "your_password", "mysql");
      if ($conn->connect_error) {
      die("Connection failed: " . $conn->connect_error);
      echo "Connected successfully";

      Replace "your_password" with your MySQL root password.

    3. Save and close the file. Now, visit http://localhost/testdb.php in your browser. If it says “Connected successfully,” your LAMP stack is fully operational!

10 common troubleshooting tips for your LAMP server on Linux Mint

Even with a successful setup, you might encounter some bumps along the way. Here are ten common troubleshooting tips that I’ve found handy while working with LAMP stacks:

1. Apache won’t start

  • Issue: Apache fails to start.
  • Solution: Check for syntax errors in the Apache configuration files with sudo apache2ctl configtest. Also, ensure no other service is running on port 80.

2. MySQL issues

  • Issue: Trouble connecting to MySQL.
  • Solution: Ensure MySQL is running (sudo systemctl status mysql). If you’ve forgotten your MySQL root password, you can reset it following guidelines from the MySQL official documentation.

3. PHP not executing

  • Issue: PHP files are downloading instead of executing.
  • Solution: Make sure libapache2-mod-php is installed and Apache is configured to handle PHP files. Restart Apache after making changes.

4. Permission denied errors

  • Issue: File permission errors, especially when trying to access web pages.
  • Solution: Check the file permissions. Usually, web files should have permissions set to 755 for directories and 644 for files.

5. Error establishing a database connection in PHP

  • Issue: Your PHP script cannot connect to MySQL.
  • Solution: Ensure your MySQL service is running and credentials in your PHP script are correct. Check the MySQL hostname, username, password, and database name.

6. Apache internal server error

  • Issue: The infamous 500 Internal Server Error.
  • Solution: This can be caused by various issues. Check the Apache error logs (/var/log/apache2/error.log) for specific messages.

7. Slow server response

  • Issue: Apache or PHP is slow to respond.
  • Solution: This could be due to insufficient memory or CPU resources, especially on a VPS or older hardware. Consider optimizing your Apache and PHP configurations for better performance.

8. PHP extensions not working

  • Issue: Missing PHP extensions.
  • Solution: If a particular PHP script requires specific extensions, install them using sudo apt install php-[extension_name]. Don’t forget to restart Apache afterward.

9. Firewall blocking access

  • Issue: Unable to access the server from external networks.
  • Solution: Ensure your firewall is configured to allow traffic on port 80 (HTTP) and 443 (HTTPS if using SSL). Use sudo ufw allow 80 and sudo ufw allow 443.

10. DNS issues

  • Issue: Your domain name is not resolving to your server.
  • Solution: Check your DNS settings with your domain registrar. Ensure your server’s IP address is correctly listed as the A record.


There you have it, your very own LAMP server on Linux Mint. The beauty of setting up LAMP is in its simplicity and the power it offers for web hosting and app development. Don’t hesitate to experiment further – maybe add a WordPress site or start a new web development project. The world is your oyster!

You may also like

Leave a Comment



FOSS Linux is a leading resource for Linux enthusiasts and professionals alike. With a focus on providing the best Linux tutorials, open-source apps, news, and reviews written by team of expert authors. FOSS Linux is the go-to source for all things Linux.

Whether you’re a beginner or an experienced user, FOSS Linux has something for everyone.

Follow Us


©2016-2023 FOSS LINUX



“Linux” is the registered trademark by Linus Torvalds in the U.S. and other countries.