GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat MediaWiki na Ubuntu 20.04 s Apache/Nginx

Tento tutoriál vám ukáže, jak nainstalovat MediaWiki na Ubuntu 20.04 . MediaWiki je backendový software, který pohání Wikipedii. Je to bezplatný open-source a dnes nejrozšířenější wiki software. Mezi známé uživatele MediaWiki patří Wikipedia.org a wikia.com.

MediaWiki můžete použít k vytvoření své vlastní soukromé nebo veřejné wiki stránky. MediaWiki má mnoho užitečných rozšíření, která byla vytvořena jak pro Wikipedii, tak pro jiné wiki stránky.

Předpoklady

MediaWiki je program napsaný v PHP. Abyste mohli postupovat podle tohoto návodu, musíte mít na svém serveru Ubuntu 20.04 nainstalován zásobník LAMP nebo LEMP.

Pokud dáváte přednost Apache webový server a poté nastavte zásobník LAMP.

  • Jak nainstalovat LAMP Stack na Ubuntu 20.04 Server/Desktop

Pokud dáváte přednost Nginx webový server a poté nastavte zásobník LEMP.

  • Jak nainstalovat LEMP Stack (Nginx, MariaDB, PHP7.4) na Ubuntu 20.04 LTS

Potřebujete také název domény. Zaregistroval jsem své doménové jméno od NameCheap, protože cena je nízká a poskytují ochranu soukromí whois doživotně zdarma.

Po instalaci zásobníku LAMP nebo LEMP si přečtěte následující pokyny k instalaci MediaWiki.

Krok 1:Stažení MediaWiki

Stáhněte si nejnovější stabilní verzi MediaWiki:

wget https://releases.wikimedia.org/mediawiki/1.35/mediawiki-1.35.1.tar.gz

Rozbalte archiv do /var/www/ .

sudo mkdir -p /var/www/

sudo tar xvf mediawiki-1.35.1.tar.gz -C /var/www/

Přejmenujte adresář.

sudo mv /var/www/mediawiki-1.35.1 /var/www/mediawiki

Potom musíme nainstalovat některá rozšíření PHP požadovaná MediaWiki.

sudo apt install php7.4-mbstring php7.4-xml php7.4-fpm php7.4-json php7.4-mysql php7.4-curl php7.4-intl php7.4-gd php7.4-mbstring texlive imagemagick

Pokud používáte webový server Apache, musíte restartovat Apache.

sudo systemctl restart apache2

Dále musíme nainstalovat externí závislosti přes Composer (správce závislostí PHP).

sudo apt install composer

cd /var/www/mediawiki/

sudo composer install --no-dev

Upozorňujeme, že MediaWiki v současné době nepodporuje PHP8.0. Pokud jste na svůj server Ubuntu nainstalovali PHP8.0, měli byste spustit sudo update-alternatives --config php příkaz k nastavení PHP7.4 jako výchozí verze.

Jakmile jsou všechny závislosti nainstalovány, spusťte následující příkaz pro nastavení uživatele webového serveru (www-data ) jako vlastníka tohoto adresáře.

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

Krok 2:Vytvoření databáze

Přihlaste se na server MariaDB pomocí příkazu níže.

sudo mysql -u root

Vytvořte databázi pro MediaWiki. Tento tutoriál pojmenuje databázi mediawiki , ale můžete použít jakýkoli název.

CREATE DATABASE mediawiki;

Poté spusťte následující příkaz na výzvu MariaDB k vytvoření uživatele databáze a udělení oprávnění tomuto uživateli. Nahraďte mediawiki , wikiuser a password s vaším preferovaným názvem databáze, uživatelským jménem databáze a uživatelským heslem.

GRANT ALL PRIVILEGES ON mediawiki.* TO 'wikiuser'@'localhost' IDENTIFIED BY 'password';

Dále vyprázdněte oprávnění MariaDB a ukončete.

flush privileges;

exit;

Krok 3:Vytvoření virtuálního hostitele Apache nebo konfiguračního souboru Nginx pro MediaWiki

Apache

Pokud používáte webový server Apache, vytvořte virtuálního hostitele pro MediaWiki.

sudo nano /etc/apache2/sites-available/mediawiki.conf

Zkopírujte a vložte následující text do souboru. Nahraďte wiki.your-domain.com s vaším skutečným názvem domény. Nezapomeňte pro tento název domény vytvořit záznam DNS A.

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www//mediawiki/
    ServerName wiki.your-domain.com

    <Directory /var/www/html/mediawiki/>
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    ErrorLog /var/log/apache2/mediawiki_error
    CustomLog /var/log/apache2/mediawiki_access common
</VirtualHost>

Uložte a zavřete soubor. Poté povolte tohoto virtuálního hostitele.

sudo a2ensite mediawiki.conf

Znovu načtěte Apache, aby se výše uvedené změny projevily.

sudo systemctl reload apache2

Nginx

Pokud používáte webový server Nginx, vytvořte soubor bloku serveru pro MediaWiki pod /etc/nginx/conf.d/ adresář.

sudo nano /etc/nginx/conf.d/mediawiki.conf

Zkopírujte následující text a vložte jej do souboru. Nahraďte wiki.your-domain.com s vaším skutečným názvem domény. Nezapomeňte pro tento název domény vytvořit záznam DNS A.

server {
        listen 80;
        listen [::]:80;
        server_name wiki.your-domain.com;

        root /var/www/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 ~ /.well-known {
            allow all;
        }

        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. Poté otestujte konfiguraci Nginx.

sudo nginx -t

Pokud je test úspěšný, znovu načtěte webový server Nginx.

sudo systemctl reload nginx

Krok 4:Povolení HTTPS

Pro šifrování HTTP provozu můžeme povolit HTTPS instalací bezplatného TLS certifikátu vydaného od Let’s Encrypt. Spuštěním následujícího příkazu nainstalujte klienta Let’s Encrypt (certbot) na server Ubuntu 20.04.

sudo apt install certbot

Pokud používáte Apache , nainstalujte plugin Certbot Apache.

sudo apt install python3-certbot-apache

A spusťte tento příkaz, abyste získali a nainstalovali certifikát TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d wiki.your-domain.com

Pokud používáte Nginx , pak musíte také nainstalovat plugin Certbot Nginx.

sudo apt install python3-certbot-nginx

Dále spusťte následující příkaz pro získání a instalaci certifikátu TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d wiki.your-domain.com

Kde

  • --nginx :Použijte plugin nginx.
  • --apache :Použijte plugin Apache.
  • --agree-tos :Souhlas se smluvními podmínkami.
  • --redirect :Vynutit HTTPS přesměrováním 301.
  • --hsts :Přidejte hlavičku Strict-Transport-Security do každé odpovědi HTTP. Vynucení prohlížeče, aby pro doménu vždy používal TLS. Chrání před odstraněním SSL/TLS.
  • --staple-ocsp :Umožňuje sešívání OCSP. Platná odpověď OCSP je přišita k certifikátu, který server nabízí během TLS.

Certifikát by nyní měl být získán a automaticky nainstalován.

Krok 5:Spuštění webového instalačního skriptu

Přejděte na https://wiki.you-domain.com ve vašem webovém prohlížeči spusťte webový instalační skript. Klikněte na Dokončit instalaci odkaz pro spuštění průvodce nastavením.

Dále vyberte jazyk, který chcete použít pro instalaci MediaWiki a pro samotnou wiki.

Průvodce nastavením poté zkontroluje prostředí vašeho serveru, jako jsou rozšíření PHP.

Přejděte k dalšímu kroku. Budete muset nakonfigurovat nastavení databáze. Vyberte MariaDB, MySQL, or compatible pro Database type . Zadejte localhost pro Database host a zadejte název databáze mediawiki stejně jako uživatelské jméno a heslo databáze, které jsou vytvořeny v kroku 2.

V dalším kroku můžete zvolit použití stejného databázového účtu pro webový přístup.

Poté zadejte název své Wiki a vytvořte si účet správce.

V Options máte možnost nastavit svou wiki jako Otevřít wiki , je vyžadováno vytvoření účtu, pouze autorizovaní editoři a soukromá wiki. Poté si můžete vybrat licenci.

Klikněte na Continue pro zahájení instalace Mediawiki.

A LocalSettings.php soubor bude vygenerován v procesu instalace. Tento soubor si musíte stáhnout a vložit do /var/www/mediawiki/ adresář vašeho serveru Ubuntu 20.04. Jakmile to uděláte, budete mít přístup ke své nově nainstalované MediaWiki na http://wiki.your-domain.com .

Chcete-li vytvořit stránku pro výraz, jednoduše přejděte na

wiki.your-domain.com/index.php/your-term

nebo

wiki.your-domain.com/index.php?title=your-term

Jak nastavit SMTP pro odesílání e-mailů

Pokud bude vaši instanci MediaWiki používat více než jedna osoba, je důležité, aby váš server MediaWiki mohl odesílat transakční e-maily, jako jsou e-maily pro resetování hesla, e-maily s upozorněním atd.

Upravte soubor LocalSettings.php soubor.

sudo nano /var/www/mediawiki/LocalSettings.php

Přidejte následující řádky na konec tohoto souboru.

$wgSMTP = [
    'host'     => 'tls://mail.your-domain.com', // could also be an IP address. Where the SMTP server is located. If using SSL or TLS, add the prefix "ssl://" or "tls://".
    'port'     =>  587,                         // Port to use when connecting to the SMTP server
    'auth'     =>  true,                        // Should we use SMTP authentication (true or false)
    'username' =>  '[email protected]',      // Username to use for SMTP authentication (if being used)
    'password' =>  'user_password'              // Password to use for SMTP authentication (if being used)
];

Uložte a zavřete soubor.

Informace o tom, jak nastavit e-mailový server, naleznete v následujícím návodu. Poznámka že vřele doporučuji provozovat poštovní server iRedMail na čerstvém čistém OS. Instalace iRedMail na OS, který má jiné webové aplikace, může selhat a pravděpodobně přerušit stávající aplikace.

  • Jak snadno nastavit plně vybavený poštovní server na Ubuntu 20.04 pomocí iRedMail

Ubuntu
  1. Jak nainstalovat Apache na Ubuntu 18.04

  2. Jak nainstalovat Apache na Ubuntu 20.04

  3. Jak nainstalovat Nginx na Ubuntu 16.04

  1. Jak nainstalovat Joomla s Apache na Ubuntu 18.04

  2. Jak nainstalovat MediaWiki s Nginx na Ubuntu 16.04

  3. Jak nainstalovat osTicket s Nginx na Ubuntu 18.04 LTS

  1. Jak nainstalovat WordPress 5.x s Nginx na Ubuntu 18.04 / Ubuntu 16.04

  2. Jak nainstalovat NextCloud na Ubuntu 20.04 s Apache

  3. Jak nainstalovat WordPress s Nginx na Ubuntu