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.