Ok, il mondo usa l’accoppiata Intel/windoze, altra gente più fortunata hardware più decente (Sun, Hp) su cui far girare Unix; altri, per motivi vari, usano le solite tristi scatole a base Intel a basso costo e ci montano Linux.

Ma esiste una bella fetta del mondo che da 15 anni utilizza un approccio mentale diverso al computer, gente che vuole usarlo in modo intuitivo, senza dover essere un super-esperto, senza dover configurare l’universo per farlo funzionare appena connette qualcosa, senza trascurare un notevole senso estetico. Sono malati, lo so, sono gli utenti che da 15 anni comprano Hw (e quindi Sw) sotto il simbolo della mela.

Non arricciate il naso, se lo fate non avete mai usato Mac, o avete tentato di usarlo come fosse un pc. Ora il lungo percorso di evoluzione hw/sw della casa di Cupertino è giunta a Unix; ogni nuovo Mac esce con OSX (10.2) preinstallato: fra qualche mese sarà la versione di UNIX più diffusa nel mondo.

Nell’ambiente scolastico (specie in quelle scuole dove lo skill tecnico non era elevato ma era p.es. di taglio artistico / grafico) il brand Apple è sempre stato forte: spero quindi di poter dare utili indicazioni a quelle scuole che hanno (per lor fortuna...) Mac e non anonimi cassoni di latta.

OSX dal punto di vista tecnico non è LINUX, ma bensì UNIX, nella incarnazione BSD. è quindi basato su FreeBSD e sul kernel Mach, con un’architettura dinamica, non monolitica, alla Linux.

A parte questa premessa, vediamo come installare un server di posta in OSX.

Nota I: l’installer di OSX pre-installa sendmail, ma è per default disabilitato. Inoltre sendmail è il mail server più bacato e bucato della storia di Unix, quindi passiamo senza indugio a postfix.

Al solito parto dalla Rete: cosa esiste se cerco con le keyword "OSX" e "postfix"?.

Vien giù un bel po’ di roba, anche in ITALIANO. Ma l’esterofilia impone di leggere materiale in inglese - il sito da cui partire è http://www.postfix.org/, il sito naturale, ma pare interessante anche http://www.afp548.com, un sito da gente "tosta" sotto OSX.

Nota II: l’installazione avverrà in OSX 10.2.6 client, ma dovrebbe funzionare in modo analogo sotto OSX Server. (proverò..)

Nota III: Per editare i file si può usare qualunque editor, io ho usato pico. Evitate "TexEdit", grafico e comodo, che NON permette di salvare come root, a meno che loggate alla macchina come root fin dall’inizio.

 

I PASSI

  1. scarichiamo il package. È la versione 2.0.9.
  2. dobbiamo eseguire make, ma prima passiamo a root, perché alcuni passaggi il README consiglia di farli come root.
  3. prima della vera installazione, bisogna creare alcuni particolari account e se tutto è ok si passa all’installazione. Va quindi creato un account "postfix" e relativi gruppi. Fortunamente per OSX esiste già un file apposito, "niscript" dentro "auxilliary/MacOSX". I consueti comandi "useradd"/"adduser" NON funzionano: OSX centralizza userid e account in NetInfo. Apparirà a video:

Va ora creato il gruppo "postdrop" ( occhio che il Gid sia libero):

Note:

  1. È possibile creare tale gruppo da dentro NetInfo.
  2. ho usato 54321 (come consigliato dai readme), ma qualunque gid libero è ok.
  3. Se apriamo "NetInfo Manager" possiamo vedere come ha settato i privilegi dell’utente postfix.

NOTA - tralasciamo il caso di avere già installato sendmail funzionante: andrebbe backuppato e messo fuori linea. (si veda su http://www.afp548.com/Articles/mail/postfix-solo.html)

  1. ora ci facciamo davvero male: lanciamo "make" dalla directory dei sorgenti, a video appare di tutto.
    Se tutto è OK, "make install" (le scelte per default sono OK per un uso normale, quindi "Enter"):
  2. Quanto specificato come opzione finirà in: /etc/postfix/main.cf.

    Riporto qui:

    Alla fine appare:

    Se per verifica apriamo "/etc/postfix/main.cf", troviamo dei valori di default.

    Per passare al punto successivo dovremmo avere un FQDN (fully qualified domain name), ma il ns. G4 non ha un nome valido sulla rete. Altro problema: siccome su OSX 10.2 è in funzione Rendezvous ( una tecnologia "open" di Apple basata su "zero config"), i servizi prendono il nome host da lì e quindi usano qualcosa del tipo "G4Silver.local."

    Dobbiamo quindi in qualche modo modificare la "logica". La cosa da fare è modificare il file "/etc/hostconfig" :

    Da: HOSTNAME=-AUTOMATIC-
    A: HOSTNAME=-NO-

    (questa modifica a HOSTNAME potrebbe interrompere servizi basati su Rendezvous: per i nostri test la cosa è tollerabile).

    Passiamo a root e lanciamo pico e operiamo le modifiche.

    Il nome al prompt diventerà il banale ‘localhost’.

    Già che siamo lì cambiamo:

    MAILSERVER=-NO-
    in:
    MAILSERVER=-YES-

  3. Ora bisogna configurare postifix modificando "/etc/postfix/main.cf". Per sicurezza ne facciamo una copia:

Passiamo a root e lanciamo pico:

alla sezione "INTERNET HOST AND DOMAIN NAMES" modifichiamo il nome dell’host:

(ho lasciato commentato domain...)

ho settato di usare tutte le interfacce, e poi:

nella sezione ALIAS:

notare che Postfix riconosce il db di NetInfo! (gran lavoro di porting...)

Ora come superuser va ancora modificato il file "defines" per settare il path corretto di avvio per gli "Startup Items": lo facciamo partire da /Library ( la directory di libreria Non di sistema), anziché da quella che Apple ha deciso di sistema e che NON va toccata.

Ora da root: ( se non siete già lì);

e poi:

se vi dà errore, è perché postfix è già running. Fermatelo:

e rifate. Può apparire il messaggio:

Questo perché gli ultimi installer già copiano molti file in automatico; oppure avete già installato postifx.

Sempre da root:

ed ora: REBOOT!

(il reboot è solo per testare che parta in automatico; manualmente basterebbe:

Al riavvio, per verificare se postfix è "su":

se vi appare qualcosa del tipo:

siete ok.

"quit" per uscire.

 

Alcuni comandi utili:

/usr/sbin/postfix check

/usr/sbin/postfix reload

/usr/sbin/postfix start

/usr/sbin/postfix stop

Se aprite process viewer dovreste vedere alcuni processi di postfix:

VERIFICHE

Create un utente "finto" dentro Mail, come p.es. nella finestra seguente:

NOTA: questi settaggi non sono a rigore indispensabili per usare postfix che è un SMTP server, quindi creare un account con i settaggi pop3 è inutile, ma è un modo pratico di poter verificare i settaggi. La cosa fondamentale è poi aggiungere un "outgoing mail server":

Clicchiamo sul popup alla voce "addserver" ed aggiungiamo:

In questo modo potrò selezionare l’account "test postifix" quando invio:

Notate l’account di uscita, che userà postfix come smtp.

Se clicco su "Send", la e-mail partirà e, aprendo la console, posso controllare il Log di postfix:

vendor:

che conferma che il messaggio è stato spedito ed accettato.

Dopo poco nel client di mail (Mail.app) avrò:

Post install benefits

Ok, abbiamo un MTA sulla macchina: che fare, a parte poter inviare la posta?

Ho provato ad usare i servizi PHP di posta, che necessitano di un SMPT server locale.

Creo una pagina PHP semplice, mailbomb.php:

<?php
session_start();
for ($i=0; $i<1000; $i++)
{
$res = mail("ingconti@ingconti.com", "My Subject"+$i, "Line 1\nLine 2\nLine 3");
}
echo "end<br>";
?>

e appena la chiamo dal browser, partono 1000 messaggi!.

Ovviamente la pagina va messa nella dir del web server Apache, solitamente:

/Library/WebServer/Documents/ e va attivato Apache:

oppure da linea di comando:

 

04 giugno 2004