WF use AWS Lightsail to provide their server environment. This consists of a blueprint environment configured and tested to provide a specific software stack. We use the LAMP blueprint to support our Joomla CMS, as it is designed for PHP-based websites, with an underlying SQL database, deployed over Apache.
As Amazon say:
This blueprint is configured for production environments. It includes SSL auto-configuration with Let's Encrypt certificates, and the latest releases of PHP, Apache, and MariaDB on Linux. This application also includes phpMyAdmin, PHP main modules and Composer.
As new releases are tested by AWS, a new blueprint is deployed. We keep up with the latest releases to ensure we are using the latest versions of the software stack that will work with Joomla.
Process
Using Lightsail:
- Create a new LAMP server
- Create a new Static IP Address to refer to the new server
- Edit the domain wftest2.uk to the new Static IP Address
Using SSH
- Create SSL certificate using bncert-tool
sudo /opt/bitnami/bncert-tool
- Once bncert has created the SSL, test the domain links to the new server
- Pick up the admin password from new server:. You will need this to load the backup
cat bitnami_application_password
Using Filezilla
- Upload the latest zip file to the server htdocs folder
- Rename the uploaded file to upload.zip
Using SSH
- Remove the original index file and unzip the uploaded backup:
cd htdocs;
rm index.html;
sudo unzip upload.zip
- Amend the ownership etc of files/folders
cd;
sudo chown daemon:daemon -R htdocs/
Install the website
The extract of the zip file creates the environment. To complete the installation, navigate (in a browser) using the domain name created above. This will take you to a web page requesting parameter input. Use the following responses:
Server: localhost
User name:root
Password: <as retrieved above>
Database Name: wf
Follow the dialog through, and the website environment will be created.
Tidy Up
There are a couple of 'tidy up' issues to address. The first is to sort a specific Joomla warning. The second is to setup crontab to complete a full daily backup of the website. The final stage is to transfer access the live domains to the new server, and run bncert to create the SSL configuration. Finally, you can remove the old server and static IP address.
Sort Joomla warning (SSH)
cd /opt/bitnami/php/;
sudo chown daemon:daemon tmp;
Setup crontab (SSH)
cd;
crontab -e
0 3 * * * sudo /opt/bitnami/php/bin/php htdocs/cli/joomla.php akeeba:backup:take
0 4 * * * sudo chown daemon:daemon -R htdocs/
In Lightsail, edit the live domains to point to the new server & run bncert tool again to create SSL. Finally, remove the old server and static IP address
File/Folder Config
If there is an issue with file & folder ownership/permission settings, the following will seteup the correct config
cd;
sudo chown daemon:daemon -R htdocs/;
sudo find htdocs/ -type f -exec chmod 0644 {} \;
sudo find htdocs/ -type d -exec chmod 0755 {} \;