Code and configuration snippets for the Hands-on Linux: Self-Hosted WordPress for Linux Beginners Course course. Just navigate to whichever section you need help with.
To sign up for your own DigitalOcean account where you can provision a server to host your website and follow along with the course, use this link (that link gives you a $100 account credit over 60 days, and I make $25 if you like DO and keep using them).
- Updated instructions for Ubuntu 24.04
- Added a package to install the php-intl extension (recommended by WordPress)
- Improved formatting for bash commands
- Updated Packer scripts
- New and improved MySQL root password / secure_installation instructions.
- Packer Mini-Course Addition!
- Full course update for Ubuntu 22.04
- user creation is now more geared towards automation
- Small formatting and clarity improvements
- updated instructions for Ubuntu 20.04
- nginx can now be installed from Ubuntu's package repositories, hooray!
- removed non-system instructions (it's been long enough now; we're not going back)
- cleaned up nginx docs
- cleaned up php-fpm docs, bumped version number, added explanation for why we keep the original www.conf pool file
- clean up php-fpm www.conf file after we create a site config file
- improve mysql instructions during the actual website setup
- use tutorialinux as the example site/user/database throughout the entire process
- overhaul the final, re-usable 'site setup' instructions: remove the confusion around separate username and site name; many beginners found this level of customization confusing.
- improve mysql password instructions
- add sudo in places where beginners forgot it
- remove 16.04 instructions
Reverting a change I made because it was over-optimizing for the end result (no www.conf 'default' php-fpm pool file). Now, no matter where in the course you are, you'll have a working php-fpm config and can safely restart/run the service -- even if you're not yet using it to run a PHP webapp.
Some fiddling with the php-fpm setup.
Update for php-fpm7.2 in Ubuntu 18.04. A plague on the Ubuntu package maintainers' houses!
MySQL syntax fixes, some formatting updates to make things easier to understand.
Many updates (see git commits) over the past few months. Most notably, Ubuntu 15.04 is now deprecated and has been removed from the instructions.
Update instructions to work with Ubuntu 16.04, which introduces new major versions of the core application packages we use (PHP, mysql), along with several annoying bugs that we need to steer clear of.