Automad CMS installeren met Apache en Let’s encrypt op Debian 10

Automad is een gratis, open-source en plat inhoudsbeheersysteem, geschreven in de PHP taal. Het is snel, responsief en biedt mogelijkheden die andere op PHP gebaseerde CMS’en misschien niet hebben. Automad gebruikt een tekstbestand om de inhoud op te slaan in plaats van een database. Automad biedt een web-gebaseerde interface voor het beheren van de site, systeeminstellingen, het uploaden van afbeeldingen en het schrijven van een blog post. Het wordt geleverd met een ingebouwde Markdown editor en een één-klik updater om je Automad actueel te houden.

In deze handleiding laten we je zien hoe je Automad CMS op Debian 10 kunt installeren met een Apache webserver.

Vereisten

  • Een server waarop Debian 10 draait.
  • Een root wachtwoord is ingesteld op je server.

Aan de slag

Voor je begint, moet je je systeem updaten met de nieuwste versie. Je kunt dit doen door het volgende commando uit te voeren:

apt-get update -y
apt-get upgrade -y

Als je server bijgewerkt is, herstart je je server om de veranderingen toe te passen.

Installeer Apache en PHP

Automad is gebaseerd op PHP en draait op een webserver. Je zult dus Apache, PHP en andere vereiste modules op je server moeten installeren. Je kunt ze allemaal installeren door het volgende commando uit te voeren:

apt-get install apache2 php libapache2-mod-php php-zip php-curl php-mbstring php-gd php-xml php-xmlrpc php-soap unzip -y

Als alle pakketten geïnstalleerd zijn, start je Apache webserver en schakel je hem in om te starten bij herstarten van het systeem met het volgende commando:

systemctl start apache2
systemctl enable apache2

Als je dat gedaan hebt, kun je verder gaan met de volgende stap.

Installeer Automad

Eerst moet je de nieuwste versie van Automad uit de Bitbucket repository downloaden. Je kunt het downloaden met het volgende commando:

wget https://bitbucket.org/marcantondahmen/automad/get/default.zip

Als de download voltooid is, pak je het gedownloade bestand uit met het volgende commando:

unzip default.zip

Verplaats vervolgens de uitgepakte map naar de Apache web root met het volgende commando:

mv marcantondahmen-automad-c241e88edc3c /var/www/html/automad

Verander vervolgens het eigendom van de map automad in www-data en geef de juiste toestemming met het volgende commando:

chown -R www-data:www-data /var/www/html/automad
chmod -R 755 /var/www/html/automad

Als je dat gedaan hebt, kun je verder gaan met de volgende stap.

Configureer Apache voor Automad

Vervolgens moet je een Apache virtual host configuratiebestand maken om Automad te serveren. Je kunt het aanmaken met het volgende commando:

nano /etc/apache2/sites-available/automad.conf

Voeg de volgende inhoud toe:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/automad
     ServerName example.com

     <Directory /var/www/html/automad>
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/automadcms_error.log
     CustomLog ${APACHE_LOG_DIR}/automadcms_access.log combined

</VirtualHost>

Sla het bestand op en sluit het, als je klaar bent. Controleer dan Apache op een eventuele syntaxfout met het volgende commando:

apachectl configtest

Als alles in orde is, zou je de volgende uitvoer moeten krijgen:

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

Schakel vervolgens de Apache virtual host en rewrite module in met het volgende commando:

a2ensite automad
a2enmod rewrite

Herstart tenslotte Apache webserver om de configuratiewijzigingen toe te passen:

systemctl restart apache2

Als je klaar bent, kun je verder gaan met de volgende stap.

Toegang tot Automad

Automad is nu geïnstalleerd en geconfigureerd, het is tijd om de Automad webinterface te openen.

Open je web browser en typ de URL http://example.com. Je wordt doorverwezen naar de Automad site in het volgende scherm:

Voorpagina van Automad CMS

Om een Automad account aan te maken, open je je web browser en bezoek je de URL http://example.com/dashboard. Je wordt doorgestuurd naar de volgende pagina:

Gebruiker aanmaken

Verplaats account bestand

Geef nu je gewenste gebruikersnaam en wachtwoord op, klik dan op de knop Download Accounts File om het gebruikersregistratieformulier te downloaden en kopieer het binnen de map config:

mv config.php /var/www/html/automad/config/

Geef vervolgens de juiste toestemming aan config.php bestand met het volgende commando:

chown -R www-data:www-data /var/www/html/automad/config/config.php

Open nu je web browser en typ de URL http://example.com/dashboard. Je zou de Automad login pagina moeten zien:

Inloggen op je site

Geef nu je gebruikersnaam en wachtwoord op, en klik op de Log In knop. Je zou het Automad CMS standaard dashboard moeten zien op de volgende pagina:

Je site in Automad

Beveilig Automad met Let’s Encrypt

Eerst moet je het Certbot gereedschap installeren om Let’s Encrypt gratis SSL voor je website te downloaden en te installeren.

Voeg eerst de Certbot repository toe met het volgende commando:

apt-get install software-properties-common
add-apt-repository ppa:certbot/certbot

Werk vervolgens de repository bij en installeer Certbot met het volgende commando:

apt-get update -y
apt-get install certbot python-certbot-apache -y

Eenmaal geïnstalleerd moet je een .well-known directory aanmaken binnen de letsencrypt directory. Je kunt het aanmaken met het volgende commando:

mkdir -p /var/lib/letsencrypt/.well-known

Vervolgens moet je de juiste rechten geven aan de map letsencrypt. Je kunt dat doen met het volgende commando:

chgrp www-data /var/lib/letsencrypt
chmod g+s /var/lib/letsencrypt

Maak vervolgens een well-known.conf bestand aan met het volgende commando:

nano /etc/apache2/conf-available/well-known.conf

Voeg de volgende regels toe:

Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"
<Directory "/var/lib/letsencrypt/">
    AllowOverride None
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    Require method GET POST OPTIONS
</Directory>

Sla het bestand op en sluit het. Schakel dan de vereiste modules in met het volgende commando:

a2enmod ssl
a2enmod http2
a2enmod headers
a2enconf well-known

Herstart vervolgens de Apache dienst om alle configuratiewijzigingen toe te passen:

systemctl restart apache2

Installeer nu Let’s Encrypt gratis SSL voor je domein example.com door het volgende commando uit te voeren:

certbot --apache -d example.com

Eerst moet je een geldig e-mail adres opgeven en akkoord gaan met de servicevoorwaarden zoals hieronder:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/example.com-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/example.com-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/example.com-le-ssl.conf

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Kies vervolgens optie 2 om een gratis SSL certificaat voor je domein te downloaden en te installeren. Als de installatie met succes voltooid is. Je zou de volgende uitvoer moeten krijgen:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/example.com.conf to ssl vhost in /etc/apache2/sites-available/
example.com-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on 2019-10-22. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:
   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Je Automad CMS is nu beveiligd met Let’s Encrypt gratis SSL. Je kunt het bekijken door de URL https://example.com te bezoeken.