Sinistra <- SL: Password - Indice Generale - Copertina - AGORA: Mozambico -> Destra

XMail


Un mailserver con XMail

di Stefano Sasso

L'articolo...

Come effettuare un'installazione di base del non molto noto ma potente server mail XMail.



Introduzione

In questo articolo vedremo come fare un'installazione base di XMail (un non molto noto ma potente mailserver). Vedremo come installare e configurare il server per la gestione di uno o più domini di posta elettronica e installeremo un tool in PHP per la sua gestione (richiesto PHP 4 o superiore).

Formalismi sintattici

Nell'articolo utilizzeremo i caratteri [TAB] per indicare una tabulazione e [NEWLINE] per andare a caporiga.

XMail

XMail è un mailserver non molto noto ma potente, basta vedere le sue caratteristiche principali:

Perché XMail funzioni correttamente nella nostra macchina deve essere installata una versione di Linux con glibc e gcc.

Compilazione dei sorgenti e installazione

I sorgenti di XMail sono reperibili all'indirizzo http://www.xmailserver.org.

Al momento in cui scrivo l'ultima versione è la 1.17.

Decomprimiamo ora i sorgenti:

tar -xzvf xmail-1.17.tar.gz

entriamo nella directory appena creata

cd xmail-1.17

e lanciamo make nel seguente modo:

make -f Makefile.lnx

Ora verranno compilati gli eseguibili di XMail ed i vari strumenti. Durante la compilazione viene creato il file xmail (tutto minuscolo) che va copiato nella directory /etc/init.d (o differente, a seconda del sistema) per avviare XMail all'avvio del sistema.

Configurazione

Per prima cosa è necessario copiare la cartella MailRoot presente nella cartella dove è stato fatto il build su /var, quindi fare un chmod 700.

cp -dpR MailRoot /var/
chmod 700 /var/MailRoot

Copiare quindi gli eseguibili presenti nella cartella dove è stato fatto il build su /var/MailRoot/bin:

cp CtrlClnt /var/MailRoot/bin
cp MkUsers /var/MailRoot/bin
cp sendmail /var/MailRoot/bin
cp XMail /var/MailRoot/bin
cp XMCrypt /var/MailRoot/bin
chmod +x /var/MailRoot/bin/*

Alcuni programmi necessitano di un eseguibile chiamato "sendmail" (che non è il noto MTA), quindi:

cd /bin
rm sendmail
ln -s /var/MailRoot/bin/sendmail sendmail
cd /usr/lib
rm sendmail
ln -s /var/MailRoot/bin/sendmail sendmail
cd /usr/bin
rm sendmail
ln -s /var/MailRoot/bin/sendmail sendmail

È ora necessario rimuovere, se presenti, altri server SMTP, POP3 e FINGER.

Inoltre è importante che syslog sia abilitato nel sistema in quanto è utilizzato da XMail per scrivere i log.

Prima di iniziare la configurazione vera e propria è necessario editare il file /var/MailRoot/dnsroots inserendo i propri server DNS (uno per riga).

Prima di configurare il server dobbiamo inoltre sapere che ogni file di configurazione di XMail deve essere strutturato nel seguente modo:

"valore1"[TAB]"valore2"[TAB]...[NEWLINE]

Iniziamo ora la configurazione editando il file /var/MailRoot/server.tab.

Potete inserire del parametri simili a questi:

"RootDomain"[TAB]"mydomain.it"[NEWLINE]
"SmtpServerDomain"[TAB]"mydomain.it"[NEWLINE]
"POP3Domain"[TAB]"mydomain.it"[NEWLINE]
"HeloDomain"[TAB]"mail.mydomain.it"[NEWLINE]
"PostMaster"[TAB]"postmaster@mydomain.it"[NEWLINE]
"ErrorsAdmin"[TAB]"postmaster@mydomain.it"[NEWLINE]
"RemoveSpoolErrors"[TAB]"0"[NEWLINE]
"MaxMTAOps"[TAB]"16"[NEWLINE]
"ReceivedHdrType"[TAB]"0"[NEWLINE]
"FetchHdrTags"[TAB]"+X-Deliver-To,+Received,To,Cc"[NEWLINE]
"DefaultSmtpPerms"[TAB]"MRVZ"[NEWLINE]

Iniziamo ora a vedere gli altri file di configurazione che dovranno essere modificati:

- /var/MailRoot/smtprelay.tab

La struttura è la seguente:

"ip.address"[TAB]"netmask"[NEWLINE]

e definisce a quali host/reti è permesso il relay.

- /var/MailRoot/ctrlaccounts.tab

In questo file, nella forma seguente, sono contenuti i nomi utente e le password per l'amministrazione del server.

"user"[TAB]"password"[NEWLINE]

dove password è una password criptata con XMCrypt (presente in /var/MailRoot/bin/).

Attenzione: ricordatevi di rimuovere l'utente di esempio!

- /var/MailRoot/spammers.tab

In questo file vengono indicati gli host/reti degli spammer. Il file ha la seguente struttura:

"ip.address"[TAB]"netmask"[NEWLINE]

- /var/MailRoot/spam-address.tab

In questo file sono definiti gli indirizzi e-mail degli spammer.

"spam-address"[NEWLINE]

Ad esempio:

"spammer@hotmail.com"[NEWLINE]
"*@spammers.org"[NEWLINE]

- /var/MailRoot/pop3.ipmap.tab

In questo file viene definito chi può avere accesso al server POP3:

"ip.address"[TAB]"netmask"[TAB]"permission"[TAB]"precedence"[NEWLINE]

dove permission può essere "ALLOW" oppure "DENY", e precedence è il grado di precedenza della regola.
In generale per consentire l'accesso a tutti gli host inserire:

"0.0.0.0"[TAB]"0.0.0.0"[TAB]"ALLOW"[TAB]"1"[NEWLINE]

- /var/MailRoot/smtp.ipmap.tab, /var/MailRoot/ctrl.ipmap.tab, /var/MailRoot/finger.ipmap.tab

Come sopra, servono a controllare l'accesso al server SMTP, al ControlServer (amministrazione remota del server) e al server FINGER.

- /var/MailRoot/userdef.tab

Questo file contiene i parametri di default che verranno utilizzati per la creazione di nuovi utenti. Un file come il seguente dovrebbe essere sufficiente.

"RealName"[TAB]"??"[NEWLINE]
"HomePage"[TAB]"http://www.mydomain.it/"[NEWLINE]
"Address"[TAB]"??"[NEWLINE]
"MaxMBSize"[TAB]"25600"[NEWLINE] <= Mailbox quota in Kb (25600Kb=25Mb)
"MaxMessageSize"[TAB]"5120"[NEWLINE] <= Dimensione massima di un messaggio espressa in Kb

Finalmente possiamo lanciare XMail:

/etc/init.d/xmail start <= a seconda del sistema la directory dell'eseguibile cambia

Installazione dell'interfaccia di amministrazione via web

Ora passiamo all'installazione dell'interfaccia di amministrazione via web del nostro nuovo mailserver: scarichiamo xpai (XMail PHP Administration Interface) da http://www.akxak.de/xpai/. Estraiamo l'archivio in una directory del nostro webserver con supporto per PHP e modifichiamo il file config.php come ci aggrada.

Successivamente con il nostro browser andiamo nella directory dove abbiamo precedentemente installato xpai , inseriamo come nome utente il nome utente definito nel file ctrlaccounts.tab e come password quella definita precedentemente.

Ora potremo aggiungere, rimuovere, modificare domini; amministrare utenti e mailing list.

Al momento della creazione di un nuovo dominio viene richiesta la password di postmaster, in quanto facendo il login come postmaster@dominio.it è possibile amministrare il singolo dominio.

In poche parole, eseguendo il login con nome utente=amministratore del server si ha controllo su tutti i domini, eseguendo il login come postmaster@dominio.it si ha il controllo sui singoli domini ed infine, eseguendo il login come utente@dominio.it si ha il controllo su alcune opzioni dell'utente.



L'autore

Stefano Sasso utilizza Linux dal 2000 e si diverte a programmare in Perl, PHP e Python. È anche amministratore del server web del suo liceo, dove frequenta la classe quarta.


Sinistra <- SL: Password - Indice Generale - Copertina - AGORA: Mozambico -> Destra