Configurare la sincronizzazione di Joplin per utilizzare WebDAV
Alcune note per gestire la sincronizzazione di Joplin mediante WebDAV utilizzando Nginx. La configurazione presentata in questo articolo permette di gestire le note di utenti diversi, dedicando ad ognuno uno spazio proprio.
Joplin
Joplin è un’applicazione per prendere note, disponibile su tutte le piattaforme PC e mobili. Permette la sincronizzazione fra dispositivi secondo varie modalità.
L’applicazione è rilasciata con licenza Open Source AGPL v3 e offre un servizio a pagamento pronto all’uso, Joplin Cloud, i cui server, localizzati in Francia, operano nel rispetto della normativa GDPR.
E' inoltre possibile utilizzare sistemi terzi per la sincronizzazione delle note fra dispositivi, tra i quali WebDAV.
Il mio scenario
- Ubuntu 20.04 server
- Nginx con il modulo WebDAV
- Pacchetto
openssl
installato
Passi di installazione
Installare il modulo WebDAV per Nginx.
Sui sistemi Ubuntu si trova nel pacchettonginx-extras
sudo apt install nginx-extras
Generare un utente per utilizzare lo spazio.
Verrà creato un file per ogni utente per maggior isolazione. Questo eviterà agli utenti registrati di autenticarsi ad uno spazio non proprio.
La password verrà generata utilizzando openssl
.
USER=myuser
PASSWORD=mypassword
sudo echo "$USER:$(openssl passwd -apr1 $PASSWORD)\n" >> /etc/nginx/.joplinauth-$USER
Approfondimento: Il file appena creato verrà utilizzato per proteggere l’accesso allo spazio note dell’utente tramite autenticazione BASIC. In particolare generiamo un file con lo stesso formato utilizzato dall’utility httpwd
del Web Server Apache.
Generiamo la password secondo uno dei modi supportati da Nginx ovvero MD5 (nella variante APR1, la stessa usata anche dal Web Server Apache). Per farlo utililizziamo openssl
.
Creare una directory principale per le note
sudo mkdir /var/www/joplin-data
# assicurarsi che directory sia di proprieta' di www-data
sudo chown www-data:www-data /var/www/joplin-data
Configurare lo spazio dati di un utente
Aggiungere il seguente blocco al file di configurazione di Nginx.
location /notes/myuser {
root /var/www/joplin-data;
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
dav_access user:rw group:rw all:r;
client_max_body_size 0;
create_full_put_path on;
client_body_temp_path /tmp;
auth_basic "Protected Zone";
auth_basic_user_file /etc/nginx/.joplinauth-myuser;
}
Il campo auth_basic_user_file
configura l’accesso protetto da autenticazione BASIC utilizzando l’utente presente nel file /etc/nginx/.joplinauth-myuser
.
Le note di un utente saranno salvate nel formato utilizzato da Joplin all’interno della cartella
/var/www/joplin-data/notes/myuser
.
Configurare Joplin per utilizzare lo spazio di sincronizzazione
- Accedere al menu configurazione dell’applicazione.
- Nella sezione sincronizzazione selezionare WebDAV come destinazione di sincronizzazione.
- Inserire nel campo URL WebDAV l’indirizzo dello spazio per l’utente:
https://www.mysite.net/notes/myuser
. - Inserire i dati dell’utente creato per lo spazio nei campi Nome Utente WebDAV e Password WebDAV.
- Utilizzare il tasto “Controlla la configurazione della sincronizzazione” per accertarsi che tutto funzioni correttamente.