GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat MediaWiki s Nginx a nechat šifrovat SSL na Ubuntu 20.04

MediaWiki je open-source wiki software napsaný v PHP. Umožňuje vám vytvořit si vlastní hostovanou wiki webovou stránku na serveru. Je to jedna z nejoblíbenějších wiki platforem díky své jednoduchosti a přizpůsobitelnosti. V současné době jej používá mnoho společností ke správě svých wiki stránek. Poskytuje všestranný a bezplatný nástroj pro publikování obsahu na internetu.

V tomto tutoriálu vám ukážeme, jak nainstalovat MediaWiki s webovým serverem Nginx a Let's Encrypt SSL na Ubuntu 20.04.

Předpoklady

  • Server se systémem Ubuntu 20.04.
  • Platný název domény s adresou IP vašeho serveru.
  • Na serveru je nakonfigurováno heslo uživatele root.

Začínáme

Nejprve aktualizujte systémové balíčky na aktualizovanou verzi spuštěním následujícího příkazu:

apt-get update -y

Jakmile jsou všechny balíčky aktualizovány, můžete přejít k dalšímu kroku.

Instalovat Nginx, MariaDB a PHP

MediaWiki vyžaduje webový server Nginx, databázový server MariaDB, PHP a další rozšíření. Všechny je můžete nainstalovat pomocí následujícího příkazu:

apt-get install nginx mariadb-server php php-fpm php-mbstring php-xml php-json php-mysql php-curl php-intl php-gd php-mbstring texlive imagemagick unzip -y

Jakmile jsou všechny balíčky nainstalovány, nainstalujte Composer pomocí následujícího příkazu:

apt-get install composer -y

Dále upravte soubor php.ini a změňte výchozí nastavení:

nano /etc/php/7.4/fpm/php.ini

Změňte následující řádky:

memory_limit = 512M
post_max_size =32M
upload_max_filesize = 32M
date.timezone = Asia/Kolkata

Uložte a zavřete soubor a poté restartujte PHP-FPM, aby se změny projevily:

systemctl restart php7.4-fpm

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Vytvořit databázi MariaDB

MediaWiki používá MariaDB jako backend databáze, takže budete muset vytvořit databázi a uživatele pro MediaWiki.

Nejprve se připojte k MariaDB pomocí následujícího příkazu:

mysql

Jakmile se připojíte, vytvořte databázi a uživatele pomocí následujícího příkazu:

MariaDB [(none)]> CREATE DATABASE mediadb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mediadb.* TO 'mediauser'@'localhost' IDENTIFIED BY 'password';

Dále vyprázdněte oprávnění a ukončete MariaDB pomocí následujícího příkazu:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Stáhněte si MediaWiki

Za prvé. přejděte na webovou stránku MediaWiki a vyberte si nejnovější verzi MediaWiki. Poté spusťte následující příkaz a stáhněte jej na váš server:

wget https://releases.wikimedia.org/mediawiki/1.35/mediawiki-1.35.2.zip

Po dokončení stahování rozbalte stažený soubor pomocí následujícího příkazu:

unzip mediawiki-1.35.2.zip

Dále přesuňte extrahovaný adresář do kořenového webového adresáře Nginx pomocí následujícího příkazu:

mv mediawiki-1.35.2 /var/www/html/mediawiki

Dále změňte adresář na MediaWiki a nainstalujte všechny PHP závislosti pomocí následujícího příkazu:

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

Jakmile jsou všechny závislosti nainstalovány, nastavte správná oprávnění a vlastnictví pomocí následujícího příkazu:

chown -R www-data:www-data /var/www/html/mediawiki
chmod -R 755 /var/www/html/mediawiki

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Konfigurovat Nginx pro MediaWiki

Dále budete muset vytvořit konfigurační soubor virtuálního hostitele Nginx pro MediaWiki. Můžete jej vytvořit pomocí následujícího příkazu:

nano /etc/nginx/conf.d/wiki.conf

Přidejte následující řádky:

server {
        listen 80;
        server_name wiki.example.com;

        root /var/www/html/mediawiki;
        index index.php;
   
        error_log /var/log/nginx/mediawiki.error;
        access_log /var/log/nginx/mediawiki.access;

        location / {
                try_files $uri $uri/ /index.php;
        }


        location ~ /\.ht {
          deny all;
         }

        location ~ \.php$ {
            fastcgi_pass unix:/run/php/php7.4-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
            include snippets/fastcgi-php.conf;
        }
}

Uložte a zavřete soubor a poté pomocí následujícího příkazu ověřte, zda Nginx neobsahuje nějakou chybu syntaxe:

nginx -t

Měli byste vidět následující výstup:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Poté restartujte službu Nginx, aby se změny aplikovaly:

systemctl restart nginx

Stav Nginx můžete také ověřit pomocí následujícího příkazu:

systemctl status nginx

Měli byste vidět následující výstup:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2021-06-02 05:06:48 UTC; 3s ago
       Docs: man:nginx(8)
    Process: 24594 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 24605 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 24606 (nginx)
      Tasks: 2 (limit: 2353)
     Memory: 2.8M
     CGroup: /system.slice/nginx.service
             ??24606 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??24607 nginx: worker process

Jun 02 05:06:48 ubuntu2004 systemd[1]: Starting A high performance web server and a reverse proxy server...
Jun 02 05:06:48 ubuntu2004 systemd[1]: Started A high performance web server and a reverse proxy server.

Přístup k webovému uživatelskému rozhraní MediaWiki

Nyní otevřete webový prohlížeč a zadejte adresu URL http://wiki.example.com . Budete přesměrováni na následující stránku:

Nyní klikněte na nastavit wiki knoflík. Měli byste vidět následující stránku:

Zde si vyberte jazyk wiki a klikněte na Pokračovat knoflík. Měli byste vidět následující stránku:

Nyní klikněte na Pokračovat knoflík. Měli byste vidět následující stránku:

Nyní zadejte podrobnosti o databázi a klikněte na Pokračovat knoflík. Měli byste vidět následující stránku:

Vyberte použít stejný účet jako pro instalaci a klikněte na Pokračovat knoflík. Měli byste vidět následující stránku:

Nyní zadejte název svého wiki webu, uživatelské jméno a heslo. Poté klikněte na tlačítko Pokračovat knoflík. Měli byste vidět následující stránku:

Klikněte na tlačítko Pokračovat tlačítko pro spuštění instalace. Měli byste vidět následující stránku:

Klikněte na tlačítko Pokračovat knoflík. Po dokončení instalace byste měli vidět následující stránku:

Nyní kliknutím na tlačítko stahování stáhněte soubor LocalSettings.php soubor do vašeho systému. Poté zkopírujte tento soubor na svůj server v kořenovém adresáři MediaWiki a nastavte správná oprávnění pomocí následujícího příkazu:

chown www-data:www-data /var/www/html/mediawiki/LocalSettings.php

Dále se vraťte do webového prohlížeče a klikněte nazadejte svou wiki . Na následující stránce byste měli vidět řídicí panel MediaWiki:

Zabezpečte MediaWiki pomocí Let's Encrypt SSL

Dále budete muset nainstalovat klientský balíček Certbot pro instalaci správy Let's Encrypt SSL.

Nejprve nainstalujte Certbot pomocí následujícího příkazu:

apt-get install python3-certbot-nginx -y

Po dokončení instalace spusťte následující příkaz a nainstalujte Let's Encrypt SSL na svůj web:

certbot --nginx -d wiki.example.com

Budete požádáni, abyste poskytli platnou e-mailovou adresu a přijali podmínky služby, jak je uvedeno níže:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for wiki.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/wiki.conf

Dále zvolte, zda chcete přesměrovat provoz HTTP na HTTPS, jak je uvedeno níže:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Zadejte 2 a stiskněte Enter pro dokončení instalace. Měli byste vidět následující výstup:

Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/wiki.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://wiki.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=wiki.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/wiki.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/wiki.example.com/privkey.pem
   Your cert will expire on 2021-12-30. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

 - We were unable to subscribe you the EFF mailing list because your
   e-mail address appears to be invalid. You can try again later by
   visiting https://act.eff.org.

Nyní je váš web zabezpečený pomocí Let's Encrypt SSL. Můžete k němu bezpečně přistupovat pomocí adresy URL https://wiki.example.com.

Závěr

Gratulujeme! úspěšně jste nainstalovali MediaWiki s Nginx a Let's Encrypt SSL na Ubuntu 20.04. Nyní můžete snadno hostovat své vlastní wiki stránky pomocí MediaWiki.


Ubuntu
  1. Jak nainstalovat Nextcloud s Nginx a nechat šifrovat SSL na Ubuntu 20.04 LTS

  2. Jak nainstalovat Magento 2 s Nginx a nechat šifrovat SSL na Ubuntu 20.04 LTS

  3. Jak nainstalovat MediaWiki s Nginx na Ubuntu 16.04

  1. Jak nainstalovat Drupal 8 s Nginx, PHP-FPM a SSL na Ubuntu 15.10

  2. Jak nainstalovat OpenCart 2 s Nginx a SSL na Ubuntu 15.10

  3. Jak nainstalovat Shopware s NGINX a nechat šifrovat na Ubuntu 18.04 LTS

  1. Nainstalujte Automad CMS s Nginx a Lets Encrypt SSL na Ubuntu 18.04

  2. Jak nainstalovat X-Cart s Nginx a nechat šifrovat SSL na Ubuntu 18.04 LTS

  3. Jak nainstalovat Drupal s Nginx a nechat šifrovat SSL na Ubuntu 20.04 LTS