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:
- Nainstalujte Nginx na Ubuntu 16.04
- Nainstalujte a nakonfigurujte PHP-FPM
- Nainstalujte a nakonfigurujte databázi MySQL
- Stáhněte si a nakonfigurujte MediaWiki
- Vygenerujte nové SSL Letsencrypt na Ubuntu 16.04
- Nakonfigurujte virtuálního hostitele Nginx pro instalaci MediaWiki
- Webová instalace MediaWiki
- 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.