hky

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

Proudly published with Hexo