GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer MediaWiki avec Nginx sur Ubuntu 16.04

Dans ce tutoriel, je vais vous montrer étape par étape comment installer MediaWiki avec le serveur Web Nginx sur Ubuntu 16.04. Je vais vous guider sur la façon d'installer et de configurer la pile LEMP pour l'installation de MediaWiki, y compris la génération et la configuration du nouveau SSL Letsencrypt gratuit pour la sécurité de MediaWiki.

MediaWiki est l'un des logiciels wiki les plus populaires qui a été initialement développé pour être utilisé sur Wikipedia. C'est un logiciel gratuit et open source écrit dans le langage de programmation PHP, et est devenu le logiciel le plus dominant dans la catégorie wiki. Développé à l'origine par Magnus Manske en 2002, l'outil est désormais en version 1.30. MediaWiki a été utilisé par de nombreuses grandes entreprises/organisations, notamment Nginx, Intel, Novell et la NASA.

Ce que nous allons faire :

  1. Installer Nginx sur Ubuntu 16.04
  2. Installer et configurer PHP-FPM
  3. Installer et configurer la base de données MySQL
  4. Télécharger et configurer MediaWiki
  5. Générer un nouveau SSL Letsencrypt sur Ubuntu 16.04
  6. Configurer l'hôte virtuel Nginx pour l'installation de MediaWiki
  7. Installation Web de MediaWiki
  8. Configurer l'apparence par défaut MediaWiki

Prérequis

  • Serveur Ubuntu 16.04
  • Privilèges root

Étape 1 - Installer Nginx sur Ubuntu 16.04

La première étape que nous devons faire pour l'installation de MediaWiki est d'installer le serveur Web. Dans cette section, nous allons donc installer le serveur Web Nginx, démarrer le service Nginx, puis lui permettre de se lancer automatiquement au démarrage du système.

Avant d'installer le serveur Web, connectez-vous à votre serveur, mettez à jour tous les référentiels, puis mettez à niveau.

sudo apt update
sudo apt upgrade -y

Installez maintenant Nginx à l'aide de la commande apt suivante.

sudo apt install nginx -y

Après cela, démarrez nginx et activez-le pour qu'il se lance au démarrage du système.

systemctl start nginx
systemctl enable nginx

Vérifiez maintenant le port HTTP à l'aide de netstat et assurez-vous que le port 80 est utilisé par Nginx.

netstat -plntu

Le serveur Web Nginx a été installé sur Ubuntu 16.04.

Étape 2 - Installer et configurer PHP-FPM

Nous allons maintenant installer le PHP-FPM sur Ubuntu 16.04. Et nous utiliserons PHP 7.0 pour l'installation de MediaWiki.

Installez PHP et PHP-FPM (ainsi que toutes les extensions requises) à l'aide de la commande apt ci-dessous.

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

Et une fois l'installation terminée, nous devons modifier certaines configurations par défaut pour PHP-FPM. Nous devons augmenter la taille maximale du fichier de téléchargement ainsi que les configurations de limite de mémoire.

Allez dans le répertoire de configuration PHP et éditez le fichier php-fpm 'php.ini' à l'aide de vim.

cd /etc/php/7.0
vim fpm/php.ini

Augmentez la configuration 'upload_max_filesize' à '20M' et augmentez la 'memory_limit' à '128M'.

upload_max_filesize = 20M
memory_limit = 128M

Enregistrez et quittez.

Redémarrez maintenant le service PHP-FPM et activez-le pour qu'il se lance automatiquement au démarrage à l'aide des commandes systemctl suivantes.

systemctl restart php7.0-fpm
systemctl enable php7.0-fpm

PHP-FPM fonctionne maintenant sur Ubuntu 16.04, et il s'exécute sous le fichier chaussette. Vérifiez-le à l'aide de la commande netstat ci-dessous.

netstat -pl | grep php

Et vous obtiendrez le fichier chaussette PHP-FPM comme indiqué ci-dessous.

Étape 3 - Installer et configurer la base de données MySQL

MediaWiki stocke toutes les données et le contenu dans la base de données, et il est compatible avec une variété de serveurs de base de données. Pour ce guide, nous utiliserons la base de données MySQL pour l'installation de MediaWiki.

Dans cette étape, nous allons installer le serveur de base de données MySQL, puis créer une nouvelle base de données et un nouvel utilisateur pour MediaWiki.

Installez la base de données MySQL sur Ubuntu 16.04 à l'aide de la commande apt suivante.

sudo apt install mysql-server mysql-client -y

On vous demandera le mot de passe "root" MySQL - tapez votre propre mot de passe et appuyez sur "Entrée".

Répétez votre mot de passe "root" MySQL.

L'installation de MySQL est terminée. Maintenant, démarrez MySQL et activez-le pour qu'il se lance au démarrage à l'aide des commandes systemctl ci-dessous.

systemctl start mysql
systemctl enable mysql

Ensuite, nous allons créer une nouvelle base de données et un nouvel utilisateur pour MediaWiki. Nous allons créer une nouvelle base de données nommée 'mediawikidb ' avec l'utilisateur 'mediawiki ' et le mot de passe 'monmot de passe '.

Connectez-vous au serveur mysql à l'aide de la commande mysql ci-dessous.

mysql -u root -p

Créez maintenant la base de données et l'utilisateur avec les requêtes MySQL suivantes.

create database mediawikidb;
grant all privileges on mediawikidb.* to [email protected]'localhost' identified by 'mypassword';
flush privileges;
exit;

Le serveur MySQL est installé sur Ubuntu 16.04 et la base de données pour l'installation de MediaWiki a été créée.

Étape 4 - Télécharger et configurer MediaWiki

Pour ce guide, nous utiliserons la dernière version 1.30 de MediaWiki. Et avant de télécharger MediaWiki, nous devons installer certains packages sur le serveur.

Exécutez la commande apt ci-dessous pour installer de nouveaux packages.

sudo apt install composer git zip unzip -y

Créez maintenant un nouveau répertoire 'mediawiki' et clonez le code source de mediawiki dans ce répertoire.

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

Ensuite, allez dans le répertoire '/var/www/mediawiki' et installez quelques dépendances PHP nécessaires à l'installation de MediaWiki à l'aide de la commande composer.

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

Une fois l'installation de toutes les dépendances PHP terminée, changez le propriétaire du répertoire mediawiki en utilisateur et groupe 'www-data'.

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

La dernière version de MediaWiki 1.30 est téléchargée dans le répertoire '/var/www/mediawiki'.

Étape 5 - Générer SSL Letsencrypt sur Ubuntu 16.04

Pour des raisons de sécurité, nous exécuterons MediaWiki sous la connexion HTTPS. Toutes les connexions HTTP seront automatiquement redirigées vers HTTPS. Et pour cela, nous avons besoin de certificats SSL. Nous utiliserons le SSL gratuit de Letsencrypt.

Afin de générer de nouveaux certificats SSL à partir de Letsencrypt, nous devons installer la ligne de commande Letsencrypt sur le serveur. Utilisez la commande suivante pour cela :

sudo apt install letsencrypt -y

Une fois l'installation terminée, arrêtez le serveur Web Nginx.

systemctl stop nginx

Ensuite, générez de nouveaux certificats SSL à l'aide de la commande letsencrypt ci-dessous.

letsencrypt certonly

On vous demandera votre adresse e-mail - elle est utilisée pour la notification de renouvellement de certificat.

Alors, tapez votre adresse e-mail et choisissez "OK".

Pour les conditions d'utilisation (conditions d'utilisation) de Letsencrypt, choisissez "Accepter" et appuyez sur Entrée.

Et maintenant tapez votre nom de domaine wiki, le mien est 'wiki.hakase-labs.co'.

Et quand tout sera fait, vous obtiendrez le résultat comme indiqué ci-dessous.

Les certificats SSL pour l'installation de MediaWiki ont été générés dans le répertoire '/etc/letsencrypt/live'.

Étape 6 - Configurer l'hôte virtuel MediaWiki Nginx

La pile LEMP (Linux, Nginx, MySQL et PHP-FPM) pour l'installation de MediaWiki a été configurée et le code source de MediaWiki a été téléchargé dans le répertoire '/var/www/mediawiki'.

Dans cette étape, nous allons créer un nouveau fichier d'hôte virtuel Nginx "mediawiki", puis activer l'hôte virtuel.

Accédez au répertoire de configuration de Nginx et créez un nouveau fichier d'hôte virtuel "mediawiki" à l'aide de vim.

cd /etc/nginx/
vim sites-available/mediawiki

Collez-y l'hôte virtuel Nginx suivant pour la configuration de MediaWiki.

# 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;
    }

}

Modifiez selon vos besoins/cas, puis enregistrez et quittez.

Ensuite, activez un nouvel hôte virtuel mediawiki à l'aide de la commande suivante.

ln -s /etc/nginx/sites-available/mediawiki /etc/nginx/sites-enabled/

Testez la configuration nginx et assurez-vous qu'il n'y a pas d'erreur. Redémarrez ensuite le service.

nginx -t
systemctl restart nginx

Un nouveau port HTTPS 443 est ouvert sur votre serveur - vérifiez-le à l'aide de la commande netstat de la manière suivante.

netstat -plntu

Ci-dessous le résultat.

Étape 7 - Installation Web de MediaWiki

Ouvrez maintenant votre navigateur Web et saisissez votre nom de domaine dans la barre d'adresse.

http://wiki.hakase-labs.co

Et vous serez redirigé vers la connexion HTTPS.

Cliquez sur le lien "configurer le wiki" sur la page pour configurer MediaWiki.

- Configuration de la langue

Choisissez votre propre langue, nous choisirons 'Anglais' et cliquerons sur 'Continuer'.

- Vérification de l'environnement

Et maintenant, MediaWiki effectuera une vérification de l'environnement. Assurez-vous d'obtenir le résultat comme indiqué ci-dessous.

Cliquez sur "Continuer" pour l'installation.

- Configuration de la base de données

Passons maintenant à la configuration de la base de données. Dans le champ 'Nom de la base de données', saisissez 'mediawikidb' avec le préfixe 'wiki_'. Ensuite, saisissez l'utilisateur de la base de données 'mediawiki' et le mot de passe 'mypassword'.

Et cliquez sur "Continuer".

- Paramètres de la base de données

En ce qui concerne les paramètres de la base de données, laissez-les par défaut et cliquez sur "Continuer".

- Créer un utilisateur administrateur

Nous devons maintenant créer le compte administrateur. Saisissez votre propre nom d'utilisateur, mot de passe et adresse e-mail comme indiqué ci-dessous.

Et cliquez sur "Continuer".

- Configuration supplémentaire de MediaWiki

Et vous devriez arriver à la page "Configuration supplémentaire de MediaWiki".

Laissez-le avec les valeurs par défaut et cliquez sur "Continuer".

- Installation de MediaWiki

Maintenant, cliquez à nouveau sur "Continuer" pour installer MediaWiki.

Et vous arriverez à la page similaire à celle ci-dessous.

Cliquez à nouveau sur "Continuer".

Maintenant, vous verrez la page indiquant que l'installation est terminée. Vous serez invité à télécharger le nouveau fichier 'LocalSettings.php' - téléchargez le fichier.

Et téléchargez le fichier 'LocalSetting.php' dans le répertoire mediawiki du serveur '/var/www/mediawiki'. N'oubliez pas non plus de changer le propriétaire du fichier en utilisateur et groupe "www-data".

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

Maintenant, revenez à la page d'installation de votre navigateur Web MediaWiki, et cliquez sur le lien 'entrer dans votre wiki'. On vous dira que MediaWiki a été installé avec le serveur Web Nginx sur le serveur Ubuntu 16.04.

Étape 8 - Télécharger et configurer le skin par défaut

À ce stade, l'installation de mediawiki est terminée. Et dans cette étape, nous allons configurer le skin/thème par défaut.

Allez dans le répertoire '/var/www/mediawiki/skins' et clonez le skin par défaut 'Vector'.

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

Modifiez maintenant le fichier 'LocalSettings.php' à l'aide de l'éditeur vim.

vim /var/www/mediawiki/LocalSettings.php

Et collez le code php suivant vers la fin du fichier.

wfLoadSkin( 'Vector' );

C'est ça. Enregistrez et quittez.

Revenez à votre navigateur Web et actualisez la page MediaWiki. Assurez-vous d'obtenir le MediaWiki avec l'habillage 'Vector' comme indiqué ci-dessous.

L'installation et la configuration de MediaWiki avec le serveur Web Nginx sur Ubuntu 16.04 ont été effectuées avec succès.


Ubuntu
  1. Comment installer WordPress avec Nginx sur Ubuntu 18.04

  2. Comment installer phpMyAdmin avec Nginx sur Ubuntu 18.04

  3. Comment installer MediaWiki avec Nginx sur CentOS 7

  4. Comment installer Grav CMS avec Nginx sur Ubuntu 16.04

  5. Comment installer PHP 7.4 avec Nginx sur Ubuntu 20.04

Comment installer Nginx avec ModSecurity sur Ubuntu 15.04

Comment installer MediaWiki sur Ubuntu 20.04 avec Apache/Nginx

Comment installer Nextcloud 13 sur Ubuntu 16.04 avec Nginx

Comment installer MediaWiki sur Ubuntu 16.04/17.04 avec Apache ou Nginx

Comment installer Nginx sur Ubuntu 15.04

Comment installer MediaWiki sur Ubuntu 20.04