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

So installieren Sie MediaWiki mit Nginx unter CentOS 7

MediaWiki ist eine beliebte Wiki-Software, die ursprünglich für die Verwendung auf Wikipedia entwickelt wurde. Es ist eine kostenlose und Open-Source-Wiki-Software, die in der Programmiersprache PHP geschrieben ist. Das Tool wurde 2002 von Magnus Manske zum Leben erweckt und ist jetzt in Version 1.30. MediaWiki wurde von vielen großen Unternehmen verwendet, darunter Nginx, Intel, Novell usw.

In diesem Tutorial werden wir besprechen, wie Sie MediaWiki mit dem Nginx-Webserver unter CentOS 7 Schritt für Schritt installieren. Wir führen Sie auch durch die Installation und Konfiguration des LEMP-Stacks für die MediaWiki-Installation, einschließlich der Generierung und Konfiguration eines neuen kostenlosen SSL-Letsencrypt für MediaWiki-Sicherheit.

Was wir tun werden

  1. Nginx unter CentOS 7 installieren
  2. Installieren und konfigurieren Sie PHP-FPM
  3. Installieren und konfigurieren Sie die MariaDB-Datenbank
  4. Laden Sie MediaWiki herunter und konfigurieren Sie es
  5. Neues SSL Letsencrypt auf CentOS 7 generieren
  6. Konfigurieren Sie den virtuellen Nginx-Host für die MediaWiki-Installation
  7. Webbasierte MediaWiki-Installation
  8. Standard-Skin von MediaWiki konfigurieren

Voraussetzungen

  • CentOS 7-Server
  • Root-Rechte

Schritt 1 – Nginx unter CentOS 7 installieren

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

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

yum -y update
yum -y install epel-release

Installieren Sie als Nächstes den Nginx-Webserver.

yum -y install nginx

Nachdem die Nginx-Installation abgeschlossen ist, starten Sie den Server und aktivieren Sie ihn so, dass er beim Systemstart automatisch ausgeführt wird.

systemctl start nginx
systemctl enable nginx

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

netstat -plntu

Schritt 2 – PHP-FPM installieren und konfigurieren

In diesem Tutorial verwenden wir PHP 7.0. 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 erforderlichen Erweiterungen mit dem untenstehenden yum-Befehl 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 konfigurieren wir den PHP-FPM-Dienst. Wir werden die Datei php.ini bearbeiten, um die CGI-Pfadinformationen zu konfigurieren, und dann die Konfiguration „www.conf“ bearbeiten, um den PHP-FPM-Dienst zu konfigurieren. Wir werden dann PHP-FPM so konfigurieren, dass es unter der Sock-Datei ausgeführt wird (mit Benutzer und Gruppe „nginx“).

Bearbeiten Sie die Datei „php.ini“ mit dem vim-Editor.

vim /etc/php.ini

Entkommentieren Sie die folgende Zeile und ändern Sie den Wert auf 0.

cgi.fix_pathinfo=0

Speichern Sie die Änderungen und beenden Sie den Editor.

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

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

Ändern Sie den Benutzer- und Gruppenzeilenwert in „nginx“.

user = nginx
group = nginx

Ändern Sie nun den Wert der Variable „listen“ in die Datei „php-fpm.sock“, wie unten gezeigt.

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

Wir müssen die Berechtigungen der Sockendatei sowie den Eigentümer des Sockendateiverzeichnisses konfigurieren. Entkommentieren Sie die Zeilen listen.owner und listen.group und ändern Sie die entsprechenden Werte in „nginx“.

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

Kommentieren Sie für zusätzliche Konfiguration die Zeilen unten aus.

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

Das ist es. Speichern und beenden.

Erstellen Sie als Nächstes ein neues Verzeichnis für die Sitzungspfadkonfiguration.

Führen Sie die folgenden Befehle aus, um das Sitzungsverzeichnis zu erstellen.

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 untenstehenden netstat-Befehl.

netstat -pl | grep php

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

Schritt 3 – Installieren und konfigurieren Sie die MariaDB-Datenbank

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

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

yum -y install mariadb mariadb-server

Nachdem die Installation abgeschlossen ist, starten Sie Mariadb und ermöglichen Sie es, beim Systemstart zu starten.

systemctl start mariadb
systemctl enable mariadb

Jetzt müssen wir das ‚root‘-Passwort für die MariaDB-Datenbank konfigurieren. Führen Sie den folgenden Befehl aus, um das MariaDB-Root-Passwort 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 erstellen wir eine neue Datenbank für MediaWiki. Insbesondere werden wir eine neue Datenbank mit dem Namen „mediawikidb“ erstellen ', mit neuem Benutzer/Eigentümer 'mediawiki ' und das Passwort 'meinpasswort '.

Stellen Sie mit dem mysql-Befehl eine Verbindung zur mysql-Shell her.

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 [email protected]'localhost' identified by 'mypassword';
flush privileges;
exit;

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

Schritt 4 – Laden Sie MediaWiki herunter und konfigurieren Sie es

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.

Installieren Sie git und andere Pakete mit dem untenstehenden yum-Befehl.

yum -y install git zip unzip composer

Erstellen Sie nach Abschluss der Installation ein neues Verzeichnis „/var/www/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

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, wie unten gezeigt.

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

Ändern Sie nun die Eigentumsberechtigungen 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 – Generieren Sie SSL Letsencrypt auf CentOS 7

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

Um das MediaWiki unter der sicheren HTTPS-Verbindung auszuführen, benötigen wir SSL-Zertifikate. Daher verwenden wir das kostenlose SSL-Zertifikat von Letsencrypt.

Installieren Sie das Befehlszeilentool „lets encrypt“ mit dem folgenden Befehl „yum“.

yum -y install letsencrypt

Beenden Sie nach Abschluss der Installation den Nginx-Dienst mit dem Befehl systemctl.

systemctl stop nginx

Als Nächstes generieren wir mit dem Befehl letsencrypt ein neues SSL-Zertifikat. Stellen Sie jedoch vorher sicher, dass die HTTP- und HTTPS-Dienste zu Firewalld hinzugefügt wurden.

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

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

Generieren Sie ein neues kostenloses SSL Lets Encrypt-Zertifikat mit dem Befehl letsencrypt unten.

letsencrypt certonly

Der Befehl fragt Sie nach der ACME-Authentifizierung. Wählen Sie die Nummer „1“, um den temporären Webserver zu starten.

Geben Sie als Nächstes Ihre E-Mail-Adresse für die Erneuerungsbenachrichtigung ein, geben Sie dann „A“ ein, um den Letsencrypt-Nutzungsbedingungen (TOS) zuzustimmen, und geben Sie schließlich Ihren Wiki-Domänennamen ein.

Danach erhalten Sie ein ähnliches Ergebnis wie das unten gezeigte.

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

Schritt 6 – Konfigurieren Sie den virtuellen Nginx-Host für MediaWiki

In diesem Schritt erstellen wir eine neue virtuelle Nginx-Hostkonfiguration 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

Konfiguration unten einfügen.

# 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. Speichern Sie die Änderungen und beenden Sie den Editor.

Hinweis:

  • Ändern Sie den Domainnamen in Ihre eigene Domain.
  • Ändern Sie den Pfad der 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 Konfiguration des virtuellen Nginx-Hosts für MediaWiki wurde hinzugefügt, und wir sind bereit, MediaWiki über den Webbrowser zu installieren.

Schritt 7 - Webbasierte MediaWiki-Installation

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

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

Sie werden auf die HTTPS-Verbindung umgeleitet. Klicken Sie auf der Webseite auf den Link „Wiki einrichten“.

Sprachkonfiguration

Wählen Sie die Sprache Englisch 'en' und klicken Sie auf 'Weiter'.

Umgebungsprüfung

Stellen Sie sicher, dass die gesamte Serverkonfiguration die Umgebungsprüfungen bestanden hat.

Klicken Sie dann auf „Weiter“.

Datenbankkonfiguration

Geben Sie den Datenbanknamen als „mediawikidb“ und den Benutzernamen „mediawiki“ mit dem Passwort „mypassword“ ein.

Klicken Sie nun auf „Weiter“.

Datenbankeinstellungen

Belassen Sie es als Standard und klicken Sie auf „Weiter“.

Neuen Admin-Benutzer erstellen

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

Zusätzliche MediaWiki-Konfiguration

Jetzt gelangen wir auf die Seite über 'MediaWiki Additional Configuration', wie unten gezeigt.

Belassen Sie alle Felder mit den Standardwerten und klicken Sie auf „Weiter“.

MediaWiki-Installation

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

Und Sie gelangen auf die folgende Seite.

Klicken Sie erneut auf „Weiter“.

Und die MediaWiki-Installation ist abgeschlossen. Wir werden aufgefordert, die 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/www/mediawiki“ auf dem Server hochladen. Vergessen Sie auch nicht, die Eigentumsrechte der Datei auf „www-data“ (sowohl Benutzer als auch Gruppe) zu ändern.

scp LocalSettings.php [email protected]:/var/www/mediawiki/
chown -R www-data:www-data /var/www/mediawiki

Kehren Sie zur MediaWiki-Installationsseite Ihres Webbrowsers zurück und klicken Sie auf den Link „Geben Sie Ihr Wiki ein“. Sie werden sehen, dass MediaWiki mit dem Nginx-Webserver auf dem CentOS 7-Server installiert wurde.

Schritt 8 – Standard-Skin von MediaWiki herunterladen und konfigurieren

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

Gehen Sie in das Verzeichnis „/var/www/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 Eigentümer des Vector-Skin-Verzeichnisses in den Benutzer und die Gruppe „nginx“.

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. Speichern und beenden.

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

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


Cent OS
  1. So installieren Sie Nginx unter CentOS 7

  2. So installieren Sie WordPress mit Nginx unter CentOS 7

  3. Installieren Sie Nginx mit ngx_pagespeed unter CentOS 7

  4. So installieren Sie phpMyAdmin mit Nginx unter CentOS 7 / RHEL 7

  5. So installieren Sie Sitemagic CMS auf CentOS 7 – mit Nginx

So installieren Sie MediaWiki auf CentOS 8

So installieren Sie Nginx mit ngx_pagespeed unter CentOS

So installieren Sie Nginx mit PHP-FastCGI unter CentOS 6

So installieren Sie Magento mit Nginx unter CentOS 7

So installieren Sie Laravel mit Nginx unter CentOS 8

Wie installiere ich Nginx unter CentOS 7?