Concrete5 CMS mit kostenlosem Let’s Encrypt SSL auf Debian 11 installieren

Concrete5 ist ein kostenloses und quelloffenes Content Management System zur Veröffentlichung von Internetinhalten. Es wurde für Anfänger mit minimalen Computerkenntnissen entwickelt und ermöglicht es ihnen, die Website direkt im Webbrowser zu bearbeiten. Es ist einfach, leichtgewichtig, leicht zu bedienen und in PHP geschrieben. Sie verfügt über viele nützliche Funktionen, wie z. B. eine intuitive Weboberfläche, SEO-freundlich, Social Media, mobiloptimiert, erweiterbar, integrierte Berichte und vieles mehr.

Dieser Beitrag zeigt dir, wie du Concrete5 CMS mit Apache und Let’s Encrypt SSL auf Debian 11 installierst.

Voraussetzungen

  • Ein Server, auf dem Debian 11 läuft.
  • Ein gültiger Domainname, der auf die IP deines Servers zeigt.
  • Ein Root-Passwort ist auf deinem Server konfiguriert.

Installiere Apache, MariaDB und PHP

Zuerst musst du den Apache Webserver, den MariaDB Datenbankserver, PHP und andere benötigte Erweiterungen auf deinem Server installieren. Du kannst sie alle installieren, indem du den folgenden Befehl ausführst:

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

Sobald alle Pakete installiert sind, bearbeite die Datei php.ini und ändere einige PHP-Einstellungen:

nano /etc/php/7.3/apache2/php.ini

Ändere die folgenden Zeilen:

file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 64M
date.timezone = UTC

Speichere und schließe die Datei, wenn du fertig bist, und starte den Apache-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart apache2

Erstelle eine Datenbank für Concrete5

Concrete5 verwendet MariaDB oder MySQL als Datenbank-Backend. Daher musst du eine Datenbank und einen Benutzer für Concrete5 anlegen.

Melde dich zunächst mit folgendem Befehl bei MariaDB an:

mysql

Sobald du eingeloggt bist, erstelle eine Datenbank und einen Benutzer mit dem folgenden Befehl:

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

Als Nächstes erteilst du der Concrete5-Datenbank mit folgendem Befehl alle Berechtigungen:

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

Lösche die Berechtigungen und verlasse die MariaDB-Konsole mit dem folgenden Befehl:

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

Installiere Concrete5 CMS

Als nächstes gehst du auf die Concrete5 CMS Downloadseite, kopierst die URL des neuesten Concrete5 und führst den folgenden Befehl aus, um es auf dein System herunterzuladen:

wget https://www.concretecms.org/application/files/3916/3649/1545/concrete-cms-9.0.1.zip

Sobald der Download abgeschlossen ist, entpackst du die heruntergeladene Datei mit dem folgenden Befehl:

unzip concrete-cms-9.0.1.zip

Als Nächstes verschiebst du das entpackte Verzeichnis in das Apache-Web-Root-Verzeichnis:

mv concrete-cms-9.0.1 /var/www/html/concrete5

Als Nächstes änderst du mit folgendem Befehl die Besitz- und Zugriffsrechte für das concrete5-Verzeichnis:

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

Sobald du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Eine Apache Virtual Host Konfigurationsdatei erstellen

Als nächstes musst du eine Apache Virtual Host Konfigurationsdatei für das Concrete5 CMS erstellen. Du kannst sie mit dem folgenden Befehl erstellen:

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

Füge die folgenden Zeilen ein:

<VirtualHost *:80>
     ServerAdmin admin@yourdomain.com
     DocumentRoot /var/www/html/concrete5
     ServerName concrete5.yourdomain.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>

Speichere und schließe die Datei und aktiviere den virtuellen Apache-Host und das Rewrite-Modul mit dem folgenden Befehl:

a2ensite concrete5.conf
a2enmod rewrite

Starten Sie schließlich den Apache-Dienst mit folgendem Befehl neu:

systemctl restart apache2

Du kannst den Status des Apache-Dienstes auch mit folgendem Befehl überprüfen:

systemctl status apache2

Du solltest die folgende Ausgabe sehen:

? apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2021-12-10 14:29:49 UTC; 5s ago
     Docs: https://httpd.apache.org/docs/2.4/
  Process: 16050 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 Main PID: 16054 (apache2)
    Tasks: 6 (limit: 4701)
   Memory: 15.4M
   CGroup: /system.slice/apache2.service
           ??16054 /usr/sbin/apache2 -k start
           ??16055 /usr/sbin/apache2 -k start
           ??16056 /usr/sbin/apache2 -k start
           ??16057 /usr/sbin/apache2 -k start
           ??16058 /usr/sbin/apache2 -k start
           ??16059 /usr/sbin/apache2 -k start

Dec 10 14:29:49 debian11 systemd[1]: Starting The Apache HTTP Server...

Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Zugriff auf Concrete5 CMS

Öffne nun deinen Webbrowser und rufe das Concrete5 CMS über die URL http://concrete5.yourdomain.com auf. Du wirst auf die folgende Seite weitergeleitet:

Wähle deine Sprache und klicke auf die Schaltfläche >. Du solltest die folgende Seite sehen:

Vergewissere dich, dass alle PHP-Erweiterungen installiert sind und klicke dann auf die Schaltfläche Weiter zur Installation. Du solltest die folgende Seite sehen:

Gib deinen Admin-Benutzernamen, dein Passwort, deinen Datenbanknamen, deinen Datenbank-Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche Concrete5 installieren. Sobald die Installation abgeschlossen ist, solltest du die folgende Seite sehen:

Klicke auf Edit Your Site. Auf der folgenden Seite solltest du das Concrete5-Dashboard sehen:

Open Concrete5 mit Let’s Encrypt SSL sichern

Wenn du deine offene Website mit Let’s Encrypt SSL sichern willst, musst du das Certbot Client-Paket installieren, um das Let’s Encrypt SSL für deine offene Website zu installieren und zu verwalten.

Du kannst es installieren, indem du den folgenden Befehl ausführst:

apt-get install python3-certbot-apache -y

Sobald das Certbot-Paket installiert ist, führe den folgenden Befehl aus, um Let’s Encrypt SSL für deine Website herunterzuladen und zu installieren.

certbot --apache -d concrete5.yourdomain.com

Du wirst aufgefordert, deine E-Mail-Adresse anzugeben und die Nutzungsbedingungen zu akzeptieren (siehe unten):

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): hitjethva@gmail.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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.yourdomain.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

Als Nächstes wählst du aus, ob der HTTP-Verkehr auf HTTPS umgeleitet werden soll oder nicht (siehe unten):

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

Gib 2 ein und drücke die Eingabetaste, um Let’s Encrypt SSL für deine Website zu installieren:

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.yourdomain.com

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

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/concrete5.yourdomain.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/open.yourdomain.com/privkey.pem
   Your cert will expire on 2022-03-11. 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

Jetzt kannst du deine Website sicher über die URL https://concrete5.yourdomain.com aufrufen.

Fazit

Herzlichen Glückwunsch! Du hast Concrete5 CMS mit Apache und Let’s Encrypt SSL erfolgreich auf Debian 11 installiert. Jetzt kannst du deine Website ganz einfach über den Webbrowser erstellen und bearbeiten. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.

Das könnte dich auch interessieren …