Newsgroup: it.comp.os.linux.sys
Titolo: Postfix fa finta di partire...

ciao,
ho seguito passo passo le instruzioni per l'installazione di postfix
utilizzando le istruzioni presenti sul sito (tralasciando per ora amavis):
http://genco.gen.tc/postfix_virtual.php
Courier in pop3 e imap parte senza problemi ma lanciando 'postfix start'
ottengo un solo messaggio nel log:
postfix/postfix-script: starting the Postfix mail system
..ma nulla di piu'!! il demone infatti non viene tirato su e la porta 25
rimare tranquillamente libera..
ho provato anche lanciando manualmente il /libexec/master ma ottengo:
postfix/master[289]: fatal: unable to set session and process group ID:
Operation not permitted
avete qualche dritta?... ho provato cercando su google ma non ne sono
uscito, ho ricontrollato uno ad uno tutti i files di configurazione e sono
tutti come riportati nel tutorial... non so piu' dove sbattere la testa..
Grazie in anticipo!...
Budda
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 e) se usi chroot hai letto tutto quello che lo riguarda...
tutti i demoni presenti in 
master.cf
 hanno il flag chroot impostato a n.
(deduco che sia disabilitato per tutti)
.qualsiasi altro suggerimento e' ben accetto...!!
ti ringrazio per il tempo dedicato.. :)
ciao,


scusa.. dimenticavo..
ho provato a lanciare postfix check ma non ritorna nulla ne a video ne a
log... 
ovviamente se inserisco una parola a caso nel 
main.cf
 si incavola... :)
ciao e grazie ancora..
budda


 Cosa restituisce il comando postfix set-permission ?
# postfix set-permissions
non ritorna nulla ne in shell ne a log... e nulla cambia se provo a
rilanciare nuovamente 'postfix start' ..
ciao e grazie,


per maggiore chiarezza ti allego il risultato di postconf -n:
alias_maps = mysql:/etc/postfix/
mysql-aliases.cf
broken_sasl_auth_clients = yes
command_directory = /usr/local/postfix/sbin
config_directory = /etc/postfix
daemon_directory = /usr/local/postfix/libexec
debug_peer_level = 9
debug_peer_list = 127.0.0.1
disable_vrfy_command = yes
home_mailbox = Maildir/
html_directory = no
local_recipient_maps = $alias_maps $virtual_mailbox_maps unix:passwd.byname
mail_owner = postfix
mailq_path = /usr/bin/mailq
manpage_directory = /usr/local/man
mydestination = $myhostname
mydomain = 
test.com
myhostname = 
mail.test.com
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = no
relocated_maps = mysql:/etc/postfix/
mysql-relocated.cf
sample_directory = /etc/postfix
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_client_restrictions = check_client_access
mysql:/etc/postfix/
mysql-client.cf
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_etrn_restrictions = reject
smtpd_helo_required = yes
smtpd_recipient_restrictions =
permit_mynetworks,permit_sasl_authenticated,check_recipient_access
mysql:/etc/postfix/
mysql-recipient.cf
,reject_unauth_destination,permit
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
smtpd_sender_restrictions = check_sender_access
mysql:/etc/postfix/
mysql-sender.cf
syslog_facility = local2
transport_maps = mysql:/etc/postfix/
mysql-transport.cf
unknown_local_recipient_reject_code = 550
virtual_alias_maps = mysql:/etc/postfix/
mysql-virtual.cf
virtual_gid_maps = mysql:/etc/postfix/
mysql-virtual-gid.cf
virtual_mailbox_base = /data1/utentiposta
virtual_mailbox_domains = mysql:/etc/postfix/
mysql-virtual-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/
mysql-virtual-maps.cf
virtual_transport = maildrop
virtual_uid_maps = mysql:/etc/postfix/
mysql-virtual-uid.cf
grazie  ciao,
Budda


> Riprova: postfix start; telnet localhost 25; tail -f /var/log/maillog
ciao, ho provato tutti i tuoi passi ma l'esito e' negativo....:
root@test:/etc/postfix# postfix start
postfix/postfix-script: starting the Postfix mail system
root@test:/etc/postfix# telnet localhost 25
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
root@test:/etc/postfix# 
root@test:/etc/postfix# netstat -na | grep ":25"
(non torna nulla)
root@test:/etc/postfix# tail -f /var/log/maillog
Aug 30 14:39:42 test postfix/postfix-script: starting the Postfix mail
system
root@test:/etc/postfix# 
non riesco proprio a capire... nel frattempo ho provato anche cancellando
i binari e rieseguendo l'installazione (ricompilando da zero) ma il
risultato non cambia anche lasciando i file di configurazione di default
(cambiando solo mydestination e myhostname): ottengo sempre il medesimo
comportamento..
Grazie ancora!


 ciao, ho provato tutti i tuoi passi ma l'esito e' negativo....:
Scusate se mi intrometto, ma mi č venuto un dubbio... non č che postfix 
scriva gli errori in un file diverso da maillog (magari maillog.err o 
qcs del genere?)
prova grep -r postfix /var/log/* | less
-- 
|  Alessandro Giacomin [tenicoz]
|    "Sono una persona molto intelligente e brillante,
|    devo solo scoprire in quale campo."
|    ~, sweet ~

 scriva gli errori in un file diverso da maillog (magari maillog.err o 
purtroppo no .. :)
ho configurato io stesso syslogd:
mail.*    /var/log/maillog
e con syslog_facility in postfix stesso i log su 'local2':
local2.*                /var/log/postfix
i log che riporto qui sono un merge tra i 2 log .. 
(per scrupolo ho cmq controllato anche gli altri log presenti syslod,
messages, ecc..)
grazie anche te :)
ciao


scusate, ho postato senza cambiare il mittente (Berri) usato da un mio
amico qui.
grazie ancora


 Che distro usi?
root@test:/# more /etc/slackware-version 
8.0.0 (åtta)
grazie,


 riporta su log sempre e solo quel messaggio di "[...]Starting[...]
se provi
/usr/sbin/postfix -vvv start
ti aiuta?


ho fatto un ulteriore controllo ma la riga:
daemon started
non riesco a trovarla in alcun log.. 
non so piu' cosa inventarmi...
ciao


 ti aiuta?
wow... spara a video una marea di linee... alcuni dei quali sono i valori
parsati dal file di configurazione...
termina cmq con:
[...]
postfix: mac_parse: /etc/postfix
postfix: dict_eval_action: type literal buf /etc/postfix context mail_dict
"/usr/local/man" recursive
postfix: dict_eval[1] result /etc/postfix
postfix: dict_lookup: readme_directory = no
postfix: dict_eval[1] no
postfix: mac_parse: no
postfix: dict_eval_action: type literal buf no context mail_dict
"/etc/postfix" recursive
postfix: dict_eval[1] result no
postfix: dict_lookup: html_directory = no
postfix: dict_eval[1] no
postfix: mac_parse: no
postfix: dict_eval_action: type literal buf no context mail_dict "no"
recursive
postfix: dict_eval[1] result no
postfix/postfix-script: starting the Postfix mail system
root@attila600:/var/log#
..non ho idea di cosa controllare in particolare... i valori configurati
sono gli stessi che ho configurato nei vari 
main.cf
, ecc...
non so, se potesse essere d'aiuto potrei postari l'intero output perche'
veramente non so cosa poter vedere in particolare..
grazie ancora... 


 grazie ancora
propongo un uso accurato di strace.
Max

 veramente non so cosa poter vedere in particolare..
Sinceramente speravo in qcs dopo Starting Postfix... E` lì che avviene 
il fattaccio... mah, temo che stiamo entrando nell'accanimento 
terapeutico, se i log non loggano e postfix non parla, sono vicino 
all'arrendermi... :-)


> propongo un uso accurato di strace.
grazie per il suggerimento Max:
cosa dovrei cercare in particolare ? ..l'ultima parte di strace e' qui... :
ait4(-1, postfix/postfix-script: starting the Postfix mail system
[WIFEXITED(s) && WEXITSTATUS(s) == 0], 0, NULL) = 1475
rt_sigprocmask(SIG_BLOCK, [CHLD TTOU], [CHLD], 8) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD], 8) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD (Child exited) ---
wait4(-1, 0xbffff508, WNOHANG, NULL)    = -1 ECHILD (No child processes)
sigreturn()                             = ? (mask now [])
rt_sigaction(SIGINT, {SIG_DFL}, {0x806ec28, [], 0x4000000}, 8) = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
fork()                                  = 1476
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD], 8) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD], 8) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD], 8) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD], 8) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, [CHLD TTOU], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD (Child exited) ---
wait4(-1, [WIFSIGNALED(s) && WTERMSIG(s) == SIGSEGV], WNOHANG, NULL) = 1476
wait4(-1, 0xbffff6e8, WNOHANG, NULL)    = -1 ECHILD (No child processes)
sigreturn()                             = ? (mask now [])
read(255, "", 5800)                     = 0
_exit(0)                                = ?
root@test:/var/log# 


 all'arrendermi... :-)
:( ... no dai !! ... please :)


 quella di default, almeno si comincia a vedere una cosa alla volta.
perfetto... una prova quasi in questo senso l'avevo fatta prima ma aveva
dato esito negativo... 
pero' ho detto "quasi" .. perche' l'unica differenza dall'installazione di
default e quella che ho ritentato io e' che ho lasciato i files di config
di default ma ho compilato con le opzioni del tutorial  che ti riporto:
make makefiles 'CCARGS=-DHAS_MYSQL \
-I/usr/local/mysql/include/mysql  -DUSE_SASL_AUTH \
-I/usr/local/include/sasl -I/usr/local/bdb/include' \
 'AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient \
-lz -lm -L/usr/local/lib -lsasl2  -L/usr/local/bdb/lib'
(ovviamente sasl, mysql, bdb sono tutti li ricompilati e installati)
...
ora provo con un semplice make ... e ti faccio sapere..
grazie,
budda


 :( ... no dai !! ... please :)
Concordo con quanto detto sopra da Michele: configurazione pulita di 
main e master e via.
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix
smtpd_banner = $myhostname ESMTP $mail_name
setgid_group = postdrop
biff = no
myhostname = mailserver.dominio
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = dominio
mydestination = localhost, $myorigin, $myhostname
mynetworks = 
127.0.0.0/8
Poi ne riparliamo :-)


> ora provo con un semplice make ... e ti faccio sapere..
allora...
provato con un semplice make e i file di conf di default e funziona..:
Aug 30 16:03:55 test postfix/postfix-script: starting the Postfix mail
system
Aug 30 16:03:55 test postfix/master[5798]: daemon started -- version 2.1.4
ora provero' aggiungendo le varie opzioni al make (ho paura che siano
quelle..)
vi tengo aggiornati..
Budda


> Poi ne riparliamo :-)
:) ... con la configurazione pulita funge:
Aug 30 16:03:55 test postfix/postfix-script: starting the Postfix mail
system
Aug 30 16:03:55 test postfix/master[5798]: daemon started -- version 2.1.4
temo che siano le opzioni che aggiungo in coda al make...
ora provo ad aggiungere i songoli pezzi..
vi tengo aggiornati
budda


 
Dice solo che i chind escono.
Allora, procedi per passi, noto che usi mysql.
E' probabile che non provi qualche libreria.
Step 1) pialla il 
main.cf
 e elimina tutte le cose extra da dynamic maps
etcc...
Step2)  metti un config minimale, solo le cose più semplici e senza
includere mysql... vedi se parte
Magari se ti sei installato mysql o altre librerie a manina, non hai
LDCONFIG settato a dovere e non le trova quando parte.
Non saprei che dire.
il comando postscript lancia un postscript-script.
in tale script l'output è redirezionato a /dev/null.
mettici in cima un set -x e redireziona stdout e stderr da qualche altra
parte in modo da analizzare eventuali errori.
Max
P.S.: lo step 4 è : metti debian ! ^_^

 E' probabile che non provi qualche libreria.
grazie dei suggerimenti!!
ho appena terminato la compilazione di postfix minimale senza opzioni e
funziona...
per "senza opzioni" intendo senza FLAG in fase di make ..
avevo gia' provato senza successo a sostituire i files di config con
quelli di default ma non cambiava nulla..
cmq compilando con un nudo e crudo make funge... ora sto tentando
eliminando singoli pezzetti al make...
grazie
Budda


allora... 
ho provato e funziona togliendo tra i flags di compilazione i riferimenti
al berkley db (stesso file di configurazione di default):
da cosi:
make makefiles 'CCARGS=-DHAS_MYSQL \
-I/usr/local/mysql/include/mysql  -DUSE_SASL_AUTH \
-I/usr/local/include/sasl -I/usr/local/bdb/include' \
 'AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient \
-lz -lm -L/usr/local/lib -lsasl2  -L/usr/local/bdb/lib'
a cosi:
make makefiles 'CCARGS=-DHAS_MYSQL \
-I/usr/local/mysql/include/mysql  -DUSE_SASL_AUTH \
-I/usr/local/include/sasl' \
 'AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient \
-lz -lm -L/usr/local/lib -lsasl2'
non capisco perche'... boh..
grazie ...


 hash, il resto non è importante, lo puoi modificare o adattare.
si provero' eliminando il supporto bdb anche perche' a me interessa
esclusivamente mysql .. ;)
grazie ancora... ti tengo cmq aggiornato :)


 ex novo e ricompilate in /usr/local/bdb ...
Appunto.
Come fa a trovarle l'eseguibile ?
/etc/ld.so.conf
aggiungi /usr/local/bdb/lib/ a quel file, lancia ldconfig e riprova.
Lui trova gli headers quando compila... ma quando parte se ne fotte e non
li trova.
io slack non l'ho mai usata ma non credo sia differente dalle altre ...
(leggasi Debian)
Max

 /etc/ld.so.conf
purtroppo l'avevo gia' fatto ... la dir usr/local/bdb/lib e' gia' presente
in /etc/ld.so.conf e ldconfig e' gia' aggiornato...
cmq per ora funziona... (senza bdb).. sto cmq continuando le prove..
ciao e grazie


 documentazione potrebbe fare miracoli.
si Thorin, hai perfettamente ragione ... ma mi sono letto tutta la
documentazione possibile, ma non sono riuscito a risolvere il mio pb ...
tranne nel caso tolga il supporto a berkley db ..
ciao,
