GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare MediaWiki con Nginx su CentOS 7

MediaWiki è un popolare software wiki originariamente sviluppato per l'uso su Wikipedia. È un software wiki gratuito e open source scritto nel linguaggio di programmazione PHP. Portato in vita da Magnus Manske nel 2002, lo strumento è ora alla versione 1.30. MediaWiki è stato utilizzato da molte grandi aziende, tra cui Nginx, Intel, Novell ecc.

In questo tutorial, discuteremo passo dopo passo come installare MediaWiki con il server web Nginx su CentOS 7. Ti guideremo anche come installare e configurare lo stack LEMP per l'installazione di MediaWiki, inclusa la generazione e la configurazione del nuovo SSL gratuito Letsencrypt per Sicurezza MediaWiki.

Cosa faremo

  1. Installa Nginx su CentOS 7
  2. Installa e configura PHP-FPM
  3. Installa e configura il database MariaDB
  4. Scarica e configura MediaWiki
  5. Genera nuovo SSL Letsencrypt su CentOS 7
  6. Configura l'host virtuale Nginx per l'installazione di MediaWiki
  7. Installazione basata sul Web di MediaWiki
  8. Configura la skin predefinita di MediaWiki

Prerequisiti

  • Server CentOS 7
  • Privilegi di root

Passaggio 1:installa Nginx su CentOS 7

Per questo tutorial, utilizzeremo il server web Nginx per l'installazione di MediaWiki. Su CentOS 7, il pacchetto Nginx non esiste. Quindi dobbiamo installarlo dal repository EPEL (Extra Packages for Enterprise Linux) di terze parti.

Aggiorna tutti i pacchetti e installa il repository EPEL nel sistema CentOS 7 utilizzando il comando yum di seguito.

yum -y update
yum -y install epel-release

Quindi, installa il server web Nginx.

yum -y install nginx

Al termine dell'installazione di Nginx, avvia il server e abilitalo all'esecuzione automatica all'avvio del sistema.

systemctl start nginx
systemctl enable nginx

Quindi il server web Nginx è stato installato sul server CentOS 7. Controlla le statistiche di rete usando il comando netstat e, nel risultato, dovresti ottenere la porta HTTP utilizzata dal servizio Nginx.

netstat -plntu

Fase 2 - Installa e configura PHP-FPM

In questo tutorial utilizzeremo PHP 7.0. E qui, in questo passaggio, installeremo PHP 7.0 (incluse le estensioni) e configureremo PHP-FPM per l'installazione di MediaWiki.

Utilizzeremo pacchetti PHP 7.0 dal repository di terze parti 'webtatic'. Aggiungi un nuovo repository 'webtatic' per l'installazione di PHP 7.0 utilizzando il comando seguente.

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

Ora possiamo installare PHP 7.0 con tutte le estensioni necessarie usando il comando yum qui sotto.

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

Con questo, l'installazione di PHP 7.0 su CentOS 7 è stata completata.

Successivamente, configureremo il servizio PHP-FPM. Modificheremo il file php.ini per la configurazione delle informazioni sul percorso CGI, quindi modificheremo la configurazione 'www.conf' per configurare il servizio PHP-FPM. Quindi configureremo PHP-FPM per l'esecuzione sotto il file sock (con utente e gruppo 'nginx').

Modifica il file 'php.ini' utilizzando l'editor di vim.

vim /etc/php.ini

Decommenta la riga sottostante e cambia il valore in 0.

cgi.fix_pathinfo=0

Salva le modifiche ed esci dall'editor.

Ora modifica il file di configurazione PHP-FPM 'www.conf'.

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

Modifica il valore della riga utente e gruppo in 'nginx'.

user = nginx
group = nginx

Ora cambia il valore della variabile 'listen' nel file 'php-fpm.sock', come mostrato di seguito.

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

Dobbiamo configurare le autorizzazioni del file sock, nonché il proprietario della directory del file sock. Decommenta la riga listen.owner e listen.group e cambia i valori corrispondenti in "nginx".

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

Per una configurazione aggiuntiva, decommenta le righe di seguito.

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

Questo è tutto. Salva ed esci.

Quindi, crea una nuova directory per la configurazione del percorso delle sessioni.

Esegui i comandi seguenti per creare la directory delle sessioni.

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

Al termine, avvia il servizio PHP-FPM e abilita l'esecuzione automatica all'avvio del sistema.

systemctl start php-fpm
systemctl enable php-fpm

Controlla PHP-FPM usando il comando netstat di seguito.

netstat -pl | grep php

E assicurati di ottenere il file php-fpm.sock come risultato.

Fase 3 - Installa e configura il database MariaDB

MediaWiki supporta i database MySQL/MariaDB e SQLite. In questo tutorial, tuttavia, utilizzeremo il database MariaDB.

Per cominciare, installa MariaDB usando il comando yum di seguito.

yum -y install mariadb mariadb-server

Al termine dell'installazione, avvia mariadb e abilitalo all'avvio all'avvio del sistema.

systemctl start mariadb
systemctl enable mariadb

Ora dobbiamo configurare la password 'root' per il database MariaDB. Esegui il comando seguente per configurare la password 'root' di MariaDB.

mysql_secure_installation

Digita "Y" e premi Invio.

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 è stata installata sul sistema CentOS 7 ed è stata configurata la password per l'utente 'root'.

Successivamente, creeremo un nuovo database per MediaWiki. Nello specifico, creeremo un nuovo database denominato 'mediawikidb ', con il nuovo utente/proprietario 'mediawiki ' e password 'miapassword '.

Connettiti alla shell mysql usando il comando mysql.

mysql -u root -p
TYPE YOUR ROOT PASSWORD

Ora esegui le seguenti query MySQL per creare un nuovo database per MediaWiki.

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

È stato creato un nuovo database e utente per l'installazione di MediaWiki.

Fase 4 - Scarica e configura MediaWiki

In questo tutorial, utilizzeremo l'ultima versione (1.30) di MediaWiki e scaricheremo tutto il codice sorgente di MediaWiki dal repository. Quindi abbiamo bisogno di git e di alcuni pacchetti installati sul sistema.

Installa git e altri pacchetti usando il comando yum di seguito.

yum -y install git zip unzip composer

Al termine dell'installazione, crea una nuova directory '/var/www/mediawiki' e clona il codice sorgente di mediawiki in quella directory.

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

Quindi, vai alla directory '/var/www/mediawiki' e installa alcune dipendenze PHP necessarie per l'installazione di MediaWiki usando il comando composer, come mostrato di seguito.

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

Ora cambia i permessi di proprietà della directory mediawiki in 'nginx' (sia utente che gruppo).

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

Il sorgente di MediaWiki è stato scaricato nella directory '/var/www/mediawiki' e tutte le dipendenze sono state installate.

Passaggio 5:genera SSL Letsencrypt su CentOS 7

Per motivi di sicurezza, MediaWiki funzionerà solo sulla connessione HTTPS. E tutte le richieste a HTTP verranno reindirizzate a HTTPS dal server Web Nginx.

Per eseguire MediaWiki con la connessione protetta HTTPS, abbiamo bisogno di certificati SSL. Quindi utilizzeremo il certificato SSL gratuito di Letsencrypt.

Installa consente di crittografare lo strumento da riga di comando utilizzando il comando yum di seguito.

yum -y install letsencrypt

Al termine dell'installazione, arresta il servizio Nginx utilizzando il comando systemctl.

systemctl stop nginx

Successivamente, genereremo un nuovo certificato SSL utilizzando il comando letencrypt. Ma prima di ciò, assicurati che i servizi HTTP e HTTPS siano stati aggiunti a Firewalld.

Ecco come aggiungere nuovi servizi HTTP e HTTPS a Firewalld.

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

Genera nuovi certificati SSL gratuiti per crittografare il certificato utilizzando il comandoletsencrypt di seguito.

letsencrypt certonly

Il comando ti chiederà informazioni sull'autenticazione ACME. Scegli il numero '1' per far girare il server web temporaneo.

Quindi, digita il tuo indirizzo email per la notifica di rinnovo, quindi digita "A" per accettare i Termini di servizio (TOS) di Letsencrypt e infine digita il tuo nome di dominio wiki.

Dopo tutto ciò, otterrai un risultato simile a quello mostrato di seguito.

Il nuovo certificato SSL di Letsencrypt è stato generato e archiviato nella directory '/etc/letsencrypt/live'.

Passaggio 6:configurazione dell'host virtuale Nginx per MediaWiki

In questo passaggio, creeremo una nuova configurazione dell'host virtuale Nginx per MediaWiki.

Vai alla directory '/etc/nginx' e crea un nuovo file di configurazione 'mediawiki.conf' usando l'editor di vim.

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

Incolla la configurazione di seguito.

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

}

Questo è tutto. Salva le modifiche ed esci dall'editor.

Nota:

  • Cambia il nome di dominio nel tuo dominio.
  • Cambia il percorso dei file del certificato SSL

Ora prova la configurazione di Nginx e assicurati che non ci siano errori, quindi riavvia il servizio Nginx.

nginx -t
systemctl restart nginx

È stata aggiunta la configurazione dell'host virtuale Nginx per MediaWiki e siamo pronti per installare MediaWiki dal browser web.

Fase 7 - Installazione MediaWiki basata sul Web

Apri il tuo browser web e digita l'URL di MediaWiki.

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

Verrai reindirizzato alla connessione HTTPS. Nella pagina web, fai clic sul link "Configura il wiki".

Configurazione lingua

Scegli la lingua inglese "en" e fai clic su "Continua".

Verifica ambientale

Assicurati che tutta la configurazione del server abbia superato i controlli dell'ambiente.

Quindi fai clic su "Continua".

Configurazione database

Digita il nome del database come 'mediawikidb' e il nome utente 'mediawiki' con la password 'mypassword'.

Ora fai clic su "Continua".

Impostazioni database

Lascialo come predefinito e fai clic su "Continua".

Crea nuovo utente amministratore

Digita il tuo utente amministratore, e-mail, password, quindi fai clic su "Continua".

Configurazione aggiuntiva MediaWiki

Ora arriviamo alla pagina relativa alla "Configurazione aggiuntiva di MediaWiki", come mostrato di seguito.

Lascia tutti i campi con i valori predefiniti e fai clic su "Continua".

Installazione di MediaWiki

Fare clic su 'Continua' per installare MediaWiki.

E arriverai alla pagina sottostante.

Fai di nuovo clic su "Continua".

E l'installazione di MediaWiki è completa. Ci verrà chiesto di scaricare il nuovo file "LocalSettings.php" - scarica quel file.

Successivamente, dobbiamo caricare il file "LocalSetting.php" appena scaricato nella directory MediaWiki "/var/www/mediawiki" sul server. Inoltre, non dimenticare di modificare le autorizzazioni di proprietà del file in "www-data" (sia utente che gruppo).

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

Torna alla pagina di installazione di MediaWiki del tuo browser web e fai clic sul collegamento 'entra nella tua wiki'. Vedrai che MediaWiki è stato installato con il server web Nginx sul server CentOS 7.

Passaggio 8 - Scarica e configura la skin predefinita di MediaWiki

A questo punto, l'installazione di MediaWiki è stata completata. E in questo passaggio, configureremo la skin/il tema predefinito del nostro sito MediaWiki.

Vai alla directory '/var/www/mediawiki/skins' e clona la skin predefinita denominata 'Vector' in quella directory.

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

Cambia il proprietario della directory della skin Vector in utente e gruppo 'nginx'.

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

Ora modifica il file 'LocalSettings.php' usando l'editor vim.

vim /var/www/mediawiki/LocalSettings.php

E incolla il seguente codice PHP alla fine del file.

wfLoadSkin( 'Vector' );

Questo è tutto. Salva ed esci.

Torna al tuo browser web e aggiorna la pagina di MediaWiki. Assicurati di vedere MediaWiki con la skin "Vector" come di seguito.

L'installazione e la configurazione di MediaWiki con il server web Nginx su CentOS 7 sono state completate con successo.


Cent OS
  1. Come installare Nginx su CentOS 7

  2. Come installare WordPress con Nginx su CentOS 7

  3. Installa Nginx con ngx_pagespeed su CentOS 7

  4. Come installare phpMyAdmin con Nginx su CentOS 7 / RHEL 7

  5. Come installare Sitemagic CMS su CentOS 7 – Con Nginx

Come installare MediaWiki su CentOS 8

Come installare Nginx con ngx_pagespeed su CentOS

Come installare Nginx con PHP-FastCGI su CentOS 6

Come installare Magento con Nginx su CentOS 7

Come installare Laravel con Nginx su CentOS 8

Come installare Nginx su CentOS 7?