GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat MediaWiki s Nginx na Ubuntu 16.04

V tomto tutoriálu vám ukážu krok za krokem, jak nainstalovat MediaWiki s webovým serverem Nginx na Ubuntu 16.04. Ukážu vám, jak nainstalovat a nakonfigurovat LEMP stack pro instalaci MediaWiki, včetně generování a konfigurace nového bezplatného SSL Letsencrypt pro zabezpečení MediaWiki.

MediaWiki je jedním z nejpopulárnějších wiki softwaru, který byl původně vyvinut pro použití na Wikipedii. Je to bezplatný a open source software napsaný v programovacím jazyce PHP a stal se nejdominantnějším softwarem v kategorii wiki. Nástroj původně vyvinutý Magnusem Manskem v roce 2002 je nyní ve verzi 1.30. MediaWiki používá mnoho velkých společností/organizací včetně Nginx, Intel, Novell a NASA.

Co uděláme:

  1. Nainstalujte Nginx na Ubuntu 16.04
  2. Nainstalujte a nakonfigurujte PHP-FPM
  3. Nainstalujte a nakonfigurujte databázi MySQL
  4. Stáhněte si a nakonfigurujte MediaWiki
  5. Vygenerujte nové SSL Letsencrypt na Ubuntu 16.04
  6. Nakonfigurujte virtuálního hostitele Nginx pro instalaci MediaWiki
  7. Webová instalace MediaWiki
  8. Nakonfigurujte výchozí vzhled MediaWiki

Předpoklady

  • Server Ubuntu 16.04
  • Oprávnění uživatele root

Krok 1 – Instalace Nginx na Ubuntu 16.04

Prvním krokem, který musíme udělat pro instalaci MediaWiki, je instalace webového serveru. V této části tedy nainstalujeme webový server Nginx, spustíme službu Nginx a poté povolíme automatické spouštění při startu systému.

Před instalací webového serveru se připojte k serveru, aktualizujte všechna úložiště a poté upgradujte.

sudo apt update
sudo apt upgrade -y

Nyní nainstalujte Nginx pomocí následujícího příkazu apt.

sudo apt install nginx -y

Poté spusťte nginx a povolte jeho spuštění při spouštění systému.

systemctl start nginx
systemctl enable nginx

Nyní zkontrolujte port HTTP pomocí netstat a ujistěte se, že vidíte port 80, který používá Nginx.

netstat -plntu

Webový server Nginx byl nainstalován na Ubuntu 16.04.

Krok 2 – Instalace a konfigurace PHP-FPM

Nyní nainstalujeme PHP-FPM na Ubuntu 16.04. A pro instalaci MediaWiki budeme používat PHP 7.0.

Nainstalujte PHP a PHP-FPM (spolu se všemi požadovanými rozšířeními) pomocí příkazu apt níže.

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

A po dokončení instalace musíme změnit nějakou výchozí konfiguraci pro PHP-FPM. Potřebujeme zvýšit maximální velikost nahrávaného souboru a také konfigurace limitu paměti.

Přejděte do konfiguračního adresáře PHP a upravte soubor php-fpm 'php.ini' pomocí vim.

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

Zvyšte konfiguraci 'upload_max_filesize' na '20M' a zvyšte 'memory_limit' na '128M'.

upload_max_filesize = 20M
memory_limit = 128M

Uložte a ukončete.

Nyní restartujte službu PHP-FPM a pomocí následujících příkazů systemctl povolte její automatické spouštění při bootování.

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

PHP-FPM nyní běží na Ubuntu 16.04 a běží pod souborem sock. Zkontrolujte to pomocí příkazu netstat níže.

netstat -pl | grep php

A získáte soubor sock PHP-FPM, jak je znázorněno níže.

Krok 3 – Instalace a konfigurace databáze MySQL

MediaWiki ukládá veškerá data a obsah do databáze a je kompatibilní s řadou databázových serverů. V této příručce budeme používat databázi MySQL pro instalaci MediaWiki.

V tomto kroku nainstalujeme databázový server MySQL a poté vytvoříme novou databázi a uživatele pro MediaWiki.

Nainstalujte databázi MySQL na Ubuntu 16.04 pomocí následujícího příkazu apt.

sudo apt install mysql-server mysql-client -y

Budete požádáni o heslo 'root' MySQL - zadejte své vlastní heslo a stiskněte 'Enter'.

Zopakujte své „root“ heslo MySQL.

Instalace MySQL je dokončena. Nyní spusťte MySQL a povolte jeho spuštění při bootování pomocí příkazů systemctl níže.

systemctl start mysql
systemctl enable mysql

Dále vytvoříme novou databázi a uživatele pro MediaWiki. Vytvoříme novou databázi s názvem 'mediawikidb ' s uživatelem 'mediawiki “ a heslo „mojeheslo '.

Připojte se k serveru mysql pomocí příkazu mysql níže.

mysql -u root -p

Nyní vytvořte databázi a uživatele pomocí následujících dotazů MySQL.

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

MySQL server nainstalován na Ubuntu 16.04 a databáze pro instalaci MediaWiki byla vytvořena.

Krok 4 – Stažení a konfigurace MediaWiki

V této příručce budeme používat nejnovější verzi MediaWiki 1.30. A než si stáhneme MediaWiki, musíme na server nainstalovat nějaké balíčky.

Spusťte níže uvedený příkaz apt a nainstalujte nové balíčky.

sudo apt install composer git zip unzip -y

Nyní vytvořte nový adresář 'mediawiki' a naklonujte zdrojový kód mediawiki do tohoto adresáře.

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

Dále přejděte do adresáře '/var/www/mediawiki' a nainstalujte některé závislosti PHP potřebné pro instalaci MediaWiki pomocí příkazu skladatel.

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

Po dokončení instalace všech závislostí PHP změňte vlastníka adresáře mediawiki na uživatele a skupinu „www-data“.

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

Nejnovější verze MediaWiki 1.30 je stažena v adresáři '/var/www/mediawiki'.

Krok 5 – Vygenerování SSL Letsencrypt na Ubuntu 16.04

Z bezpečnostních důvodů budeme MediaWiki provozovat pod připojením HTTPS. Všechna připojení HTTP budou automaticky přesměrována na HTTPS. A pro tento účel potřebujeme certifikáty SSL. Budeme používat bezplatné SSL od Letsencrypt.

Aby bylo možné generovat nové certifikáty SSL z Letsencrypt, musíme na server nainstalovat příkazový řádek letsencrypt. K tomu použijte následující příkaz:

sudo apt install letsencrypt -y

Po dokončení instalace zastavte webový server Nginx.

systemctl stop nginx

Dále vygenerujte nové certifikáty SSL pomocí příkazu letsencrypt níže.

letsencrypt certonly

Budete požádáni o vaši e-mailovou adresu – používá se pro upozornění na obnovení certifikátu.

Zadejte tedy svou e-mailovou adresu a zvolte 'OK'.

Pro Letsencrypt TOS (Terms Of Service) zvolte 'Agree' a stiskněte Enter.

A teď zadejte název své wiki domény, moje je 'wiki.hakase-labs.co'.

A když je vše hotovo, dostanete výsledek, jak je ukázáno níže.

SSL certifikáty pro instalaci MediaWiki byly vygenerovány v adresáři '/etc/letsencrypt/live'.

Krok 6 – Konfigurace virtuálního hostitele MediaWiki Nginx

Byl nastaven zásobník LEMP (Linux, Nginx, MySQL a PHP-FPM) pro instalaci MediaWiki a zdrojový kód MediaWiki byl stažen do adresáře '/var/www/mediawiki'.

V tomto kroku vytvoříme nový soubor virtuálního hostitele Nginx 'mediawiki' a poté virtuálního hostitele aktivujeme.

Přejděte do konfiguračního adresáře Nginx a vytvořte nový virtuální hostitelský soubor 'mediawiki' pomocí vim.

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

Zde vložte následující virtuální hostitel Nginx pro konfiguraci 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;
    }

}

Změňte podle svého požadavku/případu a poté uložte a ukončete.

Dále aktivujte nového virtuálního hostitele mediawiki pomocí následujícího příkazu.

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

Otestujte konfiguraci nginx a ujistěte se, že nedochází k chybě. Poté restartujte službu.

nginx -t
systemctl restart nginx

Na vašem serveru je otevřen nový HTTPS port 443 – zkontrolujte jej pomocí příkazu netstat následujícím způsobem.

netstat -plntu

Níže je uveden výsledek.

Krok 7 – Webová instalace MediaWiki

Nyní otevřete webový prohlížeč a do adresního řádku zadejte název své domény.

http://wiki.hakase-labs.co

A budete přesměrováni na připojení HTTPS.

Klikněte na odkaz 'nastavit wiki' na stránce pro konfiguraci MediaWiki.

– Jazyková konfigurace

Vyberte si svůj vlastní jazyk, my vybereme 'Angličtina' a klikněte na 'Pokračovat'.

– Kontrola prostředí

A nyní MediaWiki provede kontrolu prostředí. Ujistěte se, že dostanete výsledek, jak je uvedeno níže.

Klikněte na 'Continue' pro instalaci.

- Konfigurace databáze

Nyní ke konfiguraci databáze. Do pole 'Název databáze' zadejte 'mediawikidb' s předponou 'wiki_'. Dále zadejte databázového uživatele 'mediawiki' a heslo 'mypassword'.

A klikněte na 'Pokračovat'.

- Nastavení databáze

Pokud jde o nastavení databáze, ponechte je jako výchozí a klikněte na 'Pokračovat'.

– Vytvořit administrátora

Nyní musíme vytvořit účet správce. Zadejte svého vlastního uživatele, heslo a e-mail, jak je uvedeno níže.

A klikněte na 'Pokračovat'.

– Další konfigurace MediaWiki

A měli byste se dostat na stránku o 'Další konfiguraci MediaWiki'.

Nechte jej s výchozími hodnotami a klikněte na 'Pokračovat'.

- Instalace MediaWiki

Nyní znovu klikněte na 'Pokračovat' pro instalaci MediaWiki.

A dostanete se na stránku podobnou té, která je zobrazena níže.

Znovu klikněte na 'Pokračovat'.

Nyní uvidíte stránku, která říká, že instalace je dokončena. Budete vyzváni ke stažení nového souboru 'LocalSettings.php' - stáhněte si soubor.

A nahrajte soubor 'LocalSetting.php' do adresáře mediawiki serveru '/var/www/mediawiki'. Nezapomeňte také změnit vlastníka souboru na uživatele a skupinu „www-data“.

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

Nyní se vraťte na instalační stránku svého webového prohlížeče MediaWiki a klikněte na odkaz 'zadejte svou wiki'. Bude vám řečeno, že MediaWiki byla nainstalována s webovým serverem Nginx na serveru Ubuntu 16.04.

Krok 8 – Stažení a konfigurace výchozího vzhledu

V této fázi byla instalace mediawiki dokončena. A v tomto kroku nakonfigurujeme výchozí vzhled/téma.

Přejděte do adresáře '/var/www/mediawiki/skins' a naklonujte výchozí vzhled 'Vector'.

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

Nyní upravte soubor 'LocalSettings.php' pomocí editoru vim.

vim /var/www/mediawiki/LocalSettings.php

A vložte následující php kód na konec souboru.

wfLoadSkin( 'Vector' );

A je to. Uložte a ukončete.

Vraťte se do webového prohlížeče a obnovte stránku MediaWiki. Ujistěte se, že máte MediaWiki s 'Vector' skinem, jak je znázorněno níže.

Instalace a konfigurace MediaWiki s webovým serverem Nginx na Ubuntu 16.04 byla úspěšně dokončena.


Ubuntu
  1. Jak nainstalovat WordPress s Nginx na Ubuntu 18.04

  2. Jak nainstalovat phpMyAdmin s Nginx na Ubuntu 18.04

  3. Jak nainstalovat PHP 7.4 s Nginx na Ubuntu 20.04

  1. Jak nainstalovat MediaWiki s Nginx na CentOS 7

  2. Jak nainstalovat Grav CMS s Nginx na Ubuntu 16.04

  3. Jak nainstalovat SuiteCRM s Nginx na Ubuntu 16.04

  1. Jak nainstalovat Magento s Nginx na Ubuntu 15.10

  2. Jak nainstalovat Mailpile s Nginx na Ubuntu 15.10

  3. Jak nainstalovat Redmine 3 s Nginx na Ubuntu 15.10