Installeer Automad CMS met Nginx en Let’s Encrypt SSL op Ubuntu 18.04

Automad is een open-source op bestanden gebaseerd inhoudbeheersysteem (CMS) en een sjabloon-engine geschreven in PHP. Alleinhoud wordt opgeslagen in door mensen leesbare tekstbestanden in plaats van in een databank. Een Automad site is daardoor volledig draagbaar, gemakkelijk te installeren, en kan versiebeheer hebben door Git of Mercurial te gebruiken. Het biedt niettemin databankfuncties zoals zoeken en taggen. Met de ingebouwde sjabloon-engine kunnen zelfs onervaren ontwikkelaars en ontwerpers mooie thema’s en sjablonen maken. Indeze zelfstudie doorlopen we de Automad CMS installatie en setup op een Ubuntu 18.04 LTS systeem door NGINX als webserver te gebruiken.

Vereisten

De vereisten voor het installeren en draaien van Automad CMS zijn als volgt:

  • PHP versie 5.4 of hoger.
  • Web server software zoals Nginx of Apache.

Vereisten

  • Een Ubuntu 18.04 LTS besturingssysteem.
  • Een niet-root gebruiker met sudo privileges.

Eerste stappen

Controleer je Ubuntu versie:

lsb_release -ds
# Ubuntu 18.04.2 LTS

Stel de tijdzone in:

sudo dpkg-reconfigure tzdata

Werk je besturingssysteem pakketten (software) bij. Dat is een essentiƫle eerste stap omdat je zo verzekerd bent van de laatste updates en beveiligingsfixes voor de standaard softwarepakketten van je besturingssysteem:

sudo apt update && sudo apt upgrade -y

Installeer enkele essentiƫle pakketten die nodig zijn voor het basisbeheer van het Ubuntu besturingssysteem:

sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https

Stap 1 – Installeer PHP en de nodige PHP uitbreidingen

Installeer PHP, en ook de nodige PHP uitbreidingen:

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-curl php7.2-zip

Om PHP gecompileerd in modules te laten zien, kun je uitvoeren:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Controleer de versie:

php --version

# PHP 7.2.19-0ubuntu0.18.04.1 (cli) (built: Jun 4 2019 14:48:12) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.19-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

De PHP-FPM dienst wordt automatisch gestart en ingeschakeld bij het herstarten op Ubuntu 18.04 systeem, dus het is niet nodig hem handmatig te starten en in te schakelen. We kunnen verder gaan met de volgende stap.

Stap 2 – Installeer acme.sh client en verkrijg Let’s Encrypt certificaat ( optioneel )

Je forum beveiligen met HTTPS is niet noodzakelijk, maar het is wel een goed gebruik om je site verkeer te beveiligen. Om een TLS certificaat van Let’s Encrypt te verkrijgen zullen we acme.sh client gebruiken. Acme.sh is een eenvoudige UNIX shell software om TLS certificaten te verkrijgen van Let’s Encrypt zonder afhankelijkheden.

Download en installeer acme.sh:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~

Controleer de versie van acme.sh:

acme.sh --version
# v2.8.0

Verkrijg RSA en ECC/ECDSA certificaten voor je domein/hostnaam:

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Als je valse certificaten wilt om te testen, kun je --staging vlag toevoegen aan bovenstaande commando’s.

Na het uitvoeren van de bovenstaande commando’s staan je certificaten en sleutels in:

  • Voor RSA: /home/username/example.com directory.
  • Voor ECC/ECDSA: /home/username/example.com_ecc directory.

Om je uitgegeven certs op te sommen kun je uitvoeren:

acme.sh --list

Maak een directory om je certs in op te slaan. We zullen /etc/letsencrypt directory gebruiken.

mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Installeer/kopieer certificaten naar /etc/letsencrypt directory.

# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"

Alle certificaten worden om de 60 dagen automatisch vernieuwd.

Na het verkrijgen van certs verlaat je de root gebruiker en ga je terug naar de gewone sudo gebruiker:

exit

Stap 3 - Installeer en configureer NGINX

Download en installeer NGINX uit de Ubuntu repository:

sudo apt install -y nginx

Controleer de NGINX versie:

sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)

Voer sudo vim /etc/nginx/sites-available/automad.conf uit en vul het bestand met de volgende configuratie:

server {

  listen [::]:443 ssl http2;
listen 443 ssl http2;
listen [::]:80;
listen 80;
# RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
# ECC
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
server_name example.com; root /var/www/automad; index index.php index.html; client_max_body_size 100M; location / { try_files $uri $uri/ /index.php$is_args$args; } location ~ \.php$ { fastcgi_index index.php; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }

Activeer de nieuwe automad.conf configuratie door het bestand aan de map sites-enabled te koppelen:

sudo ln -s /etc/nginx/sites-available/automad.conf /etc/nginx/sites-enabled/

ControleerNGINX configuratie op syntaxisfouten:

sudo nginx -t

Herlaad Nginx:

sudo systemctl reload nginx.service

Stap 4 - Installeer Automad CMS

Maak een document root directory voor Automad:

sudo mkdir -p /var/www/automad

Navigeer naar de document root:

cd /var/www/automad

Download met curl de nieuwste versie van Automad CMS. Vergeet niet de versienummers op te krikken als er een nieuwere release is:

sudo curl -O -J -L https://automad.org/download

Pak het zip-archief uit:

sudo unzip marcantondahmen-automad-6fff2a0456dc.zip

Verplaats alle Automad bestanden naar de document root en verwijder het gedownloade zip archief:

sudo mv marcantondahmen-automad-6fff2a0456dc/* . && sudo mv marcantondahmen-automad-6fff2a0456dc/.* .
sudo rm marcantondahmen-automad-6fff2a0456dc.zip
sudo rmdir marcantondahmen-automad-6fff2a0456dc

Verander het eigendom van de map /var/www/automad in www-data:

sudo chown -R www-data:www-data /var/www/automad

Stap 5 - Voltooi de Automad installatie

Maak als laatste stap een gebruikersaccount aan om de browser-gebaseerde gebruikersinterface, het Dashboard genaamd, te gebruiken. Navigeer daarvoor naar https://example.com/dashboard en volg de instructies.

Voordat je het Automad dashboard kunt gebruiken, moet je een account aanmaken:

Maak een website in Automad

Maak een gebruikersaccount aan met het formulier en download het gegenereerde bestand naar je computer. Daarna moet je het gedownloade bestand verplaatsen naar de map "/config" binnen de Automad installatiemap.

Daarna kun je inloggen op het Automad dashboard:

Automad Log in

Uiteindelijk verschijnt de Automad admin interface:

Automad admin dashboard

Dat is het. De installatie van Automad is voltooid.

Links