development or Ubuntu Server on a remote machine. Then you can install
each of the following components, setting up and configuring each one before
moving to the next:
- Install OpenSSH and configure the machine for SSH access. This is vital
if you intend to eventually serve content via HTTPS, which is becoming a
necessity as major browsers like Google Chrome intend to mark as
insecure any websites that do not use HTTPS. - Install Apache 2 and set it up for the sites you intend to host, including
HTTPS configuration. Later, you will also configure your firewall to
allow traffic via the ports specific to HTTP and HTTPS (80 and 443).
As a side note, unless you are a large corporation, you do not need to pay
for web certificates from an expensive Certificate Authority anymore.
Check out Let’s Encrypt at https://letsencrypt.org/. - Install MySQL, MariaDB, or your relational database of choice, making
sure to set a secure root password. You are strongly urged to create a web-
server-specific user in the database that will interact with the database
rather than use the root account in your software. - Install PHP, Python, or Perl, as appropriate for the software you intend to
run/write that will display your content.
At this point, the entire stack is installed. You can now proceed to install open
source software such as Drupal or develop your own.
LEMP
The main difference between LAMP and LEMP is the web server that is used.
Whereas LAMP uses Apache, LEMP uses Nginx. (See Chapter 26, “Nginx
Web Server Management,” for detailed information about Nginx.)
NOTE
It seems that whoever created the acronym LEMP decided a vowel was
needed, so the E stands for Nginx—but the server name is pronounced as
though it starts with an E, so it actually makes sense.
Beyond the obvious differences between Apache and Nginx as mature web
servers with different use cases, the only other difference is that there is
currently not a LEMP option in the Ubuntu Server installation. That does not
make much difference, though, as we recommend that you install Ubuntu first
and then install and configure each component individually rather than using
the shortcut during Ubuntu installation.