PHP, Ubuntu Desktop, and WordPress… and I’m perfectly happy with that.
Fight me.
PHP, Ubuntu Desktop, and WordPress… and I’m perfectly happy with that.
Fight me.
Setup for Ubuntu 20.04 LTS or 22.04 LTS. Lifted from this resource on AWS.
WSL, Ubuntu Multipass, or equivalant.
Version: distribution
sudo apt update -y
sudo apt install apache2 -y
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
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
.N
to switch to unix_socket authentication.Y
to set a password, and then enter a secure password twice. Make sure to store this password in a safe place.Y
to remove the anonymous user accounts.Y
to disable the remote root login.Y
to remove the test database.Y
to reload the privilege tables and save your changes.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.
As a former independent web developer, I had very little use for GitHub as my project base consisted of small business owners and their requirements mostly never got past having a WordPress website and business email setup.
Today, using Git repos are vital for my workflow as I’ve been working with various teams to push web apps to live status. Now, I can’t picture not using Git repos for any project. After being a largely siloed developer, my work is now part of a very collaborative process.
With that said, I’ve been working on a personal project, jsldvr/example.com, which is a PHP web app that is supposed to make developing a website as easy as possible for those that use cPanel or AWS. The app is more of an exercise in learning how to use GitHub, and building a secure PHP app from scratch.
I don’t have a road map with this project. I simply want to have fun with it and learn as much as I can about collaborating and/or developing on GitHub.