Menu Chiudi

Categoria: LoneStar Network

Un weekend da sistemista

letture

Esiste una differenza d’approccio fondamentale tra un programmatore e un sistemista per quanto riguarda la scrittura di uno script necessario al funzionamento di un qualche meccanismo di sistema.

Un programmatore in genere scrive un software utilizzando il linguaggio di programmazione che conosce, integra librerie, scrive funzioni, ecc. Un sistemista scrive uno script. I più bravi usano il perl, ma in quel caso diventano uguali ai programmatori, mentre quelli “normali” scrivono uno script in Bash language.

Ecco, io sono un sistemista “normale” 🙂 Ho passato il fine settimana – con i dovuti intervalli, per carità – a scrivere uno script che mi consentisse di usare il Local Delivery Agent (LDA) di Dovecot nel mio sistema che utilizza qmail+VMailMgr. Leggendo la documentazione di Dovecot si ha l’impressione che sia una cosa piuttosto semplice, e che basta chiamare deliver-lda al posto del normale LDA, ma nel caso di VMailMgr non è così. L’LDA di Dovecot si aspetta di poter interrogare un userdb, un database degli utenti, per determinare all’atto della consegna del messaggio se esiste l’utente e dove si trova la sua mailbox. Ma VMailMgr non ha questo database. Il suo LDA vdeliver è in grado di leggere i file di configurazione e ricavare l’informazione, ma non fornisce un comando che dia questa informazione per poterla passare ad altri programmi.

Qui un programmatore probabilmente avrebbe letto i sorgenti di vdeliver, capito come funzionano, e scritto un software analogo che leggesse le informazioni dai file di VMailMgr per poi darle in pasto a deliver-lda.

Io invece mi sono lanciato in una sequela di:

echo $USER | cut -d@ -f1 | grep ....
if [ -d /home/$USER ]; then .. fi
sudo -u $USER  /usr/local/bin/listvdomain ...

cazz! ci vuole l’utente in /etc/sudoers..
cazz! il grep può restituire più di una riga…mettiamo un -m1..
uhmm.. e se non è un utente ma un alias?..altra serie di if e grep..
ecc.ecc.

Insomma, alla fine funziona, ma non prevede tutti i possibili casi e quindi ho dovuto restringerne l’uso a singoli utenti invece che applicarlo system-wide.

Ah, la ragione di tutto ciò era usare il delivery agent di Dovecot in quanto supporta Sieve e quindi mi consente di usare filtri email server-side per avere lo spam direttamente spostato nella cartella spam invece di doverlo far fare a Thunderbird quando è aperto, in questo modo quando non ho aperto Thunderbird e guardo la posta sul cellulare non mi trovo l’inbox piena di cose da spostare a mano 🙂

migrazione server imap a Dovecot

letture

Ho eseguito oggi la migrazione del server IMAP di LoneStar.it dal precedente Courier-IMAP v3.0.8 a Dovecot v2.0.16.

Questo perchè Courier IMAP 3 non è più sviluppato da molto tempo, ormai esiste la versione 4. Tuttavia non ho mai effettuato la migrazione dalla 3 alla 4 per via dei moltissimi cambiamenti che ci sono nell’architettura del sistema e che rendevano difficile renderlo compatibile con VMailMgr, il gestore dei domini virtuali di posta.

Dovecot prevede la compatibilità con VMailMgr, ed è considerato molto veloce e ottimizzato, specie per cartelle IMAP di grandi dimensioni, con un miglior uso della cache e della memoria rispetto a Courier-IMAP.

Dal punto di vista funzionale non dovrebbero notarsi cambiamenti per gli utenti. L’unica cosa che eventualmente potrà succedere è la necessità di rivedere la sottoscrizione delle cartelle IMAP, dato che cambia la nomenclatura da INBOX.<Cartella> a <Cartella> senza prefisso. Niente di grave comunque, basta appunto rimuovere la sottoscrizione alle vecchie cartelle e confermare le nuove.

Rimane ovviamente disponibile il servizio di IMAP IDLE (Push), comodo per i cellulari.

In caso di problemi fatemi sapere.

WordPress for Android

letture

Questo è un articolo di prova scritto direttamente dal mio cellulare Android!

New Weave

letture

Vista la mia risaputa fissazione anti-cloud, già da tempo utilizzo un servizio privato di Firefox Sync su un mio VPS, che uso per tenere in sincronia le mie varie installazioni di Firefox a casa, al lavoro e sul cellulare, in modo da portarmi appresso password e tab aperte. Non i bookmark, perchè per quelli uso Delicious.

Con l’uscita di Firefox 5.0 il Minimal Server di Mozilla Weave che avevo installato ha smesso di funzionare. Dopo una rapida consultazione su Google, ho scoperto che il software è stato aggiornato per poter funzionare con FF5, ma è stato anche deprecato dagli autori, i quali consigliano di utilizzare la suite completa di Mozilla Sync, scritta in Python con tanto di backend sql, che è ormai diventata “semplice” da installare.

Mi sono quindi documentato in merito. Ovviamente non c’è nulla per Slackware, ma il metodo di installazione consigliato è quello di scaricare i sorgenti dal repository, e quindi è abbastanza distribution-agnostic. Quindi ho installato i prerequisiti, messo da parte la vecchia cartella del VirtualHost che contiene il vecchio servizio weave, scaricato, editato i file secondo le istruzioni e… non funziona. Ovvio. La documentazione è scritta in maniera approssimativa,e indagando fra forum e commenti sui blog si scopre che le istruzioni di configurazioni fornite partono dall’assunto che si siano definiti alcuni alias per i nomi dei backend sql da utilizzare, cosa che ovviamente solo gli sviluppatori che ci lavorano tutti i giorni sanno fare e hanno fatto.

Quindi riedito la configurazione specificando i backend per esteso, riavvio i servizi, tento di collegarmi al sync e… non funziona. Leggo i log del servizio e scopro che cerca di scrivere sul database sqlite ma questo è in sola lettura. Eh si, perchè nelle istruzioni viene detto di configurare il tutto usando un nome utente e un nome gruppo, ma non viene detto se questi vanno creati a mano nel sistema operativo, se normalmente esistono di già o che altro. Alla fine capisco che normalmente esistono di già in una distribuzione Linux, ma in Slackware il gruppo a cui l’utente in questione è associato è diverso da quello dato per assunto. Allora riedito la configurazione, cambio un po’ di permessi e… vualà! Funziona!

Ho quindi in linea un nuovo servizio di Mozilla Sync con backend SQLite, compatibile con FF5, aggiornabile dal repository di sviluppo per le successive versioni, e al quale ho già collegato il FF del notebook e quello del cellulare. Rimangono da ricollegare le altre installazioni, e anche questa è fatta.

Attiva funzione Push Mail

letture

Ho appena configurato e testato il servizio di Push Mail sugli account IMAP di LoneStar.it, quindi adesso gli utenti possono usufruire di questa funzione.

La Push Mail consiste nel fatto che quando arriva un nuovo messaggio di posta, si ha una notifica immediata senza attendere i minuti di controllo periodico che sono impostati nel proprio client di posta.

Questa funzione è particolarmente amata da chi consulta la posta tramite telefoni cellulari, in quanto si viene avvisati subito della presenza di un nuovo messaggio e si può andare a leggerlo e rispondere.

NB: Si tratta di un push realizzato tramite la funzione IMAP IDLE, i cui risultati sono identici a quelli delle funzioni Push di Blackberry, SyncML, ActiveSync, Exchange, ecc. Affinchè funzioni è necessario utilizzare un client di posta che supporti la funzione IDLE per gli account IMAP.

CC BY-NC-SA 4.0 .