GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer MediaWiki avec Nginx sur CentOS 7

MediaWiki est un logiciel wiki populaire qui a été initialement développé pour être utilisé sur Wikipedia. C'est un logiciel wiki gratuit et open source écrit dans le langage de programmation PHP. Créé par Magnus Manske en 2002, l'outil en est maintenant à la version 1.30. MediaWiki a été utilisé par de nombreuses grandes entreprises, notamment Nginx, Intel, Novell, etc.

Dans ce didacticiel, nous expliquerons comment installer étape par étape MediaWiki avec le serveur Web Nginx sur CentOS 7. Nous vous expliquerons également comment installer et configurer la pile LEMP pour l'installation de MediaWiki, y compris la génération et la configuration de nouveaux SSL Letsencrypt gratuits pour Sécurité MediaWiki.

Ce que nous allons faire

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

Prérequis

  • Serveur CentOS 7
  • Privilèges root

Étape 1 - Installer Nginx sur CentOS 7

Pour ce tutoriel, nous utiliserons le serveur Web Nginx pour l'installation de MediaWiki. Sur CentOS 7, le package Nginx n'existe pas. Nous devons donc l'installer à partir du référentiel tiers EPEL (Extra Packages for Enterprise Linux).

Mettez à jour tous les packages et installez le référentiel EPEL dans le système CentOS 7 à l'aide de la commande yum ci-dessous.

yum -y update
yum -y install epel-release

Ensuite, installez le serveur Web Nginx.

yum -y install nginx

Une fois l'installation de Nginx terminée, démarrez le serveur et activez-le pour qu'il s'exécute automatiquement au démarrage du système.

systemctl start nginx
systemctl enable nginx

Le serveur Web Nginx a donc été installé sur le serveur CentOS 7. Vérifiez les statistiques du réseau à l'aide de la commande netstat, et dans le résultat, vous devriez obtenir le port HTTP utilisé par le service Nginx.

netstat -plntu

Étape 2 - Installer et configurer PHP-FPM

Dans ce tutoriel, nous utiliserons PHP 7.0. Et ici, dans cette étape, nous allons installer PHP 7.0 (y compris les extensions) et configurer PHP-FPM pour l'installation de MediaWiki.

Nous utiliserons les packages PHP 7.0 du référentiel tiers "webtatic". Ajoutez un nouveau référentiel "webtatic" pour l'installation de PHP 7.0 à l'aide de la commande ci-dessous.

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Nous pouvons maintenant installer PHP 7.0 avec toutes les extensions nécessaires à l'aide de la commande yum ci-dessous.

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

Avec cela, l'installation de PHP 7.0 sur CentOS 7 est terminée.

Ensuite, nous allons configurer le service PHP-FPM. Nous allons éditer le fichier php.ini pour configurer les informations de chemin CGI, puis éditer la configuration 'www.conf' pour configurer le service PHP-FPM. Nous configurerons ensuite PHP-FPM pour qu'il s'exécute sous le fichier chaussette (avec l'utilisateur et le groupe "nginx").

Modifiez le fichier "php.ini" à l'aide de l'éditeur vim.

vim /etc/php.ini

Décommentez la ligne ci-dessous et changez la valeur en 0.

cgi.fix_pathinfo=0

Enregistrez les modifications et quittez l'éditeur.

Modifiez maintenant le fichier de configuration PHP-FPM 'www.conf'.

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

Remplacez la valeur de la ligne utilisateur et groupe par "nginx".

user = nginx
group = nginx

Modifiez maintenant la valeur de la variable 'listen' dans le fichier 'php-fpm.sock', comme indiqué ci-dessous.

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

Nous devons configurer les autorisations du fichier chaussette, ainsi que le propriétaire du répertoire du fichier chaussette. Décommentez les lignes listen.owner et listen.group, et remplacez les valeurs correspondantes par "nginx".

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

Pour une configuration supplémentaire, décommentez les lignes ci-dessous.

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

C'est ça. Enregistrez et quittez.

Ensuite, créez un nouveau répertoire pour la configuration du chemin des sessions.

Exécutez les commandes ci-dessous pour créer un répertoire de sessions.

mkdir -p /var/lib/php/session/
chown -R nginx:nginx /var/lib/php/session/

Une fois cela fait, démarrez le service PHP-FPM et activez-le pour qu'il s'exécute automatiquement au démarrage du système.

systemctl start php-fpm
systemctl enable php-fpm

Vérifiez PHP-FPM en utilisant la commande netstat ci-dessous.

netstat -pl | grep php

Et assurez-vous d'obtenir le fichier php-fpm.sock en résultat.

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

MediaWiki prend en charge les bases de données MySQL/MariaDB et SQLite. Dans ce tutoriel, cependant, nous utiliserons la base de données MariaDB.

Pour commencer, installez MariaDB en utilisant la commande yum ci-dessous.

yum -y install mariadb mariadb-server

Une fois l'installation terminée, démarrez mariadb et activez-le pour qu'il se lance au démarrage du système.

systemctl start mariadb
systemctl enable mariadb

Nous devons maintenant configurer le mot de passe 'root' pour la base de données MariaDB. Exécutez la commande suivante pour configurer le mot de passe 'root' MariaDB.

mysql_secure_installation

Tapez 'Y' et appuyez sur Entrée.

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 a été installé sur le système CentOS 7 et le mot de passe de l'utilisateur 'root' a été configuré.

Ensuite, nous allons créer une nouvelle base de données pour MediaWiki. Plus précisément, nous allons créer une nouvelle base de données nommée 'mediawikidb ', avec le nouvel utilisateur/propriétaire 'mediawiki ' et le mot de passe 'monmot de passe '.

Connectez-vous au shell mysql à l'aide de la commande mysql.

mysql -u root -p
TYPE YOUR ROOT PASSWORD

Exécutez maintenant les requêtes mysql suivantes pour créer une nouvelle base de données pour MediaWiki.

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

Une nouvelle base de données et un nouvel utilisateur pour l'installation de MediaWiki ont été créés.

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

Dans ce didacticiel, nous utiliserons la dernière version (1.30) de MediaWiki, et nous téléchargerons tout le code source de MediaWiki depuis le référentiel. Nous avons donc besoin de git et de certains packages installés sur le système.

Installez git et d'autres packages à l'aide de la commande yum ci-dessous.

yum -y install git zip unzip composer

Une fois l'installation terminée, créez un nouveau répertoire "/var/www/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 certaines dépendances PHP nécessaires à l'installation de MediaWiki à l'aide de la commande composer, comme indiqué ci-dessous.

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

Modifiez maintenant les autorisations de propriété du répertoire mediawiki en 'nginx' (à la fois l'utilisateur et le groupe).

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

La source MediaWiki a été téléchargée dans le répertoire '/var/www/mediawiki' et toutes les dépendances ont été installées.

Étape 5 - Générer SSL Letsencrypt sur CentOS 7

Pour des raisons de sécurité, MediaWiki ne fonctionnera que sur la connexion HTTPS. Et toutes les requêtes vers HTTP seront redirigées vers HTTPS par le serveur Web Nginx.

Pour exécuter le MediaWiki sous la connexion sécurisée HTTPS, nous avons besoin de certificats SSL. Nous utiliserons donc le certificat SSL gratuit de Letsencrypt.

Installez permet de chiffrer l'outil de ligne de commande à l'aide de la commande yum ci-dessous.

yum -y install letsencrypt

Une fois l'installation terminée, arrêtez le service Nginx à l'aide de la commande systemctl.

systemctl stop nginx

Ensuite, nous allons générer un nouveau certificat SSL à l'aide de la commande letsencrypt. Mais avant cela, assurez-vous que les services HTTP et HTTPS ont été ajoutés à Firewalld.

Voici comment ajouter de nouveaux services HTTP et HTTPS à Firewalld.

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

Générez un nouveau certificat SSL gratuit Lets Encrypt à l'aide de la commande Letsencrypt ci-dessous.

letsencrypt certonly

La commande vous posera des questions sur l'authentification ACME. Choisissez le numéro '1' pour faire tourner le serveur Web temporaire.

Ensuite, saisissez votre adresse e-mail pour la notification de renouvellement, puis saisissez « A » pour accepter les conditions d'utilisation de Letsencrypt, et enfin saisissez votre nom de domaine wiki.

Après tout cela, vous obtiendrez un résultat similaire à celui présenté ci-dessous.

Un nouveau certificat SSL de Letsencrypt a été généré et stocké dans le répertoire '/etc/letsencrypt/live'.

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

Dans cette étape, nous allons créer une nouvelle configuration d'hôte virtuel Nginx pour MediaWiki.

Accédez au répertoire '/etc/nginx' et créez un nouveau fichier de configuration 'mediawiki.conf' à l'aide de l'éditeur vim.

cd /etc/nginx/
vim conf.d/mediawiki.conf

Collez la configuration ci-dessous.

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

}

C'est ça. Enregistrez les modifications et quittez l'éditeur.

Remarque :

  • Remplacez le nom de domaine par votre propre domaine.
  • Modifier le chemin des fichiers de certificat SSL

Testez maintenant la configuration de Nginx et assurez-vous qu'il n'y a pas d'erreur, puis redémarrez le service Nginx.

nginx -t
systemctl restart nginx

La configuration de l'hôte virtuel Nginx pour MediaWiki a été ajoutée et nous sommes prêts à installer MediaWiki à partir du navigateur Web.

Étape 7 - Installation Web de MediaWiki

Ouvrez votre navigateur Web et saisissez l'URL MediaWiki.

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

Vous serez redirigé vers la connexion HTTPS. Sur la page Web, cliquez sur le lien "Configurer le wiki".

Configuration de la langue

Choisissez la langue anglaise "en" et cliquez sur "Continuer".

Vérification de l'environnement

Assurez-vous que toute la configuration du serveur a réussi les vérifications de l'environnement.

Cliquez ensuite sur "Continuer".

Configuration de la base de données

Tapez le nom de la base de données 'mediawikidb' et le nom d'utilisateur 'mediawiki' avec le mot de passe 'mypassword'.

Cliquez maintenant sur "Continuer".

Paramètres de la base de données

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

Créer un nouvel utilisateur administrateur

Tapez votre propre utilisateur administrateur, email, mot de passe, puis cliquez sur "Continuer".

Configuration supplémentaire de MediaWiki

Nous arrivons maintenant à la page sur la "Configuration supplémentaire de MediaWiki", comme indiqué ci-dessous.

Laissez tous les champs avec les valeurs par défaut et cliquez sur "Continuer".

Installation de MediaWiki

Cliquez sur "Continuer" pour installer MediaWiki.

Et vous arriverez à la page ci-dessous.

Cliquez à nouveau sur "Continuer".

Et l'installation de MediaWiki est terminée. Nous serons invités à télécharger le nouveau fichier 'LocalSettings.php' - téléchargez ce fichier.

Ensuite, nous devons télécharger le fichier 'LocalSetting.php' nouvellement téléchargé dans le répertoire MediaWiki '/var/www/mediawiki' sur le serveur. N'oubliez pas non plus de modifier les autorisations de propriété du fichier en "www-data" (utilisateur et groupe).

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

Revenez à la page d'installation de votre navigateur Web MediaWiki, et cliquez sur le lien "entrer dans votre wiki". Vous verrez que MediaWiki a été installé avec le serveur Web Nginx sur le serveur CentOS 7.

Étape 8 - Téléchargez et configurez l'habillage par défaut de MediaWiki

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

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

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

Remplacez le propriétaire du répertoire de skin Vector par l'utilisateur et le groupe "nginx".

chown -R nginx:nginx /var/www/mediawiki/skins/

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

vim /var/www/mediawiki/LocalSettings.php

Et collez le code PHP suivant à la fin du fichier.

wfLoadSkin( 'Vector' );

C'est ça. Enregistrez et quittez.

Revenez à votre navigateur Web et actualisez la page MediaWiki. Assurez-vous de voir MediaWiki avec l'habillage "Vector" comme ci-dessous.

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


Cent OS
  1. Comment installer Nginx sur CentOS 7

  2. Comment installer WordPress avec Nginx sur CentOS 7

  3. Installez Nginx avec ngx_pagespeed sur CentOS 7

  4. Comment installer phpMyAdmin avec Nginx sur CentOS 7 / RHEL 7

  5. Comment installer Sitemagic CMS sur CentOS 7 – Avec Nginx

Comment installer MediaWiki sur CentOS 8

Comment installer Nginx avec ngx_pagespeed sur CentOS

Comment installer Nginx avec PHP-FastCGI sur CentOS 6

Comment installer Magento avec Nginx sur CentOS 7

Comment installer Laravel avec Nginx sur CentOS 8

Comment installer Nginx sur CentOS 7 ?