Wie man MediaWiki mit Nginx auf CentOS 7 installiert

MediaWiki ist eine beliebte Wiki-Software, die ursprünglich für den Einsatz auf Wikipedia entwickelt wurde. Es ist eine kostenlose und quelloffene Wiki-Software, die in der Programmiersprache PHP geschrieben wurde. Von Magnus Manske im Jahr 2002 zum Leben erweckt, liegt das Tool nun in der Version 1.30 vor. MediaWiki wurde von vielen großen Unternehmen genutzt, darunter Nginx, Intel, Novell usw.

In diesem Tutorial wird erläutert, wie Sie MediaWiki mit Nginx-Webserver auf CentOS 7 Schritt für Schritt installieren können. Wir führen Sie auch durch die Installation und Konfiguration des LEMP-Stacks für die MediaWiki-Installation, einschließlich der Generierung und Konfiguration neuer kostenloser SSL-Letsencrypt für die MediaWiki-Sicherheit.

Was wir tun werden

  1. Nginx auf CentOS 7 installieren
  2. Installation und Konfiguration von PHP-FPM
  3. Installation und Konfiguration der MariaDB-Datenbank
  4. MediaWiki herunterladen und konfigurieren
  5. Generieren Sie neue SSL-Letsenverschlüsselung auf CentOS 7.
  6. Nginx virtuellen Host für die MediaWiki-Installation konfigurieren
  7. MediaWiki Webbasierte Installation
  8. MediaWiki Standard-Skin konfigurieren

Voraussetzungen

  • CentOS 7 Server
  • Root-Rechte

Schritt 1 – Nginx auf CentOS 7 installieren

Für dieses Tutorial werden wir den Nginx-Webserver für die MediaWiki-Installation verwenden. Unter CentOS 7 existiert das Nginx-Paket nicht. Daher müssen wir es aus dem EPEL (Extra Packages for Enterprise Linux) Repository eines Drittanbieters installieren.

Aktualisieren Sie alle Pakete und installieren Sie das EPEL-Repository im CentOS 7-System mit dem Befehl yum unten.

yum -y update
yum -y install epel-release

Als nächstes installieren Sie den Nginx-Webserver.

yum -y install nginx

Nachdem die Nginx-Installation abgeschlossen ist, starten Sie den Server und lassen Sie ihn beim Systemstart automatisch laufen.

systemctl start nginx
systemctl enable nginx

So wurde der Nginx-Webserver auf dem CentOS 7-Server installiert. Überprüfen Sie die Netzwerkstatistiken mit dem Befehl netstat, und im Ergebnis sollten Sie den HTTP-Port erhalten, der vom Nginx-Dienst verwendet wird.

netstat -plntu

Schritt 2 – Installation und Konfiguration von PHP-FPM

In diesem Tutorial werden wir PHP 7.0 verwenden. Und hier, in diesem Schritt, werden wir PHP 7.0 (einschließlich Erweiterungen) installieren und PHP-FPM für die MediaWiki-Installation konfigurieren.

Wir werden PHP 7.0-Pakete aus dem Drittanbieter-Repository’webtatic‘ verwenden. Fügen Sie mit dem folgenden Befehl ein neues ‚webtatic‘ Repository für die Installation von PHP 7.0 hinzu.

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Jetzt können wir PHP 7.0 mit allen benötigten Erweiterungen mit dem Befehl yum unten installieren.

yum -y install ImageMagick php70w-fpm php70w-intl php70w-xml php70w-curl php70w-gd php70w-mbstring php70w-mysql php70w-cli php70w-pear php70w-pecl-apcu

Damit ist die Installation von PHP 7.0 auf CentOS 7 abgeschlossen.

Als nächstes werden wir den PHP-FPM-Dienst konfigurieren. Wir bearbeiten die Datei php.ini für die Konfiguration der CGI-Pfadinfo und bearbeiten dann die Konfiguration’www.conf‘, um den PHP-FPM-Dienst zu konfigurieren. Wir werden dann PHP-FPM so konfigurieren, dass es unter der Sockendatei (mit’nginx‘ Benutzer und Gruppe) ausgeführt wird.

Bearbeiten Sie die Datei’php.ini‘ mit dem vim-Editor.

vim /etc/php.ini

Entkommentiere die Zeile unten und ändere den Wert auf 0.

cgi.fix_pathinfo=0

Speichern Sie die Änderungen und verlassen Sie den Editor.

Bearbeiten Sie nun die PHP-FPM-Konfigurationsdatei’www.conf‘.

vim /etc/php-fpm.d/www.conf

Ändern Sie den Wert der Benutzer- und Gruppenleitung auf’nginx‘.

user = nginx
group = nginx

Ändern Sie nun den Wert der Variablen’listen‘ auf die Datei’php-fpm.sock‘, wie unten gezeigt.

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

Wir müssen die Berechtigungen der Sock-Datei konfigurieren, ebenso wie den Besitzer des Verzeichnisses der Sock-Datei. Entkommentieren Sie die Zeile listen.owner und listen.group und ändern Sie die entsprechenden Werte in’nginx‘.

listen.owner = nginx
listen.group =nginx
listen.mode = 0660

Für eine zusätzliche Konfiguration können Sie die folgenden Zeilen auskommentieren.

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

Das ist es. Das ist es. Speichern und beenden.

Als nächstes erstellen Sie ein neues Verzeichnis für die Session-Pfad-Konfiguration.

Führen Sie die folgenden Befehle zum Erstellen des Sitzungsverzeichnisses aus.

mkdir -p /var/lib/php/session/
chown -R nginx:nginx /var/lib/php/session/

Starten Sie anschließend den PHP-FPM-Dienst und aktivieren Sie ihn so, dass er beim Systemstart automatisch ausgeführt wird.

systemctl start php-fpm
systemctl enable php-fpm

Überprüfen Sie PHP-FPM mit dem Befehl netstat unten.

netstat -pl | grep php

Und stellen Sie sicher, dass Sie die Datei php-fpm.sock als Ergebnis erhalten.

Schritt 3 – MariaDB-Datenbank installieren und konfigurieren

MediaWiki unterstützt MySQL/MariaDB und SQLite Datenbanken. In diesem Tutorial werden wir jedoch die MariaDB-Datenbank verwenden.

Installieren Sie MariaDB zunächst mit dem Befehl yum unten.

yum -y install mariadb mariadb-server

Nachdem die Installation abgeschlossen ist, starten Sie mariadb und aktivieren Sie es beim Systemstart.

systemctl start mariadb
systemctl enable mariadb

Nun müssen wir das Passwort „root“ für die MariaDB-Datenbank konfigurieren. Führen Sie den folgenden Befehl aus, um das Passwort für MariaDB ‚root‘ zu konfigurieren.

mysql_secure_installation

Geben Sie’Y‘ ein und drücken Sie die Eingabetaste.

Set root password? [Y/n] Y
TYPE ROOT PASSWORD HERE
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

MariaDB wurde auf dem CentOS 7-System installiert und das Passwort für den Benutzer „root“ konfiguriert.

Als nächstes werden wir eine neue Datenbank für MediaWiki erstellen. Konkret werden wir eine neue Datenbank namens‘mediawikidb‚ mit neuem Benutzer/Besitzer‘mediawiki‚ und Passwort‘mypassword‚ erstellen.

Verbinden Sie sich mit der mysql-Shell mit dem Befehl mysql.

mysql -u root -p
TYPE YOUR ROOT PASSWORD

Führen Sie nun die folgenden mysql-Abfragen aus, um eine neue Datenbank für MediaWiki zu erstellen.

create database mediawikidb;
grant all privileges on mediawikidb.* to mediawiki@'localhost' identified by 'mypassword';
flush privileges;
exit;

Neue Datenbank und Benutzer für die MediaWiki-Installation wurde erstellt.

Schritt 4 – MediaWiki herunterladen und konfigurieren

In diesem Tutorial verwenden wir die neueste Version (1.30) von MediaWiki und laden den gesamten MediaWiki-Quellcode aus dem Repository herunter. Also brauchen wir git und einige Pakete, die auf dem System installiert sind.

Installiere git und andere Pakete mit dem Befehl yum unten.

yum -y install git zip unzip composer

Nachdem die Installation abgeschlossen ist, erstellen Sie das neue Verzeichnis’/var/wwww/mediawiki‘ und klonen Sie den mediawiki-Quellcode in dieses Verzeichnis.

mkdir -p /var/www/mediawiki
git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git /var/www/mediawiki

Als nächstes gehen Sie in das Verzeichnis’/var/wwww/mediawiki‘ und installieren einige PHP-Abhängigkeiten, die für die Installation von MediaWiki mit dem Befehl composer benötigt werden, wie unten gezeigt.

cd /var/www/mediawiki
composer install --no-dev

Ändern Sie nun die Eigentümerrechte des mediawiki-Verzeichnisses auf’nginx‘ (sowohl Benutzer als auch Gruppe).

chown -R nginx:nginx /var/www/mediawiki

Die MediaWiki-Quelle wurde in das Verzeichnis’/var/www/mediawiki‘ heruntergeladen und alle Abhängigkeiten wurden installiert.

Schritt 5 – SSL-Letsenverschlüsselung auf CentOS 7 generieren

Aus Sicherheitsgründen wird MediaWiki nur auf der HTTPS-Verbindung ausgeführt. Und alle Anfragen an HTTP werden vom Nginx-Webserver an HTTPS weitergeleitet.

Um das MediaWiki unter der sicheren HTTPS-Verbindung laufen zu lassen, benötigen wir SSL-Zertifikate. Deshalb werden wir das kostenlose SSL-Zertifikat von Letsencrypt verwenden.

Install lets encrypt Kommandozeilen-Tool mit dem Befehl yum unten.

yum -y install letsencrypt

Nachdem die Installation abgeschlossen ist, beenden Sie den Nginx-Dienst mit dem Befehl systemctl.

systemctl stop nginx

Als nächstes werden wir ein neues SSL-Zertifikat mit dem Befehl letsencrypt erstellen. Aber vorher sollten Sie sicherstellen, dass die HTTP- und HTTPS-Dienste zu Firewalld hinzugefügt wurden.

So fügen Sie neue HTTP- und HTTPS-Dienste zu Firewalld hinzu.

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

Generieren Sie neue kostenlose SSL lässt das Zertifikat mit dem Befehl letsencrypt unten verschlüsseln.

letsencrypt certonly

Der Befehl fragt Sie nach der ACME-Authentifizierung. Wählen Sie die Nummer’1′, um den temporären Webserver zu drehen.

Geben Sie anschließend Ihre E-Mail-Adresse für die Verlängerungsbenachrichtigung ein, geben Sie dann ‚A‘ ein, um den Letsencrypt Terms Of Services (TOS) zuzustimmen, und geben Sie schließlich Ihren Wiki-Domainnamen ein.

Nach allem, was getan wurde, erhalten Sie ein ähnliches Ergebnis wie das untenstehende.

Neues SSL-Zertifikat von Letsencrypt wurde generiert und im Verzeichnis’/etc/letsencrypt/live‘ gespeichert.

Schritt 6 – Nginx virtuellen Host für MediaWiki konfigurieren

In diesem Schritt erstellen wir eine neue Nginx Virtual Host Konfiguration für MediaWiki.

Gehen Sie in das Verzeichnis ‚/etc/nginx‘ und erstellen Sie mit dem vim-Editor eine neue Konfigurationsdatei ‚mediawiki.conf‘.

cd /etc/nginx/
vim conf.d/mediawiki.conf

Füge die Konfiguration unten ein.

# HTTP Request will be Redirected to the HTTPS
server {
    listen 80;
    listen [::]:80;
    server_name wiki.hakase-labs.co;
    return 301 https://$host$request_uri;
}
# HTTPS Configuration
server {

listen 443 ssl;
listen [::]:443;

server_name wiki.hakase-labs.co;
root /var/www/mediawiki;

index index.php;
autoindex off;

# SSL Certificate Configuration
ssl_certificate /etc/letsencrypt/live/wiki.hakase-labs.co/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/wiki.hakase-labs.co/privkey.pem;

client_max_body_size 5m;
client_body_timeout 60;

location / {
try_files $uri $uri/ @rewrite;
}

location @rewrite {
rewrite ^/(.*)$ /index.php?title=$1&$args;
}

location ^~ /maintenance/ {
return 403;
}

# PHP-FPM Configuration Nginx
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
try_files $uri /index.php;
expires max;
log_not_found off;
}

location = /_.gif {
expires max;
empty_gif;
}

location ^~ ^/(cache|includes|maintenance|languages|serialized|tests|images/deleted)/ {
deny all;
}

location ^~ ^/(bin|docs|extensions|includes|maintenance|mw-config|resources|serialized|tests)/ {
internal;
}

# Security for 'image' directory
location ~* ^/images/.*.(html|htm|shtml|php)$ {
types { }
default_type text/plain;
}

# Security for 'image' directory
location ^~ /images/ {
try_files $uri /index.php;
}

}

Das ist es. Das ist es. Speichern Sie die Änderungen und verlassen Sie den Editor.

Hinweis:

  • Ändern Sie den Domainnamen in Ihre eigene Domain.
  • Ändern des Pfades von SSL-Zertifikatsdateien

Testen Sie nun die Nginx-Konfiguration und stellen Sie sicher, dass kein Fehler vorliegt, und starten Sie dann den Nginx-Dienst neu.

nginx -t
systemctl restart nginx

Die Nginx Virtual Host-Konfiguration für MediaWiki wurde hinzugefügt, und wir sind bereit, MediaWiki über den Webbrowser zu installieren.

Schritt 7 – MediaWiki Webbasierte Installation

Öffnen Sie Ihren Webbrowser und geben Sie die MediaWiki URL ein.

http://wiki.hakase-labs.co/

Sie werden zur HTTPS-Verbindung weitergeleitet. Klicken Sie auf der Webseite auf den Link’Wiki einrichten‘.

Sprachkonfiguration

Wählen Sie die englische Sprache „en“ und klicken Sie auf „Weiter“.

Umgebungsprüfung

Stellen Sie sicher, dass alle Serverkonfigurationen die Umgebungsprüfungen bestanden haben.

Klicken Sie dann auf’Weiter‘.

Datenbank-Konfiguration

Geben Sie den Datenbanknamen als’mediawikidb‘ und den Benutzernamen’mediawiki‘ mit dem Passwort’mypassword‘ ein.

Klicken Sie nun auf’Weiter‘.

Datenbankeinstellungen

Lassen Sie es als Standard und klicken Sie auf’Weiter‘.

Neuen Admin-Benutzer anlegen

Geben Sie Ihren eigenen Admin-Benutzer, Ihre E-Mail-Adresse und Ihr Passwort ein, und klicken Sie dann auf „Weiter“.

MediaWiki Zusätzliche Konfiguration

Nun kommen wir auf die Seite über’MediaWiki Zusätzliche Konfiguration‘, wie unten gezeigt.

Lassen Sie alle Felder mit Standardwerten und klicken Sie auf’Weiter‘.

MediaWiki Installation

Klicken Sie auf „Weiter“, um das MediaWiki zu installieren.

Und du kommst auf die Seite unten.

Klicken Sie erneut auf „Weiter“.

Und die MediaWiki-Installation ist abgeschlossen. Wir werden aufgefordert, eine neue Datei ‚LocalSettings.php‘ herunterzuladen – laden Sie diese Datei herunter.

Als nächstes müssen wir die neu heruntergeladene Datei’LocalSetting.php‘ in das MediaWiki-Verzeichnis’/var/wwww/mediawiki‘ auf dem Server hochladen. Vergessen Sie auch nicht, die Eigentümerrechte der Datei auf’www-data‘ (sowohl Benutzer als auch Gruppe) zu ändern.

scp LocalSettings.php root@hakase-labs.co:/var/www/mediawiki/
chown -R www-data:www-data /var/www/mediawiki

Gehen Sie zurück zu Ihrer MediaWiki-Installationsseite des Webbrowsers und klicken Sie auf den Link’Geben Sie Ihr Wiki ein‘. Sie werden sehen, dass MediaWiki mit Nginx-Webserver auf CentOS 7-Server installiert wurde.

Schritt 8 – Herunterladen und Konfigurieren des MediaWiki-Standard-Skin

Zu diesem Zeitpunkt ist die Installation von MediaWiki abgeschlossen. Und in diesem Schritt werden wir das Standard-Skin/Theme unserer MediaWiki-Site konfigurieren.

Gehen Sie in das Verzeichnis’/var/wwww/mediawiki/skins‘ und klonen Sie den Standard-Skin namens’Vector‘ in dieses Verzeichnis.

cd /var/www/mediawiki/skins/
sudo git clone https://gerrit.wikimedia.org/r/mediawiki/skins/Vector

Ändern Sie den Besitzer des Vektor-Skin-Verzeichnisses auf’nginx‘ Benutzer und Gruppe.

chown -R nginx:nginx /var/www/mediawiki/skins/

Bearbeiten Sie nun die Datei’LocalSettings.php‘ mit dem vim-Editor.

vim /var/www/mediawiki/LocalSettings.php

Und fügen Sie den folgenden PHP-Code am Ende der Datei ein.

wfLoadSkin( 'Vector' );

Das ist es. Das ist es. Speichern und beenden.

Kehren Sie zu Ihrem Webbrowser zurück und aktualisieren Sie die MediaWiki-Seite. Stellen Sie sicher, dass Sie MediaWiki mit Vector-Skin wie unten beschrieben sehen.

Die MediaWiki-Installation und -Konfiguration mit Nginx-Webserver auf CentOS 7 wurde erfolgreich abgeschlossen.

Referenz

Das könnte Dich auch interessieren …