Looking through - some thoughts
Creating a new user is done to separate privileges from admin level to normal level. A fail-safe if that user has software running (like flarum) that is exploited and gains shell access, cannot delete or modify critical system files. the separated user should not need root access. Root level commands should be done through root itself or a account that isn't serving stuff accessible by the web.
A separate user for network accessible files is a fundamental part of linux security so +1.
UPDATING UBUNTU
sudo apt-get update
This command only synces changes. It does not update programs. From man page of apt-get
update is used to resynchronize the package index files from their sources.
To both update and then upgrade a system you can use this common command which combines the syncing and actual upgrade. If curious, the && stands for "If the preceding command exited successfully, do this command":
sudo apt-get update && sudo apt-get upgrade
A big +1 for using appropriate permissions and usage of groups rather then saying "do chmod -R 777"
Another +1 for using terminal mysql commands to create the database. However, newbies may be more comfortable using phpmyadmin. It does however involve additional steps of setting that up.
I would suggest modifying the thread title to include digitalocean and apache as these seem to be integral to your guide.
I'd rank you higher then that. You clearly have spent time learning a lot about the terminal