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

So installieren Sie MediaWiki auf Ubuntu 20.04 mit Apache/Nginx

Dieses Tutorial zeigt Ihnen, wie Sie MediaWiki unter Ubuntu 20.04 installieren . MediaWiki ist die Backend-Software, die Wikipedia antreibt. Es ist kostenlos Open Source und die heute am weitesten verbreitete Wiki-Software. Zu den bekannten Nutzern von MediaWiki gehören Wikipedia.org und wikia.com.

Sie können MediaWiki verwenden, um Ihre eigene private oder öffentliche Wiki-Site zu erstellen. MediaWiki hat viele nützliche Erweiterungen, die sowohl für Wikipedia als auch für andere Wiki-Sites erstellt wurden.

Voraussetzungen

MediaWiki ist ein in PHP geschriebenes Programm. Um diesem Tutorial zu folgen, muss zuerst ein LAMP- oder LEMP-Stack auf Ihrem Ubuntu 20.04-Server installiert sein.

Wenn Sie Apache bevorzugen Webserver und richten Sie dann den LAMP-Stack ein.

  • So installieren Sie LAMP Stack auf Ubuntu 20.04 Server/Desktop

Wenn Sie Nginx bevorzugen Webserver und richten Sie dann den LEMP-Stack ein.

  • So installieren Sie LEMP Stack (Nginx, MariaDB, PHP7.4) auf Ubuntu 20.04 LTS

Außerdem benötigen Sie einen Domänennamen. Ich habe meinen Domainnamen bei NameCheap registriert, weil der Preis niedrig ist und sie Whois-Datenschutz lebenslang kostenlos anbieten.

Lesen Sie nach der Installation des LAMP- oder LEMP-Stacks die folgenden Anweisungen zur Installation von MediaWiki.

Schritt 1:MediaWiki herunterladen

Laden Sie die neueste stabile Version von MediaWiki herunter:

wget https://releases.wikimedia.org/mediawiki/1.35/mediawiki-1.35.1.tar.gz

Extrahieren Sie das Archiv nach /var/www/ .

sudo mkdir -p /var/www/

sudo tar xvf mediawiki-1.35.1.tar.gz -C /var/www/

Benennen Sie das Verzeichnis um.

sudo mv /var/www/mediawiki-1.35.1 /var/www/mediawiki

Dann müssen wir einige PHP-Erweiterungen installieren, die von MediaWiki benötigt werden.

sudo apt install php7.4-mbstring php7.4-xml php7.4-fpm php7.4-json php7.4-mysql php7.4-curl php7.4-intl php7.4-gd php7.4-mbstring texlive imagemagick

Wenn Sie den Apache-Webserver verwenden, müssen Sie Apache neu starten.

sudo systemctl restart apache2

Als nächstes müssen wir externe Abhängigkeiten über Composer (ein PHP-Abhängigkeitsmanager) installieren.

sudo apt install composer

cd /var/www/mediawiki/

sudo composer install --no-dev

Beachten Sie, dass MediaWiki derzeit PHP8.0 nicht unterstützt. Wenn Sie PHP8.0 auf Ihrem Ubuntu-Server installiert haben, sollten Sie sudo update-alternatives --config php ausführen Befehl zum Festlegen von PHP7.4 als Standardversion.

Sobald alle Abhängigkeiten installiert sind, führen Sie den folgenden Befehl aus, um den Webserver-Benutzer festzulegen (www-data ) als Eigentümer dieses Verzeichnisses.

sudo chown www-data:www-data /var/www/mediawiki/ -R

Schritt 2:Erstellen einer Datenbank

Melden Sie sich mit dem folgenden Befehl beim MariaDB-Server an.

sudo mysql -u root

Erstellen Sie eine Datenbank für MediaWiki. Dieses Tutorial nennt die Datenbank mediawiki , aber Sie können einen beliebigen Namen verwenden.

CREATE DATABASE mediawiki;

Führen Sie dann den folgenden Befehl an der MariaDB-Eingabeaufforderung aus, um einen Datenbankbenutzer zu erstellen und diesem Benutzer Berechtigungen zu erteilen. Ersetzen Sie mediawiki , wikiuser und password mit Ihrem bevorzugten Datenbanknamen, Datenbankbenutzernamen und Benutzerpasswort.

GRANT ALL PRIVILEGES ON mediawiki.* TO 'wikiuser'@'localhost' IDENTIFIED BY 'password';

Leeren Sie als Nächstes die MariaDB-Berechtigungen und beenden Sie.

flush privileges;

exit;

Schritt 3:Apache Virtual Host oder Nginx-Konfigurationsdatei für MediaWiki erstellen

Apache

Wenn Sie den Apache-Webserver verwenden, erstellen Sie einen virtuellen Host für MediaWiki.

sudo nano /etc/apache2/sites-available/mediawiki.conf

Kopieren Sie den folgenden Text und fügen Sie ihn in die Datei ein. Ersetzen Sie wiki.your-domain.com mit Ihrem tatsächlichen Domainnamen. Vergessen Sie nicht, einen DNS-A-Eintrag für diesen Domainnamen zu erstellen.

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www//mediawiki/
    ServerName wiki.your-domain.com

    <Directory /var/www/html/mediawiki/>
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    ErrorLog /var/log/apache2/mediawiki_error
    CustomLog /var/log/apache2/mediawiki_access common
</VirtualHost>

Speichern und schließen Sie die Datei. Aktivieren Sie dann diesen virtuellen Host.

sudo a2ensite mediawiki.conf

Laden Sie Apache neu, damit die obigen Änderungen wirksam werden.

sudo systemctl reload apache2

Nginx

Wenn Sie den Nginx-Webserver verwenden, erstellen Sie eine Serverblockdatei für MediaWiki unter /etc/nginx/conf.d/ Verzeichnis.

sudo nano /etc/nginx/conf.d/mediawiki.conf

Kopieren Sie den folgenden Text und fügen Sie ihn in die Datei ein. Ersetzen Sie wiki.your-domain.com mit Ihrem tatsächlichen Domainnamen. Vergessen Sie nicht, einen DNS-A-Eintrag für diesen Domainnamen zu erstellen.

server {
        listen 80;
        listen [::]:80;
        server_name wiki.your-domain.com;

        root /var/www/mediawiki;
        index index.php;
   
        error_log /var/log/nginx/mediawiki.error;
        access_log /var/log/nginx/mediawiki.access;

        location / {
                try_files $uri $uri/ /index.php;
        }

        location ~ /.well-known {
            allow all;
        }

        location ~ /\.ht {
          deny all;
         }

        location ~ \.php$ {
            fastcgi_pass unix:/run/php/php7.4-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
            include snippets/fastcgi-php.conf;
        }
}

Speichern und schließen Sie die Datei. Testen Sie dann die Nginx-Konfiguration.

sudo nginx -t

Wenn der Test erfolgreich ist, laden Sie den Nginx-Webserver neu.

sudo systemctl reload nginx

Schritt 4:HTTPS aktivieren

Um den HTTP-Verkehr zu verschlüsseln, können wir HTTPS aktivieren, indem wir ein kostenloses TLS-Zertifikat installieren, das von Let’s Encrypt ausgestellt wurde. Führen Sie den folgenden Befehl aus, um den Let’s Encrypt-Client (certbot) auf dem Ubuntu 20.04-Server zu installieren.

sudo apt install certbot

Wenn Sie Apache verwenden , installieren Sie das Certbot-Apache-Plugin.

sudo apt install python3-certbot-apache

Und führen Sie diesen Befehl aus, um das TLS-Zertifikat zu erhalten und zu installieren.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d wiki.your-domain.com

Wenn Sie Nginx verwenden , dann müssen Sie auch das Certbot Nginx-Plugin installieren.

sudo apt install python3-certbot-nginx

Führen Sie als Nächstes den folgenden Befehl aus, um das TLS-Zertifikat zu erhalten und zu installieren.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d wiki.your-domain.com

Wo

  • --nginx :Verwenden Sie das nginx-Plugin.
  • --apache :Verwenden Sie das Apache-Plugin.
  • --agree-tos :Nutzungsbedingungen akzeptieren.
  • --redirect :HTTPS durch 301-Umleitung erzwingen.
  • --hsts :Fügen Sie jeder HTTP-Antwort den Strict-Transport-Security-Header hinzu. Erzwingen, dass der Browser immer TLS für die Domäne verwendet. Schützt vor SSL/TLS-Stripping.
  • --staple-ocsp :Aktiviert OCSP-Heften. Eine gültige OCSP-Antwort wird an das Zertifikat geheftet, das der Server während TLS anbietet.

Das Zertifikat sollte nun abgerufen und automatisch installiert werden.

Schritt 5:Ausführen des webbasierten Installationsskripts

Gehen Sie zu https://wiki.you-domain.com in Ihrem Webbrowser, um das webbasierte Installationsskript zu starten. Klicken Sie auf Installation abschließen Link zum Starten des Einrichtungsassistenten.

Wählen Sie als Nächstes eine Sprache aus, die für die MediaWiki-Installation und für das Wiki selbst verwendet werden soll.

Der Einrichtungsassistent überprüft dann die Umgebung Ihres Servers, z. B. PHP-Erweiterungen.

Gehen Sie zum nächsten Schritt. Sie müssen die Datenbankeinstellungen konfigurieren. Wählen Sie MariaDB, MySQL, or compatible aus für Database type . Geben Sie localhost ein für Datenbankhost und geben Sie den Namen der Datenbank mediawiki ein sowie den Datenbank-Benutzernamen und das Passwort, die in Schritt 2 erstellt wurden.

Im nächsten Schritt können Sie wählen, dasselbe Datenbankkonto für den Webzugriff zu verwenden.

Geben Sie dann den Namen Ihres Wikis ein und erstellen Sie ein Administratorkonto.

In den Options Seite haben Sie die Möglichkeit, Ihr Wiki als Offenes Wiki einzurichten , Kontoerstellung erforderlich, nur autorisierte Redakteure und ein privates Wiki. Dann können Sie eine Lizenz auswählen.

Klicken Sie auf Continue um mit der Installation von Mediawiki zu beginnen.

Eine LocalSettings.php Datei wird während des Installationsvorgangs generiert. Sie müssen diese Datei herunterladen und in /var/www/mediawiki/ einfügen Verzeichnis Ihres Ubuntu 20.04 Servers. Danach können Sie auf Ihr neu installiertes MediaWiki unter http://wiki.your-domain.com zugreifen .

Um eine Seite für einen Begriff zu erstellen, gehen Sie einfach zu

wiki.your-domain.com/index.php/your-term

oder

wiki.your-domain.com/index.php?title=your-term

So richten Sie SMTP zum Senden von E-Mails ein

Wenn Ihre MediaWiki-Instanz von mehr als einer Person verwendet wird, ist es wichtig, dass Ihr MediaWiki-Server Transaktions-E-Mails senden kann, wie z. B. E-Mails zum Zurücksetzen des Passworts, Benachrichtigungs-E-Mails usw.

Bearbeiten Sie die LocalSettings.php Datei.

sudo nano /var/www/mediawiki/LocalSettings.php

Fügen Sie am Ende dieser Datei die folgenden Zeilen hinzu.

$wgSMTP = [
    'host'     => 'tls://mail.your-domain.com', // could also be an IP address. Where the SMTP server is located. If using SSL or TLS, add the prefix "ssl://" or "tls://".
    'port'     =>  587,                         // Port to use when connecting to the SMTP server
    'auth'     =>  true,                        // Should we use SMTP authentication (true or false)
    'username' =>  '[email protected]',      // Username to use for SMTP authentication (if being used)
    'password' =>  'user_password'              // Password to use for SMTP authentication (if being used)
];

Speichern und schließen Sie die Datei.

Wie Sie einen E-Mail-Server einrichten, erfahren Sie im folgenden Tutorial. Hinweis dass ich dringend empfehle, den iRedMail-Mailserver auf einem frischen, sauberen Betriebssystem auszuführen. Die Installation von iRedMail auf einem Betriebssystem mit anderen Webanwendungen kann fehlschlagen und wahrscheinlich vorhandene Anwendungen beschädigen.

  • So richten Sie mit iRedMail ganz einfach einen voll funktionsfähigen Mailserver unter Ubuntu 20.04 ein

Ubuntu
  1. So installieren Sie Apache unter Ubuntu 18.04

  2. So installieren Sie Apache unter Ubuntu 20.04

  3. So installieren Sie Nginx unter Ubuntu 16.04

  4. So installieren Sie Joomla mit Apache unter Ubuntu 18.04

  5. So installieren Sie MediaWiki mit Nginx unter Ubuntu 16.04

So installieren Sie InvoiceNinja auf Ubuntu 18.04 Server mit Apache/Nginx

So installieren Sie InvoiceNinja auf Ubuntu 20.04 Server mit Apache/Nginx

So installieren Sie Apache Tomcat 10 auf Ubuntu 20.04 mit Nginx

So installieren Sie Apache Tomcat 10 auf Ubuntu 22.04 mit Nginx

So installieren Sie Apache unter Ubuntu 22.04

So installieren Sie Nginx unter Ubuntu 22.04