Setting up a LEMP-P webserver

I will setup a basic webserver with Linux-Ubuntu on a DigitalOcean droplet. I will extend a basic LEMP server (tutorial), with an extra P refering to Python-Django, with MySQL as database and Gunicorn as WSGI-server (tutorial). Additionally, I will install phpMyAdmin to manage MySQL databses (tutorial1tutorial2) and I will configure a website with WordPress as a content management system (tutorial). Since the DigitalOcean tutorials, for each of the separate steps, are generally very clear, I will only summarize the main workflow, with links to the relevant tutorials included throughout.

The setup will start with a one-time installation of all the packages needed, to get the seperate components running. Since I have more than a single website, I next summarize the steps that need to be repeated with each new websites. I consider the phpMyAdmin interface, WordPress and Django installations as additional topics, that can be useful for special purposes.

These pages primarily serve my personal goal, as documentation of the installation process in a single workstream and as a reference for future adaptations and extensions. If they are helpful to you, all the better.

One time installation

Basic configuration of a Ubuntu webserver

Setting up a website

Webdomain, DNS and location on the server

Configure NGINX to serve a website

Secure http with Certbot

Additional topics

Manage MySQL-databases with phpMyAdmin

Configure a WordPress website on LEMP

Configure a Django website on LEMP

Secure your webserver