Se i tutorial di questo sito vi sono stati di aiuto e volete contribuire al loro sviluppo e al loro mantenimento, potete fare delle donazioni in modo sicuro utilizzando PayPal. Il denaro raccolto sarà utilizzato per il mantenimento di questo sito, spese per l'utilizzo di banda e mantenimento del dominio. Grazie!

Postfix & MySQL tables on Mac OS X

Postfix Installazione:

Condizioni strettamente necessarie:

Questo tutorial é impostato un po' come una ricetta di cucina. Per cominciare vediamo gli ingredienti che ci servono per preparare
la prima portata.

a> Mac os X Developer tools: http://developer.apple.com/tools/
b> MySQL (suggerisco di seguire le istruzioni su www.entropy.ch) www.mysql.com
c> GAWK: (download:ftp://ftp.gnu.org/gnu/gawk/)info: http://www.gnu.org/software/gawk/
d> PCRE: ftp://ftp.linux.it/pub/mirrors/postfix/official/pcre-2.08.tar.gz
e> Postfix Version 2.0 Patchlevel 0.2 ftp://ftp.linux.it/pub/mirrors/postfix/official/postfix-2.0.0.2.tar.gz

Questo é cio che serve per eseguire la compilazione di Postfix.

a> Developer Tools
Come prima cosa assicuratevi di avere i Developer Tools installati. (Nella root del vostro disco dovete avere una cartella Developer). Nel caso non siano presenti scaricateli http://developer.apple.com/tools/ e installateli come un normale software applicativo per X (richiesta la password di amministratore).
Attenzione: i Developer tools pesano circa 200 Mb. e potrebbe essere un problema downloadarli, leggete su http://developer.apple.com/ i vari metodi per ottenere il software ad esempio su CD-ROM.
Con i Developer Tools potete ora compilare i source.

b> MySQL
Seguite le istruzioni sul sito http://www.entropy.ch/software/macosx/mysql/ e installate il package pre-compilato per il vostro Mac OS X, 10.1.X o 10.2.X, esse sono disponibili in lingua italiana all'URL http://www.tevac.com/entropy-ita/

c> GAWK
AWK é un programma che permette di agire velocemente sui files di testo, noi compileremo il software prendendolo dall'ftp mirror GNU AWK.
Quindi entrate in un terminale "Applicazioni>Utilities>Terminal" e digitate i comandi:

cd /
mkdir downloads
cd downloads
curl -O ftp://ftp.gnu.org/gnu/gawk/gawk-3.1.1.tar.gz

Siete usciti nella root, avete creato una directory downloads e vi avete downloadato all'interno i source delle GAWK in formato compresso. Continuiamo l'installazione:

tar zxvf gawk-3.1.1.tar.gz
cd gawk-3.1.1
sudo ./configure
sudo make
sudo make install

Avete decompresso i source siete entrati nella loro cartella avete configurato i files , compilato e installato. "il comando sudo richiede la password di amministratore".

d> PCRE Perl Compatible Regular Expressions
Come per il passo c> eseguiamo la procedura di installazione per le PCRE.

cd /
cd downloads
curl -O ftp://ftp.linux.it/pub/mirrors/postfix/official/pcre-2.08.tar.gz
cd pcre-2.08
perl -i~ -pe '/^RAN/ and s/\@true/ranlib/;' \
Makefile
sudo mkdir -p /usr/local/man/man3
sudo make
sudo make install
ranlib /usr/local/lib/libpcre.a

Postfix www.postfix.net

Ora siamo pronti per compilare e configurare Postfix.
Innanzitutto aggiungiamo lo user Postfix al sistema

echo 'postfix:*:23456:postfix' | sudo niload group /
echo 'maildrop:*:23457:' | sudo niload group /
echo 'postfix:*:23456:23456::0:0:Mail:/tmp:/usr/bin/false' | \
sudo niload passwd sudo nicl / -create /aliases/root members $1
sudo kill -HUP `cat /var/run/lookupd.pid`

Rimuoviamo sendmail l'MTA incluso con Mac OS X

sudo chmod a-s /usr/sbin/sendmail
sudo mv /usr/sbin/sendmail /usr/sbin/sendmail.OFF
sudo mv /usr/bin/newaliases /usr/bin/newaliases.OFF
sudo mv /usr/bin/mailq /usr/bin/mailq.OFF

Prepariamo la cartella temp necessaria durante il passo successivo, essa andrà specificata durante lo script di installazione di postfix

cd /
mkdir temp

Scarichiamo, compiliamo, installiamo e configuriamo Postfix con supporto MySQL

cd /
cd downloads
curl -O
ftp://ftp.linux.it/pub/mirrors/postfix/official/postfix-2.0.15.tar.gz
tar zxvf postfix-2.0.15.tar.gz
cd postfix-2.0.15
sudo make -f Makefile.init makefiles \
'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include' \
'AUXLIBS=-L/usr/local/mysql/lib -lmysqlclient -lz -lm'
sudo make

sudo make install

Durante l'installazione, uno script di configurazione vi chiederà di impostare diversi valori, lasciate tutto al default tranne la temporary directory che andrà impostata al valore /temp e il gruppo che anziché postdrop andrà settato a maildrop.
Fatto questo abbiamo compilato postfix specificando (opzione -I) la directory dove sono contenuti gli header di mysql e (opzione -L) le libm (AUXLIBS), per ulteriori informazioni leggere il README compreso nella distribuzione di postfix.


Configurare Postfix e MySQL:

I File sui quali dovremo agire sono storati sostanzialmente in questi 2 path:
/etc/postfix File di configurazione
/usr/sbin File di comando
entriamo nella cartella /etc/postfix battendo nel terminale

cd /etc/postfix

Scaricate sul vostro desktop l'archivio dei file di configurazione precompilati. http://www.kdev.it/config/postfix.tgz
Decomprimeteli con StuffIt e spostate la cartella Archive appena apparsa sul desktop, nella root del vostro disco, trascinandola sull'icona dell'HD.
Tornate nel terminale e spostate mediante questi comandi i file di configurazione nella cartella /etc/postfix

sudo mv /Archive/mysql-aliases.cf /etc/postfix
sudo mv /Archive/mysql-virtual.cf /etc/postfix

All'interno di questi 2 file si trovano i parametri di connessione alle tabelle del DB MySQL contenente rispettivamente gli alias e le virtual maps.
Dato che non abbiamo ancora nessun database dobbiamo crearcene uno. Se avete a disposizione phpmyadmin http://sourceforge.net/project/showfiles.php?group_id=23067&release_id=126061
create il nuovo Db chiamandolo mail e utilizzate il file mail.sql che trovate nella directory Archive nel vostro HD per aggiungervi le necessarie tabelle. Questo si attua semplicemente selezionando il Db dal menù popup nel frame sinistro di phpmyadmin, cliccando sulla voce nelle tab superiori del frame centrale SQL e selezionando il file mail.sql dalla directory Archive nell'HD.

Nel caso non abbiate phpmyadmin potete da terminale usare i comandi:

mysql --user=root mysql
Enter password:(USER root di mysql non system ROOT)
create database mail;
creiamo la tabella degli alias
CREATE TABLE alias (
alias_name varchar(30) NOT NULL default '',
system_name varchar(8) NOT NULL default '',
status varchar(15) NOT NULL default 'paid',
PRIMARY KEY (alias_name)
) TYPE=MyISAM;
creiamo la tabella delle virtual maps
CREATE TABLE virtual (
id bigint(16) NOT NULL default '0',
system_name varchar(64) NOT NULL default '',
domain_map varchar(64) NOT NULL default '',
status varchar(15) NOT NULL default 'paid',
PRIMARY KEY (id),
KEY system_name (system_name)
) TYPE=MyISAM;

Ora dovete creare un nuovo user per permettere a postfix di eseguire delle select sul DB.
Potete utilizzare webmin nel modulo MySQL oppure da terminale battete:

mysql --user=root mysql (questo comando si esegue per collegarsi a mysql se siete gia in una shell mysql> passate oltre)

GRANT SELECT
      ->    ON mail.*
      ->    TO postfix@localhost
      ->    IDENTIFIED BY 'password';
Metti al posto di password quello che desideri ma ricordatela!
FLUSH PRIVILEGES;

OK! ora mysql é configurato per poter accogliere le richieste di postfix, ma ora dobbiamo dire a postfix cosa fare:
Innanzitutto torniamo nella directory /etc/postfix dove risiedono le nostre configurazioni
cd /etc/postfix
Mettiamo nei 2 file aggiunti prima la password impostata in mysql per lo user postfix
sudo pico mysql-aliases.cf

sostituisci come indicato nella figura accanto. Premi ctrl+x per uscire e y per confermare il salvataggio.
Esegui la stessa operazione sul file mysql-virtual.cf quindi:
sudo pico mysql-aliases.cf
sostituisci la password esci e salva.
Ora rimane da editare il file main.cf
sudo pico main.cf
Specificate il parametro myhostname =host.domain.tld togliendo il cancelletto da davanti e scrivendo il nome della vostra macchina.
cercate scorrendo il file la voce ADDRESS REDIRECTION (VIRTUAL DOIMAIN)
inserite questa riga che specifica quale mappa dei domini virtuali utlizzare:
virtual_maps = mysql:/etc/postfix/mysql-virtual.cf
cercate ora scorrendo il file la voce ALIAS DATABASE
inserite questa riga che specifica quale mappa degli alias utlizzare:
alias_maps = mysql:/etc/postfix/mysql-aliases.cf

Uscite dall'editor pico con ctrl+x confermate il salvataggio con y.

adesso lanciate postfix con
sudo postfix start
se tutto é stato eseguito correttamente scrivendo
telnet 0 25
Trying 0.0.0.0...
Connected to 0.
Escape character is '^]'.
220 mail.kdev.it ESMTP Postfix

IL SERVER E' STATO INSTALLATO! Ora non vi resta che compilare i db con le vostre mappature e il gioco é fatto.

Ora che postifx é installato potete proseguire con i tutorial su come applicare content-filtering contro spam e virus.
Attraverso lo script per il content-filtering é possibile inviare SMS collegandosi ad apposite appliance come la SMS fox box. Clicca quì per vedere il tutorial.

Se avete riscontrato qualche problema nelle istruzioni, o necessitate chiarimenti o approfondimenti scrivete a info@kdev.it


< torna alla home





Altri tutorials sono disponibili all'indirizzo quì.