|
Установка Vpopmail с поддержкой mysql и т.д. # mkdir ~vpopmail/etc # chown vpopmail:vchkpw ~vpopmail/etc Настроим mysql-соединение для vpopmail: # echo "localhost|0|vpopmailuser|vpopmailpassword|vpopmail" > ~vpopmail/etc/vpopmail.mysql # chown vpopmail:vchkpw ~vpopmail/etc/vpopmail.mysql # chmod 640 ~vpopmail/etc/vpopmail.mysql # mysql -u root -p
Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 5.0.67 FreeBSD port: mysql-server-5.0.67 Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> CREATE DATABASE vpopmail; Query OK, 1 row affected (0.04 sec) mysql> GRANT select,insert,update,delete,create,drop ON vpopmail.* TO vpopmailuser@localhost IDENTIFIED BY 'vpopmailpassword';
mysql> Query OK, 0 rows affected (0.02 sec)
mysql> quit Bye
Теперь протестируем соединение к БД с правами пользователя, которого мы только что создали:
# mysql -u vpopmailuser -p
Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.0.67 FreeBSD port: mysql-server-5.0.67_1 Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> USE vpopmail Database changed
mysql> quit Bye
# cd ~vpopmail # fetch http://freebsdrocks.ru/files/skel.tgz # tar zxvf skel.tgz
x skel x skel/.qmail x skel/Maildir x skel/mailfilter x skel/Maildir/new x skel/Maildir/courierimapsubscribed x skel/Maildir/.Spam x skel/Maildir/cur x skel/Maildir/tmp x skel/Maildir/.Spam/new x skel/Maildir/.Spam/cur x skel/Maildir/.Spam/tmp # chown -R vpopmail:vchkpw skel/ # chmod -R 700 skel/ # chmod 0600 skel/.qmail skel/mailfilter # rm skel.tgz
# cd /usr/local # rm -dfr vpopmail # ln -s ~vpopmail /usr/local/vpopmail
# cd /var/qmail/supervise # mkdir -m 1755 qmail-updater # mkdir -m 755 qmail-updater/log # cd qmail-updater/log # fetch http://qmail.jms1.net/scripts/service-any-log-run # mv service-any-log-run run # chmod 755 run # cd .. # fetch http://qmail.jms1.net/scripts/pipe-watcher # fetch http://qmail.jms1.net/scripts/update-qmail # fetch http://qmail.jms1.net/scripts/service-qmail-updater-run # mv service-qmail-updater-run run # chmod 755 pipe-watcher update-qmail run
# ln -s /var/qmail/supervise/qmail-updater /service/
# svstat /service/qmail-updater /service/qmail-updater/log /service/qmail-updater: up (pid 29257) 10 seconds /service/qmail-updater/log: up (pid 29258) 10 second
# tail -f /service/qmail-updater/log/main/current в другой консоли: # echo testing > /tmp/update-qmail Получим примерно такой вывод:@40000000494a92242f70dfe4 starting @40000000494a922433f1bcb4 waiting for input on /tmp/update-qmail @40000000494a934b294b386c gathering input @40000000494a934b29ac8e64 /----- @40000000494a934b29ac9634 testing @40000000494a934b29ac9e04 \----- @40000000494a934b29aca5d4 running [/service/qmail-updater/update-qmail] (output follows) @40000000494a934b29acada4 /----- @40000000494a934b31440d8c Starting @40000000494a934b31441174 Checking users/assign and users/cdb @40000000494a934b31441944 Checking morercpthosts and morercpthosts.cdb @40000000494a934b31442114 Checking virtualdomains @40000000494a934b31442ccc Checking locals @40000000494a934b3144349c locals has changed @40000000494a934b31443c6c Sending HUP to qmail-send @40000000494a934b35a2d7b4 No matching processes were found @40000000494a934b35bd87bc Checking validrcptto.cdb @40000000494a934b35bd8f8c Checking auth.txt and auth.cdb @40000000494a934b35bd975c Done @40000000494a934b35e11934 \----- rv=0 @40000000494a934b35e6262c sleeping 5 seconds... @40000000494a935035e89efc waiting for input on /tmp/update-qmaill # cd /usr/ports/mail/vpopmail/files # rm patch-vlist.c patch-vlistlib.c patch-vpalias.c patch-vpopmail.c patch-vutil.c patch-config.h.in patch-configure patch-vdelivermail.c patch-vmysql.c patch-vpgsql.c # cd /usr/ports/mail/vpopmail # make extract # cd work/vpopmail-5.4.26 # fetch http://qmail.jms1.net/vpopmail/vpopmail-5.4.26-skel4.patch # patch < vpopmail-5.4.26-skel4.patch Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |diff -ruN vpopmail-5.4.26-factory/Makefile.am vpopmail-5.4.26-patched/Makefile.am |--- vpopmail-5.4.26-factory/Makefile.am 2007-11-03 21:05:20.000000000 -0400 |+++ vpopmail-5.4.26-patched/Makefile.am 2008-02-12 17:35:33.000000000 -0500 -------------------------- Patching file Makefile.am using Plan A... Hunk #1 succeeded at 7. Hmm... The next patch looks like a unified diff to me... The text leading up to this was: -------------------------- |diff -ruN vpopmail-5.4.26-factory/Makefile.in vpopmail-5.4.26-patched/Makefile.in |--- vpopmail-5.4.26-factory/Makefile.in 2007-11-15 04:41:22.000000000 -0500 |+++ vpopmail-5.4.26-patched/Makefile.in 2008-02-12 17:35:33.000000000 -0500 -------------------------- Patching file Makefile.in using Plan A... Hunk #1 succeeded at 71. Hunk #2 succeeded at 310. Hunk #3 succeeded at 610. Hmm... The next patch looks like a unified diff to me... The text leading up to this was: -------------------------- |diff -ruN vpopmail-5.4.26-factory/README.skel vpopmail-5.4.26-patched/README.skel |--- vpopmail-5.4.26-factory/README.skel 1969-12-31 19:00:00.000000000 -0500 |+++ vpopmail-5.4.26-patched/README.skel 2008-02-12 17:35:33.000000000 -0500 -------------------------- (Creating file README.skel...) Patching file README.skel using Plan A... Hunk #1 succeeded at 1. Hmm... The next patch looks like a unified diff to me... The text leading up to this was: -------------------------- |diff -ruN vpopmail-5.4.26-factory/config.h.in vpopmail-5.4.26-patched/config.h.in |--- vpopmail-5.4.26-factory/config.h.in 2007-11-15 04:42:32.000000000 -0500 |+++ vpopmail-5.4.26-patched/config.h.in 2008-02-12 17:35:33.000000000 -0500 -------------------------- Patching file config.h.in using Plan A... Hunk #1 succeeded at 214. Hmm... The next patch looks like a unified diff to me... The text leading up to this was: -------------------------- |diff -ruN vpopmail-5.4.26-factory/configure vpopmail-5.4.26-patched/configure |--- vpopmail-5.4.26-factory/configure 2007-11-15 04:41:27.000000000 -0500 |+++ vpopmail-5.4.26-patched/configure 2008-02-12 17:35:33.000000000 -0500 -------------------------- Patching file configure using Plan A... Hunk #1 succeeded at 1324. Hunk #2 succeeded at 7069. Hunk #3 succeeded at 9829. Hmm... The next patch looks like a unified diff to me... The text leading up to this was: -------------------------- |diff -ruN vpopmail-5.4.26-factory/configure.in vpopmail-5.4.26-patched/configure.in |--- vpopmail-5.4.26-factory/configure.in 2007-10-19 03:32:26.000000000 -0400 |+++ vpopmail-5.4.26-patched/configure.in 2008-02-12 17:35:33.000000000 -0500 -------------------------- Patching file configure.in using Plan A... Hunk #1 succeeded at 851. Hunk #2 succeeded at 1685. Hmm... The next patch looks like a unified diff to me... The text leading up to this was: -------------------------- |diff -ruN vpopmail-5.4.26-factory/copydir.c vpopmail-5.4.26-patched/copydir.c |--- vpopmail-5.4.26-factory/copydir.c 1969-12-31 19:00:00.000000000 -0500 |+++ vpopmail-5.4.26-patched/copydir.c 2008-02-12 17:35:33.000000000 -0500 -------------------------- (Creating file copydir.c...) Patching file copydir.c using Plan A... Hunk #1 succeeded at 1. Hmm... The next patch looks like a unified diff to me... The text leading up to this was: -------------------------- |diff -ruN vpopmail-5.4.26-factory/copydir.h vpopmail-5.4.26-patched/copydir.h |--- vpopmail-5.4.26-factory/copydir.h 1969-12-31 19:00:00.000000000 -0500 |+++ vpopmail-5.4.26-patched/copydir.h 2008-02-12 17:35:33.000000000 -0500 -------------------------- (Creating file copydir.h...) Patching file copydir.h using Plan A... Hunk #1 succeeded at 1. Hmm... The next patch looks like a unified diff to me... The text leading up to this was: -------------------------- |diff -ruN vpopmail-5.4.26-factory/vpopmail.c vpopmail-5.4.26-patched/vpopmail.c |--- vpopmail-5.4.26-factory/vpopmail.c 2007-10-31 03:55:39.000000000 -0400 |+++ vpopmail-5.4.26-patched/vpopmail.c 2008-02-12 17:36:52.000000000 -0500 -------------------------- Patching file vpopmail.c using Plan A... Hunk #1 succeeded at 59. Hunk #2 succeeded at 1349. Hunk #3 succeeded at 2398. Hunk #4 succeeded at 3122. done Зададим аргументы сборки:# cd /usr/ports/mail/vpopmail # make CONFIGURE_ARGS="--enable-logging=p --enable-skeleton --enable-onchange-script --enable-auth-module=mysql --disable-passwd --enable-clear-passwd --disable-many-domains --enable-auth-loging --enable-sql-logging --enable-valias --disable-mysql-limits" # make install clean
# cd ~vpopmail/etc # fetch http://qmail.jms1.net/vpopmail/onchange # chown vpopmail:vchkpw ~vpopmail/etc/onchange # chmod 750 ~vpopmail/etc/onchange # chmod +x ~vpopmail/etc/onchange
# tail -f /service/qmail-updater/log/main/current в другой консоли : Создадим домен: # ./vadddomain mydomain.com Please enter password for postmaster: enter password again: Должен появится лог примерно следующего содержания: @400000004947b8af046b4f3c Checking locals @400000004947b8af046b5324 locals has changed @400000004947b8af046b5af4 Sending HUP to qmail-send @400000004947b8af097cc3ac No matching processes were found @400000004947b8af09cf6404 Checking validrcptto.cdb @400000004947b8af09cf6bd4 Checking auth.txt and auth.cdb @400000004947b8af09cf73a4 Done @400000004947b8af0a4ae14c \----- rv=0 @400000004947b8af0a5fc8dc sleeping 4 seconds... @400000004947b8b30aa1755c waiting for input on /tmp/update-qmail @400000004947d48408e9f1bc gathering input @400000004947d484095a6e9c /----- @400000004947d484095a766c onchange add_domain mydomain.com @400000004947d484095a7e3c \----- @400000004947d484095a860c running [/service/qmail-updater/update-qmail] (output follows) @400000004947d484095a95ac /----- @400000004947d4840e48845c Starting @400000004947d4840e488c2c Checking users/assign and users/cdb @400000004947d4840e489014 Checking morercpthosts and morercpthosts.cdb @400000004947d4840e489bcc Checking virtualdomains @400000004947d4840e48a39c virtualdomains has changed @400000004947d4840e48ab6c Checking locals @400000004947d4840e48b33c locals has changed @400000004947d4840e48bb0c Sending HUP to qmail-send @400000004947d48411646a5c No matching processes were found @400000004947d484125c62d4 Checking validrcptto.cdb @400000004947d484125c7274 Checking auth.txt and auth.cdb @400000004947d484125c7a44 Done @400000004947d48412e5d26c \----- rv=0 @400000004947d48412fc11bc sleeping 5 seconds... @400000004947d48913500204 waiting for input on /tmp/update-qmail
Создадим почтовый ящик: Должен появится лог примерно следующего содержания:@400000004947d4840e48ab6c Checking locals @400000004947d4840e48b33c locals has changed @400000004947d4840e48bb0c Sending HUP to qmail-send @400000004947d48411646a5c No matching processes were found @400000004947d484125c62d4 Checking validrcptto.cdb @400000004947d484125c7274 Checking auth.txt and auth.cdb @400000004947d484125c7a44 Done @400000004947d48412e5d26c \----- rv=0 @400000004947d48412fc11bc sleeping 5 seconds... @400000004947d48913500204 waiting for input on /tmp/update-qmail @400000004947d51200c80ce4 gathering input @400000004947d51201121604 /----- @400000004947d51201121dd4 onchange add_user
Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
@400000004947d51201122d74 \----- @400000004947d51201123544 running [/service/qmail-updater/update-qmail] (output follows) @400000004947d51201123d14 /----- @400000004947d51205842d94 Starting @400000004947d51205843564 Checking users/assign and users/cdb @400000004947d51205843d34 Checking morercpthosts and morercpthosts.cdb @400000004947d51205844504 Checking virtualdomains @400000004947d51205844cd4 Checking locals @400000004947d512058454a4 Checking validrcptto.cdb @400000004947d51205845c74 Checking auth.txt and auth.cdb @400000004947d51205846444 Done @400000004947d51205f3fe94 \----- rv=0 @400000004947d512060a5554 sleeping 5 seconds... @400000004947d517066fe93c waiting for input on /tmp/update-qmail @400000004947d517066ff10c gathering input @400000004947d51706cfc064 /----- @400000004947d51706cfc834 onchange mod_user
Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
@400000004947d51706cfd004 \----- @400000004947d51706cfd7d4 running [/service/qmail-updater/update-qmail] (output follows) @400000004947d51706cfdfa4 /----- @400000004947d5170bdefe6c Starting @400000004947d5170bdf063c Checking users/assign and users/cdb @400000004947d5170be831e4 Checking morercpthosts and morercpthosts.cdb @400000004947d5170be839b4 Checking virtualdomains @400000004947d5170be84184 Checking locals @400000004947d5170be84954 Checking validrcptto.cdb @400000004947d5170be85124 Checking auth.txt and auth.cdb @400000004947d5170be858f4 Done @400000004947d5170c9411e4 \----- rv=0 @400000004947d5170cb1040c sleeping 5 seconds... @400000004947d51c0d0d4d0c waiting for input on /tmp/update-qmail
# cd ~vpopmail/bin # chmod 6711 vchkpw # chown vpopmail:vchkpw vchkpw
|