Archives For DokuWiki

In realtà la prima parte del lavoro l’ha fatta tutta Plesk e l’hosting su cui faccio girare il mio DokuWiki, lo ammetto. La seconda è invece pilotabile tramite estensione da installare, configurare e cominciare a utilizzare, modificando il metodo di login predefinito del software.

DokuWiki: HTTPS e autenticazione in due fattori

Plesk permette (se il modulo è installato e configurato) di utilizzare Let’s Encrypt per generare (e in seguito rinnovare automaticamente) un certificato per uno o più domini gestiti. Inoltre, per completare l’opera, può automaticamente forzare il redirect 301 verso ogni pagina in HTTPS così da evitare che qualche visitatore finisca ancora sotto HTTP (dalle impostazioni hosting di ciascun dominio / vhost). Spiegato in una sola immagine, il risultato è questo:

DokuWiki: HTTPS e autenticazione in due fattori 1

2FA (Autenticazione in due fattori)

Che poi è il succo dell’articolo promemoria nel caso in cui mi serva rifarlo successivamente a questa prima installazione. Il plugin si chiama authg2fa ed è disponibile nel repository ufficiale di DokuWiki all’indirizzo dokuwiki.org/plugin:authg2fa.

Lo puoi installare direttamente dal tuo Extension Manager, basta cercarlo con il nome che ti ho appena indicato. Lo troverai poi in dashboard (sotto gli Additional Plugins), per poter amministrare i token di ciascun utente registrato nel Wiki. Per poter ottenere il QR code da catturare con Authy (o qualsiasi altra applicazione compatibile) dovrai prima generare il Secret (pulsante Create new Secret, nda), quindi potrai selezionare “Show Secret/QR Code“:

DokuWiki: HTTPS e autenticazione in due fattori 2

Effettua la solita procedura per la registrazione di un nuovo accesso 2FA sulla tua applicazione preferita, quindi abbandona questa pagina e torna in dashboard, spostandoti in Configuration SettingsAuthentication, dove ti basterà modificare il metodo di autenticazione da quello attualmente utilizzato a authg2fa:

DokuWiki: HTTPS e autenticazione in due fattori 3

Scorri la pagina delle impostazioni fino in fondo, quindi salva la modifica appena operata, dovresti perdere la tua sessione e venire costretto a un nuovo login, stavolta specificando anche il codice di autenticazione doppia:

DokuWiki: HTTPS e autenticazione in due fattori 4

Inserisci i dati richiesti ed entra nuovamente in possesso del tuo utente e del tuo Wiki :-)

Ricorda: in caso di problemi, consulta la documentazione ufficiale del plugin disponibile su dokuwiki.org/plugin:authg2fa, ciò che puoi fare nell’immediato (nel caso in cui tu abbia rogne con l’autenticazione a due fattori) è tornare in “plain auth” modificando il file di configurazione di DokuWiki via FTP (/conf/local.php), modificando la stringa da $conf['authtype'] = 'authg2fa'; a $conf['authtype'] = 'authplain';.

Buon lavoro :-)

Condividi l'articolo con i tuoi contatti:

DokuWiki è l’ennesimo software in grado di mettere in piedi uno spazio dove poter salvare testo, immagini e allegati da rendere pubblici e magari modificabili da persone interessate a mandare avanti vostri lavori, idee, spunti di riflessione. Viene usato nei modi più disparati (anche come blog, ndr) ma personalmente lo preferisco per ciò che si prefigge di fare dalla nascita:

DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at creating documentation of any kind. It is targeted at developer teams, workgroups and small companies. It has a simple but powerful syntax which makes sure the datafiles remain readable outside the Wiki and eases the creation of structured texts. All data is stored in plain text files – no database is required.

Liberamente scaricabile dal sito web dell’autore (splitbrain.org/projects/dokuwiki), vanta un’installazione sufficientemente semplice (occhio a modificare i permessi delle cartelle e sottocartelle in 0777, qui la lista di ciò che va toccato: public.gfsolone.com/wiki/doku.php?id=wiki:permessi_installazione) e una configurazione che può essere un pelo più complessa se si decide di mettere mano ben oltre quello che il software propone di default. In ogni caso l’abbondante documentazione a vostra disposizione vi aiuterà nello scopo. Potete vedere un’installazione funzionante sullo spazio pubblico di gfsolone.Com all’indirizzo public.gfsolone.com/wiki (che andrà a sostituire l’ormai abbandonata installazione su GxWare).

Ma parliamo dell’argomento principale dell’articolo: l’aggiornamento.

Sempre sulla PubWiki ho creato una sezione “Diff” dedicata a tutti coloro che hanno un’installazione su hosting condiviso e necessitano di fare l’aggiornamento alle nuove versioni. Attraverso un documento del supporto si può imparare ad individuare facilmente ciò che realmente cambia da una release ad un’altra: dokuwiki.org/install:diffupgrade. Per farlo è necessario avere accesso ad un terminale Linux (o equivalente) ed eseguire dei semplici comandi che serviranno a scompattare i file, quindi confrontare il loro contenuto (i file che compongono il software).

Prima di partire

Ricordate sempre di effettuare un backup della vostra configurazione e dei vostri contenuti (date un’occhiata in documentazione o consultate questo mio articolo a riguardo), quindi di aprire in modifica il file di configurazione e impostare il tema di default per evitare sgradite sorprese post-upgrade. Se vi state chiedendo perché sappiate che il sottoscritto ha “bruciato” un’installazione in produzione, rifatta quasi da capo recuperando parzialmente i dati dal backup, per poi capire che il tema custom non permetteva di far funzionare in modo corretto Adora Belle.

Si, potete insultarmi per questo.

Diff & Patch

Dato che odio dover ricaricare tutto ogni volta, preferisco seguire questo metodo, individuare i file modificati da una release all’altra ed eseguire così l’aggiornamento:

DokuWiki: Diff

Per ciascuna nuova release (entro qualche giorno al massimo, portate pazienza) creerò un pacchetto “diff” contenente i file modificati da una release all’altra, avendo cura di rimuovere anche il file install.php che non va più tenuto nella cartella ftp di DokuWiki dopo aver già effettuato la prima installazione.

Per fare ciò che ho fatto io basterà scaricare i due file corrispondenti alla release attuale di DokuWiki e quella subito precedente, quindi estrarli e confrontarli tramite questo comando:

diff -rs dokuwiki-2012-01-25b dokuwiki-2012-09-10 | awk '/identical/{print $4}' | xargs rm -v

Dove “dokuwiki-2012-01-25b” e “dokuwiki-2012-09-10” ovviamente andranno modificati di volta in volta con i nuovi numeri di versione. Lo stesso comando (per il quale ringrazio il buon Paolo) si occuperà di cancellare tutti i file non modificati da una release all’altra, permettendo così di tenere solo lo stretto indispensabile, connettersi in SFTP alla macchina, recuperare la cartella intera e preparare un file compresso con il risultato :-)

Ecco quindi ciò che ho ottenuto dal rilascio “Adora Belle“: public.gfsolone.com/wiki/doku.php?id=wiki:dokuwiki_diff:adorabelle

Il pacchetto compresso un è 7z (7zip.org) ed è disponibile per il download qui: public.gfsolone.com/wiki/lib/exe/fetch.php?media=wiki:dokuwiki_diff:dokuwiki-2012-09-10-diff.7z

Chiunque voglia collaborare o suggerire altri metodi per gestire gli aggiornamenti di DokuWiki su hosting condiviso è il benvenuto, idem chi vorrebbe provare a creare i diff da caricare poi sul Wiki. Ho anche provato ad utilizzare il plugin consigliato in documentazione ufficiale ma sfortunatamente WebPerTe (dove conservo gfsolone.com) impone alcune restrizioni che non permettono la modifica dinamica dei permessi sui file (quindi la sovrascrittura).

Condividi l'articolo con i tuoi contatti:

DokuWiki, per chi non lo conoscesse, è un software (uno dei tanti, ndr) che vi permette di avere sul vostro spazio web un Wiki completo di ogni dettaglio:

DokuWiki è un software lato server basato sulla filosofia wiki, scritto in PHP e utilizzabile senza database: i dati inseriti vengono infatti gestiti dal file system.

Il software è stato sviluppato con l’intento evidente di fornire un supporto adeguato a chi ha la necessità di pubblicare contenuti di tipo manualistico: il nome stesso, DokuWiki, non è altro che la contrazione di “documentation wiki”.

fonte: Wikipedia

L’articolo di oggi riguarda nello specifico la programmazione dei backup della piattaforma, studiati in modo da essere automatici e a cadenza regolare, affinché l’operazione impatti il meno possibile sulla persona che cura il sistema e venga eseguita senza la necessità di ricordarsene ogni volta (cosa che tipicamente fa cadere il backup nel dimenticatoio fino a quando qualcosa si spacca e c’è la necessità di rifare tutto da zero!).

Il documento che riporta ciò che c’è da salvare per un eventuale ripristino è disponibile all’indirizzo dokuwiki.org/faq:backup. Le cartelle sono davvero poche, il resto è pura piattaforma che potrete facilmente scaricare e reinstallare da zero in ogni momento.

Non so voi, ma a me basta un semplice prodotto in grado di connettersi ad uno spazio FTP e replicare i contenuti con una versione che si trova nel disco locale, opportunamente tenuto sotto backup. E’ il modo attraverso il quale mi accerto di non perdere dati e di poterli ripristinare in caso di necessità. Il tutto si riassume con un semplice prodotto gratuito che utilizzo con soddisfazione da anni: SyncBack Freeware, della 2BrightSparks.

Al solito, il consiglio è sempre lo stesso:

ATTENZIONE: Prima di eseguire qualsiasi modifica ai vostri file e/o dispositivi siete pregati di effettuare un backup di questi. Solo così sarete capaci di tornare indietro ponendo rimedio ad eventuali errori di distrazione. L’articolo e l’autore non possono essere ritenuti responsabili di alcun danno subito dalla vostra strumentazione. Buon lavoro.

Fa chiaramente sorridere parlare di “backup prima del backup” ma è proprio così. Non mettete in piedi questa nuova soluzione su un  software in produzione, magari sfruttate un’installazione demo o due cartelle sullo stesso disco (o anche su FTP) per provare che tutto funzioni correttamente.

Installazione e configurazione

Una volta scaricato dal sito web ufficiale basterà installarlo ed avviarlo per la prima volta per arrivare al wizard di prima configurazione. Non c’è nulla da scegliere se non il tipo di comportamento da applicare al profilo in creazione (Backup / Synchronization). Nel nostro caso si tratta del secondo citato, una sincronizzazione dei dati in locale con quelli presenti sul server (e viceversa). Facendo clic sul pulsante “Expert” nella finestra comparsa dopo la conferma del comportamento si potranno visualizzare tutte le opzioni disponibili:

SyncBack: finestra “Expert” per profilo di sincronizzazione

Questo mi permette di effettuare diverse personalizzazioni sul profilo, e magari inserire un paio di specifiche che possano permettermi di essere notificato in caso di fallimento dell’operazione. Vediamo nello specifico cosa fare.

Prima di tutto il resto: “FTP Destination”

Prima ancora di mettere mano ad altro, è bene far presente al software che la sincronizzazione avverrà tra una cartella in locale ed uno spazio FTP. Basterà fare clic sul pulsante che porta il nome del protocollo e specificare le informazioni di base utili alla connessione (hostname, nome utente e password), quindi fare un test di connessione facendo clic sul pulsante “Test FTP settings“. Se le informazioni sono corrette e il PC ha connessione verso internet senza particolari restrizioni, il test andrà a buon fine.

Sarà ora possibile fare clic sul pulsante con la cartella in corrispondenza della directory di destinazione per cominciare ad esplorare lo spazio FTP:

SyncBack: la destinazione si trova su uno spazio FTP

Facendo clic sul pulsante “OK” si confermerà al programma la cartella da utilizzare per la sincronizzazione. Inutile dire che dovrà essere la cartella padre, sotto la quale sono contenute le varie directory che ci interessano ;-)

Cosa copiare e perché

Rispettivamente “Advanced” e “Filter” (ho volutamente installato e tenuto SyncBack in inglese, lo preferisco nel caso in cui compaia qualche errore -in qualsiasi programma- poiché maggiormente ricercabile e risolvibile via internet), le due schermate che contengono il comportamento da adottare e cosa includere o lasciare fuori durante il processo di confronto e copia dei file in locale.

Il comportamento da adottare in questo caso è: i nuovi file sovrascrivono i vecchi già presenti, cancellare su locale i file che non sono più presenti sul server e –ovviamente– copiarli in locale se sono presenti sul server, partendo dal presupposto che la sorgente sia “locale” e la destinazione lo spazio FTP (unica modalità di funzionamento del software) si traduce con questo:

SyncBack: comportamento da adottare

Senza dimenticare però di specificare cosa verrà analizzato e copiato o ignorato. Secondo il documento ufficiale -infatti- va tenuto sotto backup un numero molto limitato di cartelle. Per questo motivo basterà isolarle nella schermata dedicati ai filtri:

SyncBack: i filtri per tenere sotto giusto backup DokuWiki

Tenendo l’asterisco nei file da copiare ma limitando le cartelle si otterrà il risultato desiderato. SyncBack analizzerà solo ed esclusivamente ciò che è contenuto nelle cartelle suggerite dallo stesso programmatore, permettendo di non occupare spazio disco inutilmente con dati facilmente recuperabili dal pacchetto di installazione pulito.

C’è tutto?

Diciamo di si, il profilo così com’è è già pronto per partire nonostante si possano ulteriormente personalizzare le impostazioni. Lascio a voi il compito di esplorare tutto quello che vi può permettere il software, può tornarvi comodo farvi notificare via mail (o direttamente con un file di log in HTML aperto in real-time sul browser predefinito) eventuali errori dell’operazione, così come lanciare operazioni o script prima o dopo l’operazione stessa.

SyncBack: schedulare l’operazione di backup

Sicuramente c’è la necessità di far si che l’operazione si ripeta in autonomia. Una volta salvato il profilo è importante fare clic sul pulsante “Schedule” e iniziare a specificare quando ripetere lo stesso tipo di operazioni, ricordandosi di inserire la vostra password di accesso al PC se volete che tutto funzioni anche se siete distanti dalla macchina (questa dovrà essere ovviamente accesa).

In conclusione

Programmi come SyncBack sono vere e proprie manne dal cielo per chi necessita di tenere sotto sincronizzazione o backup più cartelle o siti web. Entrare nell’ottica di dover schedulare questo tipo di operazioni giornalmente (o settimanalmente) è molto importante. Ricordatevi che un backup può decisamente salvare ore (se non giorni, mesi o addirittura anni) di lavoro che potrebbe andare perduto per una distrazione umana o un errore di sistema.

Ho voluto cogliere “due piccioni con una fava” per parlare di DokuWiki e di SyncBack, pubblicando un metodo papabile di backup, molto comodo e semplice da mettere in pratica. Se “dall’altro lato” (in locale, ndr) date in pasto una cartella di Dropbox la sicurezza aumenta ancora di più. Se anche l’operazione di SyncBack dovesse sfociare in errore, attraverso Dropbox potrete facilmente riportare la situazione alla normalità, e basterebbe variare un paio di opzioni in SyncBack per ottenere un rapido restore del vostro lavoro.

Basta poco, che ce vò!

Al solito: in caso di problemi l’area commenti è a vostra totale disposizione. Se vi chiedete quanti dati riesco a gestire tramite SyncBack beh, sappiate che i miei profili del software superano la trentina di entry, senza contare quelli che ho nei PC di casa! ;-)

Condividi l'articolo con i tuoi contatti: