Wie man ElkArte Forum mit Apache und Let’s Encrypt SSL auf CentOS 8 installiert

ElkArte ist eine freie und quelloffene Forensoftware, die auf dem Simple Machine Forum basiert. Sie ist in PHP geschrieben und verwendet MariaDB als Datenbank-Backend. Es bietet alle Funktionen, die zum Aufbau eines voll funktionsfähigen Gemeinschaftsforums benötigt werden. Es ist einfach, leichtgewichtig und verwendet ansprechende Themen, die für jeden modernen Browser, jedes Smartphone oder Tablet geeignet sind.

Funktionen

  • Einfache und benutzerfreundliche Schnittstelle
  • Anpassbarer und integrierter Add-on-Manager
  • Verbesserte Anti-Spam-Funktionalität
  • Ziehen und Ablegen von Dateianhängen
  • Integrierte Videoeinbettung für Youtube, Vimeo und Dailymotion

In diesem Tutorial zeigen wir Ihnen, wie Sie ElkArte mit Let’s Encrypt SSL auf CentOS 8 installieren.

Voraussetzungen

  • Ein Server mit CentOS 8.
  • Ein gültiger Domänenname, der auf Ihre Server-IP zeigt.
  • Der Server ist mit einem Root-Passwort konfiguriert.

LAMP-Server installieren

Zuerst müssen Sie Apache, MariaDB, PHP und andere Erweiterungen in Ihrem System installieren. Sie können sie alle installieren, indem Sie den folgenden Befehl ausführen:

dnf install httpd mariadb-server php php-common php-json php-curl php-intl php-mbstring php-xmlrpc php-mysqlnd php-gd php-pgsql php-xml php-cli php-bcmath php-gmp php-zip unzip -y

Wenn alle Pakete installiert sind, editieren Sie die Datei php.ini und nehmen Sie einige gewünschte Änderungen vor:

nano /etc/php.ini

Ändern Sie die folgenden Werte:

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = America/Chicago

Speichern und schließen Sie die Datei, starten Sie dann den Apache- und MariaDB-Dienst und ermöglichen Sie ihnen, beim Systemneustart mit dem folgenden Befehl zu starten:

systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadb

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

MariaDB konfigurieren

Standardmäßig ist das MariaDB-Root-Passwort nicht gesetzt. Sie müssen es also in Ihrem System setzen. Sie können das tun, indem Sie das folgende Skript ausführen:

mysql_secure_installation

Beantworten Sie alle Fragen wie unten gezeigt, um das Root-Passwort zu setzen:

Enter current password for root (enter for none):
OK, successfully used password, moving on...
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Sobald die MariaDB gesichert ist, loggen Sie sich mit dem folgenden Befehl in die MariaDB-Shell ein:

mysql -u root -p

Geben Sie bei der Eingabeaufforderung Ihr root-Passwort ein und erstellen Sie dann eine Datenbank und einen Benutzer mit dem folgenden Befehl:

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

Als nächstes gewähren Sie alle Privilegien für die ElkArte-Datenbank mit dem folgenden Befehl:

MariaDB [(none)]> GRANT ALL ON elkarte.* TO 'elkarte'@'localhost' WITH GRANT OPTION;

Als Nächstes löschen Sie die Privilegien und verlassen die MariaDB-Shell mit folgendem Befehl: Geben Sie Ihr Root-Passwort ein und erstellen Sie eine Datenbank und einen Benutzer mit folgendem Befehl

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

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

ElkArte herunterladen

Zunächst müssen Sie die neueste Version von ElkArte aus dem Git-Repository herunterladen. Sie können sie mit dem folgenden Befehl herunterladen:

wget https://github.com/elkarte/Elkarte/archive/master.zip

Nach dem Herunterladen entpacken Sie die heruntergeladene Datei mit dem folgenden Befehl:

unzip master.zip

Als nächstes verschieben Sie das extrahierte Verzeichnis mit folgendem Befehl in das Apache-Wurzelverzeichnis:

mv Elkarte-master /var/www/html/elkarte

Ändern Sie als nächstes die Besitzverhältnisse und Berechtigungen mit dem folgenden Befehl:

chown -R apache:apache /var/www/html/elkarte
chmod -R 775 /var/www/html/elkarte

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Apache für ElkArte konfigurieren

Als nächstes müssen Sie eine Apache-Konfigurationsdatei für virtuelle Hosts für ElkArte erstellen. Sie können sie mit dem folgenden Befehl erstellen:

nano /etc/httpd/conf.d/elkarte.conf

Fügen Sie die folgenden Zeilen hinzu:

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

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

     ErrorLog /var/log/httpd/error.log
     CustomLog /var/log/httpd//access.log combined

</VirtualHost>
systemctl restart httpd

Zu diesem Zeitpunkt ist der Apache-Webserver für ElkArte konfiguriert. Sie können nun mit dem nächsten Schritt fortfahren.

Konfigurieren von Selinux und Firewall

Standardmäßig ist SELinux in CentOS 8 aktiviert. Sie müssen es also für Ihre ElkArte-Website konfigurieren.

Sie können SELinux mit dem folgenden Befehl konfigurieren:

setsebool httpd_can_network_connect on -P
chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/elkarte

Als nächstes lassen Sie Port 80 und 443 durch die Firewall mit folgendem Befehl zu:

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Zugang zu ElkArte

Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://elk.example.com auf die ElkArte zu. Sie werden auf die folgende Seite umgeleitet:

ElkArte Installer

Klicken Sie auf die Schaltfläche “ Weiter“, um die Installation zu starten. Sie sollten die folgende Seite sehen:

Datenbank-Einstellungen

Geben Sie Ihre Datenbankangaben ein und klicken Sie auf die Schaltfläche Weiter. Sie sollten die folgende Seite sehen: Geben Sie Ihre Datenbankdaten ein und klicken Sie auf Weiter:

Forum-Einstellungen

Geben Sie Ihren Forumnamen und Ihre URL ein und klicken Sie auf die Schaltfläche “ Weiter“. Sie sollten die folgende Seite sehen: Geben Sie Ihren Forumnamen und die URL an und klicken Sie auf die Schaltfläche „Weiter“:

Füllen Sie die Datenbank

Klicken Sie nun auf die Schaltfläche “ Weiter“, um die Datenbank zu füllen. Sie sollten die folgende Seite sehen: Geben Sie jetzt Ihren Forumnamen und die URL ein:

Admin-Konto erstellen

Geben Sie Ihren Administrator-Benutzernamen, Ihr Passwort und Ihre E-Mail-Adresse ein und klicken Sie auf die Schaltfläche Weiter. Sie sollten die folgende Seite sehen: Jetzt klicken Sie auf die Schaltfläche Weiter:

Installation abschließen

Klicken Sie auf die Schaltfläche Ihres neu installierten Forums. Sie sollten die folgende Seite sehen: Geben Sie Ihren Administrator-Benutzernamen, Ihr Passwort und Ihre E-Mail-Adresse ein:

Zum Forum-Frontend gehen

Geben Sie Ihren Administrator-Benutzernamen und Ihr Passwort ein und klicken Sie auf die Schaltfläche Anmelden. Auf der folgenden Seite sollten Sie das ElkArte-Dashboard sehen:

ElkArte Forum

Sichere Elkarte mit Let’s Encrypt SSL

Zu diesem Zeitpunkt ist ElkArte installiert und konfiguriert. Als nächstes empfiehlt es sich, Ihre ElkArte-Site mit Let’s Encrypt SSL zu sichern. Zuerst müssen Sie den Certbot-Client auf Ihrem System installieren. Der Certbot ist ein Let’s Encrypt-Client, mit dem Sie das SSL von der Let’s Encrypt-Website herunterladen und den Apache-Webserver so konfigurieren können, dass er das heruntergeladene SSL verwendet.

Sie können den Certbot mit dem folgenden Befehl installieren:

wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

Führen Sie nun den folgenden Befehl aus, um ein SSL-Zertifikat für Ihre ElkArte-Website zu erhalten und zu installieren.

certbot-auto --apache -d elk.example.com

Der obige Befehl installiert zunächst alle erforderlichen Abhängigkeiten auf Ihrem Server. Nach der Installation werden Sie aufgefordert, eine E-Mail-Adresse anzugeben und den unten aufgeführten Nutzungsbedingungen zuzustimmen:

Hinweis: Wenn Sie einen Fehler im Zusammenhang mit SSL erhalten haben, starten Sie den httpd-Dienst neu und führen Sie den obigen Befehl erneut aus.

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 elk.example.com
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/httpd/conf.d/elkarte-le-ssl.conf
Deploying Certificate to VirtualHost /etc/httpd/conf.d/elkarte-le-ssl.conf

Als nächstes wählen Sie, ob HTTP-Verkehr zu HTTPS umgeleitet werden soll oder nicht, wobei der HTTP-Zugriff entfernt wird.

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

Geben Sie 2 ein und drücken Sie Enter, um den Installationsprozess zu starten. Wenn die Installation erfolgreich abgeschlossen ist, sollten Sie die folgende Ausgabe erhalten:

Redirecting vhost in /etc/httpd/conf.d/elkarte.conf to ssl vhost in /etc/httpd/conf.d/elkarte-le-ssl.conf

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

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

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/elk.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/elk.example.com/privkey.pem
   Your cert will expire on 2020-05-10. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again with the "certonly" option. To non-interactively renew *all*
   of your certificates, run "certbot-auto 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

Sie können nun über die URL https://elk.example.comsicher auf Ihre ElkArte zugreifen .

Schlussfolgerung

Herzlichen Glückwunsch! Sie haben ElkArte erfolgreich mit Apache und Let’s Encrypt SSL auf CentOS 8 installiert. Sie können nun damit beginnen, Ihr eigenes Online-Forum aufzubauen. Zögern Sie nicht, mich zu fragen, wenn Sie Fragen haben.

Das könnte dich auch interessieren …