GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie MediaWiki mit Nginx unter Ubuntu 16.04

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:

  1. Installieren Sie Nginx unter Ubuntu 16.04
  2. Installieren und konfigurieren Sie PHP-FPM
  3. MySQL-Datenbank installieren und konfigurieren
  4. MediaWiki herunterladen und konfigurieren
  5. Neues SSL Letsencrypt auf Ubuntu 16.04 generieren
  6. Konfigurieren Sie den virtuellen Nginx-Host für die MediaWiki-Installation
  7. Webbasierte MediaWiki-Installation
  8. 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.


Ubuntu
  1. So installieren Sie WordPress mit Nginx unter Ubuntu 18.04

  2. So installieren Sie phpMyAdmin mit Nginx unter Ubuntu 18.04

  3. So installieren Sie MediaWiki mit Nginx unter CentOS 7

  4. So installieren Sie Grav CMS mit Nginx unter Ubuntu 16.04

  5. So installieren Sie PHP 7.4 mit Nginx unter Ubuntu 20.04

So installieren Sie Nginx mit ModSecurity unter Ubuntu 15.04

So installieren Sie MediaWiki auf Ubuntu 20.04 mit Apache/Nginx

So installieren Sie Nextcloud 13 auf Ubuntu 16.04 mit Nginx

So installieren Sie MediaWiki auf Ubuntu 16.04/17.04 mit Apache oder Nginx

So installieren Sie Nginx unter Ubuntu 15.04

So installieren Sie MediaWiki unter Ubuntu 20.04