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 je taal en klik op de Pijl knop. Je zou de volgende pagina moeten zien:
Controleer of alle vereiste bibliotheken geïnstalleerd zijn, klik dan op de Ga door naar Installatie knop, Je zou de volgende pagina moeten zien:
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:
Klik nu op de Edit Your Site knop, je zou het Concrete5 dashboard op de volgende pagina moeten zien:
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.