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-RELEASE

Aggiorna 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 -y

Installa 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 git

Crea 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) ALL

Ora, passa al tuo nuovo utente creato con il comando su.

su - johndoe

NOTA: Sostituisci johndoe con il tuo nome utente.

Imposta il fuso orario.

sudo tzsetup

Passo 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_pgsql

Controlla 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 Technologies

Collega php.ini-production a php.ini.

sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Abilita e avvia PHP-FPM.

sudo sysrc php_fpm_enable=yes  
sudo service php-fpm start

Passo 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.sh

Controlla la versione di acme.sh:

acme.sh --version  
# v2.8.5

Ottieni 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-256

Se 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.com directory.
  • Per ECC/ECDSA: /home/username/example.com_ecc directory.

Per elencare i tuoi certificati emessi puoi eseguire:

acme.sh --list

Crea 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_ecc

Installa/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:

exit

Passo 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 nginx

Controlla la versione di Nginx.

nginx -v  
# nginx version: nginx/1.16.1

Abilita e avvia il servizio Nginx.

sudo sysrc nginx_enable=yes  
sudo service nginx start

Esegui sudo vim /usr/local/etc/nginx/dokuwiki.conf e imposta il server virtuale Nginx per DokuWiki.

sudo vim /usr/local/etc/nginx/dokuwiki.conf

Copia/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 -t

Ricarica Nginx.

sudo service nginx reload

Passo 4 - Installa DokuWiki

Crea una directory di root del documento:

sudo mkdir -p /usr/local/www/dokuwiki

Naviga nella root del documento:

cd /usr/local/www/dokuwiki

Scarica l’ultima versione stabile di DokuWiki dalla pagina di download di DokuWiki:

sudo wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

Estrai 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/dokuwiki

Riavvia PHP-FPM :

sudo service php-fpm restart

Apri 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:

Installer DikuWiki

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:

Imposta nome utente e password

Ora, fai clic su il tuo nuovo DokuWiki. Dovresti vedere la seguente pagina:

DokuWiki installato con successo

Ora, fai clic sul pulsante login. Sarai reindirizzato alla seguente pagina:

Login

Ora, fornisci il tuo nome utente e password Admin. Quindi, fai clic sul pulsante Accedi. Dovresti vedere il dashboard di DokuWiki nella seguente pagina:

Benvenuto in DokuWiki

Dopo una configurazione riuscita, elimina il file install.php dalla directory root di DokuWiki:

sudo rm /var/www/dokuwiki/install.php

Congratulazioni! Hai installato e configurato con successo DokuWiki sul server FreeBSD 12. Ora puoi creare facilmente il tuo sito wiki utilizzando DokuWiki.

Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.