DokuWiki je bezplatná, open-source a výkonná softwarová aplikace Wiki napsaná v PHP. K ukládání dat používá soubor namísto databáze. Je jednoduchý, lehký a umožňuje vám vytvářet a upravovat webové stránky z webového prohlížeče. Nabízí mnoho funkcí, které vám umožní snadno škálovat a optimalizovat váš web. Je používán mnoha uživateli díky jeho čisté a čitelné syntaxi, snadné údržbě, zálohování a integraci.
V tomto tutoriálu vám ukážu, jak nainstalovat DokuWiki pomocí Apache a Let's Encrypt SSL na Debian 11.
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
Před spuštěním se doporučuje aktualizovat systémové balíčky na nejnovější verzi. Můžete je aktualizovat 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.
Nainstalujte Apache a PHP
DokuWiki běží na Apache nebo Nginx a je napsána v jazyce PHP. Takže budete muset nainstalovat Apache, PHP a další požadovaná rozšíření na váš server. Můžete je nainstalovat spuštěním následujícího příkazu:
apt-get install apache2 php php-gd php-xml php-json -y
Jakmile jsou všechny balíčky nainstalovány, spusťte službu Apache a povolte její spuštění při restartu systému:
systemctl start apache2
systemctl enable apache2
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Instalovat DokuWiki
Nejprve přejděte na stránku stahování DokuWiki a stáhněte si nejnovější verzi DokuWiki pomocí následujícího příkazu:
wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
Po dokončení stahování vytvořte adresář pro DokuWiki v kořenovém adresáři webu Apache:
mkdir /var/www/html/dokuwiki
Dále rozbalte stažený soubor do adresáře DokuWiki pomocí následujícího příkazu:
tar -xvzf dokuwiki-stable.tgz -C /var/www/html/dokuwiki/ --strip-components=1
Dále zkopírujte některé potřebné soubory pomocí následujícího příkazu:
cp /var/www/html/dokuwiki/.htaccess{.dist,}
Dále nastavte správné vlastnictví adresáře DokuWiki:
chown -R www-data:www-data /var/www/html/dokuwiki
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Vytvoření virtuálního hostitele Apache pro DokuWiki
Dále budete muset vytvořit konfigurační soubor virtuálního hostitele Apache pro hostování DokuWiki na internetu. Můžete jej vytvořit pomocí následujícího příkazu:
nano /etc/apache2/sites-available/dokuwiki.conf
Přidejte následující řádky:
<VirtualHost *:80> ServerName dokuwiki.example.com DocumentRoot /var/www/html/dokuwiki <Directory ~ "/var/www/html/dokuwiki/(bin/|conf/|data/|inc/)"> <IfModule mod_authz_core.c> AllowOverride All Require all denied </IfModule> <IfModule !mod_authz_core.c> Order allow,deny Deny from all </IfModule> </Directory> ErrorLog /var/log/apache2/dokuwiki_error.log CustomLog /var/log/apache2/dokuwiki_access.log combined </VirtualHost>
Uložte a zavřete soubor a poté povolte konfigurační soubor virtuálního hostitele pomocí následujícího příkazu:
a2ensite dokuwiki.conf
Poté znovu načtěte Apache, aby se změny aplikovaly.
systemctl reload apache2
Stav Apache můžete také zkontrolovat pomocí následujícího příkazu:
systemctl status apache2
Získáte následující výstup:
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2021-10-24 04:01:29 UTC; 9min ago Docs: https://httpd.apache.org/docs/2.4/ Process: 27698 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS) Tasks: 77 (limit: 4691) Memory: 12.5M CGroup: /system.slice/apache2.service ??21346 /usr/sbin/apache2 -k start ??27703 Passenger watchdog ??27706 Passenger core ??27711 Passenger ust-router ??27729 /usr/sbin/apache2 -k start ??27730 /usr/sbin/apache2 -k start
Zabezpečte DokuWiki pomocí Let's Encrypt SSL
Po konfiguraci Apache se doporučuje zabezpečit vaši wiki stránku pomocí certifikátu Let's Encrypt SSL. Chcete-li tak učinit, budete muset do svého systému nainstalovat klienta Certbot. Certbot je snadno použitelný klient, který stáhne certifikát z otevřené certifikační autority Let's Encrypt spuštěné EFF, Mozillou a dalšími – a nasadí jej na webový server. Pomocí klienta Certbot Let's Encrypt můžete snadno stáhnout, nainstalovat a obnovit certifikát SSL pro vaši doménu.
Certbot můžete nainstalovat pomocí následujícího příkazu:
apt-get install certbot python3-certbot-apache -y
Jakmile bude klient Certbot úspěšně nainstalován, spusťte následující příkaz pro instalaci Let's Encrypt SSL pro váš web:
certbot --apache -d dokuwiki.example.com
Budete požádáni, abyste poskytli svůj platný e-mail a přijali podmínky služby, jak je uvedeno níže:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache 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 dokuwiki.example.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/dokuwiki-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/dokuwiki-le-ssl.conf Enabling available site: /etc/apache2/sites-available/dokuwiki-le-ssl.conf
Dále vyberte, zda chcete přesměrovat provoz HTTP na HTTPS, nebo nakonfigurujte Nginx tak, aby přesměroval veškerý provoz na zabezpečený přístup HTTPS, jak je znázorněno v následujícím výstupu:
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 zahájení procesu. Po dokončení instalace byste měli získat následující výstup:
Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/dokuwiki.conf to ssl vhost in /etc/apache2/sites-available/dokuwiki-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://dokuwiki.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=dokuwiki.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/dokuwiki.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/dokuwiki.example.com/privkey.pem Your cert will expire on 2021-01-25. 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" - 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
V tuto chvíli jsou vaše stránky Dokuwiki zabezpečeny pomocí Let's Encrypt SSL. Nyní můžete ke svému webu přistupovat zabezpečeně pomocí protokolu HTTPS.
Nastavení automatického obnovení certifikátu Let's Encrypt
Ve výchozím nastavení jsou certifikáty Let’s Encrypt platné 90 dní. Budete tedy muset nastavit úlohu cron pro automatické obnovení certifikátu SSL. Je bezpečné vytvořit úlohu cron, která běží každý týden nebo dokonce každý den.
Pokud chcete certifikát SSL obnovit ručně, spusťte následující příkaz:
certbot renew --dry-run
Úlohu cron pro automatické obnovení certifikátu SSL každý den v 10:00 můžete nastavit úpravou následujícího souboru:
crontab -e
Přidejte následující řádek:
00 10 * * * root /usr/bin/certbot renew >/dev/null 2>&1
Po dokončení uložte a zavřete soubor.
Přístup k DokuWiki
Nyní otevřete webový prohlížeč a zadejte adresu URL https://dokuwiki.example.com/install.php . Měli byste vidět instalační obrazovku DokuWiki:
Zadejte své jméno wiki, uživatelské jméno správce, heslo, e-mail, vyberte zásady a klikněte na Uložit knoflík. Budete přesměrováni na následující stránku:
Klikněte na „vaše nová DokuWiki ". Měli byste vidět následující obrazovku:
Klikněte na Přihlásit knoflík. Budete přesměrováni na přihlašovací obrazovku DokuWiki, jak je znázorněno níže:
Zadejte své administrátorské uživatelské jméno, heslo a klikněte na Přihlásit se knoflík. Na následující obrazovce byste měli vidět řídicí panel DokuWiki:
Závěr
Gratulujeme! úspěšně jste nainstalovali DokuWiki a zabezpečili ji pomocí Let's Encrypt SSL na Debianu 11. Nyní můžete začít vytvářet svůj první web pomocí DokuWiki. Pokud máte nějaké dotazy, neváhejte se mě zeptat.