MediaWiki je populární wiki software, který byl původně vyvinut pro použití na Wikipedii. Je to bezplatný a open source wiki software napsaný v programovacím jazyce PHP. Nástroj uvedl k životu Magnus Manske v roce 2002 a nyní je ve verzi 1.30. MediaWiki používá mnoho velkých společností, včetně Nginx, Intel, Novell atd.
V tomto tutoriálu probereme, jak krok za krokem nainstalovat MediaWiki s webovým serverem Nginx na CentOS 7. Provedeme vás také, jak nainstalovat a nakonfigurovat zásobník LEMP pro instalaci MediaWiki, včetně generování a konfigurace nového bezplatného SSL Letsencrypt pro Zabezpečení MediaWiki.
Co uděláme
- Nainstalujte Nginx na CentOS 7
- Nainstalujte a nakonfigurujte PHP-FPM
- Nainstalujte a nakonfigurujte databázi MariaDB
- Stáhněte si a nakonfigurujte MediaWiki
- Vygenerujte nový SSL Letsencrypt na CentOS 7
- Nakonfigurujte virtuální hostitele Nginx pro instalaci MediaWiki
- Webová instalace MediaWiki
- Nakonfigurujte výchozí vzhled MediaWiki
Předpoklady
- Server CentOS 7
- Oprávnění uživatele root
Krok 1 – Instalace Nginx na CentOS 7
V tomto tutoriálu budeme pro instalaci MediaWiki používat webový server Nginx. Na CentOS 7 balíček Nginx neexistuje. Musíme jej tedy nainstalovat z úložiště EPEL (Extra Packages for Enterprise Linux) třetí strany.
Aktualizujte všechny balíčky a nainstalujte úložiště EPEL v systému CentOS 7 pomocí příkazu yum níže.
yum -y aktualizace
yum -y instalace epel-release
Dále nainstalujte webový server Nginx.
yum -y nainstalujte nginx
Po dokončení instalace Nginx spusťte server a povolte jeho automatické spouštění při spouštění systému.
systemctl spustit nginx
systemctl povolit nginx
Webový server Nginx byl tedy nainstalován na server CentOS 7. Zkontrolujte statistiky sítě pomocí příkazu netstat a ve výsledku byste měli získat port HTTP používaný službou Nginx.
netstat -plntu
Krok 2 – Instalace a konfigurace PHP-FPM
V tomto tutoriálu budeme používat PHP 7.0. A zde v tomto kroku nainstalujeme PHP 7.0 (včetně rozšíření) a nakonfigurujeme PHP-FPM pro instalaci MediaWiki.
Budeme používat balíčky PHP 7.0 z úložiště třetích stran 'webtatic'. Přidejte nové úložiště 'webtatic' pro instalaci PHP 7.0 pomocí příkazu níže.
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Nyní můžeme nainstalovat PHP 7.0 se všemi potřebnými rozšířeními pomocí příkazu yum níže.
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>Tímto byla instalace PHP 7.0 na CentOS 7 dokončena.
Dále nakonfigurujeme službu PHP-FPM. Upravíme soubor php.ini pro konfiguraci informací o cestě CGI a poté upravíme konfiguraci 'www.conf' pro konfiguraci služby PHP-FPM. Poté nakonfigurujeme PHP-FPM tak, aby se spouštělo pod souborem sock (s uživatelem a skupinou 'nginx').
Upravte soubor 'php.ini' pomocí editoru vim.
vim /etc/php.iniOdkomentujte řádek níže a změňte hodnotu na 0.
cgi.fix_pathinfo=0Uložte změny a ukončete editor.
Nyní upravte konfigurační soubor PHP-FPM 'www.conf'.
vim /etc/php-fpm.d/www.confZměňte hodnotu řádku uživatele a skupiny na 'nginx'.
user =nginx
skupina =nginxNyní změňte hodnotu proměnné 'listen' na soubor 'php-fpm.sock', jak je ukázáno níže.
listen =/run/php-fpm/php-fpm.sockMusíme nakonfigurovat oprávnění souboru sock a také vlastníka adresáře souboru sock. Odkomentujte řádek listen.owner a listen.group a změňte odpovídající hodnoty na 'nginx'.
listen.owner =nginx
listen.group =nginx
listen.mode =0660Pro další konfiguraci odkomentujte řádky níže.
env[HOSTNAME] =$HOSTNAME
env[PATH] =/usr/local/bin:/usr/bin:/bin
env[TMP] =/tmp
env[ TMPDIR] =/tmp
env[TEMP] =/tmpA je to. Uložte a ukončete.
Dále vytvořte nový adresář pro konfiguraci session-path.
Spusťte níže uvedené příkazy pro vytvoření adresáře relací.
mkdir -p /var/lib/php/session/
chown -R nginx:nginx /var/lib/php/session/Jakmile to uděláte, spusťte službu PHP-FPM a povolte její automatické spouštění při spouštění systému.
systemctl spustit php-fpm
systemctl povolit php-fpmZkontrolujte PHP-FPM pomocí příkazu netstat níže.
netstat -pl | grep phpA ujistěte se, že ve výsledku získáte soubor php-fpm.sock.
Krok 3 – Instalace a konfigurace databáze MariaDB
MediaWiki podporuje databáze MySQL/MariaDB a SQLite. V tomto tutoriálu však budeme používat databázi MariaDB.
Nejprve nainstalujte MariaDB pomocí příkazu yum níže.
yum -y nainstalujte mariadb mariadb-serverPo dokončení instalace spusťte mariadb a povolte jeho spuštění při spouštění systému.
systemctl spustit mariadb
systemctl povolit mariadbNyní musíme nakonfigurovat heslo „root“ pro databázi MariaDB. Spusťte následující příkaz pro konfiguraci hesla „root“ MariaDB.
mysql_secure_installationNapište „Y“ a stiskněte Enter.
Nastavit heslo root? [A/N] A
ZDE ZAPIŠTE KOŘENOVÉ HESLO
Odebrat anonymní uživatele? [A/n] A
Zakázat vzdálené přihlášení root? [A/N] A
Odebrat testovací databázi a získat k ní přístup? [A/n] A
Načíst nyní tabulky oprávnění? [A/n] AMariaDB byla nainstalována do systému CentOS 7 a bylo nakonfigurováno heslo pro uživatele „root“.
Dále vytvoříme novou databázi pro MediaWiki. Konkrétně vytvoříme novou databázi s názvem 'mediawikidb ', s novým uživatelem/vlastníkem 'mediawiki “ a heslo „mojeheslo '.
Připojte se k shellu mysql pomocí příkazu mysql.
mysql -u root -p
ZADEJTE SVÉ HESLO ROOTNyní spusťte následující mysql dotazy pro vytvoření nové databáze pro MediaWiki.
vytvořit databázi mediawikidb;
udělit všechna oprávnění na mediawikidb.* [e-mail chráněno]'localhost' identifikovanému pomocí 'mypassword';
vyprázdnit oprávnění;
exit;Byla vytvořena nová databáze a uživatel pro instalaci MediaWiki.
Krok 4 – Stažení a konfigurace MediaWiki
V tomto tutoriálu budeme používat nejnovější verzi (1.30) MediaWiki a stáhneme veškerý zdrojový kód MediaWiki z úložiště. Potřebujeme tedy git a nějaké balíčky nainstalované v systému.
Nainstalujte git a další balíčky pomocí příkazu yum níže.
yum -y install git zip unzip skladatelPo dokončení instalace vytvořte nový adresář '/var/www/mediawiki' a naklonujte zdrojový kód mediawiki do tohoto adresáře.
mkdir -p /var/www/mediawiki
klon git https://gerrit.wikimedia.org/r/p/mediawiki/core.git /var/www/mediawikiDá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, jak je znázorněno níže.
cd /var/www/mediawiki
instalace skladatele --no-dev
Nyní změňte oprávnění k vlastnictví adresáře mediawiki na 'nginx' (uživatel i skupina).
chown -R nginx:nginx /var/www/mediawikiZdroj MediaWiki byl stažen do adresáře '/var/www/mediawiki' a všechny závislosti byly nainstalovány.
Krok 5 – Vygenerování SSL Letsencrypt na CentOS 7
Z bezpečnostních důvodů poběží MediaWiki pouze na připojení HTTPS. A všechny požadavky na HTTP budou přesměrovány na HTTPS webovým serverem Nginx.
Ke spuštění MediaWiki pod zabezpečeným připojením HTTPS potřebujeme certifikáty SSL. Budeme tedy používat bezplatný certifikát SSL od společnosti Letsencrypt.
Instalace umožňuje zašifrovat nástroj příkazového řádku pomocí příkazu yum níže.
yum -y install letsencryptPo dokončení instalace zastavte službu Nginx pomocí příkazu systemctl.
systemctl stop nginxDále vygenerujeme nový SSL certifikát pomocí příkazu letsencrypt. Předtím se však ujistěte, že do brány firewall byly přidány služby HTTP a HTTPS.
Zde je návod, jak přidat nové služby HTTP a HTTPS do brány Firewall.
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload
Generování nového bezplatného SSL umožňuje zašifrovat certifikát pomocí příkazu letsencrypt níže.
určitě letsencryptPříkaz se vás zeptá na ověření ACME. Zvolte číslo '1' pro roztočení dočasného webového serveru.
Dále zadejte svou e-mailovou adresu pro oznámení o obnovení, poté zadejte „A“, abyste souhlasili s podmínkami služeb (TOS) Letsencrypt a nakonec zadejte název své wiki domény.
Po tom všem získáte výsledek podobný tomu, který je zobrazen níže.
Byl vygenerován nový certifikát SSL od společnosti Letsencrypt a uložen v adresáři '/etc/letsencrypt/live'.
Krok 6 – Konfigurace virtuálního hostitele Nginx pro MediaWiki
V tomto kroku vytvoříme novou konfiguraci virtuálního hostitele Nginx pro MediaWiki.
Přejděte do adresáře '/etc/nginx' a vytvořte nový konfigurační soubor 'mediawiki.conf' pomocí editoru vim.
cd /etc/nginx/
vim conf.d/mediawiki.confVložte konfiguraci níže.
# HTTP požadavek bude přesměrován na HTTPS
server {
listen 80;
listen [::]:80;
název_serveru wiki.hakase-labs.co;
return 301 https://$host$request_uri;
}
# Konfigurace HTTPS
server {
listen 443 ssl;
poslouchat [::]:443;
název_serveru wiki.hakase-labs.co;
root /var/www/mediawiki;
index index .php;
autoindex off;
# Konfigurace certifikátu SSL
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;
umístění / {
try_files $uri $uri/ @rewrite;
}
umístění @rewrite {
přepsat ^/(.*)$ /index.php?title=$1&$args;
}
umístění ^~ /údržba/ {
návrat 403;
}
# Konfigurace PHP-FPM Nginx
umístění ~ \.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 /_$fast include fastcgi_params;
}
umístění ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
try_files $uri /index.php;
vyprší max.;
log_not_found off;
}
umístění =/_.gif {
vyprší max.;
empty_gif;
}
umístění ^~ ^/(mezipaměť|zahrnuje|údržbu|jazyky|serializované|testy|obrázky/smazáno)/ {
odmítnout vše;
}
umístění ^~ ^/(bin|docs|rozšíření|zahrnuje|údržbu|mw-config|zdroje|serializované|testy)/ {
interní;
}
# Zabezpečení pro adresář 'image'
loca tion ~* ^/images/.*.(html|htm|shtml|php)$ {
types { }
default_type text/plain;
}
# Zabezpečení pro adresář 'image'
umístění ^~ /images/ {
try_files $uri /index.php;
}
}A je to. Uložte změny a ukončete editor.
Poznámka:
- Změňte název domény na svou vlastní doménu.
- Změňte cestu k souborům certifikátu SSL
Nyní otestujte konfiguraci Nginx a ujistěte se, že nedošlo k chybě, poté restartujte službu Nginx.
nginx -t
systemctl restart nginx
Byla přidána konfigurace virtuálního hostitele Nginx pro MediaWiki a jsme připraveni nainstalovat MediaWiki z webového prohlížeče.
Krok 7 – Webová instalace MediaWiki
Otevřete webový prohlížeč a zadejte adresu URL MediaWiki.
http://wiki.hakase-labs.co/
Budete přesměrováni na připojení HTTPS. Na webové stránce klikněte na odkaz 'Nastavit wiki'.
Konfigurace jazyka
Vyberte anglický jazyk 'en' a klikněte na 'Pokračovat'.
Kontrola prostředí
Ujistěte se, že veškerá konfigurace serveru prošla kontrolami prostředí.
Poté klikněte na 'Pokračovat'.
Konfigurace databáze
Zadejte název databáze jako 'mediawikidb' a uživatelské jméno 'mediawiki' s heslem 'mypassword'.
Nyní klikněte na 'Pokračovat'.
Nastavení databáze
Nechte jej jako výchozí a klikněte na 'Pokračovat'.
Vytvořit nového administrátora
Zadejte svého vlastního administrátora, e-mail, heslo a poté klikněte na 'Pokračovat'.
Další konfigurace MediaWiki
Nyní se dostáváme na stránku o 'Další konfiguraci MediaWiki', jak je uvedeno níže.
Ponechte všechna pole s výchozími hodnotami a klikněte na 'Pokračovat'.
Instalace MediaWiki
Kliknutím na 'Pokračovat' nainstalujete MediaWiki.
A dostanete se na stránku níže.
Znovu klikněte na 'Pokračovat'.
A instalace MediaWiki je hotová. Budeme vyzváni ke stažení nového souboru 'LocalSettings.php' - stáhněte si tento soubor.
Dále musíme nahrát nově stažený soubor 'LocalSetting.php' do adresáře MediaWiki '/var/www/mediawiki' na serveru. Také nezapomeňte změnit oprávnění k vlastnictví souboru na 'www-data' (uživatel i skupina).
scp LocalSettings.php [chráněno e-mailem]:/var/www/mediawiki/
chown -R www-data:www-data /var/www/mediawiki
Vraťte se na instalační stránku svého webového prohlížeče MediaWiki a klikněte na odkaz 'zadejte svou wiki'. Uvidíte, že MediaWiki byla nainstalována s webovým serverem Nginx na serveru CentOS 7.
Krok 8 – Stažení a konfigurace výchozího vzhledu MediaWiki
V této fázi je instalace MediaWiki dokončena. A v tomto kroku nakonfigurujeme výchozí vzhled/motiv našeho webu MediaWiki.
Přejděte do adresáře '/var/www/mediawiki/skins' a naklonujte do tohoto adresáře výchozí vzhled s názvem 'Vector'.
cd /var/www/mediawiki/skins/
klon sudo git https://gerrit.wikimedia.org/r/mediawiki/skins/Vector
Změňte vlastníka adresáře vzhledu Vector na uživatele a skupinu 'nginx'.
chown -R nginx:nginx /var/www/mediawiki/skins/
Nyní upravte soubor 'LocalSettings.php' pomocí editoru vim.
vim /var/www/mediawiki/LocalSettings.php
A vložte následující kód PHP 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 uvidíte MediaWiki se skinem „Vector“, jak je uvedeno níže.
Instalace a konfigurace MediaWiki s webovým serverem Nginx na CentOS 7 byla úspěšně dokončena.