Installazione DokuWiki · 6 min read · Dec 14, 2025
Come installare DokuWiki con Nginx e Let's Encrypt SSL su FreeBSD 12
DokuWiki è un software wiki Open Source semplice da usare e altamente versatile che non richiede un database. È amato dagli utenti per la sua sintassi pulita e leggibile. La facilità di manutenzione, backup e integrazione lo rende il preferito dagli amministratori. I controlli di accesso integrati e i connettori di autenticazione rendono DokuWiki particolarmente utile nel contesto aziendale e un gran numero di plugin contribuiti dalla sua vivace comunità consente una vasta gamma di casi d’uso oltre a un wiki tradizionale. Questo tutorial ti mostrerà come installare DokuWiki su un server FreeBSD 12.
Requisiti
Assicurati che il tuo server soddisfi i seguenti requisiti.
- Software del server web che supporta PHP (Apache, NGINX, IIS, Lighttpd, LiteSpeed)
- Versione PHP 5.6 o successiva, versioni più recenti sono altamente raccomandate.
Prerequisiti
- Un sistema operativo FreeBSD 12.
- Un utente non root con privilegi
sudo.
Passi iniziali
Controlla la versione di FreeBSD.
uname -ro
# FreeBSD 12.1-RELEASEAggiorna i pacchetti del tuo sistema operativo (software). Questo è un primo passo importante perché garantisce che tu abbia gli ultimi aggiornamenti e le correzioni di sicurezza per i pacchetti software predefiniti del tuo sistema operativo.
freebsd-update fetch install
pkg update && pkg upgrade -yInstalla alcuni pacchetti essenziali che sono necessari per la gestione di base del sistema operativo FreeBSD 12.
pkg install -y sudo vim unzip curl wget bash bash-completion socat gitCrea un nuovo account utente con il nome utente preferito, utilizziamo johndoe.
adduser
# Nome utente: johndoe
# Nome completo: John Doe
# Uid (Lascia vuoto per predefinito):
# Gruppo di accesso [johndoe]:
# Il gruppo di accesso è johndoe. Vuoi invitare johndoe in altri gruppi? []: wheel
# Classe di accesso [default]:
# Shell (sh csh tcsh nologin) [sh]: bash
# Directory home [/home/johndoe]:
# Permessi della directory home (Lascia vuoto per predefinito):
# Vuoi usare l'autenticazione basata su password? [yes]:
# Vuoi usare una password vuota? (yes/no) [no]:
# Vuoi usare una password casuale? (yes/no) [no]:
# Inserisci password: your_secure_password
# Inserisci di nuovo la password: your_secure_password
# Vuoi bloccare l'account dopo la creazione? [no]:
# OK? (yes/no): yes
# Vuoi aggiungere un altro utente? (yes/no): no
# Arrivederci! Esegui il comando visudo e decommenta la riga %wheel ALL=(ALL) ALL, per consentire ai membri del gruppo wheel di eseguire qualsiasi comando.
visudo
# Decommenta rimuovendo il segno di hash (#)
%wheel ALL=(ALL) ALLOra, passa al tuo nuovo utente creato con il comando su.
su - johndoeNOTA: Sostituisci johndoe con il tuo nome utente.
Imposta il fuso orario.
sudo tzsetupPasso 1 - Installa PHP e le estensioni PHP
Installa PHP, così come le estensioni PHP necessarie.
sudo pkg install -y php72 php72-mbstring php72-tokenizer php72-pdo php72-pdo_mysql php72-openssl php72-hash php72-json php72-phar php72-filter php72-zlib php72-dom php72-xml php72-xmlwriter php72-xmlreader php72-pecl-imagick php72-curl php72-session php72-ctype php72-iconv php72-gd php72-simplexml php72-zip php72-filter php72-tokenizer php72-calendar php72-fileinfo php72-intl php72-mysqli php72-phar php72-opcache php72-pdo_pgsqlControlla la versione di PHP.
php --version
# PHP 7.2.17 (cli) (built: Apr 13 2019 01:13:32) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend TechnologiesCollega php.ini-production a php.ini.
sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.iniAbilita e avvia PHP-FPM.
sudo sysrc php_fpm_enable=yes
sudo service php-fpm startPasso 2 - Installa il client acme.sh e ottieni il certificato Let’s Encrypt (opzionale)
Mettere in sicurezza il tuo sito con HTTPS non è necessario, ma è una buona pratica per proteggere il traffico del tuo sito. Per ottenere un certificato TLS da Let’s Encrypt utilizzeremo il client acme.sh. Acme.sh è un semplice software shell UNIX per ottenere certificati TLS da Let’s Encrypt con zero dipendenze.
Scarica e installa acme.sh:
sudo pkg install -y acme.shControlla la versione di acme.sh:
acme.sh --version
# v2.8.5Ottieni certificati RSA e ECC/ECDSA per il tuo dominio/nome host:
# RSA 2048
sudo acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
sudo acme.sh --issue --standalone -d example.com --keylength ec-256Se desideri certificati falsi per testare, puoi aggiungere il flag --staging ai comandi sopra.
Dopo aver eseguito i comandi sopra, i tuoi certificati e chiavi saranno in:
- Per RSA:
/home/username/example.comdirectory. - Per ECC/ECDSA:
/home/username/example.com_eccdirectory.
Per elencare i tuoi certificati emessi puoi eseguire:
acme.sh --listCrea una directory per memorizzare i tuoi certificati. Utilizzeremo la directory /etc/letsencrypt.
sudo mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_eccInstalla/copia i certificati nella directory /etc/letsencrypt.
# RSA
sudo acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
sudo acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"Tutti i certificati saranno automaticamente rinnovati ogni 60 giorni.
Dopo aver ottenuto i certificati esci dall’utente root e torna all’utente sudo regolare:
exitPasso 3 - Installa e configura Nginx
DokuWiki funzionerà su qualsiasi server web che supporta PHP. In questo tutorial, utilizzeremo Nginx. Se preferisci Apache o un altro server web, puoi utilizzare quello invece di Nginx.
Installa Nginx.
sudo pkg install -y nginxControlla la versione di Nginx.
nginx -v
# nginx version: nginx/1.16.1Abilita e avvia il servizio Nginx.
sudo sysrc nginx_enable=yes
sudo service nginx startEsegui sudo vim /usr/local/etc/nginx/dokuwiki.conf e imposta il server virtuale Nginx per DokuWiki.
sudo vim /usr/local/etc/nginx/dokuwiki.confCopia/incolla la seguente configurazione Nginx e salvala:
server {
listen [::]:443 ssl;
listen 443 ssl;
listen [::]:80;
listen 80;
# RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
# ECC
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
server_name wiki.example.com;
root /usr/local/www/dokuwiki;
index index.html index.htm index.php doku.php;
client_max_body_size 15M;
client_body_buffer_size 128K;
location / {
try_files $uri $uri/ @dokuwiki;
}
location ^~ /conf/ { return 403; }
location ^~ /data/ { return 403; }
location ~ \.ht { deny all; }
location @dokuwiki {
rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last;
rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last;
rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last;
rewrite ^/(.*) /doku.php?id=$1 last;
}
location ~ \.php$ {
try_files $uri $uri/ /doku.php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param REDIRECT_STATUS 200;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}Salva il file ed esci dal tuo editor.
Includi il file dokuwiki.conf nel file principale nginx.conf eseguendo sudo vim /usr/local/etc/nginx/nginx.conf e aggiungi la seguente riga al blocco http {}.
include dokuwiki.conf;
Testa le modifiche alla configurazione di Nginx.
sudo nginx -tRicarica Nginx.
sudo service nginx reloadPasso 4 - Installa DokuWiki
Crea una directory di root del documento:
sudo mkdir -p /usr/local/www/dokuwikiNaviga nella root del documento:
cd /usr/local/www/dokuwikiScarica l’ultima versione stabile di DokuWiki dalla pagina di download di DokuWiki:
sudo wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgzEstrai il pacchetto tar di DokuWiki:
sudo tar xvf dokuwiki-stable.tgz
sudo rm dokuwiki-stable.tgz
sudo mv dokuwiki-2018-04-22b/* . && mv dokuwiki-2018-04-22b/.* .
sudo rmdir dokuwiki-2018-04-22b/Cambia la proprietà della directory /var/www/dokuwiki a www:
sudo chown -R www:www /usr/local/www/dokuwikiRiavvia PHP-FPM :
sudo service php-fpm restartApri lo script di configurazione di DokuWiki, install.php, nel tuo browser e configura DokuWiki. Lo script di configurazione controlla la disponibilità delle funzioni PHP richieste e verifica i permessi dei file necessari. Crea anche un account amministratore iniziale e una politica ACL iniziale. Per eseguire l’installer, apri http://wiki.example.com/install.php nel browser e segui le istruzioni.
Passo 5 - Accedi all’interfaccia web di DokuWiki
Apri il tuo browser web e digita l’URL http://example.com/install.php. Sarai reindirizzato alla seguente pagina:
Fornisci tutte le informazioni richieste come nome superutente, email, password. Quindi, fai clic sul pulsante Salva. Una volta completata con successo l’installazione, dovresti vedere la seguente pagina:
Ora, fai clic su il tuo nuovo DokuWiki. Dovresti vedere la seguente pagina:
Ora, fai clic sul pulsante login. Sarai reindirizzato alla seguente pagina:
Ora, fornisci il tuo nome utente e password Admin. Quindi, fai clic sul pulsante Accedi. Dovresti vedere il dashboard di DokuWiki nella seguente pagina:
Dopo una configurazione riuscita, elimina il file install.php dalla directory root di DokuWiki:
sudo rm /var/www/dokuwiki/install.phpCongratulazioni! Hai installato e configurato con successo DokuWiki sul server FreeBSD 12. Ora puoi creare facilmente il tuo sito wiki utilizzando DokuWiki.
Link
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.