Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
TetraWiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Category:Installation/MDI Qmail with disclaimer
(section)
Category
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Special pages
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== '''SVSCAN Issue ,as init q will not work on RHEL 6''' == ( http://www.kluner.net/2011/04/04/daemontools-on-redhat-enterprise-6-0/) create /etc/init/svscan.conf start on runlevel [345] respawn exec /command/svscanboot * initctl reload-configuration * initctl start svscan * initctl start svscan If Svscan is running then kill by kill -HUP <Pid of Svscan> kill -HUP <pid of service> mkdir /var/qmail/supervise cd /var/qmail/supervise mkdir -p qmail-smtpd/log qmail-send/log qmail-pop3d/log chmod +t qmail-smtpd qmail-send qmail-pop3d vim qmail-smtpd/run #!/bin/sh #QMAILQUEUE="/var/qmail/bin/qmail-tail" ; export QMAILQUEUE QUID=`id -u qmaild` QGID=`id -g qmaild` MAXD=`head -1 /var/qmail/control/concurrencyincoming` HOST=`head -1 /var/qmail/control/me` SOFT=`head -1 /var/qmail/control/qmail-smtpd-softlimit` CDBF="/etc/tcp.smtp.cdb" if [ -z "$QUID" -o -z "$QGID" -o -z "$MAXD" -o -z "$HOST" ]; then echo QUID, QGID, MAXD, or HOST is unset in echo /var/qmail/supervise/qmail-smtpd/run exit 1 fi exec /usr/local/bin/softlimit -m $SOFT \ /usr/local/bin/tcpserver -v \ -H \ -R \ -l $HOST \ -x $CDBF \ -c $MAXD \ -u $QUID \ -g $QGID \ 0 \ smtp \ /var/qmail/bin/qmail-smtpd \ /var/qmail/bin/auth_smtp /usr/bin/true 2>&1 vim qmail-smtpd/log/run #!/bin/sh PATH=/var/qmail/bin:/usr/local/bin:/usr/bin:/bin export PATH exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s10000000 n20 /var/log/qmail/qmail-smtpd 2>&1 vim /var/qmail/rc #!/bin/sh QLOG="`cat /var/qmail/control/qmail-start-loglevel`" DEFD="`cat /var/qmail/control/defaultdelivery`" exec env - PATH="/var/qmail/bin:$PATH" LOGLEVEL="$QLOG" qmail-start "$DEFD" Creating qmail-send run supervise script: vim qmail-send/run #!/bin/sh exec /var/qmail/rc vim qmail-send/log/run #!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s10000000 n20 /var/log/qmail == '''Creating qmail-pop3d run supervise script:''' == vim qmail-pop3d/run #!/bin/sh IP=`head -1 /var/qmail/control/me` LL=`head -1 /var/qmail/control/qmail-pop3d-loglevel` SL=`head -1 /var/qmail/control/qmail-pop3d-softlimit` exec \ env LOGLEVEL=$LL \ softlimit -m $SL \ /usr/local/bin/tcpserver -v -R -H -l 0 0 pop3 \ /var/qmail/bin/qmail-popup $IP \ /var/qmail/bin/tcp-env \ /var/qmail/bin/auth_pop \ /var/qmail/bin/qmail-pop3d Maildir 2>&1 '''Creating qmail-pop3d log run supervise script: ''' vim qmail-pop3d/log/run #!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s10000000 n20 /var/log/qmail/qmail-pop3d 2>&1 Creating auto directory maker script: vim /var/qmail/bin/dirmaker #!/bin/sh echo '----------------------------------------------' >> /tmp/dirmaker date >> /tmp/dirmaker echo $1 >> /tmp/dirmaker id >> /tmp/dirmaker mkdir --parents -m 700 -p $1/Maildir mkdir --parents -m 700 -p $1/Maildir/tmp mkdir --parents -m 700 -p $1/Maildir/cur mkdir --parents -m 700 -p $1/Maildir/new chown -R vmail:vmail $1 Set permissions of all qmail supervise run scripts: chmod 755 qmail-pop3d/run qmail-smtpd/run qmail-send/run chmod 755 qmail-pop3d/log/run qmail-smtpd/log/run qmail-send/log/run chmod 755 /var/qmail/rc /var/qmail/bin/dirmaker Create tcp.smtp file to appy tcprules: vim /etc/tcp.smtp 127.:allow,RELAYCLIENT="",SENDERCHECK="STRICT",MAXRCPTCOUNT="30",RBL="On",LOGLEVEL="3" 192.168.30.32:allow,RCPTCHECK="",NOPBS="",SANITYCHECK="",BLCKRELAYPRBE="",LOGLEVEL="3",MAXRCPTCOUNT="30",RBL="On" 192.168.:allow,SMTPAUTH="",AUTHREQUIRED="",SENDERCHECK="",LOGLEVEL="3",NOPBS="",SANITYCHECK="",BLCKRELAYPRBE="",MAXRCPTCOUNT="30",RBL="On",LOGLEVEL="3" #172.16.:allow,SMTPAUTH="",AUTHREQUIRED="",SENDERCHECK="",LOGLEVEL="3",NOPBS="",SANITYCHECK="",BLCKRELAYPRBE="",MAXRCPTCOUNT="30",RBL="On" 150.101.:allow,SMTPAUTH="",AUTHREQUIRED="",SENDERCHECK="",LOGLEVEL="3",NOPBS="",SANITYCHECK="",BLCKRELAYPRBE="",MAXRCPTCOUNT="30",RBL="On",LOGLEVEL="3" 192.168.30.30:allow,RCPTCHECK="",NOPBS="",SANITYCHECK="",BLCKRELAYPRBE="",LOGLEVEL="3",RBL="On" #192.168.100.101:allow,RCPTCHECK="",NOPBS="",SANITYCHECK="",BLCKRELAYPRBE="",LOGLEVEL="3",RBL="On" #192.168.100.101:allow,RCPTCHECK="",NOPBS="",SANITYCHECK="",BLCKRELAYPRBE="",LOGLEVEL="3",RBL="On" 192.168.30.31:allow,RCPTCHECK="",NOPBS="",SANITYCHECK="",BLCKRELAYPRBE="",LOGLEVEL="3",RBL="On" 121.241.224.1:allow,RELAYCLIENT="" 121.241.224.2:allow,RELAYCLIENT="" 121.241.224.3:allow,RELAYCLIENT="" 121.241.224.4:allow,RELAYCLIENT="" 192.168.17.83:allow,RELAYCLIENT="" 112.110.53.:deny,RELAYCLIENT="" #82.128.16.93:deny,RELAYCLENT"" :allow,BLOCKRELAYPROBE="",RCPTCHECK="strict",SENDERCHECK="",AUTHPREPEND="Authenticated user: ",SANITYCHECK="",SMTPAUTH="",DATABYTES="12582912",MAXRCPT="100",LOGLEVEL="3",RBL="On",TARPITCOUNT="15",TARPITDELAY="5" == Creating qmail logging directories and set permissions: == '''Bold text''' mkdir /var/log/qmail cd /var/log/qmail mkdir qmail-send qmail-smtpd qmail-pop3d chown -R qmaill:root /var/log/qmail chmod -R 750 /var/log/qmail == '''Creating qmail alias users, links and set permissions:''' == cd /var/qmail cp -p /downloads/qmailctl /var/qmail/bin/. chmod 755 /var/qmail/bin/qmailctl ln -s /var/qmail/bin/qmailctl /usr/bin/ qmailctl cdb mkdir -p /service cd /service/ ln -s /var/qmail/supervise/qmail-* . echo admin@mdi.ac.in > /var/qmail/alias/.qmail-root echo admin@mdi.ac.in > /var/qmail/alias/.qmail-postmaster echo admin@mdi.ac.in > /var/qmail/alias/.qmail-mailer-daemon ln -s /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-anonymous chmod 644 /var/qmail/alias/.qmail* Stop sendmail and remove all related files: /etc/init.d/sendmail stop chkconfig sendmail off mv /usr/lib/sendmail /usr/lib/sendmail.org mv /usr/sbin/sendmail /usr/sbin/sendmail.org ln -s /var/qmail/bin/sendmail /usr/lib/sendmail ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail '''== Dovecot installation == ''' yum install tcp* -y wget http://pkgs.fedoraproject.org/lookaside/pkgs/dovecot/dovecot-2.0.14.tar.gz/92a10a6ca341921db9e35c6753e8de0b/dovecot-2.0.14.tar.gz cd /var/qmail/control openssl req -newkey rsa:1024 -x509 -nodes -days 3650 -out servercert.pem -keyout servercert.pem #Answer the prompt. The only important field is COMMON NAME. There you have to enter the full hostname of the mail server: eg: mailserver.mdi.ac.in ln -s servercert.pem clientcert.pem chmod 640 servercert.pem clientcert.pem chown qmaild servercert.pem mkdir -p /etc/ssl/private/ mkdir -p /etc/ssl/certs/ ln -s /var/qmail/control/servercert.pem /etc/ssl/certs/dovecot.pem ln -s /var/qmail/control/servercert.pem /etc/ssl/private/dovecot.pem cd /downloads/ tar xvzf dovecot-2.0.14.tar.gz cd dovecot-2.0.14 ./configure --without-shadow --without-pam --without-bsdauth --without-gssapi --without-sia --without-vpopmail --without-sql --without-pgsql --without-mysql --without-sqlite --with-ssl=openssl --with-libwrap --with-ldap --without-shadow --prefix=/usr make && make install useradd -d /nonexistent -s /bin/false -c 'Dovecot user' dovecot mkdir -p /etc/ssl/private/ mkdir -p /etc/ssl/certs/ cp -pv /usr/share/doc/dovecot/example-config/dovecot.conf /usr/etc/dovecot/dovecot.conf cp -pv /usr/share/doc/dovecot/example-config/dovecot-ldap.conf.ext /usr/etc/dovecot/dovecot-ldap.conf ln -s /usr/etc/dovecot/dovecot-ldap.conf /usr/etc/dovecot/dovecot-ldap-userdb.conf Make Acl's to /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}bdb.ldif olcAccess: to * by * write by * read olcAccess: to attrs=userPassword,sambaLMPassword,sambaNTPassword by * write by * auth dovecot-ldap.conf file (You can copy+paste it): hosts = localhost dn = cn=Manager,dc=mdi,dc=ac,dc=in dnpass = secret auth_bind = no ldap_version = 3 base = dc=mdi,dc=ac,dc=in scope = subtree user_filter = (&(objectClass=qmailUser)(uid=%u)) #user_attrs = mailMessageStore=home user_attrs = mailMessageStore=home=/home/vmail/%$ ##user_attrs = mail=home:/home/vmail/%d/%n ##user_attrs = mail=maildir:/home/vmail/%d/%n/Maildir pass_filter = (&(objectClass=qmailUser)(uid=%u)(!(accountStatus=disabled))(!(accountStatus=noaccess))) pass_attrs = uid=user,userPassword=password default_pass_scheme = SSHA dovecot.conf file (You can copy+paste it): auth_verbose = yes listen = * disable_plaintext_auth = no debug_log_path = /var/log/dovecot-debug.log default_login_user = dovecot first_valid_uid = 89 info_log_path = /var/log/dovecot-info.log last_valid_uid = 2000 log_path = /var/log/dovecot login_greeting = MDI mail server! mail_gid = vmail mail_location = maildir:~/Maildir mail_uid = vmail namespace { inbox = yes location = maildir:~/Maildir prefix = INBOX. separator = . } passdb { args = /usr/etc/dovecot/dovecot-ldap.conf driver = ldap } protocols = imap ssl_cert = </etc/ssl/certs/dovecot.pem ssl_key = </etc/ssl/private/dovecot.pem userdb { args = /usr/etc/dovecot/dovecot-ldap-userdb.conf driver = ldap } verbose_proctitle = yes verbose_ssl = yes protocol lda { postmaster_address = admin@mdi.ac.in } Dovecot {For start} dovecot stop' stops it. dovecot -n' checks config file. Install autoresponder and maildrop: cd /downloads/autorespond-2.0.5/ make && make install cd /downloads/maildrop-2.5.4 ./configure --prefix=/usr/local --exec-prefix=/usr/local --enable-maildrop-uid=root make && make install-strip && make install-man Reload tcp.smtp rules Unpack Phpldapadmin and configure to access from Web: mv /downloads/phpldapadmin-1.2.2 /var/www/html/phpldapadmin cd /var/www/html/phpldapadmin mkdir templates/creation.old templates/modification.old mv templates/creation/* templates/creation.old/ mv templates/modification/* templates/modification.old/ Increase PHP memory limit: vim /etc/php.ini memory_limit = 128M SQUIRREL MAIL INSTALLATION mv /downloads/squirrelmail-webmail-1.4.22 /var/www/html/webmail cd /var/www/html/webmail mkdir attachements chown -R apache:apache attachements chown -R apache:apache data cd config ./conf.pl Type s Type q Vim config.php $data_dir = '/var/www/html/webmail/data/'; $attachment_dir = '/var/www/html/webmail/attachments/'; Chmod 775 /var/www/html/webmail Service https restart Chkconfig httpd on ''' == Install all required packages for Qmail-Scanner: == ''' yum install perl-suidperl perl-Digest-SHA1 perl-Digest-HMAC perl-Net-DNS perl-Time-HiRes* perl-HTML-Tagset perl-HTML-Parser perl-Pod-Usage* perl-Parse-Syslog perl-Statistics-Distributions spamassassin clamav clamd Add user "qscand" for scanning: useradd -c "Qmail-Scanner Account" -s /bin/false -m qscand Change user clamav to qscand: vim /etc/logrotate.d/clamav [Change clamav to qscand] /var/log/clamav/clamd.log { missingok notifempty create 644 qscand qscand postrotate killall -HUP clamd 2>/dev/null || : endscript } Vim /etc/logrotate.d/freshclam [Change clamav to qscand] /var/log/clamav/freshclam.log { missingok notifempty create 644 qscand qscand } vim /etc/clamd.conf User qscand vim /etc/freshclam.conf DatabaseOwner qscand chown qscand.qscand /var/log/clamav/ -R chown -R qscand.qscand /var/run/clamav/ /etc/init.d/clamd restart /etc/init.d/spamassassin restart ''' == Install Qmail-Scanner: ==''' cd /downloads/qmail-scanner-2.08 ./configure --admin admin --domain mdi.ac.in mkdir -p /var/spool/qscan mkdir -p /var/spool/qscan/quarantine/viruses/tmp /var/spool/qscan/quarantine/viruses/cur /var/spool/qscan/quarantine/viruses/new mkdir -p /var/spool/qscan/quarantine/spam/tmp /var/spool/qscan/quarantine/spam/cur /var/spool/qscan/quarantine/spam/new mkdir -p /var/spool/qscan/quarantine/policy/tmp /var/spool/qscan/quarantine/policy/cur /var/spool/qscan/quarantine/policy/new mkdir -p /var/spool/qscan/working/tmp /var/spool/qscan/working/cur /var/spool/qscan/working/new mkdir -p /var/spool/qscan/archive/tmp /var/spool/qscan/archive/cur /var/spool/qscan/archive/new cp /downloads/qmail-scanner-2.08/quarantine-events.txt /var/spool/qscan/ chown -R qscand:qscand /var/spool/qscan/ cp -pv /downloads/qmail-scanner-2.08/qmail-scanner-queue.pl /var/qmail/bin/ chown qscand.qscand /var/qmail/bin/qmail-scanner-queue.pl chmod 4755 /var/qmail/bin/qmail-scanner-queue.pl /var/qmail/bin/qmail-scanner-queue.pl -z /var/qmail/bin/qmail-scanner-queue.pl -g cp -v /downloads/qmail-scanner-2.08/contrib/logrotate.qmail-scanner /etc/logrotate.d/qmail-scanner /etc/init.d/syslog restart '''== Integrate Qmail-scanner with qmail queue: ==''' vim /var/qmail/supervise/qmail-smtpd/run QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" ; export QMAILQUEUE == '''Check Qmail-scanner Installation: ''' == su - tetra /var/qmail/bin/qmail-scanner-queue.pl -g /root/downloads/qmail-scanner-2.08/contrib/test_installation.sh -doit ###[ This step generate 2 spam mails and send to the admin e-mail account]### '''== Second Instance of Qmail for Disclaimer. ==''' mkdir -p /var/qmail2 mkdir /usr/src/qmail2 cd /usr/src/qmail2 tar xvzf /downloads/qmailrocks/qmail-1.03.tar.gz cd qmail-1.03 patch -p1 < /downloads/qmail-ldap-1.03-20060201.patch echo 255 > /usr/src/second-qmail/qmail-1.03/conf-spwan echo 211 > /usr/src/second-qmail/qmail-1.03/conf-split vi conf-qmail ( replace qmail with qmail2 ) ------------------------------------------------------------------------------------------------- /var/qmail2 ------------------------------------------------------------------------------------------------- cd /downloads/ yum install bglibs* either wget http://www6.atomicorp.com/channels/atomic/centos/6/i386/RPMS/bglibs-1.106-1.el6.art.i686.rpm rpm -Uvh bglibs-1.106-1.el6.art.i686.rpm wget http://www.icewalkers.com/jump.php url=e3b53d133ca7ab23eb55edf87f11c1f4&id=1910 cd altermime-0.3.6 make make install cd /downloads wget http://untroubled.org/qmail-qfilter/qmail-qfilter-2.1.tar.gz tar xvzf qmail-qfilter-2.1.tar.gz cd qmail-qfilter-2.1 vi qmail-qfilter.c ( change qmail into qmail2 ) ------------------------------------------------------------------------------------------------------ #ifndef QMAIL_QUEUE #define QMAIL_QUEUE "/var/qmail2/bin/qmail-queue" #endif ------------------------------------------------------------------------------------------------------ make make install chmod 777 /usr/local/bin/qmail-qfilter chown root:qmail /usr/local/bin/qmail-qfilter ================================ vi /var/qmail2/bin/qmail-tail ------------------------------------------------------------------------------------------------------- #!/bin/sh exec /usr/local/bin/qmail-qfilter /var/qmail2/bin/qmail-disclaimer ------------------------------------------------------------------------------------------------------- ========================================= chown root:qmail /var/qmail2/bin/qmail-tail chmod 777 /var/qmail2/bin/qmail-tail mkdir /var/qmail2/control/disclaimer/ cd /var/qmail2/control/disclaimer ================================= vim mdi.ac.in.html ================================ <html> <body> <font color="#33CC33"><b>DISCLAIMER : Please do not print this email unless it is absolutely necessary</b>. </font <p>The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. </p> <p><b><font color="#FF0000">WARNING:</font> </b>Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The Institute accepts no liability for any damage \ caused by any virus transmitted by this email.</p> </body> </html> ======================================================== chown root:qmail /var/qmail2/control/disclaimer/* chmod 777 /var/qmail2/control/disclaimer/* mkdir /var/tmp/qmail-qfilter chown root:qmail /var/tmp/qmail-qfilter chmod 777 /var/tmp/qmail-qfilte vi /var/qmail2/bin/qmail-disclaimer ==================================== #!/bin/sh QMAILHOST=mdi.ac.in INSPECT_DIR=/var/tmp/qmail-qfilter if [ ! -f /var/qmail2/control/disclaimer/$QMAILHOST.txt ] then cat exit 0 fi EX_TEMPFAIL=31 EX_UNAVAILABLE=31 trap "rm -f /var/tmp/qmail-qfilter/in.$$" 0 1 2 3 15 cd $INSPECT_DIR || { echo Error: $INSPECT_DIR does not exist; exit $EX_TEMPFAIL; } cat >$INSPECT_DIR/in.$$ || { echo Error: Cannot write to disk; exit $EX_TEMPFAIL; } /usr/local/bin/altermime --input=$INSPECT_DIR/in.$$ \ --xheader="X-Disclaimer: $QMAILHOST" \ --disclaimer=/var/qmail2/control/disclaimer/$QMAILHOST.txt \ --disclaimer-html=/var/qmail2/control/disclaimer/$QMAILHOST.html || { echo Error: message rejected; exit $EX_UNAVAILABLE; } cat $INSPECT_DIR/in.$$ rm in.$$ exit $? ===================================================== chown root:qmail /var/qmail2/bin/qmail-disclaimer chmod 777 /var/qmail2/bin/qmail-disclaimer ================================================ vi /service/qmail2-smtpd/run ( add following line at the top) ---------------------------------------------------------------------------------------------------- #!/bin/sh QMAILQUEUE="/var/qmail2/bin/qmail-tail" export QMAILQUEUE =========================================================== vi /etc/services # Local services second-qmail 910/tcp ================================ vi /var/qmail/control/smtproutes ---------------------------------------------------------------------------------------------------- :127.0.0.1:910 ---------------------------------------------------------------------------------------------------- ==================================
Summary:
Please note that all contributions to TetraWiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
TetraWiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)