|
Suche |
Beschreibung: In Folge der Blockierung des Port 25 bei einigen Providern kann es sein, dass Sie auf Ihrem Server einen zusätzlichen Port öffnen müssen, um E-Mails nach aussen versenden zu können. Diese Hilfe beschreibt die dazu für die OVH Releases 1 und 2 und für Plesk notwendigen Schritte Kenntnisse der Verzeichnisstrukter von Linux, beherrschen eines Editors (vi oder nano, vim bei neueren Distributionen). Zuerst müssen Sie sich per SSH mit dem Server als Benutzer root verbinden. Sobald Sie verbunden sind können Sie folgende Datei mit dem Editor Ihrer Wahl bearbeiten: /etc/init.d/qmail Diese enthält folgendes: #!/bin/sh # Qmail Startup # Source function library. . /etc/rc.d/init.d/functions # See how we were called. case "$1" in start) cd / echo -n "Starting: " env - PATH="/var/qmail/bin:/usr/local/bin" \ /var/qmail/bin/qmail-start ./Maildir/ /usr/local/bin/tai64n \ | /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog /var/log/qmail & echo -n "qmail " env - PATH="/var/qmail/bin:/usr/local/bin" \ tcpserver -H -R -c100 0 pop-3 /var/qmail/bin/qmail-popup \ maxime.d.ovh.net \ /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir & echo -n "pop " env - PATH="/var/qmail/bin:/usr/local/bin" \ tcpserver -H -R -x /etc/tcp.smtp.cdb -c100 -u503 -g503 0 smtp \ /var/qmail/bin/qmail-smtpd 2>&1 > /dev/null & echo "smtp" ;; stop) cd / echo -n "stopping qmail" killproc qmail-send killproc tcpserver echo ;; restart) $0 stop $0 start ;; status) status qmail-send ;; *) echo "Usage: qmail {start|stop|restart|status}" exit 1 esac exit 0 Wir nehmen folgenden Abschnitt: env - PATH="/var/qmail/bin:/usr/local/bin" \ tcpserver -H -R -x /etc/tcp.smtp.cdb -c100 -u503 -g503 0 smtp \ /var/qmail/bin/qmail-smtpd 2>&1 > /dev/null & echo "smtp" ;; Den wir verdoppeln um folgendes zu erhalten: #!/bin/sh # Qmail Startup # Source function library. . /etc/rc.d/init.d/functions # See how we were called. case "$1" in start) cd / echo -n "Starting: " env - PATH="/var/qmail/bin:/usr/local/bin" \ /var/qmail/bin/qmail-start ./Maildir/ /usr/local/bin/tai64n \ | /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog /var/log/qmail & echo -n "qmail " env - PATH="/var/qmail/bin:/usr/local/bin" \ tcpserver -H -R -c100 0 pop-3 /var/qmail/bin/qmail-popup \ maxime.d.ovh.net \ /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir & echo -n "pop " env - PATH="/var/qmail/bin:/usr/local/bin" \ tcpserver -H -R -x /etc/tcp.smtp.cdb -c100 -u503 -g503 0 smtp \ /var/qmail/bin/qmail-smtpd 2>&1 > /dev/null & echo "smtp" env - PATH="/var/qmail/bin:/usr/local/bin" \ tcpserver -H -R -x /etc/tcp.smtp.cdb -c100 -u503 -g503 0 587 \ /var/qmail/bin/qmail-smtpd 2>&1 > /dev/null & echo "smtp587" ;; stop) cd / echo -n "stopping qmail" killproc qmail-send killproc tcpserver echo ;; restart) $0 stop $0 start ;; status) status qmail-send ;; *) echo "Usage: qmail {start|stop|restart|status}" exit 1 esac Wir modifizieren den verdoppelten Abschnitt um folgendes zu erhalten: #!/bin/sh # Qmail Startup # Source function library. . /etc/rc.d/init.d/functions # See how we were called. case "$1" in start) cd / echo -n "Starting: " env - PATH="/var/qmail/bin:/usr/local/bin" \ /var/qmail/bin/qmail-start ./Maildir/ /usr/local/bin/tai64n \ | /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog /var/log/qmail & echo -n "qmail " env - PATH="/var/qmail/bin:/usr/local/bin" \ tcpserver -H -R -c100 0 pop-3 /var/qmail/bin/qmail-popup \ maxime.d.ovh.net \ /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir & echo -n "pop " env - PATH="/var/qmail/bin:/usr/local/bin" \ tcpserver -H -R -x /etc/tcp.smtp.cdb -c100 -u503 -g503 0 smtp \ /var/qmail/bin/qmail-smtpd 2>&1 > /dev/null & echo "smtp" ;; env - PATH="/var/qmail/bin:/usr/local/bin" \ tcpserver -H -R -x /etc/tcp.smtp.cdb -c100 -u503 -g503 0 587 \ /var/qmail/bin/qmail-smtpd 2>&1 > /dev/null & echo "smtp587" ;; stop) cd / echo -n "stopping qmail" killproc qmail-send killproc tcpserver echo ;; restart) $0 stop $0 start ;; status) status qmail-send ;; *) echo "Usage: qmail {start|stop|restart|status}" exit 1 esac Dann kann man den E-Mail Server neu starten: /etc/init.d/qmail restart Wir prüfen dass der Port nun wirklich aktiv ist: netstat -tanpu | grep 587 Anschliessend können Sie diesen Port in Ihrem E-Mail Programm konfigurieren: Wir editieren die Startdatei von qmail vim /etc/init.d/qmail #!/sbin/runscript # Copyright 1999-2006 Gentoo Foundation
depend() { use net before ntpd ntp-client spamd apache apache2 } start() { cd / ebegin "Starting Qmail" env - PATH="/var/qmail/bin:/usr/local/bin" \ /var/qmail/bin/qmail-start ./Maildir/ 2>&1 | /usr/local/bin/tai64n \ | /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog /var/log/qmail/ & eend $? ebegin "Starting Pop" env - PATH="/var/qmail/bin:/usr/local/bin" \ tcpserver -H -R -c100 0 pop-3 /var/qmail/bin/qmail-popup \ ks301019.kimsufi.com \ /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1 \ | /usr/local/bin/tai64n \ | /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog /var/log/qmailpop3/ & eend $? ebegin "Starting Smtp" env - PATH="/var/qmail/bin:/usr/local/bin" CHKUSER_START="DOMAIN" \ tcpserver -H -R -x /etc/tcp.smtp.cdb -c100 -u508 -g503 0 smtp \ /var/qmail/bin/qmail-smtpd 2>&1 \ | /usr/local/bin/tai64n \ | /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog /var/log/qmailsmtp/ & eend $? } stop() { ebegin "Stopping Qmail" killall qmail-send killall tcpserver eend $? } Wir nehmen den Abschnitt: ebegin "Starting Smtp" env - PATH="/var/qmail/bin:/usr/local/bin" CHKUSER_START="DOMAIN" \ tcpserver -H -R -x /etc/tcp.smtp.cdb -c100 -u508 -g503 0 smtp \ /var/qmail/bin/qmail-smtpd 2>&1 \ | /usr/local/bin/tai64n \ | /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog /var/log/qmailsmtp/ & eend $? Wir verdoppeln diesen um folgende Datei zu erhalten: #!/sbin/runscript #Copyright 1999-2006 Gentoo Foundation #Distributed under the terms of the GNU General Public License v2 #$Header: $ depend() { use net before ntpd ntp-client spamd apache apache2 } start() { cd / ebegin "Starting Qmail" env - PATH="/var/qmail/bin:/usr/local/bin" \ /var/qmail/bin/qmail-start ./Maildir/ 2>&1 | /usr/local/bin/tai64n \ | /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog /var/log/qmail/ & eend $? ebegin "Starting Pop" env - PATH="/var/qmail/bin:/usr/local/bin" \ tcpserver -H -R -c100 0 pop-3 /var/qmail/bin/qmail-popup \ ks301019.kimsufi.com \ /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1 \ | /usr/local/bin/tai64n \ | /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog /var/log/qmailpop3/ & eend $? ebegin "Starting Smtp" env - PATH="/var/qmail/bin:/usr/local/bin" CHKUSER_START="DOMAIN" \ tcpserver -H -R -x /etc/tcp.smtp.cdb -c100 -u508 -g503 0 smtp \ /var/qmail/bin/qmail-smtpd 2>&1 \ | /usr/local/bin/tai64n \ | /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog /var/log/qmailsmtp/ & eend $? ebegin "Starting Smtp" env - PATH="/var/qmail/bin:/usr/local/bin" CHKUSER_START="DOMAIN" \ tcpserver -H -R -x /etc/tcp.smtp.cdb -c100 -u508 -g503 0 smtp \ /var/qmail/bin/qmail-smtpd 2>&1 \ | /usr/local/bin/tai64n \ | /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog /var/log/qmailsmtp/ & eend $? } stop() { ebegin "Stopping Qmail" killall qmail-send killall tcpserver eend $? } On modifie alors la section dédoublée pour obtenir cela, modification du nom du service, modification de smtp par 587 /var/log/qmailsmtp par /var/log/qmailsmtp587/ : ebegin "Starting Smtp587" env - PATH="/var/qmail/bin:/usr/local/bin" CHKUSER_START="DOMAIN" \ tcpserver -H -R -x /etc/tcp.smtp.cdb -c100 -u508 -g503 0 587 \ /var/qmail/bin/qmail-smtpd 2>&1 \ | /usr/local/bin/tai64n \ | /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog /var/log/qmailsmtp587/ & eend $? Wir erhalten dann diese Datei: #!/sbin/runscript #Copyright 1999-2006 Gentoo Foundation #Distributed under the terms of the GNU General Public License v2 #$Header: $ depend() { use net before ntpd ntp-client spamd apache apache2 } start() { cd / ebegin "Starting Qmail" env - PATH="/var/qmail/bin:/usr/local/bin" \ /var/qmail/bin/qmail-start ./Maildir/ 2>&1 | /usr/local/bin/tai64n \ | /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog /var/log/qmail/ & eend $? ebegin "Starting Pop" env - PATH="/var/qmail/bin:/usr/local/bin" \ tcpserver -H -R -c100 0 pop-3 /var/qmail/bin/qmail-popup \ ks301019.kimsufi.com \ /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1 \ | /usr/local/bin/tai64n \ | /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog /var/log/qmailpop3/ & eend $? ebegin "Starting Smtp" env - PATH="/var/qmail/bin:/usr/local/bin" CHKUSER_START="DOMAIN" \ tcpserver -H -R -x /etc/tcp.smtp.cdb -c100 -u508 -g503 0 smtp \ /var/qmail/bin/qmail-smtpd 2>&1 \ | /usr/local/bin/tai64n \ | /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog /var/log/qmailsmtp/ & eend $? env - PATH="/var/qmail/bin:/usr/local/bin" CHKUSER_START="DOMAIN" \ tcpserver -H -R -x /etc/tcp.smtp.cdb -c100 -u508 -g503 0 587 \ /var/qmail/bin/qmail-smtpd 2>&1 \ | /usr/local/bin/tai64n \ | /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog /var/log/qmailsmtp587/ & eend $? } stop() { ebegin "Stopping Qmail" killall qmail-send killall tcpserver eend $? } On peut alors enregistrer On peut alors saisir ces commandes, pour ajouter le dossier de logs pour le nouveau démon smtp et lui permettre d'écrire dans le dossier: nsXXX ~ # mkdir /var/log/qmailsmtp587 nsXXX ~ # chown qmaill:root /var/log/qmailsmtp587 On peut alors stopper le serveur email (clamantivirus, spamassassin, puis qmail): nsXXX ~ #/etc/init.d/clamd stop nsXXX ~ #/etc/init.d/spamd stop nsXXX ~ #/etc/init.d/qmail stop Les emails sont gérés dans une queue par le serveur, et sont pris en charges par plusieurs programmes, il faut donc patienter que les traitements commencés au moment du stop sont bien terminés, car tant que le processus n'a pas fini de travailler, il ecrit dans les logs et bloque lesdits fichiers en écriture à une autre processus, il faut donc executer la commande suivante, afin de s'assurer que le lock sur ces fichiers est terminé: nsXXX ~ #ps aux | grep multi Lorsque la commande ne renvoie plus que la ligne mentionnant la commande "grep", vous pouvez relancer votre serveur email: nsXXX ~ #/etc/init.d/clamd start nsXXX ~ #/etc/init.d/spamd start nsXXX ~ #/etc/init.d/qmail start Vous pouvez alors vérifier le fonctionnement du nouveau serveur smtp: nsXXX ~ #netstat -tanpu | grep 587 Si tout va bien vous aurez le port correspondant ouvert : tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 2358/tcpserver Vous pouvez alors tenter un envoi en utilisant ce port depuis votre client de messagerie favori Il faut d'abord copier le fichier suivant: cp /etc/xinetd.d/smtp_psa /etc/xinetd.d/smtp_psa_alt Ensuite il faut éditer la version copiée, par exemple: vi /etc/xinetd.d/smtp_psa_alt et modifier le contenu de la premiere ligne pour ebtenir ceci: service smtp_psa_alt Ensuite, éditer le fichier /etc/services , puis tout en bas ajouter cette ligne: smtp_psa_alt 587/tcp # new SMTP port On redémarre ensuite xinetd: /etc/init.d/xinetd restart Pour vérifier que le port en question est ouvert: netstat -tanpu | grep 587 Vous pouvez alors configurer votre logiciel de messagerie favori pour envoyer vos emails |