Beton5 CMS met Apache en gratis Let’s Encrypt SSL installeren op Ubuntu 20.04

Concrete5 is een open-source inhoud-beheersysteem dat gebruikt wordt om inhoud op het internet te publiceren. Het is geschreven in PHP en gebruikt MariaDB als database backend. Het biedt een eenvoudig te gebruiken bouwer die je helpt om pagina’s en inhoud te maken via de webbrowser. Het is flexibel, veilig, geschikt voor mobiele telefoons, en gebaseerd op Model-View-Controller architectuur. Het biedt een rijke reeks functies, waaronder, WYSIWYG inhoudseditor, Media Manager, Drag and Drop Inhoud, In-context bewerken, en nog veel meer.

In dit artikel laten we je zien hoe je Concrete5 CMS met Apache en Let’s Encrypt SSL op Ubuntu 20.04 server kunt installeren.

Vereisten

  • Een server met Ubuntu 20.04.
  • Een geldige domeinnaam die naar het server IP wijst.
  • Een root wachtwoord is op je server ingesteld.

Aan de slag

Eerst moet je de APT pakket index bijwerken tot de nieuwste versie. Je kunt hem bijwerken met het volgende commando:

apt-get update -y

Als de APT index bijgewerkt is, kun je verder gaan met de volgende stap.

Installeer Apache, MariaDB en PHP

Vervolgens moet je de Apache webserver, de MariaDB databaseserver, PHP, en andere PHP uitbreidingen op je server installeren. Je kunt ze allemaal installeren met het volgende commando:

apt-get install apache2 mariadb-server php libapache2-mod-php libapache2-mod-php php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql php-cli php-ldap php-zip php-curl -y

Als alle pakketten geïnstalleerd zijn, bewerk je het php.ini bestand en stel je de gewenste waarden in:

nano /etc/php/7.4/apache2/php.ini

Verander de volgende regels:

file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 64M
date.timezone = Asia/Kolkata

Bewaar en sluit het bestand als je klaar bent en herstart dan de Apache dienst om de veranderingen toe te passen:

systemctl restart apache2

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

Maak een Concrete5 Database

Vervolgens moet je een databank en gebruiker voor Concrete5 aanmaken. Log eerst in op de MariaDB met het volgende commando:

mysql

Eenmaal ingelogd maak je een databank en een gebruiker aan met het volgende commando:

MariaDB [(none)]> CREATE DATABASE concrete5;
MariaDB [(none)]> CREATE USER 'concrete5user'@'localhost' IDENTIFIED BY 'password';

Verleen vervolgens alle privileges aan de Concrete5 database met het volgende commando:

MariaDB [(none)]> GRANT ALL ON concrete5.* TO 'concrete5user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Spoel vervolgens de privileges door en verlaat de MariaDB console met het volgende commando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

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

Download Concrete5 CMS

Ga eerst naar de Concrete5 CMS website kopieer de URL van de nieuwste versie van Concrete5, en download die met het volgende commando:

wget --trust-server-names https://www.concrete5.org/download_file/-/view/115589/ -O concrete5.zip

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

unzip concrete5.zip

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

mv concrete5-* /var/www/html/concrete5

Zet vervolgens de juiste toestemming en eigendom op de map concrete5 met het volgende commando:

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

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

Configureer Apache voor Concrete5 CMS

Vervolgens moet je een Apache virtual host configuratiebestand maken voor Concrete5 CMS. Je kunt het maken met het volgende commando:

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

Voeg de volgende regels toe:

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

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

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Sla het bestand op en sluit het af, schakel dan de Apache virtuele host en herschrijfmodule in met het volgende commando:

a2ensite concrete5.conf
a2enmod rewrite

Herstart vervolgens de Apache dienst om de veranderingen toe te passen:

systemctl restart apache2

Je kunt ook de status van de Apache dienst controleren met het volgende commando:

systemctl status apache2

Je zou de volgende uitvoer moeten krijgen:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-05-15 15:00:03 UTC; 4s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 15566 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 15585 (apache2)
      Tasks: 6 (limit: 2353)
     Memory: 13.5M
     CGroup: /system.slice/apache2.service
             ??15585 /usr/sbin/apache2 -k start
             ??15586 /usr/sbin/apache2 -k start
             ??15587 /usr/sbin/apache2 -k start
             ??15588 /usr/sbin/apache2 -k start
             ??15589 /usr/sbin/apache2 -k start
             ??15590 /usr/sbin/apache2 -k start

May 15 15:00:03 ubuntu2004 systemd[1]: Starting The Apache HTTP Server...

Op dit punt is de Apache webserver geconfigureerd om Concrete5 CMS te hosten. Je kunt nu verder gaan met de volgende stap.

Toegang tot de Concrete5 CMS Web Interface

Open nu je webbrowser en ga naar de Concrete5 CMS webinterface met de URL http://concrete5.example.com. Je wordt doorverwezen naar de volgende pagina:

Kies taal

Kies je taal en klik op de Pijl knop. Je zou de volgende pagina moeten zien:

Systeemcontrole

Controleer of alle vereiste bibliotheken geïnstalleerd zijn, klik dan op de Ga door naar Installatie knop, Je zou de volgende pagina moeten zien:

Website naam en inloggegevens

Geef hier Admin gebruikersnaam, wachtwoord, databank gebruikersnaam, wachtwoord, en databanknaam op, en klik dan op de knop Installeer Concrete5 om de installatie te starten. Als de installatie voltooid is, zou je de volgende pagina moeten zien:

Concrete 5 middelen

Installatie Voltooid

Klik nu op de Edit Your Site knop, je zou het Concrete5 dashboard op de volgende pagina moeten zien:

Aan de slag met Beton 5

Beveilig Concrete5 met Let’s Encrypt SSL

Vervolgens is het aan te bevelen je website te beveiligen met Let’s Encrypt SSL. Installeer eerst de Certbot client met het volgende commando:

apt-get install python3-certbot-apache -y

Eenmaal geïnstalleerd, voer je het volgende commando uit om je website met Let’s Encrypt SSL te beveiligen:

certbot --apache -d concrete5.example.com

Je wordt gevraagd je e-mail op te geven en de servicevoorwaarden te accepteren, zoals hieronder:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
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
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for concrete5.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/concrete5-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/concrete5-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/concrete5-le-ssl.conf

Kies vervolgens of je HTTP verkeer al dan niet wilt omleiden naar HTTPS zoals hieronder:

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

Typ 2 en druk op Enter om de Let’s Encrypt SSL voor je website te installeren:

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

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

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

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/concrete5.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/concrete5.example.com/privkey.pem
   Your cert will expire on 2020-10-23. 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"
 - 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

Nu kun je Beton 5 veilig benaderen met de URL https://concrete5.example.com.

Conclusie

In de bovenstaande gids heb je geleerd hoe je Concrete5 CMS met Apache en Let’s Encrypt SSL installeert op Ubuntu 20.04. Je kunt nu je inhoud gemakkelijk op het internet publiceren met het Concrete5 CMS. Voel je vrij me te vragen als je vragen hebt.