ubuntu-qmail安装配置详解(step by step)(2)

 编译并安装

deepfuture@ubuntu-sdp:/usr/tmp/vpopmail-5.4.30$ make
make  all-recursive
make[1]: Entering directory `/usr/tmp/vpopmail-5.4.30'
Making all in cdb
make[2]: Entering directory `/usr/tmp/vpopmail-5.4.30/cdb'
( cat warn-auto.sh; \
        echo CC=\'`head -1 conf-cc`\'; \
        echo LD=\'`head -1 conf-ld`\'; \
        cat find-systype.sh; \
        ) | sh > systype
/bin/sh: cannot create systype: Permission denied
make[2]: *** [systype] Error 2
make[2]: Leaving directory `/usr/tmp/vpopmail-5.4.30/cdb'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/tmp/vpopmail-5.4.30'
make: *** [all] Error 2
deepfuture@ubuntu-sdp:/usr/tmp/vpopmail-5.4.30$ sudo make
make  all-recursive
make[1]: Entering directory `/usr/tmp/vpopmail-5.4.30'
Making all in cdb
make[2]: Entering directory `/usr/tmp/vpopmail-5.4.30/cdb'
( cat warn-auto.sh; \
        echo CC=\'`head -1 conf-cc`\'; \
        echo LD=\'`head -1 conf-ld`\'; \
        cat find-systype.sh; \
        ) | sh > systype
( cat warn-auto.sh; \
        echo 'main="$1"; shift'; \
        echo 'rm -f "$main"'; \
        echo 'ar cr "$main" ${1+"$@"}'; \
        case "`cat systype`" in \
        sunos-5.*) ;; \
        unix_sv*) ;; \
        irix64-*) ;; \
        irix-*) ;; \
        dgux-*) ;; \
        hp-ux-*) ;; \
        sco*) ;; \
        *) echo 'ranlib "$main"' ;; \
        esac \
        ) > makelib
chmod 755 makelib
( cat warn-auto.sh; \
        echo exec "`head -1 conf-cc`" -fPIC '-c ${1+"$@"}' \
        ) > compile
chmod 755 compile
( cat warn-auto.sh; \
        echo 'main="$1"; shift'; \
        echo exec "`head -1 conf-ld`" \
        '-o "$main" "$main".o ${1+"$@"}' \
        ) > load
chmod 755 load
( ( ./compile tryulong32.c && ./load tryulong32 && \
        ./tryulong32 ) >/dev/null 2>&1 \
        && cat uint32.h2 || cat uint32.h1 ) > uint32.h
rm -f tryulong32.o tryulong32
./compile cdb_hash.c
./compile cdb_unpack.c
./compile cdb_seek.c
./makelib cdb.a cdb_hash.o cdb_unpack.o cdb_seek.o
./compile cdbmake_pack.c
./compile cdbmake_hash.c
./compile cdbmake_add.c
./makelib cdbmake.a cdbmake_pack.o cdbmake_hash.o \
        cdbmake_add.o
make[2]: Leaving directory `/usr/tmp/vpopmail-5.4.30/cdb'
make[2]: Entering directory `/usr/tmp/vpopmail-5.4.30'
gcc -I. -I/usr/include/mysql  -I. -I. -I.    -fPIC  -c -o libvpopmail_a-vpopmail.o `test -f 'vpopmail.c' || echo './'`vpopmail.c
gcc -I. -I/usr/include/mysql  -I. -I. -I.    -fPIC  -c -o libvpopmail_a-md5.o `test -f 'md5.c' || echo './'`md5.c
gcc -I. -I/usr/include/mysql  -I. -I. -I.    -fPIC  -c -o libvpopmail_a-bigdir.o `test -f 'bigdir.c' || echo './'`bigdir.c
gcc -I. -I/usr/include/mysql  -I. -I. -I.    -fPIC  -c -o libvpopmail_a-vauth.o `test -f 'vauth.c' || echo './'`vauth.c
gcc -I. -I/usr/include/mysql  -I. -I. -I.    -fPIC  -c -o libvpopmail_a-file_lock.o `test -f 'file_lock.c' || echo './'`file_lock.c
gcc -I. -I/usr/include/mysql  -I. -I. -I.    -fPIC  -c -o libvpopmail_a-vpalias.o `test -f 'vpalias.c' || echo './'`vpalias.c
gcc -I. -I/usr/include/mysql  -I. -I. -I.    -fPIC  -c -o libvpopmail_a-seek.o `test -f 'seek.c' || echo './'`seek.c
gcc -I. -I/usr/include/mysql  -I. -I. -I.    -fPIC  -c -o libvpopmail_a-vlimits.o `test -f 'vlimits.c' || echo './'`vlimits.c
gcc -I. -I/usr/include/mysql  -I. -I. -I.    -fPIC  -c -o libvpopmail_a-maildirquota.o `test -f 'maildirquota.c' || echo './'`maildirquota.c
gcc -I. -I/usr/include/mysql  -I. -I. -I.    -fPIC  -c -o libvpopmail_a-vutil.o `test -f 'vutil.c' || echo './'`vutil.c
gcc -I. -I/usr/include/mysql  -I. -I. -I.    -fPIC  -c -o libvpopmail_a-vlistlib.o `test -f 'vlistlib.c' || echo './'`vlistlib.c
gcc -I. -I/usr/include/mysql  -I. -I. -I.    -fPIC  -c -o libvpopmail_a-backfill.o `test -f 'backfill.c' || echo './'`backfill.c
gcc -I. -I/usr/include/mysql  -I. -I. -I.    -fPIC  -c -o libvpopmail_a-client.o `test -f 'client.c' || echo './'`client.c
gcc -I. -I/usr/include/mysql  -I. -I. -I.    -fPIC  -c -o libvpopmail_a-conf.o `test -f 'conf.c' || echo './'`conf.c
gcc -I. -I/usr/include/mysql  -I. -I. -I.    -fPIC  -c -o libvpopmail_a-ippp.o `test -f 'ippp.c' || echo './'`ippp.c
rm -f libvpopmail.a
ar cru libvpopmail.a libvpopmail_a-vpopmail.o libvpopmail_a-md5.o libvpopmail_a-bigdir.o libvpopmail_a-vauth.o libvpopmail_a-file_lock.o libvpopmail_a-vpalias.o libvpopmail_a-seek.o libvpopmail_a-vlimits.o libvpopmail_a-maildirquota.o libvpopmail_a-vutil.o libvpopmail_a-vlistlib.o libvpopmail_a-backfill.o libvpopmail_a-client.o libvpopmail_a-conf.o libvpopmail_a-ippp.o cdb/*.o
ranlib libvpopmail.a
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vchkpw.c
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c md5.c
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c hmac_md5.c
gcc     -o vchkpw  vchkpw.o md5.o hmac_md5.o libvpopmail.a -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vdelivermail.c
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c maildirquota.c
gcc     -o vdelivermail  vdelivermail.o maildirquota.o libvpopmail.a -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c clearopensmtp.c
gcc     -o clearopensmtp  clearopensmtp.o libvpopmail.a -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vadddomain.c
gcc     -o vadddomain  vadddomain.o libvpopmail.a -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vdeldomain.c
gcc     -o vdeldomain  vdeldomain.o libvpopmail.a -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vpasswd.c
gcc     -o vpasswd  vpasswd.o libvpopmail.a -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vadduser.c
gcc     -o vadduser  vadduser.o libvpopmail.a  -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vdeluser.c
gcc     -o vdeluser  vdeluser.o libvpopmail.a -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vaddaliasdomain.c
gcc     -o vaddaliasdomain  vaddaliasdomain.o libvpopmail.a -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vsetuserquota.c
gcc     -o vsetuserquota  vsetuserquota.o libvpopmail.a -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vpopbull.c
gcc     -o vpopbull  vpopbull.o libvpopmail.a -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vdeloldusers.c
gcc     -o vdeloldusers  vdeloldusers.o libvpopmail.a -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vmoduser.c
gcc     -o vmoduser  vmoduser.o libvpopmail.a  -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c valias.c
gcc     -o valias  valias.o libvpopmail.a  -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vuserinfo.c
gcc     -o vuserinfo  vuserinfo.o maildirquota.o libvpopmail.a -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vmkpasswd.c
gcc     -o vmkpasswd  vmkpasswd.o libvpopmail.a  -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vipmap.c
gcc     -o vipmap  vipmap.o libvpopmail.a  -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vdominfo.c
gcc     -o vdominfo  vdominfo.o libvpopmail.a -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vconvert.c
gcc     -o vconvert  vconvert.o libvpopmail.a  -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vkill.c
gcc     -o vkill  vkill.o libvpopmail.a -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vmoddomlimits.c
gcc     -o vmoddomlimits  vmoddomlimits.o libvpopmail.a  -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vchangepw.c
gcc     -o vchangepw  vchangepw.o libvpopmail.a -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c dotqmail2valias.c
gcc     -o dotqmail2valias  dotqmail2valias.o libvpopmail.a -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vpopmaild.c
gcc     -o vpopmaild  vpopmaild.o libvpopmail.a -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vlist.c
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vlistlib.c
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vutil.c
gcc     -o vlist  vlist.o vlistlib.o vutil.o libvpopmail.a -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c authvchkpw.c
gcc     -o authvchkpw  authvchkpw.o hmac_md5.o libvpopmail.a -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c vusagec.c
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c client.c
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c conf.c
gcc -I. -I/usr/include/mysql  -I. -I. -I.      -c ippp.c
gcc     -o vusagec  vusagec.o client.o conf.o ippp.o libvpopmail.a -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
make[2]: Leaving directory `/usr/tmp/vpopmail-5.4.30'
make[1]: Leaving directory `/usr/tmp/vpopmail-5.4.30'

deepfuture@ubuntu-sdp:/usr/tmp/vpopmail-5.4.30$ sudo make install
Making install in cdb
make[1]: Entering directory `/usr/tmp/vpopmail-5.4.30/cdb'
make[1]: Nothing to be done for `install'.
make[1]: Leaving directory `/usr/tmp/vpopmail-5.4.30/cdb'
make[1]: Entering directory `/usr/tmp/vpopmail-5.4.30'
make[2]: Entering directory `/usr/tmp/vpopmail-5.4.30'
for d in bin doc etc include lib ; do \
          if test ! -d /var/vpopmail/$d; then \
            /usr/bin/install -c -d -g vchkpw -m 0755 -o vpopmail \
              /var/vpopmail/$d ; \
          fi ; \
        done
/usr/bin/install -c -d -g vchkpw -m 0700 -o vpopmail \
          /var/vpopmail/domains
echo "-I/var/vpopmail/include" > \
         /var/vpopmail/etc/inc_deps
echo "-L/var/vpopmail/lib -lvpopmail -Xlinker -R -Xlinker /usr/lib/mysql -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt " > \
         /var/vpopmail/etc/lib_deps
if test ! -r ; then \
                /usr/bin/install -c -o vpopmail -m 0644 -g vchkpw \
                vusagec.conf ; \
        fi
if test ! -r /var/vpopmail/etc/vlimits.default; then \
          /usr/bin/install -c -o vpopmail -m 0644 -g vchkpw \
            vlimits.default /var/vpopmail/etc/vlimits.default; \
        fi
if test "1" = "1"; then \
          if test ! -r /var/vpopmail/etc/vpopmail.mysql; then \
            echo "# MYSQL CONNECTION SETTINGS FOR VPOPMAIL" >> /var/vpopmail/etc/vpopmail.mysql; \
            echo "#" >> /var/vpopmail/etc/vpopmail.mysql; \
            echo "# Line 1 defines the connection to use for database reads," >> /var/vpopmail/etc/vpopmail.mysql; \
            echo "# Line 2 defines the connection to use for database updates/writes." >> /var/vpopmail/etc/vpopmail.mysql; \
            echo "#" >> /var/vpopmail/etc/vpopmail.mysql; \
            echo "# If you omit line 2, then the same settings will be" >> /var/vpopmail/etc/vpopmail.mysql; \
            echo "# used for both read and write." >> /var/vpopmail/etc/vpopmail.mysql; \
            echo "#" >> /var/vpopmail/etc/vpopmail.mysql; \
            echo "# settings for each line:" >> /var/vpopmail/etc/vpopmail.mysql; \
            echo "# host|port|user|password|database" >> /var/vpopmail/etc/vpopmail.mysql; \
            echo "#" >> /var/vpopmail/etc/vpopmail.mysql; \
            echo "localhost|0|root|secret|vpopmail" >> /var/vpopmail/etc/vpopmail.mysql; \
            echo "#" >> /var/vpopmail/etc/vpopmail.mysql; \
            echo "# Note:" >> /var/vpopmail/etc/vpopmail.mysql; \
            echo "#   The value of host may be either a hostname or an IP address." >> /var/vpopmail/etc/vpopmail.mysql; \
            echo "#   If host is 'localhost', then sockets (Unix) or named pipes (Windows)" >> /var/vpopmail/etc/vpopmail.mysql; \
            echo "#   will be used instead of TCP/IP to connect to the server."   >> /var/vpopmail/etc/vpopmail.mysql; \
          fi ; \
          chown vpopmail  /var/vpopmail/etc/vpopmail.mysql ; \
          chgrp vchkpw /var/vpopmail/etc/vpopmail.mysql ; \
          chmod 0640        /var/vpopmail/etc/vpopmail.mysql ; \
        fi
/usr/bin/install -c -o root -m 0644 \
          libvpopmail.a /var/vpopmail/lib/libvpopmail.a
/usr/bin/install -c -o root -m 0444 \
          config.h /var/vpopmail/include/vpopmail_config.h
for include in vpopmail.h config.h vauth.h vlimits.h storage.h client.h conf.h ippp.h ; do \
            /usr/bin/install -c -o root -m 0444 $include \
                /var/vpopmail/include/ ; \
        done
/usr/bin/install -c -d /var/vpopmail/doc/man_html
/usr/bin/install -c -d /var/vpopmail/doc/doc_html
/usr/bin/install -c -o vpopmail -m 0444 -g vchkpw \
          doc/man_html/*.* /var/vpopmail/doc/man_html/
/usr/bin/install -c -o vpopmail -m 0444 -g vchkpw \
          doc/doc_html/*.* /var/vpopmail/doc/doc_html/
test -z "/var/vpopmail/bin" || mkdir -p -- "/var/vpopmail/bin"
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'vchkpw' '/var/vpopmail/bin/vchkpw'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'vdelivermail' '/var/vpopmail/bin/vdelivermail'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'clearopensmtp' '/var/vpopmail/bin/clearopensmtp'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'vadddomain' '/var/vpopmail/bin/vadddomain'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'vdeldomain' '/var/vpopmail/bin/vdeldomain'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'vpasswd' '/var/vpopmail/bin/vpasswd'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'vadduser' '/var/vpopmail/bin/vadduser'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'vdeluser' '/var/vpopmail/bin/vdeluser'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'vaddaliasdomain' '/var/vpopmail/bin/vaddaliasdomain'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'vsetuserquota' '/var/vpopmail/bin/vsetuserquota'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'vpopbull' '/var/vpopmail/bin/vpopbull'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'vdeloldusers' '/var/vpopmail/bin/vdeloldusers'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'vmoduser' '/var/vpopmail/bin/vmoduser'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'valias' '/var/vpopmail/bin/valias'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'vuserinfo' '/var/vpopmail/bin/vuserinfo'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'vmkpasswd' '/var/vpopmail/bin/vmkpasswd'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'vipmap' '/var/vpopmail/bin/vipmap'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'vdominfo' '/var/vpopmail/bin/vdominfo'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'vconvert' '/var/vpopmail/bin/vconvert'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'vkill' '/var/vpopmail/bin/vkill'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'vmoddomlimits' '/var/vpopmail/bin/vmoddomlimits'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'vchangepw' '/var/vpopmail/bin/vchangepw'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'dotqmail2valias' '/var/vpopmail/bin/dotqmail2valias'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'vpopmaild' '/var/vpopmail/bin/vpopmaild'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'vlist' '/var/vpopmail/bin/vlist'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'authvchkpw' '/var/vpopmail/bin/authvchkpw'
  /usr/bin/install -c -o vpopmail -m 711 -g vchkpw  'vusagec' '/var/vpopmail/bin/vusagec'
make[2]: Leaving directory `/usr/tmp/vpopmail-5.4.30'
make[1]: Leaving directory `/usr/tmp/vpopmail-5.4.30'

****************************************************

     If you plan to use the vpopmail usage daemon
     run the following commands:

   cd vusaged && ./configure && make

     Then follow the INSTALL file to install

****************************************************


deepfuture@ubuntu-sdp:/usr/tmp/vpopmail-5.4.30$ cd /var/vpopmail
deepfuture@ubuntu-sdp:/var/vpopmail$ ls
bin  doc  domains  etc  include  lib
deepfuture@ubuntu-sdp:/var/vpopmail$

 

 

十一、安装tcpserver

 

deepfuture@ubuntu-sdp:/usr/tmp$ sudo wget http://djbware.csi.hu/patches/ucspi-tcp-0.88.a_record.patch
--2010-02-11 12:27:23--  http://djbware.csi.hu/patches/ucspi-tcp-0.88.a_record.patch
Resolving djbware.csi.hu... 141.225.8.55
Connecting to djbware.csi.hu|141.225.8.55|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1828 (1.8K) [text/plain]
Saving to: `ucspi-tcp-0.88.a_record.patch'

100%[===================================================================================>] 1,828       --.-K/s   in 0.006s 

2010-02-11 12:27:24 (278 KB/s) - `ucspi-tcp-0.88.a_record.patch' saved [1828/1828]

deepfuture@ubuntu-sdp:/usr/tmp$ sudo wget http://djbware.csi.hu/patches/ucspi-tcp-0.88.errno.patch
--2010-02-11 12:27:32--  http://djbware.csi.hu/patches/ucspi-tcp-0.88.errno.patch
Resolving djbware.csi.hu... 141.225.8.55
Connecting to djbware.csi.hu|141.225.8.55|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 330 [text/plain]
Saving to: `ucspi-tcp-0.88.errno.patch'

100%[===================================================================================>] 330         --.-K/s   in 0s     

2010-02-11 12:27:33 (14.0 MB/s) - `ucspi-tcp-0.88.errno.patch' saved [330/330]

deepfuture@ubuntu-sdp:/usr/tmp$ sudo wget http://djbware.csi.hu/patches/ucspi-tcp-0.88.nobase.patch
--2010-02-11 12:27:47--  http://djbware.csi.hu/patches/ucspi-tcp-0.88.nobase.patch
Resolving djbware.csi.hu... 141.225.8.55
Connecting to djbware.csi.hu|141.225.8.55|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 714 [text/plain]
Saving to: `ucspi-tcp-0.88.nobase.patch'

100%[===================================================================================>] 714         --.-K/s   in 0s     

2010-02-11 12:27:48 (30.1 MB/s) - `ucspi-tcp-0.88.nobase.patch' saved [714/714]

 deepfuture@ubuntu-sdp:/usr/tmp$ wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz

 deepfuture@ubuntu-sdp:/usr/tmp$ sudo tar xvfz ucspi-tcp-0.88.tar.gz
ucspi-tcp-0.88
ucspi-tcp-0.88/README
ucspi-tcp-0.88/TODO
ucspi-tcp-0.88/CHANGES
ucspi-tcp-0.88/VERSION
ucspi-tcp-0.88/FILES
ucspi-tcp-0.88/SYSDEPS
ucspi-tcp-0.88/TARGETS
ucspi-tcp-0.88/Makefile
ucspi-tcp-0.88/conf-cc
ucspi-tcp-0.88/conf-ld
ucspi-tcp-0.88/conf-home
ucspi-tcp-0.88/tcpserver.c
ucspi-tcp-0.88/tcprules.c
ucspi-tcp-0.88/tcprulescheck.c
ucspi-tcp-0.88/recordio.c
ucspi-tcp-0.88/argv0.c
ucspi-tcp-0.88/tcpclient.c
ucspi-tcp-0.88/[email protected]
ucspi-tcp-0.88/[email protected]
ucspi-tcp-0.88/[email protected]
ucspi-tcp-0.88/[email protected]
ucspi-tcp-0.88/tcpcat.sh
ucspi-tcp-0.88/mconnect.sh
ucspi-tcp-0.88/mconnect-io.c
ucspi-tcp-0.88/addcr.c
ucspi-tcp-0.88/delcr.c
ucspi-tcp-0.88/fixcrio.c
ucspi-tcp-0.88/rblsmtpd.c
ucspi-tcp-0.88/remoteinfo.h
ucspi-tcp-0.88/remoteinfo.c
ucspi-tcp-0.88/timeoutconn.h
ucspi-tcp-0.88/timeoutconn.c
ucspi-tcp-0.88/rules.h
ucspi-tcp-0.88/rules.c
ucspi-tcp-0.88/rts.sh
ucspi-tcp-0.88/rts.tests
ucspi-tcp-0.88/rts.exp
ucspi-tcp-0.88/alloc.c
ucspi-tcp-0.88/alloc.h
ucspi-tcp-0.88/alloc_re.c
ucspi-tcp-0.88/auto-str.c
ucspi-tcp-0.88/auto_home.h
ucspi-tcp-0.88/buffer.c
ucspi-tcp-0.88/buffer.h
ucspi-tcp-0.88/buffer_0.c
ucspi-tcp-0.88/buffer_1.c
ucspi-tcp-0.88/buffer_2.c
ucspi-tcp-0.88/buffer_copy.c
ucspi-tcp-0.88/buffer_get.c
ucspi-tcp-0.88/buffer_put.c
ucspi-tcp-0.88/byte.h
ucspi-tcp-0.88/byte_chr.c
ucspi-tcp-0.88/byte_copy.c
ucspi-tcp-0.88/byte_cr.c
ucspi-tcp-0.88/byte_diff.c
ucspi-tcp-0.88/byte_rchr.c
ucspi-tcp-0.88/byte_zero.c
ucspi-tcp-0.88/case.h
ucspi-tcp-0.88/case_diffb.c
ucspi-tcp-0.88/case_diffs.c
ucspi-tcp-0.88/cdb.c
ucspi-tcp-0.88/cdb.h
ucspi-tcp-0.88/cdb_hash.c
ucspi-tcp-0.88/cdb_make.c
ucspi-tcp-0.88/cdb_make.h
ucspi-tcp-0.88/chkshsgr.c
ucspi-tcp-0.88/choose.sh
ucspi-tcp-0.88/commands.c
ucspi-tcp-0.88/commands.h
ucspi-tcp-0.88/dns.h
ucspi-tcp-0.88/dns_dfd.c
ucspi-tcp-0.88/dns_domain.c
ucspi-tcp-0.88/dns_dtda.c
ucspi-tcp-0.88/dns_ip.c
ucspi-tcp-0.88/dns_ipq.c
ucspi-tcp-0.88/dns_name.c
ucspi-tcp-0.88/dns_nd.c
ucspi-tcp-0.88/dns_packet.c
ucspi-tcp-0.88/dns_random.c
ucspi-tcp-0.88/dns_rcip.c
ucspi-tcp-0.88/dns_rcrw.c
ucspi-tcp-0.88/dns_resolve.c
ucspi-tcp-0.88/dns_sortip.c
ucspi-tcp-0.88/dns_transmit.c
ucspi-tcp-0.88/dns_txt.c
ucspi-tcp-0.88/env.c
ucspi-tcp-0.88/env.h
ucspi-tcp-0.88/error.c
ucspi-tcp-0.88/error.h
ucspi-tcp-0.88/error_str.c
ucspi-tcp-0.88/exit.h
ucspi-tcp-0.88/fd.h
ucspi-tcp-0.88/fd_copy.c
ucspi-tcp-0.88/fd_move.c
ucspi-tcp-0.88/find-systype.sh
ucspi-tcp-0.88/fmt.h
ucspi-tcp-0.88/fmt_ulong.c
ucspi-tcp-0.88/fork.h1
ucspi-tcp-0.88/fork.h2
ucspi-tcp-0.88/gen_alloc.h
ucspi-tcp-0.88/gen_allocdefs.h
ucspi-tcp-0.88/getln.c
ucspi-tcp-0.88/getln.h
ucspi-tcp-0.88/getln2.c
ucspi-tcp-0.88/hassgact.h1
ucspi-tcp-0.88/hassgact.h2
ucspi-tcp-0.88/hassgprm.h1
ucspi-tcp-0.88/hassgprm.h2
ucspi-tcp-0.88/hasshsgr.h1
ucspi-tcp-0.88/hasshsgr.h2
ucspi-tcp-0.88/haswaitp.h1
ucspi-tcp-0.88/haswaitp.h2
ucspi-tcp-0.88/hier.c
ucspi-tcp-0.88/install.c
ucspi-tcp-0.88/instcheck.c
ucspi-tcp-0.88/iopause.c
ucspi-tcp-0.88/iopause.h1
ucspi-tcp-0.88/iopause.h2
ucspi-tcp-0.88/ip4.h
ucspi-tcp-0.88/ip4_fmt.c
ucspi-tcp-0.88/ip4_scan.c
ucspi-tcp-0.88/ndelay.h
ucspi-tcp-0.88/ndelay_off.c
ucspi-tcp-0.88/ndelay_on.c
ucspi-tcp-0.88/open.h
ucspi-tcp-0.88/open_read.c
ucspi-tcp-0.88/open_trunc.c
ucspi-tcp-0.88/open_write.c
ucspi-tcp-0.88/openreadclose.c
ucspi-tcp-0.88/openreadclose.h
ucspi-tcp-0.88/pathexec.h
ucspi-tcp-0.88/pathexec_env.c
ucspi-tcp-0.88/pathexec_run.c
ucspi-tcp-0.88/prot.c
ucspi-tcp-0.88/prot.h
ucspi-tcp-0.88/readclose.c
ucspi-tcp-0.88/readclose.h
ucspi-tcp-0.88/readwrite.h
ucspi-tcp-0.88/scan.h
ucspi-tcp-0.88/scan_ulong.c
ucspi-tcp-0.88/seek.h
ucspi-tcp-0.88/seek_set.c
ucspi-tcp-0.88/select.h1
ucspi-tcp-0.88/select.h2
ucspi-tcp-0.88/sgetopt.c
ucspi-tcp-0.88/sgetopt.h
ucspi-tcp-0.88/sig.c
ucspi-tcp-0.88/sig.h
ucspi-tcp-0.88/sig_block.c
ucspi-tcp-0.88/sig_catch.c
ucspi-tcp-0.88/sig_pause.c
ucspi-tcp-0.88/socket.h
ucspi-tcp-0.88/socket_accept.c
ucspi-tcp-0.88/socket_bind.c
ucspi-tcp-0.88/socket_conn.c
ucspi-tcp-0.88/socket_delay.c
ucspi-tcp-0.88/socket_listen.c
ucspi-tcp-0.88/socket_local.c
ucspi-tcp-0.88/socket_opts.c
ucspi-tcp-0.88/socket_remote.c
ucspi-tcp-0.88/socket_tcp.c
ucspi-tcp-0.88/socket_udp.c
ucspi-tcp-0.88/str.h
ucspi-tcp-0.88/str_chr.c
ucspi-tcp-0.88/str_diff.c
ucspi-tcp-0.88/str_len.c
ucspi-tcp-0.88/str_start.c
ucspi-tcp-0.88/stralloc.h
ucspi-tcp-0.88/stralloc_cat.c
ucspi-tcp-0.88/stralloc_catb.c
ucspi-tcp-0.88/stralloc_cats.c
ucspi-tcp-0.88/stralloc_copy.c
ucspi-tcp-0.88/stralloc_eady.c
ucspi-tcp-0.88/stralloc_opyb.c
ucspi-tcp-0.88/stralloc_opys.c
ucspi-tcp-0.88/stralloc_pend.c
ucspi-tcp-0.88/strerr.h
ucspi-tcp-0.88/strerr_die.c
ucspi-tcp-0.88/strerr_sys.c
ucspi-tcp-0.88/subgetopt.c
ucspi-tcp-0.88/subgetopt.h
ucspi-tcp-0.88/tai.h
ucspi-tcp-0.88/tai_pack.c
ucspi-tcp-0.88/taia.h
ucspi-tcp-0.88/taia_add.c
ucspi-tcp-0.88/taia_approx.c
ucspi-tcp-0.88/taia_frac.c
ucspi-tcp-0.88/taia_less.c
ucspi-tcp-0.88/taia_now.c
ucspi-tcp-0.88/taia_pack.c
ucspi-tcp-0.88/taia_sub.c
ucspi-tcp-0.88/taia_uint.c
ucspi-tcp-0.88/trycpp.c
ucspi-tcp-0.88/trylsock.c
ucspi-tcp-0.88/trypoll.c
ucspi-tcp-0.88/trysgact.c
ucspi-tcp-0.88/trysgprm.c
ucspi-tcp-0.88/tryshsgr.c
ucspi-tcp-0.88/trysysel.c
ucspi-tcp-0.88/tryulong32.c
ucspi-tcp-0.88/tryulong64.c
ucspi-tcp-0.88/tryvfork.c
ucspi-tcp-0.88/trywaitp.c
ucspi-tcp-0.88/uint16.h
ucspi-tcp-0.88/uint16_pack.c
ucspi-tcp-0.88/uint16_unpack.c
ucspi-tcp-0.88/uint32.h1
ucspi-tcp-0.88/uint32.h2
ucspi-tcp-0.88/uint32_pack.c
ucspi-tcp-0.88/uint32_unpack.c
ucspi-tcp-0.88/uint64.h1
ucspi-tcp-0.88/uint64.h2
ucspi-tcp-0.88/wait.h
ucspi-tcp-0.88/wait_nohang.c
ucspi-tcp-0.88/wait_pid.c
ucspi-tcp-0.88/warn-auto.sh
ucspi-tcp-0.88/warn-shsgr
ucspi-tcp-0.88/x86cpuid.c

deepfuture@ubuntu-sdp:/usr/tmp$  

deepfuture@ubuntu-sdp:/usr/tmp$ sudo patch -p0 <ucspi-tcp-0.88.a_record.patch
patching file ucspi-tcp-0.88/rblsmtpd.c
deepfuture@ubuntu-sdp:/usr/tmp$ sudo patch -p0 <ucspi-tcp-0.88.errno.patch
patching file ucspi-tcp-0.88/error.h
deepfuture@ubuntu-sdp:/usr/tmp$ sudo patch -p0 <ucspi-tcp-0.88.nobase.patch
patching file ucspi-tcp-0.88/rblsmtpd.c
Hunk #2 succeeded at 228 (offset 38 lines).

deepfuture@ubuntu-sdp:/usr/tmp/ucspi-tcp-0.88$ sudo make
( cat warn-auto.sh; \
        echo 'main="$1"; shift'; \
        echo exec "`head -1 conf-ld`" \
        '-o "$main" "$main".o ${1+"$@"}' \
        ) > load
chmod 755 load
( cat warn-auto.sh; \
        echo exec "`head -1 conf-cc`" '-c ${1+"$@"}' \
        ) > compile
chmod 755 compile
cat warn-auto.sh choose.sh \
        | sed s}HOME}"`head -1 conf-home`"}g \
        > choose
chmod 755 choose
./choose clr trypoll iopause.h1 iopause.h2 > iopause.h
./choose clr tryulong64 uint64.h1 uint64.h2 > uint64.h
./compile tcpserver.c
( ( ./compile tryulong32.c && ./load tryulong32 && \
        ./tryulong32 ) >/dev/null 2>&1 \
        && cat uint32.h2 || cat uint32.h1 ) > uint32.h
rm -f tryulong32.o tryulong32
./compile rules.c
./compile remoteinfo.c
./compile timeoutconn.c
( cat warn-auto.sh; \
        echo CC=\'`head -1 conf-cc`\'; \
        echo LD=\'`head -1 conf-ld`\'; \
        cat find-systype.sh; \
        ) | sh > systype
( cat warn-auto.sh; \
        echo 'main="$1"; shift'; \
        echo 'rm -f "$main"'; \
        echo 'ar cr "$main" ${1+"$@"}'; \
        case "`cat systype`" in \
        sunos-5.*) ;; \
        unix_sv*) ;; \
        irix64-*) ;; \
        irix-*) ;; \
        dgux-*) ;; \
        hp-ux-*) ;; \
        sco*) ;; \
        *) echo 'ranlib "$main"' ;; \
        esac \
        ) > makelib
chmod 755 makelib
./compile cdb.c
./compile cdb_hash.c
./compile cdb_make.c
./makelib cdb.a cdb.o cdb_hash.o cdb_make.o
./compile dns_dfd.c
./compile dns_domain.c
./compile dns_dtda.c
./compile dns_ip.c
./compile dns_ipq.c
./compile dns_name.c
./compile dns_nd.c
./compile dns_packet.c
./compile dns_random.c
./compile dns_rcip.c
./compile dns_rcrw.c
./compile dns_resolve.c
./compile dns_sortip.c
./compile dns_transmit.c
./compile dns_txt.c
./makelib dns.a dns_dfd.o dns_domain.o dns_dtda.o dns_ip.o \
        dns_ipq.o dns_name.o dns_nd.o dns_packet.o dns_random.o \
        dns_rcip.o dns_rcrw.o dns_resolve.o dns_sortip.o \
        dns_transmit.o dns_txt.o
./choose c trysysel select.h1 select.h2 > select.h
./compile iopause.c
./compile tai_pack.c
./compile taia_add.c
./compile taia_approx.c
./compile taia_frac.c
./compile taia_less.c
./compile taia_now.c
./compile taia_pack.c
./compile taia_sub.c
./compile taia_uint.c
./makelib time.a iopause.o tai_pack.o taia_add.o \
        taia_approx.o taia_frac.o taia_less.o taia_now.o \
        taia_pack.o taia_sub.o taia_uint.o
./compile alloc.c
alloc.c:3: warning: conflicting types for built-in function ‘malloc’
./compile alloc_re.c
./compile buffer.c
./compile buffer_0.c
./compile buffer_1.c
./compile buffer_2.c
./compile buffer_copy.c
./compile buffer_get.c
./compile buffer_put.c
./compile env.c
./compile error.c
./compile error_str.c
./compile fd_copy.c
./compile fd_move.c
./compile getln.c
./compile getln2.c
./compile ndelay_off.c
./compile ndelay_on.c
./compile open_read.c
./compile open_trunc.c
./compile open_write.c
./compile openreadclose.c
./compile pathexec_env.c
./compile pathexec_run.c
./compile chkshsgr.c
./load chkshsgr
./chkshsgr || ( cat warn-shsgr; exit 1 )
./choose clr tryshsgr hasshsgr.h1 hasshsgr.h2 > hasshsgr.h
./compile prot.c
./compile readclose.c
./compile seek_set.c
./compile sgetopt.c
./compile sig.c
./choose cl trysgprm hassgprm.h1 hassgprm.h2 > hassgprm.h
./compile sig_block.c
./choose cl trysgact hassgact.h1 hassgact.h2 > hassgact.h
./compile sig_catch.c
./compile sig_pause.c
./compile socket_accept.c
./compile socket_bind.c
./compile socket_conn.c
./compile socket_delay.c
./compile socket_listen.c
./compile socket_local.c
./compile socket_opts.c
./compile socket_remote.c
./compile socket_tcp.c
./compile socket_udp.c
./compile stralloc_cat.c
./compile stralloc_catb.c
./compile stralloc_cats.c
./compile stralloc_copy.c
./compile stralloc_eady.c
./compile stralloc_opyb.c
./compile stralloc_opys.c
./compile stralloc_pend.c
./compile strerr_die.c
./compile strerr_sys.c
./compile subgetopt.c
./choose cl trywaitp haswaitp.h1 haswaitp.h2 > haswaitp.h
./compile wait_nohang.c
./compile wait_pid.c
./makelib unix.a alloc.o alloc_re.o buffer.o buffer_0.o \
        buffer_1.o buffer_2.o buffer_copy.o buffer_get.o \
        buffer_put.o env.o error.o error_str.o fd_copy.o fd_move.o \
        getln.o getln2.o ndelay_off.o ndelay_on.o open_read.o \
        open_trunc.o open_write.o openreadclose.o pathexec_env.o \
        pathexec_run.o prot.o readclose.o seek_set.o sgetopt.o \
        sig.o sig_block.o sig_catch.o sig_pause.o socket_accept.o \
        socket_bind.o socket_conn.o socket_delay.o socket_listen.o \
        socket_local.o socket_opts.o socket_remote.o socket_tcp.o \
        socket_udp.o stralloc_cat.o stralloc_catb.o stralloc_cats.o \
        stralloc_copy.o stralloc_eady.o stralloc_opyb.o \
        stralloc_opys.o stralloc_pend.o strerr_die.o strerr_sys.o \
        subgetopt.o wait_nohang.o wait_pid.o
./compile byte_chr.c
./compile byte_copy.c
./compile byte_cr.c
./compile byte_diff.c
./compile byte_rchr.c
./compile byte_zero.c
./compile case_diffb.c
./compile case_diffs.c
./compile fmt_ulong.c
./compile ip4_fmt.c
./compile ip4_scan.c
./compile scan_ulong.c
./compile str_chr.c
./compile str_diff.c
./compile str_len.c
./compile str_start.c
./compile uint16_pack.c
./compile uint16_unpack.c
./compile uint32_pack.c
./compile uint32_unpack.c
./makelib byte.a byte_chr.o byte_copy.o byte_cr.o \
        byte_diff.o byte_rchr.o byte_zero.o case_diffb.o \
        case_diffs.o fmt_ulong.o ip4_fmt.o ip4_scan.o scan_ulong.o \
        str_chr.o str_diff.o str_len.o str_start.o uint16_pack.o \
        uint16_unpack.o uint32_pack.o uint32_unpack.o
( ( ./compile trylsock.c && \
        ./load trylsock -lsocket -lnsl ) >/dev/null 2>&1 \
        && echo -lsocket -lnsl || exit 0 ) > socket.lib
rm -f trylsock.o trylsock
./load tcpserver rules.o remoteinfo.o timeoutconn.o cdb.a \
        dns.a time.a unix.a byte.a  `cat socket.lib`
./compile tcprules.c
./load tcprules cdb.a unix.a byte.a
./compile tcprulescheck.c
tcprulescheck.c: In function ‘found’:
tcprulescheck.c:19: warning: incompatible implicit declaration of built-in function ‘_exit’
tcprulescheck.c:31: warning: incompatible implicit declaration of built-in function ‘_exit’
tcprulescheck.c: In function ‘main’:
tcprulescheck.c:56: warning: incompatible implicit declaration of built-in function ‘_exit’
./load tcprulescheck rules.o cdb.a unix.a byte.a
./compile argv0.c
./load argv0 unix.a byte.a
./compile recordio.c
./load recordio time.a unix.a byte.a
./compile tcpclient.c
./load tcpclient remoteinfo.o timeoutconn.o dns.a time.a \
        unix.a byte.a  `cat socket.lib`
cat warn-auto.sh [email protected] \
        | sed s}HOME}"`head -1 conf-home`"}g \
        > who@
chmod 755 who@
cat warn-auto.sh [email protected] \
        | sed s}HOME}"`head -1 conf-home`"}g \
        > date@
chmod 755 date@
cat warn-auto.sh [email protected] \
        | sed s}HOME}"`head -1 conf-home`"}g \
        > finger@
chmod 755 finger@
cat warn-auto.sh [email protected] \
        | sed s}HOME}"`head -1 conf-home`"}g \
        > http@
chmod 755 http@
cat warn-auto.sh tcpcat.sh \
        | sed s}HOME}"`head -1 conf-home`"}g \
        > tcpcat
chmod 755 tcpcat
cat warn-auto.sh mconnect.sh \
        | sed s}HOME}"`head -1 conf-home`"}g \
        > mconnect
chmod 755 mconnect
./choose cl tryvfork fork.h1 fork.h2 > fork.h
./compile mconnect-io.c
./load mconnect-io unix.a byte.a
./compile addcr.c
./load addcr unix.a byte.a
./compile delcr.c
./load delcr unix.a byte.a
./compile fixcrio.c
./load fixcrio time.a unix.a byte.a
./compile rblsmtpd.c
./compile commands.c
./load rblsmtpd commands.o dns.a time.a unix.a byte.a  \
        `cat socket.lib`
cat warn-auto.sh rts.sh \
        | sed s}HOME}"`head -1 conf-home`"}g \
        > rts
chmod 755 rts
./compile install.c
./compile hier.c
./compile auto-str.c
auto-str.c:8: warning: conflicting types for built-in function ‘puts’
./load auto-str unix.a byte.a
./auto-str auto_home `head -1 conf-home` > auto_home.c
./compile auto_home.c
./load install hier.o auto_home.o unix.a byte.a
./compile instcheck.c
./load instcheck hier.o auto_home.o unix.a byte.a

 

十二、配置daemontools

deepfuture@ubuntu-sdp:~$ sudo mkdir /var/daemontool/service/qmail-send
deepfuture@ubuntu-sdp:~$ sudo mkdir /var/daemontool/service/qmail-smtpd
deepfuture@ubuntu-sdp:~$ sudo mkdir /var/daemontool/service/qmail-pop3d

 

以下命令的参数一定要注意大小写,否则daemontools启动qmail相关守护进程管理时会出现错误,导致无法启动qmail相关守护进程

deepfuture@ubuntu-sdp:/var/vpopmail$#sudo su

root@ubuntu-sdp:/var/vpopmail$# echo ./Maildir/ >/var/qmail/control/mydelivery

 

deepfuture@ubuntu-sdp:/$ sudo nano /var/daemontool/service/qmail-send/run

#!/bin/sh
export PATH=$PATH:/var/qmail/bin
qmail-start "`cat /var/qmail/control/mydelivery`" &


 

deepfuture@ubuntu-sdp:/usr/tmp/ucspi-tcp-0.88$ sudo nano /var/daemontool/service/qmail-pop3d/run

#!/bin/sh
/usr/local/bin/tcpserver -l 0 -U -c 100 -v -R 0 pop3 /var/qmail/bin/qmail-popup deepfuture.imwork.net /bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir

 

deepfuture@ubuntu-sdp:/usr/tmp/ucspi-tcp-0.88$ sudo nano /var/daemontool/service/qmail-smtpd/run

#!/bin/sh
QMAILDUID='id -u vpopmail'
NOFILESGID='id -g vpopmail'
/usr/local/bin/tcpserver -H -r -c 100 -l 0 -t 1 -v -p -x /etc/tcp.smtp.cdb -u $QMAILDUID -g $NOFILESGID 0 smtp /var/qmail/bin/qmail-smtpd deepfuture.imwork.net /bin/vchkpw /bin/true 

 deepfuture@ubuntu-sdp:/$ sudo ln -s  /var/vpopmail/bin/vchkpw /bin/vchkpw
[sudo] password for deepfuture:
deepfuture@ubuntu-sdp:/$

deepfuture@ubuntu-sdp:/usr/tmp/ucspi-tcp-0.88$ sudo chmod 0755 /var/daemontool/service/qmail-send/run
deepfuture@ubuntu-sdp:/usr/tmp/ucspi-tcp-0.88$ sudo chmod 0755 /var/daemontool/service/qmail-smtpd/run
deepfuture@ubuntu-sdp:/usr/tmp/ucspi-tcp-0.88$ sudo chmod 0755 /var/daemontool/service/qmail-pop3d/run

 

你可能感兴趣的:(c,mysql,ubuntu,配置管理,C#)