GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie Flarum Forum mit Nginx und LE SSL unter CentOS 8

Flarum ist eine kostenlose Open-Source-Forensoftware der nächsten Generation, die es Ihnen erleichtert, eine erfolgreiche Online-Community zu gründen und aufzubauen. Es ist eine einfache, leichte, schnelle und mobilfreundliche Software, die auf PHP basiert. Es verfügt über eine Vielzahl von Funktionen, darunter eine elegante Benutzeroberfläche, eine Zwei-Fenster-Oberfläche, unendliches Scrollen, Floating Composer, vollständig reaktionsschnell und viele mehr.

In diesem Tutorial erklären wir, wie man das Flarum-Forum auf einem CentOS 8-Server installiert.

Anforderungen

  • Ein Server mit CentOS 8.
  • Ein gültiger Domainname, auf den Ihre Server-IP verweist
  • Auf dem Server ist ein Root-Passwort konfiguriert.

Erste Schritte

Bevor Sie beginnen, müssen Sie das EPEL- und Remi-Repository in Ihrem System installieren. Installieren Sie zuerst das EPEL-Repository mit dem folgenden Befehl:

dnf install epel-release -y

Laden Sie als Nächstes das Remi-Repository herunter und installieren Sie es mit dem folgenden Befehl:

wget http://rpms.remirepo.net/enterprise/remi-release-8.rpm
rpm -Uvh remi-release-8.rpm

Nginx, MariaDB und PHP installieren

Installieren Sie zuerst den Nginx-Webserver und den MariaDB-Server mit dem folgenden Befehl:

dnf install nginx mariadb-server -y

Sobald beide Pakete installiert sind, müssen Sie das Modul php:remi-7.3 aktivieren, um PHP 7.3 zu installieren. Sie können es mit dem folgenden Befehl aktivieren:

dnf module enable php:remi-7.3

Als nächstes installieren Sie PHP mit anderen erforderlichen Abhängigkeiten mit dem folgenden Befehl:

dnf install php php-fpm php-common php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml -y

Sobald alle Pakete installiert sind, starten Sie den Nginx-, MariaDB- und PHP-FPM-Dienst und aktivieren Sie sie nach dem Systemneustart mit dem folgenden Befehl:

systemctl start nginx
systemctl start mariadb
systemctl start php-fpm
systemctl enable nginx
systemctl enable mariadb
systemctl enable php-fpm

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

MariaDB-Datenbank konfigurieren

Standardmäßig ist MariaDB nicht gesichert. Sie können es mit dem folgenden Skript sichern:

mysql_secure_installation

Beantworten Sie alle Fragen wie unten gezeigt:

Enter current password for root (enter for none):
Set root password? [Y/n] Y
New password:
Re-enter new password:
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

Wenn Sie fertig sind, melden Sie sich mit dem folgenden Befehl bei der MariaDB-Shell an:

mysql -u root -p

Geben Sie Ihr Root-Passwort ein, wenn Sie dazu aufgefordert werden, und erstellen Sie dann mit dem folgenden Befehl eine Datenbank und einen Benutzer für Flarum:

MariaDB [(none)]> CREATE DATABASE flarumdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES on flarumdb.* to 'flarum'@'localhost' identified by 'password';

Leeren Sie als Nächstes die Berechtigungen und beenden Sie die MariaDB-Shell mit dem folgenden Befehl:

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

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

Konfigurieren Sie PHP-FPM für Nginx

Als nächstes müssen Sie PHP-FPM für die Arbeit mit Nginx konfigurieren. Sie können dies tun, indem Sie die Datei www.conf:

bearbeiten
nano /etc/php-fpm.d/www.conf

Ändern Sie den Benutzer- und Gruppennamen von Apache in Nginx, wie unten gezeigt:

user = nginx
group = nginx
listen.owner = nginx
listen.group = nginx

Suchen Sie als Nächstes die folgende Zeile:

;listen = /run/php-fpm/www.sock

Und ersetzen Sie es durch die folgende Zeile:

listen = 127.0.0.1:9000

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den PHP-FPM-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart php-fpm

Installieren Sie Flarum

Vor der Installation von Flarum müssen Sie Composer auf Ihrem System installieren.

Sie können es mit dem folgenden Befehl installieren:

curl -sS https://getcomposer.org/installer | php

Nach der Installation sollten Sie die folgende Ausgabe erhalten:

All settings correct for using Composer
Downloading...

Composer (version 1.9.2) successfully installed to: /root/composer.phar
Use it: php composer.phar

Verschieben Sie als Nächstes die Composer-Binärdatei in das Verzeichnis /usr/local/bin und geben Sie die entsprechende Berechtigung:

mv composer.phar /usr/local/bin/composer
chmod 755 /usr/local/bin/composer

Wechseln Sie als Nächstes in das Verzeichnis des Nginx-Dokumentstammverzeichnisses und erstellen Sie mit dem folgenden Befehl ein Flarum-Projekt:

cd /var/www/html
composer create-project flarum/flarum . --stability=beta

Geben Sie als Nächstes mit dem folgenden Befehl die richtigen Berechtigungen für das Nginx-Web-Root-Verzeichnis:

chown -R nginx:nginx /var/www/html
chmod -R 755 /var/www/html
chown -R nginx:nginx /var/lib/php

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

Nginx für Flarum konfigurieren

Als Nächstes müssen Sie eine virtuelle Nginx-Host-Konfigurationsdatei für Nginx erstellen. Sie können es mit dem folgenden Befehl erstellen:

nano /etc/nginx/conf.d/flarum.conf

Fügen Sie die folgenden Zeilen hinzu:

server {
    listen   80;
    server_name  flarum.example.com;

# note that these lines are originally from the "location /" block
root   /var/www/html/public;
index index.php index.html index.htm;

location / { try_files $uri $uri/ /index.php?$query_string; }
location /api { try_files $uri $uri/ /api.php?$query_string; }
location /admin { try_files $uri $uri/ /admin.php?$query_string; }

location /flarum {
    deny all;
    return 404;
}

location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

location ~* \.html$ {
    expires -1;
}

location ~* \.(css|js|gif|jpe?g|png)$ {
    expires 1M;
    add_header Pragma public;
    add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
gzip on;
gzip_http_version 1.1;
gzip_vary on;
gzip_comp_level 6;
gzip_proxied any;
gzip_types application/atom+xml
           application/javascript
           application/json
           application/vnd.ms-fontobject
           application/x-font-ttf
           application/x-web-app-manifest+json
           application/xhtml+xml
           application/xml
           font/opentype
           image/svg+xml
           image/x-icon
           text/css
           #text/html -- text/html is gzipped by default by nginx
           text/plain
           text/xml;
gzip_buffers 16 8k;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
   }

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Als nächstes müssen Sie die hash_bucket-Größe in der Datei nginx.conf erhöhen.

Sie können dies tun, indem Sie die Datei /etc/nginx/nginx.conf:

bearbeiten
nano /etc/nginx/nginx.conf

Fügen Sie die folgende Zeile genau über der letzten Zeile hinzu:

server_names_hash_bucket_size 64;

Speichern und schließen Sie die Datei. Überprüfen Sie dann Nginx mit dem folgenden Befehl auf Syntaxfehler:

nginx -t

Sie sollten die folgende Ausgabe sehen:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Starten Sie abschließend den Nginx- und PHP-FPM-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart php-fpm
systemctl restart nginx

Konfigurieren Sie SELinux und die Firewall

Zuerst müssen Sie eine Firewall-Regel erstellen, um den HTTP- und HTTPS-Dienst von externen Netzwerken zuzulassen. Sie können es mit dem folgenden Befehl zulassen:

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

Standardmäßig ist SELinux in CentOS 8 aktiviert. Sie müssen also SELinux konfigurieren, damit Flarum ordnungsgemäß funktioniert. Sie können SELinux mit dem folgenden Befehl konfigurieren:

setsebool httpd_can_network_connect on -P

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

Greifen Sie auf die Web-Benutzeroberfläche von Flarum zu

Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://flarum.example.com ein. Sie werden auf die folgende Seite weitergeleitet:

Geben Sie Ihren Forumnamen, Datenbankdetails, Admin-Benutzernamen und Passwort ein und klicken Sie auf Installieren Flarum Taste. Sobald die Installation erfolgreich abgeschlossen wurde, sollten Sie das Flarum-Dashboard auf der folgenden Seite sehen:

Sichern Sie Flarum mit Let's Encrypt SSL

Flarum ist jetzt installiert und konfiguriert. Es ist an der Zeit, es mit dem kostenlosen SSL von Let's Encrypt zu sichern.

Dazu müssen Sie den certbot-Client auf Ihren Server herunterladen. Sie können die richtige Berechtigung herunterladen und festlegen, indem Sie den folgenden Befehl ausführen:

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 Flarum-Website zu erhalten und zu installieren.

certbot-auto --nginx -d flarum.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 die Nutzungsbedingungen wie unten gezeigt zu akzeptieren:

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 flarum.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/flarum.conf

Als Nächstes müssen Sie auswählen, ob der HTTP-Datenverkehr wie unten gezeigt auf HTTPS umgeleitet werden soll:

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

Geben Sie 2 ein und drücken Sie die Eingabetaste, um fortzufahren. Sobald die Installation abgeschlossen ist, sollten Sie die folgende Ausgabe sehen:

Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/flarum.conf

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

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

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

Das ist es! Sie können jetzt über die sichere URL https://flarum.example.com.

auf Ihre Flarum-Website zugreifen
Cent OS
  1. So installieren Sie Nextcloud mit Nginx und PHP 7.3 auf CentOS 8

  2. So installieren Sie ownCloud 9.1 mit Nginx und MariaDB auf CentOS 7

  3. So installieren Sie WordPress mit HHVM und Nginx unter CentOS 7

  4. So installieren Sie Nextcloud mit Nginx und PHP7-FPM unter CentOS 7

  5. So installieren und konfigurieren Sie Varnish Cache 6 mit Nginx unter CentOS 8

So installieren Sie WonderCMS mit Apache und Lets Encrypt SSL unter CentOS 8

So installieren Sie Askbot mit Nginx und sichern mit Lets Encrypt unter CentOS 8

So installieren Sie das ElkArte-Forum mit Apache und Lets Encrypt SSL unter CentOS 8

So installieren Sie PrestaShop mit Apache und Lets Encrypt SSL unter CentOS 8

So installieren Sie OwnCloud 8 mit Nginx und PHP-FPM auf CentOS 6

So installieren Sie Let’s Encrypt SSL mit Nginx unter CentOS 7