Index: openacs-4/packages/acs-core-docs/www/install-qmail.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-qmail.html,v diff -u -r1.41.2.13 -r1.41.2.14 --- openacs-4/packages/acs-core-docs/www/install-qmail.html 19 Nov 2016 09:21:54 -0000 1.41.2.13 +++ openacs-4/packages/acs-core-docs/www/install-qmail.html 6 Jan 2017 09:18:42 -0000 1.41.2.14 @@ -1,7 +1,7 @@ Install qmail (OPTIONAL)

Install qmail (OPTIONAL)

Qmail is a Mail Transfer Agent. It handles incoming and outgoing mail. Install qmail if you want your OpenACS server to - send and receive mail, and you don't want to use an alternate + send and receive mail, and you don't want to use an alternate MTA.

Red Hat 9: all djb tools (qmail, daemontools, ucspi) will fail to compile in Red Hat 9 because of changes to glibc (patches)

  1. Install ucspi. This program handles incoming tcp connections. Download ucspi and install it.

    [root root]# cd /usr/local/src
    @@ -30,21 +30,21 @@
     tcpserver: usage: tcpserver [ -1UXpPhHrRoOdDqQv ] [ -c limit ] [ -x rules.cdb ] [ -B banner ] [ -g gid ] [ -u uid
     ] [ -b backlog ] [ -l localname ] [ -t timeout ] host port program
     [root ucspi-tcp-0.88]#
    -

    -(I'm not sure if this next step is 100% necessary, but when I skip it -I get problems. If you get the error 553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1) then you need to do this.) AOLserver sends outgoing mail via the ns_sendmail +

    +(I'm not sure if this next step is 100% necessary, but when I skip it +I get problems. If you get the error 553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1) then you need to do this.) AOLserver sends outgoing mail via the ns_sendmail command, which pipes a command to the sendmail executable. Or, in our case, the qmail replacement wrapper for the sendmail executable. In some cases, though, the outgoing mail requset is apparently sent through tcp/ip, so that it comes to qmail from 127.0.0.1 (a special IP address that means the local machine - the "loopback" interface). Unless this mail is addressed to the same machine, qmail thinks that -it's an attempt to relay mail, and rejects it. So these two commands +it's an attempt to relay mail, and rejects it. So these two commands set up an exception so that any mail sent from 127.0.0.1 is allowed to send outgoing mail.

    [root ucspi-tcp-0.88]# cp /tmp/openacs-5.9.0/packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp
     [root ucspi-tcp-0.88]# tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
     cp /tmp/openacs-5.9.0/packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp 
    -tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp 
  2. Install Qmail. 

    Download qmail, +tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp

  3. Install Qmail. 

    Download qmail, set up the standard supporting users and build the binaries:

    [root root]# cd /usr/local/src
     [root src]# wget http://www.qmail.org/netqmail-1.04.tar.gz
     [root src]# tar xzf netqmail-1.04.tar.gz
    @@ -103,11 +103,11 @@
     cd netqmail-1.04
     ./collate.sh
     cd netqmail-1.04
    -make setup check

    Replace sendmail with qmail's wrapper.

    [root qmail-1.03]# rm -f /usr/bin/sendmail /usr/sbin/sendmail
    +make setup check

    Replace sendmail with qmail's wrapper.

    [root qmail-1.03]# rm -f /usr/bin/sendmail /usr/sbin/sendmail
     [root qmail-1.03]# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
     [root qmail-1.03]#
     rm -f /usr/bin/sendmail /usr/sbin/sendmail
    -ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

    Configure qmail - specifically, run the config script to set up files in /var/qmail/control specifying the computer's identity and which addresses it should accept mail for. This command will automatically set up qmail correctly if you have correctly set a valid host nome. If not, you'll want to read /var/qmail/doc/INSTALL.ctl to find out how to configure qmail.

    [root qmail-1.03]# ./config-fast yourserver.test
    +ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

    Configure qmail - specifically, run the config script to set up files in /var/qmail/control specifying the computer's identity and which addresses it should accept mail for. This command will automatically set up qmail correctly if you have correctly set a valid host nome. If not, you'll want to read /var/qmail/doc/INSTALL.ctl to find out how to configure qmail.

    [root qmail-1.03]# ./config-fast yourserver.test
     Your fully qualified host name is yourserver.test.
     Putting yourserver.test into control/me...
     Putting yourserver.test into control/defaultdomain...
    @@ -117,15 +117,15 @@
     Now qmail will refuse to accept SMTP messages except to yourserver.test.
     Make sure to change rcpthosts if you add hosts to locals or virtualdomains!
     [root qmail-1.03]#
    -./config-fast yourserver.test

    All incoming mail that isn't for a specific user is handled by the alias user. This includes all root mail. These commands prepare the alias user to receive mail.

    [root qmail-1.03]# cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root
    +./config-fast yourserver.test

    All incoming mail that isn't for a specific user is handled by the alias user. This includes all root mail. These commands prepare the alias user to receive mail.

    [root qmail-1.03]# cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root
     [root alias]# chmod 644 ~alias/.qmail*
     [root alias]# /var/qmail/bin/maildirmake ~alias/Maildir/
     [root alias]# chown -R alias.nofiles /var/qmail/alias/Maildir
     [root alias]#
     cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root 
     chmod 644 ~alias/.qmail* 
     /var/qmail/bin/maildirmake ~alias/Maildir/ 
    -chown -R alias.nofiles /var/qmail/alias/Maildir

    Configure qmail to use the Maildir delivery format +chown -R alias.nofiles /var/qmail/alias/Maildir

    Configure qmail to use the Maildir delivery format (instead of mbox), and install a version of the qmail startup script modified to use Maildir.

    [root alias]# echo "./Maildir" > /var/qmail/bin/.qmail
     [root alias]# cp /tmp/openacs-5.9.0/packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc
     [root alias]# chmod 755 /var/qmail/rc
    @@ -172,7 +172,7 @@
     chmod 755 /var/qmail/supervise/qmail-smtpd/run
     chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
     ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service
    -

    Wait ten seconds or so, and then verify that that the four qmail processes are running. If uptimes don't rise above 1 second, this may indicate broken scripts that are continuously restarting. In that case, start debugging by checking permissions.

    [root root]# qmailctl stat
    +

    Wait ten seconds or so, and then verify that that the four qmail processes are running. If uptimes don't rise above 1 second, this may indicate broken scripts that are continuously restarting. In that case, start debugging by checking permissions.

    [root root]# qmailctl stat
     /service/qmail-send: up (pid 32700) 430 seconds
     /service/qmail-send/log: up (pid 32701) 430 seconds
     /service/qmail-smtpd: up (pid 32704) 430 seconds