GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat MediaWiki s Nginx na CentOS 7

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

  1. Nainstalujte Nginx na CentOS 7
  2. Nainstalujte a nakonfigurujte PHP-FPM
  3. Nainstalujte a nakonfigurujte databázi MariaDB
  4. Stáhněte si a nakonfigurujte MediaWiki
  5. Vygenerujte nový SSL Letsencrypt na CentOS 7
  6. Nakonfigurujte virtuální hostitele Nginx pro instalaci MediaWiki
  7. Webová instalace MediaWiki
  8. 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.ini

Odkomentujte řádek níže a změňte hodnotu na 0.

cgi.fix_pathinfo=0

Uložte změny a ukončete editor.

Nyní upravte konfigurační soubor PHP-FPM 'www.conf'.

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

Změňte hodnotu řádku uživatele a skupiny na 'nginx'.

user =nginx
skupina =nginx

Nyní změňte hodnotu proměnné 'listen' na soubor 'php-fpm.sock', jak je ukázáno níže.

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

Musí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 =0660

Pro 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] =/tmp

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

Zkontrolujte PHP-FPM pomocí příkazu netstat níže.

netstat -pl | grep php

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

Po dokončení instalace spusťte mariadb a povolte jeho spuštění při spouštění systému.

systemctl spustit mariadb
systemctl povolit mariadb

Nyní musíme nakonfigurovat heslo „root“ pro databázi MariaDB. Spusťte následující příkaz pro konfiguraci hesla „root“ MariaDB.

mysql_secure_installation

Napiš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] A

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

Nyní 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 skladatel

Po 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/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, 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/mediawiki

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

Po dokončení instalace zastavte službu Nginx pomocí příkazu systemctl.

systemctl stop nginx

Dá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ě letsencrypt

Pří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.conf

Vlož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.


Cent OS
  1. Nainstalujte Nginx s ngx_pagespeed na CentOS 7

  2. Jak nainstalovat phpMyAdmin s Nginx na CentOS 7 / RHEL 7

  3. Jak nainstalovat Sitemagic CMS na CentOS 7 – s Nginx

  1. Jak nainstalovat Nginx na CentOS 7

  2. Jak nainstalovat WordPress s Nginx na CentOS 7

  3. Jak nainstalovat phpMyAdmin s Nginx na CentOS 7

  1. Jak nainstalovat Nginx na CentOS 8

  2. Jak nainstalovat Magento 2.1 na CentOS 7

  3. Jak nainstalovat SuiteCRM s Nginx na CentOS 7