DokuWiki è un'applicazione wiki gratuita, open source e più versatile scritta in PHP. È semplice e leggero che utilizza un semplice formato di file per archiviare i suoi dati, quindi non richiede alcun database. È noto per la sua sintassi pulita e leggibile e consente di ridimensionare e ottimizzare facilmente utilizzando molte funzionalità avanzate. Puoi creare i tuoi siti Web personali o aziendali semplicemente caricandone il contenuto sul tuo server. Viene fornito con un ricco set di funzionalità tra cui supporto WYSIWYG, SEO friendly, controlli di accesso integrati e connettori di autenticazione, framework CSS flessibile e molto altro.
In questo tutorial, ti mostreremo come installare DokuWiki con Apache e certificato SSL Letsencrypt su Ubuntu 20.04.
Prerequisiti
- Un server che esegue Ubuntu 20.04.
- Un nome di dominio valido puntato al tuo server.
- Sul tuo server è configurata una password di root.
Aggiorna i pacchetti di sistema
Prima di iniziare, si consiglia di aggiornare i pacchetti di sistema all'ultima versione. Puoi farlo con il seguente comando:
apt-get update -y
apt-get upgrade -y
Una volta aggiornato il sistema, riavvialo per implementare le modifiche.
Installa Apache e PHP
DokuWiki è scritto in PHP e funziona sul server web. Quindi dovrai installare il server web Apache, PHP e altre librerie PHP sul tuo sistema. Puoi installarli tutti eseguendo il seguente comando:
apt-get install apache2 php php-gd php-xml php-json -y
Una volta installati tutti i pacchetti, avvia il servizio Apache e abilitalo all'avvio all'avvio con il seguente comando:
systemctl start apache2
systemctl enable apache2
Una volta terminato, puoi procedere al passaggio successivo.
Scarica DokuWiki
Per prima cosa, vai alla pagina di download ufficiale di DokuWiki e scarica l'ultima versione di DokuWiki con il seguente comando:
wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-rc.tgz
Una volta completato il download, crea una directory DokuWiki all'interno della directory principale web di Apache ed estrai DokuWiki:
mkdir /var/www/html/dokuwiki
tar -xvzf dokuwiki-rc.tgz -C /var/www/html/dokuwiki/ --strip-components=1
Quindi, copia il file .htaccess di esempio con il seguente comando:
cp /var/www/html/dokuwiki/.htaccess{.dist,}
Quindi, cambia la proprietà di dokuwiki in www-data:
chown -R www-data:www-data /var/www/html/dokuwiki
Una volta terminato, puoi procedere al passaggio successivo.
Configura Apache per DokuWiki
Quindi, crea un file di configurazione dell'host virtuale Apache per servire il sito Web DokuWiki:
nano /etc/apache2/sites-available/dokuwiki.conf
Aggiungi le seguenti righe:
<VirtualHost *:80> ServerName dokuwiki.linuxbuz.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>
Salva e chiudi il file quando hai finito. Quindi, abilita il sito DokuWiki e ricarica il servizio Apache con il seguente comando:
a2ensite dokuwiki.conf
systemctl reload apache2
A questo punto, il server web Apache è configurato per servire il sito DokuWiki. Ora puoi procedere con l'installazione di Let's Encrypt SSL sul tuo sito web.
Proteggi DokuWiki con Let's Encrypt SSL
Innanzitutto, dovrai installare il client Certbot nel tuo sistema. Certbot è un client facile da usare che recupera un certificato da Let's Encrypt, un'autorità di certificazione aperta lanciata da EFF, Mozilla e altri, e lo distribuisce a un server web. Utilizzando il client Certbot Let's Encrypt puoi facilmente scaricare, installare e rinnovare il certificato SSL per il tuo dominio.
Puoi installare Certbot con il seguente comando:
apt-get install certbot python3-certbot-apache -y
Una volta che il client Certbot è stato installato correttamente, esegui il seguente comando per installare Let's Encrypt SSL per il tuo sito web:
certbot --apache -d dokuwiki.linuxbuz.com
Ti verrà chiesto di fornire la tua email valida e di accettare i termini del servizio come mostrato di seguito:
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.linuxbuz.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
Quindi, seleziona se reindirizzare o meno il traffico HTTP a HTTPS o configura Nginx per reindirizzare tutto il traffico per proteggere l'accesso HTTPS come mostrato nel seguente output:
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
Digita 2 e premi Invio per avviare il processo. Una volta completata l'installazione, dovresti ottenere il seguente output:
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.linuxbuz.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=dokuwiki.linuxbuz.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/dokuwiki.linuxbuz.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/dokuwiki.linuxbuz.com/privkey.pem Your cert will expire on 2020-09-05. 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
A questo punto, il tuo sito Dokuwiki è protetto con Let's Encrypt SSL. Ora puoi accedere al tuo sito in modo sicuro utilizzando il protocollo HTTPS.
Accedi a DokuWiki
Ora apri il tuo browser web e digita l'URL https://dokuwiki.linuxbuz.com/install.php. Dovresti vedere la schermata di installazione di DokuWiki:
Fornisci il tuo nome wiki, nome utente amministratore, password, e-mail, scegli la tua politica e fai clic su Salva pulsante. Verrai reindirizzato alla seguente pagina:
Fai clic su "sei nuovo DokuWiki ". Dovresti vedere la seguente schermata:
Fai clic su Accedi pulsante. Verrai reindirizzato alla schermata di accesso di DokuWiki come mostrato di seguito:
Fornisci il nome utente e la password dell'amministratore e fai clic sul Registro In pulsante. Dovresti vedere la dashboard di DokuWiki nella schermata seguente:
Configurazione del rinnovo automatico del certificato SSL Let's Encrypt
Per impostazione predefinita, i certificati Let's Encrypt sono validi per 90 giorni. Quindi, dovrai impostare un cron job per rinnovare automaticamente il certificato SSL. È sicuro creare un processo cron che viene eseguito ogni settimana o anche ogni giorno.
Se desideri rinnovare manualmente il certificato SSL, esegui il comando seguente:
certbot renew --dry-run
Puoi impostare cron job per il rinnovo automatico del certificato SSL ogni giorno alle 10:00 modificando il seguente file:
crontab -e
Aggiungi la seguente riga:
00 10 * * * root /usr/bin/certbot renew >/dev/null 2>&1
Salva e chiudi il file, quando hai finito.
Conclusione
Congratulazioni! hai installato correttamente DokuWiki e lo hai protetto con Let's Encrypt SSL su Ubuntu 20.04. Puoi anche estendere il tuo DokuWiki usando temi, plugin e modelli. Sentiti libero di chiedermi se hai domande.