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