GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer MediaWiki sur Ubuntu 20.04 avec Apache/Nginx

Ce tutoriel va vous montrer comment installer MediaWiki sur Ubuntu 20.04 . MediaWiki est le logiciel backend qui alimente Wikipedia. C'est un logiciel open-source gratuit et le plus largement utilisé aujourd'hui. Les utilisateurs bien connus de MediaWiki incluent Wikipedia.org et wikia.com.

Vous pouvez utiliser MediaWiki pour créer votre propre site wiki privé ou public. MediaWiki a beaucoup d'extensions utiles qui ont été créées à la fois pour Wikipédia et pour d'autres sites wiki.

Prérequis

MediaWiki est un programme écrit en PHP. Pour suivre ce tutoriel, vous devez d'abord avoir une pile LAMP ou LEMP installée sur votre serveur Ubuntu 20.04.

Si vous préférez Apache serveur Web, puis configurez la pile LAMP.

  • Comment installer la pile LAMP sur le serveur/bureau Ubuntu 20.04

Si vous préférez Nginx serveur Web, puis configurez la pile LEMP.

  • Comment installer la pile LEMP (Nginx, MariaDB, PHP7.4) sur Ubuntu 20.04 LTS

Vous avez également besoin d'un nom de domaine. J'ai enregistré mon nom de domaine auprès de NameCheap car le prix est bas et ils offrent une protection de la confidentialité whois gratuite à vie.

Après avoir installé la pile LAMP ou LEMP, lisez les instructions suivantes pour installer MediaWiki.

Étape 1 :Téléchargement de MediaWiki

Téléchargez la dernière version stable de MediaWiki :

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

Extrayez l'archive dans /var/www/ .

sudo mkdir -p /var/www/

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

Renommez le répertoire.

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

Ensuite, nous devons installer certaines extensions PHP requises par MediaWiki.

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

Si vous utilisez le serveur Web Apache, vous devez redémarrer Apache.

sudo systemctl restart apache2

Ensuite, nous devons installer des dépendances externes via Composer (un gestionnaire de dépendances PHP).

sudo apt install composer

cd /var/www/mediawiki/

sudo composer install --no-dev

Notez que MediaWiki ne prend actuellement pas en charge PHP8.0. Si vous avez installé PHP8.0 sur votre serveur Ubuntu, vous devez exécuter sudo update-alternatives --config php commande pour définir PHP7.4 comme version par défaut.

Une fois toutes les dépendances installées, exécutez la commande suivante pour définir l'utilisateur du serveur Web (www-data ) en tant que propriétaire de ce répertoire.

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

Étape 2 :Créer une base de données

Connectez-vous au serveur MariaDB avec la commande ci-dessous.

sudo mysql -u root

Créez une base de données pour MediaWiki. Ce tutoriel nomme la base de données mediawiki , mais vous pouvez utiliser le nom de votre choix.

CREATE DATABASE mediawiki;

Exécutez ensuite la commande suivante à l'invite MariaDB pour créer un utilisateur de base de données et accorder des privilèges à cet utilisateur. Remplacer mediawiki , wikiuser et password avec votre nom de base de données préféré, votre nom d'utilisateur de base de données et votre mot de passe utilisateur respectivement.

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

Ensuite, videz les privilèges MariaDB et quittez.

flush privileges;

exit;

Étape 3 :Créer un hôte virtuel Apache ou un fichier de configuration Nginx pour MediaWiki

Apache

Si vous utilisez le serveur Web Apache, créez un hôte virtuel pour MediaWiki.

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

Copiez et collez le texte suivant dans le fichier. Remplacez wiki.your-domain.com avec votre vrai nom de domaine. N'oubliez pas de créer un enregistrement DNS A pour ce nom de domaine.

<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>

Enregistrez et fermez le fichier. Activez ensuite cet hôte virtuel.

sudo a2ensite mediawiki.conf

Rechargez Apache pour que les modifications ci-dessus prennent effet.

sudo systemctl reload apache2

Nginx

Si vous utilisez le serveur Web Nginx, créez un fichier de bloc de serveur pour MediaWiki sous /etc/nginx/conf.d/ répertoire.

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

Copiez le texte suivant et collez-le dans le fichier. Remplacez wiki.your-domain.com avec votre vrai nom de domaine. N'oubliez pas de créer un enregistrement DNS A pour ce nom de domaine.

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

Enregistrez et fermez le fichier. Testez ensuite la configuration de Nginx.

sudo nginx -t

Si le test réussit, rechargez le serveur Web Nginx.

sudo systemctl reload nginx

Étape 4 :Activer HTTPS

Pour chiffrer le trafic HTTP, nous pouvons activer HTTPS en installant un certificat TLS gratuit émis par Let's Encrypt. Exécutez la commande suivante pour installer le client Let's Encrypt (certbot) sur le serveur Ubuntu 20.04.

sudo apt install certbot

Si vous utilisez Apache , installez le plug-in Certbot Apache.

sudo apt install python3-certbot-apache

Et exécutez cette commande pour obtenir et installer le certificat TLS.

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

Si vous utilisez Nginx , vous devez également installer le plug-in Certbot Nginx.

sudo apt install python3-certbot-nginx

Ensuite, exécutez la commande suivante pour obtenir et installer le certificat TLS.

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

  • --nginx  :Utilisez le plug-in nginx.
  • --apache :Utilisez le plug-in Apache.
  • --agree-tos  :acceptez les conditions d'utilisation.
  • --redirect  :Forcer HTTPS par redirection 301.
  • --hsts :Ajoutez l'en-tête Strict-Transport-Security à chaque réponse HTTP. Forcer le navigateur à toujours utiliser TLS pour le domaine. Protège contre le SSL/TLS Stripping.
  • --staple-ocsp :active l'agrafage OCSP. Une réponse OCSP valide est agrafée au certificat que le serveur propose pendant TLS.

Le certificat devrait maintenant être obtenu et installé automatiquement.

Étape 5 :Exécuter le script d'installation Web

Allez sur https://wiki.you-domain.com dans votre navigateur Web pour lancer le script d'installation Web. Cliquez sur Terminer l'installation lien pour démarrer l'assistant de configuration.

Ensuite, sélectionnez une langue à utiliser pour l'installation de MediaWiki et pour le wiki lui-même.

L'assistant de configuration vérifiera ensuite l'environnement de votre serveur, comme les extensions PHP.

Passez à l'étape suivante. Vous devrez configurer les paramètres de la base de données. Sélectionnez MariaDB, MySQL, or compatible pour Database type . Entrez localhost pour Hôte de la base de données et entrez le nom de la base de données mediawiki ainsi que le nom d'utilisateur et le mot de passe de la base de données créés à l'étape 2.

À l'étape suivante, vous pouvez choisir d'utiliser le même compte de base de données pour l'accès Web.

Entrez ensuite le nom de votre Wiki et créez un compte administrateur.

Dans les Options page, vous avez la possibilité de configurer votre wiki en tant que Open wiki , création de compte requise, éditeurs autorisés uniquement et wiki privé. Ensuite, vous pouvez choisir une licence.

Cliquez sur Continue pour commencer l'installation de Mediawiki.

Un LocalSettings.php fichier sera généré dans le processus d'installation. Vous devez télécharger ce fichier et le mettre dans /var/www/mediawiki/ répertoire de votre serveur Ubuntu 20.04. Une fois cela fait, vous pourrez accéder à votre MediaWiki nouvellement installé sur http://wiki.your-domain.com .

Pour créer une page pour un terme, il vous suffit d'aller sur

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

ou

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

Comment configurer SMTP pour envoyer des e-mails

Si votre instance MediaWiki sera utilisée par plusieurs personnes, il est important que votre serveur MediaWiki puisse envoyer des e-mails transactionnels, tels que des e-mails de réinitialisation de mot de passe, des e-mails de notification, etc.

Modifiez le LocalSettings.php fichier.

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

Ajoutez les lignes suivantes à la fin de ce fichier.

$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)
];

Enregistrez et fermez le fichier.

Pour savoir comment configurer un serveur de messagerie, veuillez consulter le didacticiel suivant. Remarque que je recommande fortement d'exécuter le serveur de messagerie iRedMail sur un nouveau système d'exploitation propre. L'installation d'iRedMail sur un système d'exploitation doté d'autres applications Web peut échouer et probablement casser les applications existantes.

  • Comment configurer facilement un serveur de messagerie complet sur Ubuntu 20.04 avec iRedMail

Ubuntu
  1. Comment installer Apache sur Ubuntu 18.04

  2. Comment installer Apache sur Ubuntu 20.04

  3. Comment installer Nginx sur Ubuntu 16.04

  4. Comment installer Joomla avec Apache sur Ubuntu 18.04

  5. Comment installer MediaWiki avec Nginx sur Ubuntu 16.04

Comment installer InvoiceNinja sur le serveur Ubuntu 18.04 avec Apache/Nginx

Comment installer InvoiceNinja sur le serveur Ubuntu 20.04 avec Apache/Nginx

Comment installer Apache Tomcat 10 sur Ubuntu 20.04 avec Nginx

Comment installer Apache Tomcat 10 sur Ubuntu 22.04 avec Nginx

Comment installer Apache sur Ubuntu 22.04

Comment installer Nginx sur Ubuntu 22.04