Installeer Automad CMS met Nginx en Let’s Encrypt SSL op CentOS 7
Automad is een bestandsgebaseerd inhoudbeheersysteem (CMS) en een sjabloon-engine geschreven in PHP.Alle inhoud 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 zoekenentaggen. Met de ingebouwde sjabloon-engine kunnen zelfs onervaren ontwikkelaars en ontwerpers mooie thema’s en sjablonen maken.In deze handleiding doorlopen we de installatie en setup van Automad CMS op een CentOS 7 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 CentOS 7 besturingssysteem.
- Een niet-root gebruiker met
sudo
privileges.
Eerste stappen
Controleer je CentOS versie:
cat /etc/centos-release
# CentOS Linux release 7.6.1810 (Core)
Stel de tijdzone in:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Werk je pakketten (software) voor het besturingssysteem bij. Dit is een belangrijke eerste stap omdat je er zeker van bent dat je de laatste updates en beveiligingsfixes hebt voor de standaard softwarepakketten van je besturingssysteem:
sudo yum update -y
Installeer enkele essentiƫle pakketten die nodig zijn voor het basisbeheer van het CentOS besturingssysteem:
sudo yum install -y curl wget vim git unzip socat bash-completion epel-release
Stap 1 – Installeer PHP en de nodige PHP uitbreidingen
Installeer de Webtatic YUM repo:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Installeer PHP, en ook de nodige PHP uitbreidingen:
sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-mbstring php72w-xmlrpc php72w-soap php72w-gd php72w-xml php72w-curl php72w-zip
Om PHP gecompileerd in modules te tonen, kun je uitvoeren:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Controleer de PHP versie:
php --version
# PHP 7.2.19 (cli) (built: Jan 12 2019 12:47:33) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
# with Zend OPcache v7.2.14, Copyright (c) 1999-2018, by Zend Technologies
Start en schakel de PHP-FPM dienst in:
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Stap 2 – Installeer acme.sh client en verkrijg Let’s Encrypt certificaat ( optioneel )
Je forum met HTTPS beveiligen is niet noodzakelijk, maar het is 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.2
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 de/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 CentOS repository:
sudo yum install -y nginx
Controleer de NGINX versie:
sudo nginx -v
# nginx version: nginx/1.12.2
Start de Nginx dienst en schakel hem in:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Voer sudo vim /etc/nginx/conf.d/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 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
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 automad-master.zip
Verplaats alle Automad bestanden naar de document root en verwijder het gedownloade zip archief:
sudo mv automad-master/* . && sudo mv automad-master/.* .
sudo rm automad-master.zip
sudo rmdir automad-master
Zorg voor het juiste eigendom:
sudo chown -R nginx:nginx /var/www/automad
Voer sudo vim /etc/php-fpm.d/www.conf
uit en stel de gebruiker en groep in op nginx
. Aanvankelijk zullen ze ingesteld zijn op apache.
Voer uit:
sudo vim /etc/php-fpm.d/www.conf
En stel gebruiker en groep in op nginx, zoals hieronder:
user = nginx
group = nginx
En herstart tenslotte de PHP-FPM dienst om deze veranderingen van kracht te laten worden:
sudo systemctl restart php-fpm.service
Stap 5 - Voltooi de Automad installatie
Maak als laatste stap een gebruikersaccount aan om de browser-gebaseerde gebruikersinterface, het Dashboard, 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 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:
Uiteindelijk verschijnt de Automad admin interface:
Dat is het. De installatie van Automad is voltooid.