LAMP Stack Setup

in

Setup for Ubuntu 20.04 LTS or 22.04 LTS. Lifted from this resource on AWS.

Linux

WSL, Ubuntu Multipass, or equivalant.

Apache

Version: distribution

sudo apt update -y
sudo apt install apache2 -y

PHP FPM

Version: 8.2

Run the following commands to install PHP:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update -y
sudo apt install php8.2 php8.2-{fpm,mysql,curl,gd,mbstring,mysql,xml,mcrypt,zip,ldap} libapache2-mod-php8.2 -y

Install PHP-FPM

sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.2-fpm
sudo a2dismod php8.2
sudo systemctl enable php8.2-fpm
sudo service apache2 restart;sudo service php8.2-fpm restart

MariaDB

Version: 11.1.2

Run the following command to add the MariaDB yum repository (For all Linux distributions):

curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version="mariadb-11.1.2"

Install MariaDB Package

sudo apt install mariadb-server -y

MariaDB Secure Installation

sudo mysql_secure_installation

When prompted, set a password for the root account:

  • Enter the current root password. By default, the root account doesn’t have a password set.
  • Press Enter.
  • Press N to switch to unix_socket authentication.
  • Press Y to set a password, and then enter a secure password twice. Make sure to store this password in a safe place.
  • Press Y to remove the anonymous user accounts.
  • Press Y to disable the remote root login.
  • Press Y to remove the test database.
  • Press Y to reload the privilege tables and save your changes.

Permissions

The following command will add the ubuntu user to the www-data group:

sudo usermod -a -G www-data ubuntu

The following commands will set the correct permissions for the /var/www directory:

sudo chown -R ubuntu:www-data /var/www
sudo chmod 2775 /var/www
find /var/www -type d -exec sudo chmod 2775 {} \;
find /var/www -type f -exec sudo chmod 0664 {} \;

Your site is ready!

Visit your website by entering your instance’s public IP address in your browser. You should see the default Apache page.

Discover more from Jorge Saldívar

Subscribe now to keep reading and get access to the full archive.

Continue reading