skip to content

Install LAMP stack on Ubuntu/Debian

Published: • Updated:

Install Apache2, MySQL and phpMyAdmin on a Linux server:

Update System

Terminal window
sudo apt update && sudo apt upgrade -y; apt install sudo

Install Apache2

Terminal window
sudo apt install apache2 -y

Fedora/CentOS/RHEL-based systems:

Terminal window
sudo yum install httpd

Enable and start the Apache service:

Terminal window
sudo systemctl enable apache2
sudo systemctl start apache2

Install MySQL Server

Terminal window
sudo apt install mysql-server -y

Secure the MySQL installation:

Terminal window
sudo mysql_secure_installation

Install PHP and Required Extensions

Terminal window
sudo apt install php libapache2-mod-php php-mysql php-mbstring php-zip php-gd php-json php-curl -y

Install phpMyAdmin

Terminal window
sudo apt install phpmyadmin -y

Enable phpMyAdmin in Apache

Terminal window
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

Restart Apache:

Terminal window
sudo systemctl restart apache2

Solution: Change the authentication plugin for the root user to mysql_native_password

  • Connect to MySQL as root:
Terminal window
sudo mysql -u root -p

Execute the following SQL commands:

mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root_password';
FLUSH PRIVILEGES;

Replace root_password with your actual root password.

  • Exit the MySQL client:
mysql
exit
  • Restart the MySQL service:
Terminal window
sudo systemctl restart mysql