FreeBSD - Qmail + Vpopmail + Sqwebmail + Qmailadmin +
Install MySQL
$cd /usr/ports/database/mysql323-server
$make install clean
Damit sollten mysql-server und mysql-client auf dem System installiert sein. In /usr/local/etc/rc.d/mysql-server.sh hat der Port ein Startup-Script installiert, welches den mysql-server bei jedem Systemstart automatisch startet. um jetzt den mysql-server zu starten muss folgender Befehl ausgef?erden:
4. /usr/local/etc/rc.d/mysql-server.sh start
Nun ist es wichtig, das Passwort f? Benutzer root zu setzen. Dies wird auch ?ie shell mit dem Befehl:
5. mysql -u root mysql
gemacht. Jetzt befindet man sich auf der mysql-shell, die so aussieht:
mysql>
Hier wird jetzt der Befehl:
6. SET PASSWORD FOR root=PASSWORD(‘password’);
ausgef?wobei f?ssword’ das Passwort f?t eingetargen werden muss. Mit exit kann man die Shell wieder verlassen.
Nun brauchen wir noch einen user f? vpopmail Datenbank und nat? die eigentliche Datenbank (vpopmail), die im n?sten Schritt angelegt wird.
7. mysql -u root -p
8. mysql> CREATE DATABASE vpopmail;
9. mysql> connect mysql;
10. mysql> INSERT INTO user VALUES(‘localhost’,’vpop’,PASSWORD(‘vpop2000’),’Y’,’Y’,’Y’,’Y’,’Y’,’N’,’N’,’Y’,’Y’,’N’,’Y’,’Y’,’N’,’Y’);
11. mysql> FLUSH PRIVILEGES;
In Punkt 10. wird der vpopmail User ‘vpop’ mit dem Passwort ‘vpop2000’ erstellt. Dieser User hat nur die Berechtigung ?ocalhost auf mysql zuzugreifen.
Installation von qmail
qmail ist das Mailprogramm, das f? Versenden und Empfangen der E-Mail’s verantwortlich ist.
1. cd /usr/ports/mail/qmail
2. make all install clean -DWITH_BIG_TODO_PATCH
3. make disable-sendmail
4. make enable-qmail
Damit beim n?sten Systemstart auch wirklich kein sendmail mehr gestartet wird, sollten in der Datei /etc/rc.conf folgende Eintr? gesetzt werden:
5. vi /etc/rc.conf
###############################
# Disable sendmail -> qmail !
###############################
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
Installation von vpopmail
Vpopmail wird in Verbindung mit qmail eingesetzt, um virtuelle E-Mail Domains zu erstellen
1. cd /usr/ports/mail/vpopmail
2. make WITH_MYSQL=yes WITH_MYSQL_SERVER=localhost WITH_MYSQL_USER=vpop WITH_MYSQL_PASSWD=vpop2000 WITH_MYSQL_DB=vpopmail eingeben
3. make install eingeben
4. make clean eingeben
Jetzt sollte vpopmail mit mysql-Unterst? installiert sein. Um nun zum testen eine E-Mail Domain mit dem Namen test.com anzulegen, m?folgende Befehle ausgef?erden.
5\. cd /usr/local/vpopmail/bin
6\. ./vadddomain test.com
Einen user mit dem Namen mailtest kann man ganz einfach mit folgendem Kommando anlegen:
7\. ./vadduser mailtest@test.com
Installation von ispell
Mit Hilfe von ispell kann sp?r sqwebmail so konfiguriert werden, das der E-Mail Text einer Rechtschreibpr?unterzogen wird.
1. cd /usr/ports/german/ispell-neu
2. make install
3. make clean
Installation von sqwebmail
Sqwebmail ist die Webmailoberfl?e die ?as lokale LAN oder ?as Internet abgefragt werden kann.
1. cd /usr/ports/mail/sqwebmail
2. make WITH_VCHKPW=YES WITH_ISPELL=YES eingeben
3. make install eingeben
4. make clean eingeben
Sqwebmail ist jetzt installiert. Man sollte nun schauen, dass man die Verzeichnisse f? cgi-bin -Verzeichnis an seinen Webserver anpasst. Als n?stes braucht man diesen Eintrag in der /etc/crontab:
5\. vi /etc/crontab
40 * * * * root /usr/local/share/sqwebmail/cleancache.pl
Sqwebmail benutzt den Authentisierungsmechanismus von vpopmail. Um dies zu erreichen muss ein bestimmtest Programm laufen, das ?ieses Kommando ( 8. ) angestossen wird:
6\. cd /usr/local/share/sqwebmail/
7\. cp authdaemonrc.dist authdaemonrc
8\. /usr/local/libexec/sqwebmail/authlib/authdaemond start
Diese Zeile wird sp?r mit in das Startup-Script eingebunden.
Installation von qmailadmin
Mit qmailadmin ist es sehr einfach, die User-Accounts ?ine Weboberfl?e zu verwalten.
1. cd /usr/ports/mail/qmailadmin
2. make install
3. make clean
Installation von Install ucspi-tcp
Qmail im Griff mit ucspi-tcp
1. cd /usr/ports/sysutils/daemontools
2. make install eingeben
3. make clean eingeben
4. LogDir’s erstellen:
mkdir -p /var/log/qmail/qmail-smtpd
mkdir -p /var/log/qmail/qmail-pop3d
mkdir -p /var/log/qmail/qmail-send
5. Permissions richtig setzten:
chmod -R 755 /var/log/qmail
chown -R qmaill:wheel /var/log/qmail
Supervise/Svscan Startup
1\. mkdir /service
2\. chmod 755 /service
3\. mkdir /var/qmail/supervise
4\. chmod 755 /var/qmail/supervise
5. mkdir /var/qmail/supervise/qmail-smtpd
6. mkdir /var/qmail/supervise/qmail-smtpd/log
7. chmod +t /var/qmail/supervise/qmail-smtpd
8. mkdir /var/qmail/supervise/qmail-send
9. mkdir /var/qmail/supervise/qmail-send/log
10. chmod +t /var/qmail/supervise/qmail-send
11. mkdir /var/qmail/supervise/qmail-pop3d
12. mkdir /var/qmail/supervise/qmail-pop3d/log
13. chmod +t /var/qmail/supervise/qmail-pop3d
14. ln -s /var/qmail/supervise/* /service/
Control Files
Qmail Control-File:
1. cd /var/qmail
2. vi rc
env env - PATH=”/var/qmail/bin:/usr/local/bin” \
qmail-start ./Maildir/
Control & log POP3D:
1. cd /var/qmail/supervise/qmail-pop3d/
2. vi run
#!/bin/sh
exec /usr/local/bin/tcpserver -H -R -v -c100 0 110 /var/qmail/bin/qmail-popup host.domain.de /usr/local/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1
3. chmod 755 /var/qmail/supervise/qmail-pop3d/run
4. cd /var/qmail/supervise/qmail-pop3d/log
5. vi run
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s100000 n20 /var/log/qmail/qmail-pop3d 2>&1
6. chmod 755 /var/qmail/supervise/qmail-pop3d/log
7. chmod 755 /var/qmail/supervise/qmail-pop3d/log/run
Control & log the receiving of mail:
1. cd /var/qmail/supervise/qmail-smtpd
2. vi run
#!/bin/sh
exec /usr/local/bin/tcpserver -p -R -x /etc/tcp.smtp.cdb -u92 -g91 -v -c100 0 smtp rblsmtpd /var/qmail/bin/qmail-smtpd 2>&1
4. chmod 755 /var/qmail/supervise/qmail-smtpd/run
5. cd /var/qmail/supervise/qmail-smtpd/log/
6. vi run
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s100000 n20 /var/log/qmail/qmail-smtpd 2>&1
7. chmod 755 /var/log/qmail/qmail-smtpd/log
8. chmod 755 /var/log/qmail/qmail-smtpd/log/run
Control & log the sending of mail:
1. cd /var/qmail/supervise/qmail-send/
2. vi run
#!/bin/sh
exec /var/qmail/rc
3. chmod 755 /var/qmail/supervise/qmail-send/run
4. cd /var/qmail/supervise/qmail-send/log
5. vi run
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s100000 n20 /var/log/qmail/qmail-send 2>&1
6. chmod R 755 /var/log/qmail/qmail-send/log
7. chmod R 755 /var/log/qmail/qmail-send/log/run
Qmail System Startup Script
1\. # cd /usr/local/etc/rc.d
2\. # vi qmail.sh
#!/bin/sh
case “$1” in
start)
echo -n “Starting qmail: svscan”
if cd /var/qmail/supervise; then
env - PATH=”/var/qmail/bin:/usr/local/bin:/usr/bin:/bin” svscan &
echo $! > /var/run/svscan.pid
fi
echo “.”
;;
stop)
echo -n “Stopping qmail: svscan”
kill cat /var/run/svscan.pid
echo -n “ qmail”
svc -dx /var/qmail/supervise/
echo -n “ logging”
svc -dx /var/qmail/supervise//log
echo “.”
;;
stat)
cd /var/qmail/supervise
svstat /log
;;
doqueue|alrm)
echo “Sending ALRM signal to qmail-send.”
svc -a /var/qmail/supervise/qmail-send
;;
queue)
qmail-qstat
qmail-qread
;;
reload|hup)
echo “Sending HUP signal to qmail-send.”
svc -h /var/qmail/supervise/qmail-send
echo “Sending HUP signal to qmail-pop3d.”
svc -h /var/qmail/supervise/qmail-pop3d
;;
pause)
echo “Pausing qmail-send”
svc -p /var/qmail/supervise/qmail-send
echo “Pausing qmail-smtpd”
svc -p /var/qmail/supervise/qmail-smtpd
echo “Pausing qmail-pop3d”
svc -p /var/qmail/supervise/qmail-pop3d
;;
cont)
echo “Continuing qmail-send”
svc -c /var/qmail/supervise/qmail-send
echo “Continuing qmail-smtpd”
svc -c /var/qmail/supervise/qmail-smtpd
echo “Continuing qmail-pop3d”
svc -c /var/qmail/supervise/qmail-pop3d
;;
restart)
echo “Restarting qmail:”
echo “ Stopping qmail-smtpd.”
svc -d /var/qmail/supervise/qmail-smtpd
echo “ Sending qmail-send SIGTERM and restarting.”
svc -t /var/qmail/supervise/qmail-send
echo “ Restarting qmail-smtpd.”
svc -u /var/qmail/supervise/qmail-smtpd
echo “ Sending qmail-pop3d SIGTERM and restarting.”
svc -t /var/qmail/supervise/qmail-pop3d
;;
cdb)
tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
chmod 644 /etc/tcp.smtp
echo “Reloaded /etc/tcp.smtp.”
;;
)
echo “Usage: $0 {start|stop|restart|doqueue|reload|stat|pause|cont|cdb|queue}”
exit 1
esac
exit 0
Relay Permissions
1\. cd /etc
2\. vi /etc/tcp.smtp
127.0.0.1:allow,RELAYCLIENT=””
198.168.1.:allow,RELAYCLIENT=””
200.200.200.:allow,RELAYCLIENT=””
:allow
3. /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
4. chmod 644 /etc/tcp.smtp.cdb
Sqwebmail Auth Start Script
1. cd /usr/local/etc/rc.d
2. vi sqwebauth.sh
#!/bin/sh
#—————————————————————————
#
AUTH-SQWEBMAIL /usr/local/etc/rc.d/sqwebauth.sh
———————————–
#
last edit-date: [Sun Apr 21 12:05:27 2002]
#
#—————————————————————————
case “$1” in
start)
echo -n “starting sqwebmail auth “
/usr/local/libexec/sqwebmail/authlib/authdaemond start
;;
stop)
echo -n “stopping sqwebmail auth “
/usr/local/libexec/sqwebmail/authlib/authdaemond stop
;;
*)
echo “Usage: basename $0
{start|stop}” >&2
exit 64
;;
esac
Installieren von vqregister
Vqregister ist ein Programm um sich einen E-Mail - Account einzurichten. D.h. ein User im Internet kann sich einen E-Mail - Account erstellen, bekommt ein zuf?ig generiertes Password an seinen bereits vorhandenen E-Mail - Account ( z.B. bei GMX ) zugesand und kann sich dann ?ie sqwebmail Oberfl?e bei seinem neuen Account anmelden.
1. Sourcen von vqregister bei Inter7.com holen.
2. vqregister compilieren:
# tar xvzf vqregister-xxx.tar.gz
# cd vqregister-xxx
# vi Makefile
Das Makefile mu?an einigen Stellen auf die FreeBSD - Installation von mysql, vpopmail und sqwebmail angepasst werden.
Hier die Stellen, die ge?ert werden m?
VDIR = /usr/local/vpopmail
LIBS = -L$(VDIR)/lib -lvpopmail -lcrypt -L/usr/local/lib/mysql -lmysqlclient
INSTALL_DIR = /usr/local/www/cgi-bin/vqregister
# make
# make install
Konfiguration von vqregister
Nachdem vqregister nun installiert ist, sollten in /usr/local/www/cgi-bin/vqresister die Dateien vqregister.cgi, vqregister.conf und vqregister.email liegen. F? weitere Konfiguration ist die Datei vqregister.conf wichtig. diese k?e so aussehen:
#
vQregister configuration file
ADMINEMAIL
#
AdminEmail mh@myfreebsd.org
REGISTERUSER
#
Syntax: RegisterUser
#
RegisterUser emaildomain
SUBJECT
#
Syntax: Subject
#
Subject Your new email account at emaildomain
VERIFY
#
Syntax: Verify
Default: off
#
Verify on
ALLOWPASSWORD
#
Syntax: AllowPassword
Default: off
#
AllowPassword off
ALLOWDOMAIN
#
Syntax: AllowDomain
#
AllowDomain emaildomain.de
REDIRECT
#
Syntax: Redirect
#
Redirect http://www.emaildomain.de/cgi-bin/sqwebmail/sqwebmail
PASSWORD
#
Syntax: Password
#
PASSWORDLEN
#
Syntax: PasswordLen
Default: 8
#
PasswordLen 8
BADHOSTS
#
#BadHosts badhosts
DB_Host
#
Syntax: DB_Host
#
DB_Host localhost
DB_Name
#
Syntax: DB_Name
#
DB_Name vpopmail
DB_USER
#
Syntax: DB_User
#
DB_User vpop
DB_PASSWORD
#
Syntax: DB_Password
#
DB_Password vpop2000
DB_FIELDS
#
Syntax: DB_Fields
#
DB_Fields user_info user,dom,pass,cemail,fname
ADVERTISE
#
Syntax: Advertise
#
Advertise off
Jetzt muss nur noch die Datei vqregister.email angepasst werden uns schon kann’s losgehen. Wie es dann aussehen kann, zeigt dieses Beispiel:
–> http://www.huehnerhund.de/cgi-bin/vqregister/vqregister.cgi
Portupgrade
Um die installierten Ports einfach und schnell upzudaten, benutze ich das Tool portupgrade. Zu diesem Thema gibt es bereits einige n?he Artikel:
1. Cleaning Up Ports
2. Got ports? Here is THE way to upgrade them!
Update mysql-server + mysql-client
Um ein Update von mysql-server + mysql-client mit Hilfe von portupgrade durchzuf? sind folgende Schritte notwendig:
1. /usr/local/etc/rc.d/mysql-server.sh stop
2. portupgrade mysql-client
3. portupgrade -riv -m ‘SKIP_INSTALL_DB=yes’ mysql-server
4. /usr/local/etc/rc.d/mysql-server.sh start
Update vpopmail
Um ein Update von vpopmail mit Hilfe von portupgrade durchzuf? ist folgender Schritte notwendig:
1. portupgrade -riv -m ‘ WITH_MYSQL=yes WITH_MYSQL_SERVER=localhost WITH_MYSQL_USER=vpop WITH_MYSQL_PASSWD=vpop2000 WITH_MYSQL_DB=vpopmail’ vpopmail
Comments