In diesem Tutorial zeige ich Ihnen Schritt für Schritt, wie Sie MediaWiki mit Nginx-Webserver auf Ubuntu 16.04 installieren. Ich werde Sie bei der Installation und Konfiguration des LEMP-Stacks für die MediaWiki-Installation anleiten, einschließlich der Generierung und Konfiguration des neuen kostenlosen SSL-Letsencrypt für die MediaWiki-Sicherheit.
MediaWiki ist eine der beliebtesten Wiki-Software, die ursprünglich für die Verwendung auf Wikipedia entwickelt wurde. Es ist eine kostenlose Open-Source-Software, die in der Programmiersprache PHP geschrieben wurde und sich zur dominierendsten Software in der Wiki-Kategorie entwickelt hat. Ursprünglich von Magnus Manske im Jahr 2002 entwickelt, liegt das Tool jetzt in der Version 1.30 vor. MediaWiki wurde von vielen großen Unternehmen/Organisationen verwendet, darunter Nginx, Intel, Novell und NASA.
Was wir tun werden:
- Installieren Sie Nginx unter Ubuntu 16.04
- Installieren und konfigurieren Sie PHP-FPM
- MySQL-Datenbank installieren und konfigurieren
- MediaWiki herunterladen und konfigurieren
- Neues SSL Letsencrypt auf Ubuntu 16.04 generieren
- Konfigurieren Sie den virtuellen Nginx-Host für die MediaWiki-Installation
- Webbasierte MediaWiki-Installation
- Standard-Skin MediaWiki konfigurieren
Voraussetzungen
- Ubuntu 16.04-Server
- Root-Rechte
Schritt 1 – Nginx unter Ubuntu 16.04 installieren
Der erste Schritt, den wir für die MediaWiki-Installation tun müssen, ist die Installation des Webservers. In diesem Abschnitt werden wir also den Nginx-Webserver installieren, den Nginx-Dienst starten und ihn dann so aktivieren, dass er beim Systemstart automatisch gestartet wird.
Stellen Sie vor der Installation des Webservers eine Verbindung zu Ihrem Server her, aktualisieren Sie alle Repositories und führen Sie dann ein Upgrade durch.
sudo apt update
sudo apt upgrade -y
Installieren Sie nun Nginx mit dem folgenden apt-Befehl.
sudo apt install nginx -y
Starten Sie danach nginx und aktivieren Sie es, um es beim Systemstart zu starten.
systemctl start nginx
systemctl enable nginx
Überprüfen Sie nun den HTTP-Port mit netstat und stellen Sie sicher, dass Port 80 von Nginx verwendet wird.
netstat -plntu
Der Nginx-Webserver wurde auf Ubuntu 16.04 installiert.
Schritt 2 – PHP-FPM installieren und konfigurieren
Jetzt werden wir das PHP-FPM auf Ubuntu 16.04 installieren. Und wir werden PHP 7.0 für die MediaWiki-Installation verwenden.
Installieren Sie PHP und PHP-FPM (zusammen mit allen erforderlichen Erweiterungen) mit dem folgenden apt-Befehl.
sudo apt install imagemagick php7.0-fpm php7.0-intl php7.0-xml php7.0-curl php7.0-gd php7.0-mbstring php7.0-mysql php-apcu
Und nachdem die Installation abgeschlossen ist, müssen wir einige Standardkonfigurationen für PHP-FPM ändern. Wir müssen die maximale Dateigröße für den Upload sowie die Speicherbegrenzungskonfigurationen erhöhen.
Gehen Sie in das PHP-Konfigurationsverzeichnis und bearbeiten Sie die php-fpm-Datei „php.ini“ mit vim.
cd /etc/php/7.0
vim fpm/php.ini
Erhöhen Sie die 'upload_max_filesize'-Konfiguration auf '20 MB' und erhöhen Sie das 'memory_limit' auf '128 MB'.
upload_max_filesize = 20M
memory_limit = 128M
Speichern und beenden.
Starten Sie nun den PHP-FPM-Dienst neu und aktivieren Sie ihn so, dass er beim Booten automatisch mit den folgenden systemctl-Befehlen gestartet wird.
systemctl restart php7.0-fpm
systemctl enable php7.0-fpm
PHP-FPM läuft jetzt auf Ubuntu 16.04 und läuft unter der Sockendatei. Überprüfen Sie es mit dem untenstehenden netstat-Befehl.
netstat -pl | grep php
Und Sie erhalten die unten gezeigte PHP-FPM-Sock-Datei.
Schritt 3 – MySQL-Datenbank installieren und konfigurieren
MediaWiki speichert alle Daten und Inhalte in der Datenbank und ist mit einer Vielzahl von Datenbankservern kompatibel. Für diese Anleitung verwenden wir die MySQL-Datenbank für die MediaWiki-Installation.
In diesem Schritt installieren wir den MySQL-Datenbankserver und erstellen dann eine neue Datenbank und einen neuen Benutzer für MediaWiki.
Installieren Sie die MySQL-Datenbank auf Ubuntu 16.04 mit dem folgenden apt-Befehl.
sudo apt install mysql-server mysql-client -y
Sie werden nach dem MySQL-Root-Passwort gefragt – geben Sie Ihr eigenes Passwort ein und drücken Sie die Eingabetaste.
Wiederholen Sie Ihr MySQL-Root-Passwort.
Die MySQL-Installation ist abgeschlossen. Starten Sie nun MySQL und aktivieren Sie es mit den folgenden systemctl-Befehlen zum Starten beim Booten.
systemctl start mysql
systemctl enable mysql
Als nächstes erstellen wir eine neue Datenbank und einen neuen Benutzer für MediaWiki. Wir werden eine neue Datenbank mit dem Namen „mediawikidb“ erstellen ' mit dem Benutzer 'mediawiki ' und das Passwort 'meinpasswort '.
Stellen Sie mit dem folgenden mysql-Befehl eine Verbindung zum MySQL-Server her.
mysql -u root -p
Erstellen Sie nun die Datenbank und den Benutzer mit den folgenden MySQL-Abfragen.
create database mediawikidb;
grant all privileges on mediawikidb.* to [email protected]'localhost' identified by 'mypassword';
flush privileges;
exit;
MySQL-Server auf Ubuntu 16.04 installiert und die Datenbank für die MediaWiki-Installation wurde erstellt.
Schritt 4 – MediaWiki herunterladen und konfigurieren
Für diese Anleitung verwenden wir die neueste MediaWiki-Version 1.30. Und bevor wir MediaWiki herunterladen, müssen wir einige Pakete auf dem Server installieren.
Führen Sie den folgenden apt-Befehl aus, um neue Pakete zu installieren.
sudo apt install composer git zip unzip -y
Erstellen Sie nun ein neues ‚mediawiki‘-Verzeichnis 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
Gehen Sie als nächstes in das Verzeichnis ‚/var/www/mediawiki‘ und installieren Sie einige PHP-Abhängigkeiten, die für die MediaWiki-Installation benötigt werden, mit dem Composer-Befehl.
cd /var/www/mediawiki
composer install --no-dev
Nachdem die Installation aller PHP-Abhängigkeiten abgeschlossen ist, ändern Sie den Eigentümer des Mediawiki-Verzeichnisses in „www-data“ Benutzer und Gruppe.
chown -R www-data:www-data /var/www/mediawiki
Die neueste Version von MediaWiki 1.30 wird im Verzeichnis „/var/www/mediawiki“ heruntergeladen.
Schritt 5 – Generieren Sie SSL Letsencrypt auf Ubuntu 16.04
Aus Sicherheitsgründen werden wir MediaWiki unter der HTTPS-Verbindung ausführen. Alle HTTP-Verbindungen werden automatisch auf HTTPS umgeleitet. Und dafür brauchen wir SSL-Zertifikate. Wir werden kostenloses SSL von Letsencrypt verwenden.
Um neue SSL-Zertifikate von Letsencrypt zu generieren, müssen wir die letsencrypt-Befehlszeile auf dem Server installieren. Verwenden Sie dazu den folgenden Befehl:
sudo apt install letsencrypt -y
Stoppen Sie nach Abschluss der Installation den Nginx-Webserver.
systemctl stop nginx
Als nächstes generieren Sie neue SSL-Zertifikate mit dem Befehl letsencrypt unten.
letsencrypt certonly
Sie werden nach Ihrer E-Mail-Adresse gefragt - sie wird für die Benachrichtigung über die Erneuerung des Zertifikats verwendet.
Geben Sie also Ihre E-Mail-Adresse ein und wählen Sie „OK“.
Wählen Sie für die Letsencrypt TOS (Nutzungsbedingungen) „Zustimmen“ und drücken Sie die Eingabetaste.
Und jetzt geben Sie Ihren Wiki-Domainnamen ein, meiner ist 'wiki.hakase-labs.co'.
Und wenn alles fertig ist, erhalten Sie das unten gezeigte Ergebnis.
SSL-Zertifikate für die MediaWiki-Installation wurden im Verzeichnis „/etc/letsencrypt/live“ generiert.
Schritt 6 – Konfigurieren Sie den virtuellen Nginx-Host von MediaWiki
Der LEMP-Stack (Linux, Nginx, MySQL und PHP-FPM) für die MediaWiki-Installation wurde eingerichtet und der MediaWiki-Quellcode wurde in das Verzeichnis „/var/www/mediawiki“ heruntergeladen.
In diesem Schritt erstellen wir eine neue virtuelle Nginx-Hostdatei „mediawiki“ und aktivieren dann den virtuellen Host.
Wechseln Sie in das Nginx-Konfigurationsverzeichnis und erstellen Sie mit vim eine neue virtuelle Hostdatei „mediawiki“.
cd /etc/nginx/
vim sites-available/mediawiki
Fügen Sie dort den folgenden virtuellen Nginx-Host für die MediaWiki-Konfiguration 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 Configuration
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
}
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;
}
}
Ändern Sie nach Bedarf/Fall und speichern und verlassen Sie dann.
Als nächstes aktivieren Sie einen neuen virtuellen Mediawiki-Host mit dem folgenden Befehl.
ln -s /etc/nginx/sites-available/mediawiki /etc/nginx/sites-enabled/
Testen Sie die nginx-Konfiguration und stellen Sie sicher, dass kein Fehler vorliegt. Starten Sie dann den Dienst neu.
nginx -t
systemctl restart nginx
Ein neuer HTTPS-Port 443 wird auf Ihrem Server geöffnet - überprüfen Sie ihn mit dem netstat-Befehl auf folgende Weise.
netstat -plntu
Unten sehen Sie das Ergebnis.
Schritt 7 - Webbasierte MediaWiki-Installation
Öffnen Sie nun Ihren Webbrowser und geben Sie Ihren Domainnamen in die Adressleiste ein.
http://wiki.hakase-labs.co
Und Sie werden auf die HTTPS-Verbindung umgeleitet.
Klicken Sie auf der Seite auf den Link „Wiki einrichten“, um MediaWiki zu konfigurieren.
- Sprachkonfiguration
Wählen Sie Ihre eigene Sprache, wir wählen „Englisch“ und klicken auf „Weiter“.
- Umgebungsprüfung
Und jetzt führt MediaWiki eine Umgebungsprüfung durch. Stellen Sie sicher, dass Sie das unten gezeigte Ergebnis erhalten.
Klicken Sie zur Installation auf „Weiter“.
- Datenbankkonfiguration
Nun zur Datenbankkonfiguration. Geben Sie im Feld „Datenbankname“ „mediawikidb“ mit dem Präfix „wiki_“ ein. Geben Sie als Nächstes den Datenbankbenutzer „mediawiki“ und das Passwort „mypassword“ ein.
Und klicken Sie auf „Weiter“.
- Datenbankeinstellungen
Belassen Sie die Datenbankeinstellungen einfach auf den Standardeinstellungen und klicken Sie auf „Weiter“.
- Erstellen Sie einen Admin-Benutzer
Jetzt müssen wir das Administratorkonto erstellen. Geben Sie Ihren eigenen Benutzernamen, Ihr Passwort und Ihre E-Mail-Adresse wie unten gezeigt ein.
Und klicken Sie auf „Weiter“.
- Zusätzliche MediaWiki-Konfiguration
Und Sie sollten auf die Seite über 'MediaWiki Additional Configuration' gelangen.
Belassen Sie es bei den Standardwerten und klicken Sie auf „Weiter“.
- MediaWiki-Installation
Klicken Sie nun erneut auf „Weiter“, um MediaWiki zu installieren.
Und Sie gelangen zu einer Seite ähnlich der unten gezeigten.
Klicken Sie erneut auf „Weiter“.
Jetzt sehen Sie die Seite, die besagt, dass die Installation abgeschlossen ist. Sie werden aufgefordert, die neue Datei „LocalSettings.php“ herunterzuladen – laden Sie die Datei herunter.
Laden Sie die Datei „LocalSetting.php“ in das Server-Mediawiki-Verzeichnis „/var/www/mediawiki“ hoch. Vergessen Sie auch nicht, den Eigentümer der Datei auf „www-data“-Benutzer und -Gruppe zu ändern.
scp LocalSettings.php [email protected]:/var/www/mediawiki/
chown -R www-data:www-data /var/www/mediawiki
Kehren Sie nun zur MediaWiki-Installationsseite Ihres Webbrowsers zurück und klicken Sie auf den Link „Geben Sie Ihr Wiki ein“. Sie werden darüber informiert, dass MediaWiki mit dem Nginx-Webserver auf dem Ubuntu 16.04-Server installiert wurde.
Schritt 8 – Standard-Skin herunterladen und konfigurieren
Zu diesem Zeitpunkt ist die mediawiki-Installation abgeschlossen. Und in diesem Schritt konfigurieren wir das Standard-Skin/Design.
Gehen Sie in das Verzeichnis „/var/www/mediawiki/skins“ und klonen Sie den Standard-Skin „Vector“.
cd /var/www/mediawiki/skins/
sudo git clone https://gerrit.wikimedia.org/r/mediawiki/skins/Vector
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. Speichern und beenden.
Kehren Sie zu Ihrem Webbrowser zurück und aktualisieren Sie die MediaWiki-Seite. Stellen Sie sicher, dass Sie das MediaWiki mit dem 'Vector'-Skin erhalten, wie unten gezeigt.
Die Installation und Konfiguration von MediaWiki mit dem Nginx-Webserver auf Ubuntu 16.04 wurde erfolgreich abgeschlossen.