Il pacchetto Courier contiene un Mail Transport Agent (MTA). Esso serve per inviare email ad altri utenti della propria macchina host. Esso può anche essere configurato per essere un server di posta centrale per il proprio dominio o un mail relay agent. I pacchetti Courier includono anche un'interfaccia email web-based, IMAP, IMAP-SSL, POP3, e POP3-SSL.
Download (HTTP): http://prdownloads.sourceforge.net/courier/courier-0.47.tar.bz2
Download MD5 sum: 639bb3b236914e3b86f287ce3f55264e
Dimensione del download: 4.3 MB
Stima dello spazio su disco richiesto: 102 MB
Stima del tempo di costruzione: 2.62 SBU
Il tarball di Courier deve venire estratto come utente senza privilegi o lo script di configurazione fallirà.
Prima di compilare il programma è necessario creare l'utente e il gruppo courier, che devono esistere quando lo script di installazione viene eseguito. Come utente root aggiungere utente e gruppo courier con il seguente comando:
groupadd courier &&
useradd -c 'Courier Mail Server' -d /dev/null \
-g courier -s /bin/false courier
Lo script di installazione si aspetta anche un utente bin. Se si ha già un utente chiamato bin questo passo può venire tranquillamente ignorato.
useradd -c 'bin' -d /dev/null -g bin -u 1 bin
Courierfilter richiede la directory /var/run/courier per archiviare tutti i pid e i file lock di Courier. Deve anche esistere /var/lock/subsys per il file lock principale di Courier. Digitare i seguenti comandi per creare queste directory:
install -d /var/run/courier -o courier -g courier -m755 &&
install -d /var/lock/subsys -o root -g root -m755
Costruire Courier come utente senza privilegi con i seguenti comandi:
./configure --prefix=/usr --libexecdir=/usr/lib/courier \
--datadir=/usr/share/courier --sysconfdir=/etc/courier \
--localstatedir=/var/lib/courier --with-piddir=/var/run/courier \
--with-paranoid-smtpext --disable-autorenamesent \
--enable-workarounds-for-imap-client-bugs --with-db=gdbm &&
make
Ancora una volta accedere come utente root e installare Courier con i seguenti comandi:
make install &&
make install-configure
--libexecdir=/usr/lib/courier: specifica la directory che contiene programmi e librerie che non possono essere direttamente eseguiti dalla linea di comando.
--datadir=/usr/share/courier: specifica la directory dove i vari script shell, script Perl, e file dati verranno installati.
--localstatedir=/var/spool/courier: specifica la directory che conterrà la coda della posta e altri dati temporanei.
--with-piddir=/var/run/courier: specifica la directory dove i file PID di Courier vengono archiviati quando Courier è attivo.
--with-paranoid-smtpext: è bene essere paranoici quando si negoziano estensioni specifiche di Courier ESMTP con server remoti. Il server di posta Courier definisce e implementa certe estensioni sperimentali ESMTP: XVERP e XEXDATA. Potrebbero esserci problemi nel caso in cui qualcun altro usi lo stesso nome per implementare qualche altra estensione. Se è specificata questa opzione il server ESMTP di Courier pubblicizzerà anche la capacità di un ESMTP dummy chiamata XCOURIEREXTENSIONS, e non riconoscerà nessuna estensione specifica di Courier a meno che il server di posta remoto a sua volta non pubblicizzi questa capacità di un ESMTP dummy.
--disable-autorenamesent: non rinomina la cartella Sent ogni mese. Questa opzione può anche essere controllata dalla variabile d'ambiente SQWEBMAIL_AUTORENAMESENT.
--enable-workarounds-for-imap-client-bugs: ci sono numerosi bug confermati in alcuni client IMAP che non implementano correttamente il protocollo IMAP4rev1. Questa opzione abilita alcuni aggiramenti di questi client IMAP errati. NOTA: make check fallirà se viene usata questa opzione. Bisognerebbe prima configurare senza questa opzione, e se tutti i test post configurazione hanno successo riavviare configure con questa opzione e ricompilare.
--with-db=gdbm: Courier richiede in alternativa le librerie database GDBM o DB. GDBM è usata se sono entrambe presenti. Questa opzione forza la selezione di GDBM, poiché courier attualmente non funzione quando usato con DB.
--with-ispell=/usr/bin/aspell: Il server webmail diCourier può usare il controllo ortografico se configure trova ispell o se viene impostata esplicitamente la locazione di aspell.
--enable-mimetypes=[locazione del file mime.types] : usare questo switch se si riceve un errore che dice che il file mime.types non può essere trovato.
Mentre si è ancora root bisognerà creare i seguenti file con i contenuti specificati.
/etc/courier/defaultdomain
cat > /etc/courier/defaultdomain << "EOF" [propriodominio] EOF
/etc/courier/me
cat > /etc/courier/me << "EOF" [nomeserver.propriodominio] EOF
/etc/courier/locals
cat > /etc/courier/locals << "EOF" localhost [propriodominio] EOF
/etc/courier/esmtpacceptmailfor.dir/system
cat > /etc/courier/esmtpacceptmailfor.dir/system << "EOF" localhost [propriodominio] EOF
Sarà anche necessario editare il file /etc/courier/aliases/system e cambiare i seguenti campi.
postmaster: [email del proprio amministratore]
Se si vuole negare l'accesso da alcuni host per l'invio di email bisognerà editare il file /etc/courier/smtpaccess/default.
Se si vuole ospitare posta per domini non locali inclusi i domini virtuali bisogna aggiungerli a /etc/courier/hosteddomains. Questo file deve esistere che si abbia bisogno o meno di un elenco di domini ospitati:
touch /etc/courier/hosteddomains
Dopo che i precedenti passi sono stati completati sarà necessario eseguire i seguenti comandi:
makesmtpaccess &&
makehosteddomains &&
makealiases
Per ciascun utente bisognerà creare una directory Maildir:
cd /home/[nomeutente] &&
maildirmake Maildir &&
chown [nomeutente].[nomeutente] Maildir -R
Se si desidera usare SSL con Courier bisogna ottenere i certificati e archiviarli in /usr/share/courier. Opzionalmente si possono creare certificati di test auto-firmati con i seguenti comandi:
mkesmtpdcert &&
mkimapdcert &&
mkpop3dcert
Tutti i file di configurazione di Courier risiedono nella directory /etc/courier/. Per ogni servizio SMTP, POP3 e IMAP, si avrà un file di configurazione standard, e un file di configurazione SSL. Per ciascun servizio che si desidera utilizzare bisognerà editare il file di configurazione, e cambiare la variabile [DAEMON]START da 'NO' a 'YES'. Per esempio per usare SMTP con SSL bisognerà editare /etc/courier/esmtpd-ssl e cambiare il valore di 'ESMTPDSSLSTART' in 'YES'. Fare lo stesso cambiamento per ciascuna configurazione di servizi che si vogliono usare con Courier.
Se si vuole usare LDAP deve essere creato un file di configurazione LDAP:
echo "LDAPALIASDSTART=YES" > /etc/courier/ldapaliasd
Similarmente se si vuole usare webmail bisogna creare il file di configurazione di webmail:
echo "WEBMAILDSTART=YES" > /etc/courier/webmaild
Bisognerà anche copiare il file webmail da /usr/lib/courier/courier/webmail alla directory cgi-bin del proprio server Apache.
cp -a /usr/lib/courier/courier/webmail/webmail /srv/www/cgi-bin
Bisognerà quindi copiare le immagini in una directory sotto la propria directory htdocs del proprio server Apache. La directory deve essere nominata webmail o è necessario specificarla durante la fase di configurazione con --enable-imageurl=[URL].
cp -a /usr/share/courier/sqwebmail/images /srv/www/htdocs/webmail
Se si vuole usare l'utilità webadmin sarà necessario copiare il file webadmin da /usr/lib/courier/courier/webmail alla propria directory cgi-bin del proprio server Apache.
cp -a /usr/lib/courier/courier/webmail/webadmin /srv/www/cgi-bin
E' anche necessario mettere la password nel file /etc/courier/webadmin/password:
cat > /etc/courier/webadmin/password << "EOF" [password] EOF
Se non si usa SSL sul proprio server Apache bisognerà anche aggiungere /etc/courier/webadmin/unsecureok, così da poter utilizzare il proprio tool di amministrazione su web.
touch /etc/courier/webadmin/unsecureok
Se si usa Linux-PAM sul proprio sistema bisognerà creare i file di configurazione di PAM:
cat > /etc/pam.d/esmtp << "EOF" # Begin /etc/pam.d/esmtp auth required pam_unix.so try_first_pass account required pam_unix.so session required pam_unix.so # End /etc/pam.d/esmtp EOF cat > /etc/pam.d/pop3 << "EOF" # Begin /etc/pam.d/pop3 auth required pam_unix.so try_first_pass account required pam_unix.so session required pam_unix.so # End /etc/pam.d/pop3 EOF cat > /etc/pam.d/imap << "EOF" # Begin /etc/pam.d/imap auth required pam_unix.so try_first_pass account required pam_unix.so session required pam_unix.so # End /etc/pam.d/imap EOF cat > /etc/pam.d/webmail << "EOF" # Begin /etc/pam.d/webmail auth required pam_unix.so try_first_pass account required pam_unix.so session required pam_unix.so # End /etc/pam.d/webmail EOF
Infine se si vuole avviare il server Courier all'accensione installare il bootscript /etc/rc.d/init.d/courier incluso nel pacchetto blfs-bootscripts-6.0.
make install-courier
Queste istruzioni configureranno Courier per fargli cercare utenti virtuali in un database MySQL. Iniziare apportando i seguenti cambiamenti a /etc/courier/authmysqlrc:
MYSQL_SERVER localhost MYSQL_USERNAME courier MYSQL_PASSWORD [your choice] MYSQL_SOCKET /var/run/mysql/mysql.sock MYSQL_PORT 3306 MYSQL_DATABASE courier_mail MYSQL_USER_TABLE users MYSQL_CLEAR_PWFIELD clear DEFAULT DOMAIN [your domain] MYSQL_QUOTA_FIELD quota
Connettersi a MySQL:
mysql -p
Creare il database courier_mail e impostare la tabella utenti:
CREATE DATABASE courier_mail;
USE courier_mail
CREATE TABLE users (
id char(128) DEFAULT '' NOT NULL,
crypt char(128) DEFAULT '' NOT NULL,
clear char(128) DEFAULT '' NOT NULL,
name char(128) DEFAULT '' NOT NULL,
uid int(10) unsigned DEFAULT '65534' NOT NULL,
gid int(10) unsigned DEFAULT '65534' NOT NULL,
home char(255) DEFAULT '' NOT NULL,
quota char(255) DEFAULT '' NOT NULL,
KEY id (id(128))
);
Assicurare tutti i privilegi all'utente courier creato in precedenza:
GRANT ALL PRIVILEGES ON *.* TO courier@localhost \
IDENTIFIED BY '[password]' WITH GRANT OPTION;
QUIT
Creare un utente e un gruppo mailman virtuali:
groupadd -g 9000 vmailman &&
useradd -c 'Virtual Mailman' -g vmailman -m -k /dev/null -u 9000 vmailman
Creare una directory mail per un nuovo utente virtuale:
cd /home/vmailman &&
mkdir [utente_virtuale] &&
cd [utente_virtuale] &&
maildirmake Maildir &&
chown vmailman.vmailman Maildir -R
Ora connettersi al database MySQL come utente courier:
mysql -u courier -p
Per aggiungere l'utente virtuale bisogna inserire almeno una versione della password o in testo in chiaro o cifrata.
Aggiungere il primo utente virtuale con i seguenti comandi:
USE courier_mail
INSERT INTO users VALUES (
'[utenti_virtuali]@[domain.com],
'[password cifrata o nulla]',
'[password in testo in chiaro o nulla]',
'[Nome utente]',
9000,
9000,
'[locazione di Maildir]',
'[Quota in Bytes]
);
QUIT
Per esempio:
INSERT INTO users VALUES (
'blfsuser@linuxfromscratch.org',
'',
'password',
'BLFS User',
9000,
9000,
'/home/vmailman/blfsuser',
''
);
rimuove un messaggo dalla coda di posta.
è un comando amministrativo usato per controllare il motore di scheduling di Courier.
invia messagi email via fax.
avvia e arresta tutti i filtri email installati da filterctl.
supporta l'aliasing degli indirizzi email usando una directory LDAP.
cattura i messaggi di errore da altre applicazioni Courier e li inoltra al logger di sistema.
imposta, mantiene, e gestisce mailing list.
è un filtro di esempio scritto in Perl.
è un server POP3 di Courier.
legge userid e password POP3 e le passa ai moduli di autenticazione.
accetta connessioni di rete in entrata, e esegue altri programmi Courier dopo aver stabilito ciascuna connessione di rete.
è usato dalle applicazioni per cifrare una connessione di rete usando SSL/TLS.
è un modulo di compatibilità che legge istruzioni di inoltro in $HOME/.forward.
è un filtro threaded che prova a bloccare E-mail spazzatura tentando di individuare copie multiple dello stesso messaggio, che vengono rifiutate.
è uno script di controllo per courieresmtpd.
è uno script di controllo per courieresmtpd, ma aggiunge la porta di sottomissione messaggi 587 per il protocollo MSA.
installa o disinstalla filtri di posta globali.
is the server Courier-IMAP.
è una utilità helper per il blocco dei file mailbox.
è un'utilità di risposta automatica MIME-aware.
gestisce le liste di controllo accessi.
modifica parole chiave dei messaggi compatibili con la maildir Courier-IMAP compatible maildir.
crea maildir, e cartelle maildir.
è un agente sostitutivo di recapito posta locale che include un linguaggio di filtraggio posta.
visualizza un elenco di tutti i messaggi che non sono ancora stati recapitati.
costruisce un elenco di tutti i domini da cui accettare posta, dalla directory /etc/courier/esmtpacceptmailfor.dir.
costruisce un database di alias da uno o più file sorgenti di testo.
è un'utilità per creare file GDBM o DB da file di testo.
ricostruisce i contenuti del database hosteddomains dai contenuti di /tools/etc/courier/hosteddomains.
crea messaggi formattati MIME da uno o più file.
costruisce un elenco di domini %-relayed dalla directory percentrelay.dir.
costruisce dei file di accesso al server ESMTP dalla directory /etc/courier/smtpaccess.
costruisce dei file di accesso al server ESMTP dalla directory /etc/courier/smtpaccess. Questo elenco esmtp è per il protocollo MSA.
costruisce un db user/password dai contenuti di /tools/etc/courier/userdb.
firma, cifra, o decifra messaggi di posta formattati MIME usando GnuPG.
crea un certificato SMTP sicuro di test.
crea un certificato IMAP sicuro di test.
crea un certificato POP3 sicuro di test.
è uno script wrapper per couriertcpd per avviare e arrestare il servizio POP3.
è uno script wrapper per couriertcpd per avviare e arrestare POP3 su SSL service.
prepende intestazioni legacy mbox ai messaggi di posta.
legge un messaggio dallo standard input, lo riformatta in qualche modo e scrive il messaggio sullo standard output.
è un'utilità per riformattare messaggi MIME.
legge un messaggio di posta e recapita il messaggio ai suoi destinatari.
sottomette i messaggi a Courier per il loro processo.
elenca nomi e indirizzi IP di mail relay che ricevono posta dal dominio.
è uno script per manipolare individualmente campi in /tools/etc/courier/userdb.
legge una singola linea di testo sullo standard input, la cifra e stampa il risultato cifrato sullo standard output.
Last updated on