Spesso dopo un riavvio, ci accorgiamo che postfix non è in esecuzione, rendendo impossibile l’invio delle email via SMTP. Spesso (se siamo certi che la configurazione si OK) postfix potrebbe non essere presente tra i servizi che vengono avviati al boot. I sistemi basati su Red-Hat, come CentOS o Amazon Linux si affidano all’utility chkconfig per gestire i servizi all’avvio.

Verifichiamo i servizi presenti

Per vedere quali servizi sono attualmente configurati (quelli da /etc/init.d/  o xinetd ) diamo il comando chkconfig –list :

[root@trinity ~]# chkconfig --list
acpid          	0:off	1:off	2:on	3:on	4:on	5:on	6:off
auditd         	0:off	1:off	2:on	3:on	4:on	5:on	6:off
cgconfig       	0:off	1:off	2:off	3:off	4:off	5:off	6:off
cgred          	0:off	1:off	2:off	3:off	4:off	5:off	6:off
courier-authdaemon	0:off	1:off	2:on	3:on	4:on	5:on	6:off
courier-imapd  	0:off	1:off	2:on	3:on	4:on	5:on	6:off
courier-imaps  	0:off	1:off	2:on	3:on	4:on	5:on	6:off
courier-pop3d  	0:off	1:off	2:on	3:on	4:on	5:on	6:off
courier-pop3s  	0:off	1:off	2:on	3:on	4:on	5:on	6:off
crond          	0:off	1:off	2:on	3:on	4:on	5:on	6:off
drwebd         	0:off	1:off	2:on	3:on	4:on	5:on	6:off
htcacheclean   	0:off	1:off	2:off	3:off	4:off	5:off	6:off
httpd          	0:off	1:off	2:on	3:on	4:on	5:on	6:off
ip6tables      	0:off	1:off	2:on	3:on	4:on	5:on	6:off
iptables       	0:off	1:off	2:on	3:on	4:on	5:on	6:off
kdump          	0:off	1:off	2:off	3:on	4:on	5:on	6:off
mailman        	0:off	1:off	2:off	3:off	4:off	5:off	6:off
mdmonitor      	0:off	1:off	2:on	3:on	4:on	5:on	6:off
messagebus     	0:off	1:off	2:on	3:on	4:on	5:on	6:off
mysqld         	0:off	1:off	2:off	3:off	4:off	5:off	6:off
named          	0:off	1:off	2:on	3:on	4:on	5:on	6:off
netconsole     	0:off	1:off	2:off	3:off	4:off	5:off	6:off
netfs          	0:off	1:off	2:off	3:on	4:on	5:on	6:off
network        	0:off	1:off	2:on	3:on	4:on	5:on	6:off
nginx          	0:off	1:off	2:on	3:on	4:on	5:on	6:off
ntpd           	0:off	1:off	2:off	3:off	4:off	5:off	6:off
ntpdate        	0:off	1:off	2:off	3:off	4:off	5:off	6:off
pc-remote      	0:off	1:off	2:on	3:on	4:on	5:on	6:off
portreserve    	0:off	1:off	2:on	3:on	4:on	5:on	6:off
psa            	0:off	1:off	2:on	3:on	4:on	5:on	6:off
psa-health-monitor-notificationd	0:off	1:off	2:on	3:on	4:on	5:on	6:off
rdisc          	0:off	1:off	2:off	3:off	4:off	5:off	6:off
restorecond    	0:off	1:off	2:off	3:off	4:off	5:off	6:off
rsyslog        	0:off	1:off	2:on	3:on	4:on	5:on	6:off
saslauthd      	0:off	1:off	2:off	3:off	4:off	5:off	6:off
spamassassin   	0:off	1:off	2:on	3:on	4:on	5:on	6:off
sshd           	0:off	1:off	2:on	3:on	4:on	5:on	6:off
sw-collectd    	0:off	1:off	2:on	3:on	4:on	5:on	6:off
sw-cp-server   	0:off	1:off	2:on	3:on	4:on	5:on	6:off
sw-engine      	0:off	1:off	2:on	3:on	4:on	5:on	6:off
udev-post      	0:off	1:on	2:on	3:on	4:on	5:on	6:off
xinetd         	0:off	1:off	2:on	3:on	4:on	5:on	6:off

servizi basati su xinetd:
	chargen-dgram: 	off
	chargen-stream:	off
	daytime-dgram: 	off
	daytime-stream:	off
	discard-dgram: 	off
	discard-stream:	off
	echo-dgram:    	off
	echo-stream:   	off
	ftp_psa:       	on
	poppassd_psa:  	on
	rsync:         	off
	tcpmux-server: 	off
	time-dgram:    	off
	time-stream:   	off

Ogni linea consiste nel nome del servizio seguita dal suo status (on oppure off) per ognuno dei sette livelli. Nel nostro esempio, SpamAssassin è attivo sul runlevel 2,3,4 e 5. I servizi xinetd invece hanno semplicemente uno stato on oppure off.

Verificare un singolo servizio

Per conoscere rapidamente lo status di un singolo servizio (nel nostro esempio postfix), diamo il comando:

[root@trinity ~]# chkconfig --list | grep postfix

Se otteniamo un status vuoto, il nostro servizio non è configurato per l’avvio!

Aggiungiamo un servizio

Aggiungiamo un servizio alla configurazione attuale come segue:

[root@trinity ~]# chkconfig postfix on

Ri-verifichiamo che il servizio sia adesso presente usando la sintassi

chkconfig --list nomeservizio

Nel nostro caso:

[root@trinity ~]# chkconfig --list postfix
postfix        0:off 1:off 2:on 3:on 4:on 5:on 6:off

Perfetto, il nostro servizio verrà lanciato al boot.

 

Nota per gli utenti Plesk 12 e Onyx su Linux

A quanto apprendiamo, questo è un bug noto nelle versioni precedenti alla 17.5. Un ripristino delle impostazioni o un repair può togliere postfix dagli elementi dell’avvio. Questa guida vale anche per voi utenti Plesk.