GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare MediaWiki su Ubuntu 20.04 con Apache/Nginx

Questo tutorial ti mostrerà come installare MediaWiki su Ubuntu 20.04 . MediaWiki è il software di back-end che alimenta Wikipedia. È open-source gratuito e il software wiki più utilizzato oggi. Gli utenti più noti di MediaWiki includono Wikipedia.org e wikia.com.

Puoi utilizzare MediaWiki per creare il tuo sito wiki privato o pubblico. MediaWiki ha molte estensioni utili che sono state create sia per Wikipedia che per altri siti wiki.

Prerequisiti

MediaWiki è un programma scritto in PHP. Per seguire questo tutorial, devi prima avere uno stack LAMP o LEMP installato sul tuo server Ubuntu 20.04.

Se preferisci Apache server web, quindi imposta lo stack LAMP.

  • Come installare lo stack LAMP su Ubuntu 20.04 Server/Desktop

Se preferisci Nginx server web, quindi imposta lo stack LEMP.

  • Come installare lo stack LEMP (Nginx, MariaDB, PHP7.4) su Ubuntu 20.04 LTS

Hai anche bisogno di un nome di dominio. Ho registrato il mio nome di dominio da NameCheap perché il prezzo è basso e offrono protezione della privacy a Whois gratuita per tutta la vita.

Dopo aver installato lo stack LAMP o LEMP, leggere le seguenti istruzioni per installare MediaWiki.

Fase 1:download di MediaWiki

Scarica l'ultima versione stabile di MediaWiki:

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

Estrai l'archivio in /var/www/ .

sudo mkdir -p /var/www/

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

Rinomina la directory.

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

Quindi dobbiamo installare alcune estensioni PHP richieste da 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

Se utilizzi il server web Apache, devi riavviare Apache.

sudo systemctl restart apache2

Successivamente, dobbiamo installare le dipendenze esterne tramite Composer (un gestore di dipendenze PHP).

sudo apt install composer

cd /var/www/mediawiki/

sudo composer install --no-dev

Nota che MediaWiki attualmente non supporta PHP8.0. Se hai installato PHP8.0 sul tuo server Ubuntu, dovresti eseguire sudo update-alternatives --config php comando per impostare PHP7.4 come versione predefinita.

Una volta installate tutte le dipendenze, eseguire il comando seguente per impostare l'utente del server Web (www-data ) come proprietario di questa directory.

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

Fase 2:creazione di un database

Accedi al server MariaDB con il comando seguente.

sudo mysql -u root

Creare un database per MediaWiki. Questo tutorial nomina il database mediawiki , ma puoi usare il nome che preferisci.

CREATE DATABASE mediawiki;

Quindi eseguire il comando seguente al prompt di MariaDB per creare un utente del database e concedere i privilegi a questo utente. Sostituisci mediawiki , wikiuser e password rispettivamente con il nome del database, il nome utente del database e la password utente preferiti.

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

Quindi, svuota i privilegi di MariaDB ed esci.

flush privileges;

exit;

Fase 3:crea un host virtuale Apache o un file di configurazione Nginx per MediaWiki

Apache

Se utilizzi il server Web Apache, crea un host virtuale per MediaWiki.

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

Copia e incolla il seguente testo nel file. Sostituisci wiki.your-domain.com con il tuo nome di dominio effettivo. Non dimenticare di creare un record DNS A per questo nome di dominio.

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

Salva e chiudi il file. Quindi abilita questo host virtuale.

sudo a2ensite mediawiki.conf

Ricarica Apache per rendere effettive le modifiche precedenti.

sudo systemctl reload apache2

Nginx

Se utilizzi il server web Nginx, crea un file di blocco del server per MediaWiki in /etc/nginx/conf.d/ directory.

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

Copia il seguente testo e incollalo nel file. Sostituisci wiki.your-domain.com con il tuo nome di dominio effettivo. Non dimenticare di creare un record DNS A per questo nome di dominio.

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

Salva e chiudi il file. Quindi testa la configurazione di Nginx.

sudo nginx -t

Se il test ha esito positivo, ricarica il server web Nginx.

sudo systemctl reload nginx

Fase 4:abilitazione di HTTPS

Per crittografare il traffico HTTP, possiamo abilitare HTTPS installando un certificato TLS gratuito emesso da Let's Encrypt. Esegui il comando seguente per installare il client Let's Encrypt (certbot) sul server Ubuntu 20.04.

sudo apt install certbot

Se usi Apache , installa il plugin Certbot Apache.

sudo apt install python3-certbot-apache

Ed esegui questo comando per ottenere e installare il certificato TLS.

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

Se usi Nginx , devi anche installare il plug-in Certbot Nginx.

sudo apt install python3-certbot-nginx

Quindi, esegui il comando seguente per ottenere e installare il certificato TLS.

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

Dove

  • --nginx :usa il plugin nginx.
  • --apache :usa il plugin Apache.
  • --agree-tos :Accetta i termini di servizio.
  • --redirect :Forza HTTPS tramite reindirizzamento 301.
  • --hsts :aggiungi l'intestazione Strict-Transport-Security a ogni risposta HTTP. Forzare il browser a utilizzare sempre TLS per il dominio. Difende dallo stripping SSL/TLS.
  • --staple-ocsp :Abilita la pinzatura OCSP. Una risposta OCSP valida viene pinzata al certificato offerto dal server durante TLS.

Il certificato dovrebbe ora essere ottenuto e installato automaticamente.

Fase 5:esecuzione dello script di installazione basato sul Web

Vai a https://wiki.you-domain.com nel browser Web per avviare lo script di installazione basato sul Web. Fai clic su Completa l'installazione collegamento per avviare la procedura guidata di configurazione.

Quindi, seleziona una lingua da utilizzare per l'installazione di MediaWiki e per il wiki stesso.

La procedura guidata di configurazione verificherà quindi l'ambiente del tuo server, come le estensioni PHP.

Vai al passaggio successivo. Sarà necessario configurare le impostazioni del database. Seleziona MariaDB, MySQL, or compatible per Database type . Inserisci localhost per Host database e inserisci il nome del database mediawiki nonché il nome utente e la password del database creati nel passaggio 2.

Nel passaggio successivo, puoi scegliere di utilizzare lo stesso account del database per l'accesso al Web.

Quindi inserisci il nome del tuo Wiki e crea un account amministratore.

Nelle Options pagina, hai la possibilità di impostare la tua wiki come Apri wiki , è richiesta la creazione di un account, solo editori autorizzati e un wiki privato. Quindi puoi scegliere una licenza.

Fai clic su Continue per iniziare l'installazione di Mediawiki.

Un LocalSettings.php il file verrà generato durante il processo di installazione. Devi scaricare questo file e inserirlo in /var/www/mediawiki/ directory del tuo server Ubuntu 20.04. Una volta fatto, sarai in grado di accedere al tuo MediaWiki appena installato su http://wiki.your-domain.com .

Per creare una pagina per un termine, vai semplicemente su

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

o

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

Come configurare SMTP per inviare e-mail

Se la tua istanza MediaWiki verrà utilizzata da più di una persona, è importante che il tuo server MediaWiki possa inviare e-mail transazionali, come e-mail di reimpostazione della password, e-mail di notifica, ecc.

Modifica il LocalSettings.php file.

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

Aggiungi le seguenti righe alla fine di questo file.

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

Salva e chiudi il file.

Per come configurare un server di posta elettronica, dai un'occhiata al seguente tutorial. Nota che consiglio vivamente di eseguire il server di posta iRedMail su un nuovo sistema operativo pulito. L'installazione di iRedMail su un sistema operativo che dispone di altre applicazioni Web può non riuscire e probabilmente interrompere le applicazioni esistenti.

  • Come configurare facilmente un server di posta completo su Ubuntu 20.04 con iRedMail

Ubuntu
  1. Come installare Apache su Ubuntu 18.04

  2. Come installare Apache su Ubuntu 20.04

  3. Come installare Nginx su Ubuntu 16.04

  4. Come installare Joomla con Apache su Ubuntu 18.04

  5. Come installare MediaWiki con Nginx su Ubuntu 16.04

Come installare InvoiceNinja su Ubuntu 18.04 Server con Apache/Nginx

Come installare InvoiceNinja su Ubuntu 20.04 Server con Apache/Nginx

Come installare Apache Tomcat 10 su Ubuntu 20.04 con Nginx

Come installare Apache Tomcat 10 su Ubuntu 22.04 con Nginx

Come installare Apache su Ubuntu 22.04

Come installare Nginx su Ubuntu 22.04