1 07/04/2026 10 min

Installazione di Tiki Wiki su Ubuntu 22.04

Tiki Wiki CMS Groupware è una piattaforma web completa per wiki, documentazione, collaborazione e gestione contenuti. Su Ubuntu 22.04 conviene partire con uno stack LAMP ben tenuto: Apache, MariaDB e PHP 8.1. La procedura sotto è pensata per un’installazione pulita, con attenzione a permessi, database, file di configurazione e controlli finali.

Prima di iniziare, verifica di avere accesso amministrativo al server, un nome host valido, DNS già puntato al server o comunque una connessione diretta via IP per il setup iniziale, e uno spazio disco sufficiente per file applicativi, upload e backup.

Prerequisiti di sistema

Su Ubuntu 22.04 la base consigliata è:

  • Apache 2.4
  • MariaDB 10.6 o MySQL compatibile
  • PHP 8.1 con estensioni richieste da Tiki

Controlla subito lo stato del sistema e aggiorna i pacchetti:

sudo apt update
sudo apt -y upgrade
sudo reboot

Dopo il riavvio, verifica la versione del sistema e la presenza di spazio libero:

lsb_release -a
uname -r
df -h

Se il disco è già vicino al limite, fermati prima di procedere: Tiki genera cache, file temporanei e contenuti caricati dagli utenti. Un’installazione su filesystem saturo porta facilmente a errori PHP, pagine bianche o problemi di sessione.

Installazione di Apache, MariaDB e PHP

Installa i pacchetti base e le estensioni PHP più comuni richieste da applicazioni web di questo tipo:

sudo apt install -y apache2 mariadb-server \
php php-cli php-common php-mysql php-xml php-mbstring php-curl php-gd php-zip php-intl php-ldap php-soap php-bcmath php-gmp php-opcache unzip wget curl

Abilita e avvia i servizi:

sudo systemctl enable --now apache2 mariadb

Verifica che siano attivi:

systemctl status apache2 --no-pager
systemctl status mariadb --no-pager

Se uno dei due servizi non parte, consulta subito i log:

journalctl -u apache2 -n 50 --no-pager
journalctl -u mariadb -n 50 --no-pager

Per PHP controlla la versione effettiva installata:

php -v

Tiki su Ubuntu 22.04 funziona normalmente con PHP 8.1, ma conviene verificare sempre la compatibilità della release specifica che intendi installare. Se stai usando una versione di Tiki particolarmente recente, controlla la documentazione ufficiale del progetto per eventuali requisiti aggiuntivi o moduli PHP opzionali.

Configurazione di MariaDB

Proteggi l’installazione del database e imposta una base pulita per l’applicazione:

sudo mysql_secure_installation

Durante la procedura, in genere conviene:

  • impostare una password per l’utente root di MariaDB se non è già presente una policy locale diversa
  • rimuovere gli utenti anonimi
  • disabilitare il login remoto di root
  • rimuovere il database di test
  • rinfrescare i privilegi

Poi crea database e utente dedicati a Tiki:

sudo mysql -u root -p
CREATE DATABASE tikiwiki CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'tikiuser'@'localhost' IDENTIFIED BY 'PASSWORD_FORTE_E_AL_RIPARO';
GRANT ALL PRIVILEGES ON tikiwiki.* TO 'tikiuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Non riusare account generici o privilegi eccessivi fuori dal server locale. L’utente DB deve restare limitato a quel database e a quell’host.

Verifica che il database risponda e che l’utente sia valido:

mysql -u tikiuser -p -h localhost tikiwiki -e "SHOW TABLES;"

In questa fase è normale che non esistano ancora tabelle: l’importante è che l’autenticazione funzioni e che il database sia raggiungibile.

Download di Tiki Wiki

Scarica l’archivio ufficiale dalla sorgente del progetto. La modalità più sicura è usare il rilascio stabile pubblicato dal progetto e non pacchetti di terze parti non verificati.

Crea una directory applicativa dedicata, ad esempio in `/var/www/tiki`:

sudo mkdir -p /var/www/tiki
cd /tmp

Scarica il pacchetto dalla pagina ufficiale del progetto Tiki Wiki. Se conosci l’URL esatto dell’archivio stabile, usa wget o curl. Esempio generico:

wget <URL_DEL_PACCHETTO_TIKI> -O tiki.zip

Estrai i file nella directory web:

sudo unzip tiki.zip -d /var/www/tiki

Dopo l’estrazione, individua la directory effettiva dei file. In alcune release l’archivio contiene una sottocartella aggiuntiva. Controlla il contenuto:

ls -la /var/www/tiki

Se i file sono finiti in una sottodirectory, spostali nella root desiderata oppure punta il VirtualHost alla directory corretta. L’obiettivo è che i file di Tiki siano serviti direttamente dal document root previsto.

Permessi e proprietà dei file

Apache su Ubuntu gira normalmente come utente `www-data`. I file applicativi devono essere leggibili dal web server e, in alcuni punti, scrivibili solo dove necessario. Una gestione troppo permissiva è un rischio, ma anche permessi troppo stretti rompono upload, cache e installazione.

Imposta proprietà e permessi di base:

sudo chown -R www-data:www-data /var/www/tiki
sudo find /var/www/tiki -type d -exec chmod 755 {} \;
sudo find /var/www/tiki -type f -exec chmod 644 {} \;

Se in seguito Tiki richiede directory scrivibili specifiche per cache, upload o file temporanei, limita la scrittura solo a quelle directory. Non aprire tutto in scrittura globale.

Controlla che il web server riesca a leggere i file:

sudo -u www-data test -r /var/www/tiki/index.php && echo OK

Se questo test fallisce, il problema è quasi sempre un path sbagliato o permessi incoerenti.

Configurazione di Apache

Crea un VirtualHost dedicato per il sito Tiki. Esempio base:

sudo nano /etc/apache2/sites-available/tiki.conf

Contenuto consigliato:

<VirtualHost *:80>
    ServerName wiki.example.com
    DocumentRoot /var/www/tiki

    <Directory /var/www/tiki>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/tiki_error.log
    CustomLog ${APACHE_LOG_DIR}/tiki_access.log combined
</VirtualHost>

Abilita il sito e i moduli più utili:

sudo a2ensite tiki.conf
sudo a2enmod rewrite headers expires env dir mime ssl
sudo apache2ctl configtest
sudo systemctl reload apache2

Il test di configurazione deve restituire `Syntax OK`. Se non lo fa, correggi prima di ricaricare. Un reload con config errata può lasciare il servizio in stato degradato o impedirne il riavvio completo.

Se usi un dominio reale, sostituisci `wiki.example.com` con il tuo FQDN. Se stai facendo il primo setup, puoi usare temporaneamente l’IP o una voce DNS locale, ma poi conviene allineare subito il nome host definitivo perché Tiki può memorizzare URL e impostazioni di base nel wizard iniziale.

PHP: impostazioni consigliate

Per installazioni web di questo tipo conviene controllare alcune direttive PHP, soprattutto dimensione upload, memoria e timeout. Il file da modificare su Ubuntu 22.04 è in genere uno tra `/etc/php/8.1/apache2/php.ini` o il path equivalente del modulo Apache.

Apri il file e regola almeno queste voci in base al carico previsto:

sudo nano /etc/php/8.1/apache2/php.ini

Valori di partenza tipici:

memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 120
max_input_time = 120
date.timezone = Europe/Rome

Dopo le modifiche, riavvia Apache:

sudo systemctl restart apache2

Verifica che i valori siano effettivi con una pagina phpinfo temporanea oppure da CLI, tenendo presente che CLI e Apache possono usare file di configurazione diversi:

php -i | grep -E "memory_limit|upload_max_filesize|post_max_size|date.timezone"

Se i valori non coincidono, stai leggendo il profilo PHP sbagliato. In quel caso controlla il file caricato da Apache, non solo quello della CLI.

Avvio dell’installer web

A questo punto apri il browser su `http://wiki.example.com` oppure sull’IP del server se non hai ancora il DNS pronto. Tiki dovrebbe avviare il wizard di installazione o mostrarti la schermata iniziale di setup.

Durante il wizard inserisci:

  • nome del sito
  • credenziali del database creato in precedenza
  • host database, in genere `localhost`
  • eventuali prefissi tabella, se richiesti

Se il wizard non parte e ottieni una pagina bianca o un errore 500, il primo controllo è il log di Apache:

sudo tail -n 100 /var/log/apache2/tiki_error.log

Se il log non è sufficiente, controlla anche il log PHP o il journal di sistema. Gli errori più comuni in questa fase sono estensioni PHP mancanti, permessi errati sulla directory, o un database non raggiungibile.

Se durante l’installazione Tiki segnala un modulo mancante, installalo e riavvia Apache. Per esempio, se manca una libreria PHP specifica, il messaggio di errore in pagina o nel log indica quasi sempre il nome del modulo. Non procedere per tentativi casuali: leggi l’errore e verifica il pacchetto richiesto.

Creazione del primo account amministratore

Il wizard di Tiki ti chiederà di creare l’account amministrativo iniziale. Usa una password forte e un indirizzo email valido. Questo account avrà privilegi elevati sull’intera istanza, quindi va trattato come una credenziale sensibile.

Appena completato il setup:

  • verifica di poter accedere al pannello admin
  • cambia eventuali credenziali temporanee
  • controlla lingua, timezone e URL base
  • disabilita eventuali opzioni di installazione non più necessarie

Se Tiki salva un URL errato, correggilo subito nelle impostazioni generali. Un URL base sbagliato genera problemi con link, login, redirect e caricamento risorse statiche.

HTTPS con Let’s Encrypt

Una volta che il sito risponde correttamente in HTTP, passa subito a HTTPS. Su Apache con Ubuntu 22.04 puoi usare Certbot:

sudo apt install -y certbot python3-certbot-apache
sudo certbot --apache -d wiki.example.com

Certbot configura il virtual host TLS e può anche forzare il redirect a HTTPS. Dopo l’emissione, testa la validità del certificato e il redirect:

curl -I http://wiki.example.com
curl -I https://wiki.example.com

Atteso: la prima richiesta deve rispondere con un 301/302 verso HTTPS, la seconda con 200 o con la pagina di login dell’applicazione. Se il certificato non viene emesso, verifica che il DNS punti correttamente al server e che la porta 80 sia raggiungibile dall’esterno.

Ricorda che Tiki può generare URL assoluti. Dopo l’attivazione di HTTPS, controlla che l’URL base dell’app sia aggiornato in modo coerente, altrimenti potresti vedere contenuti misti o redirect errati.

Hardening minimo

Per ridurre la superficie d’attacco, applica almeno queste misure:

  • disabilita l’accesso root remoto al database
  • limita i privilegi dell’utente DB al solo database Tiki
  • mantieni aggiornati Ubuntu, Apache, PHP e Tiki
  • usa HTTPS obbligatorio
  • verifica i permessi delle directory scrivibili

Se hai UFW attivo, consenti solo i servizi necessari:

sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'
sudo ufw enable
sudo ufw status verbose

Se il server è esposto a Internet, considera anche un controllo base dei log di accesso e degli eventi di autenticazione. Su un wiki pubblico, tentativi di login e scansioni sono normali: quello che conta è distinguere il rumore dagli accessi anomali.

Verifiche finali

Dopo l’installazione, verifica questi punti in ordine:

  1. Il dominio risponde con `curl -I https://wiki.example.com` e restituisce 200 o redirect corretto.
  2. Apache è attivo con `systemctl status apache2` e non mostra errori recenti.
  3. MariaDB è attivo con `systemctl status mariadb` e l’utente database riesce a connettersi.
  4. Il login amministrativo funziona.
  5. I log di errore restano puliti durante navigazione, upload e salvataggio contenuti.

Un controllo utile è anche la presenza di errori PHP nel log durante il caricamento di una pagina reale dell’applicazione:

sudo tail -f /var/log/apache2/tiki_error.log

Se il sito è lento, misura prima la latenza percepita dal client con `curl -o /dev/null -s -w '%{time_starttransfer}\n' https://wiki.example.com` e poi valuta il carico lato server. Non introdurre tuning a caso prima di sapere se il collo di bottiglia è PHP, database, disco o rete.

Rollback rapido

Se qualcosa va storto in fase di setup, il rollback minimo e reversibile è questo:

  1. disabilita il virtual host appena creato con `sudo a2dissite tiki.conf`
  2. rimuovi o rinomina temporaneamente la directory applicativa se necessario
  3. ripristina eventuali backup di `/etc/apache2/sites-available/tiki.conf` e di `/etc/php/8.1/apache2/php.ini`
  4. riavvia o ricarica Apache solo dopo aver verificato la sintassi con `apache2ctl configtest`

Assunzione: stai installando su un server Ubuntu 22.04 pulito, con Apache, MariaDB e PHP 8.1, e hai accesso root o sudo. Per versioni Tiki diverse, controlla sempre i requisiti ufficiali prima del deploy.

Se vuoi, il passo successivo sensato è preparare anche una variante con Nginx, PHP-FPM e hardening più stretto per produzione.