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
Qmail LDAP Configuration for Kortek Electronics
Page
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!
[[category:Kortek Electronics]] = qmail LDAP Configuration. = == Qmail Downloads == '''wget '''[http://www.qmailrocks.org/downloads/qmailrocks.tar.gz http://www.qmailrocks.org/downloads/qmailrocks.tar.gz] wget [http://www.nrg4u.com/qmail/qmail-ldap-1.03-20060201.patch.gz http://www.nrg4u.com/qmail/qmail-ldap-1.03-20060201.patch.gz] wget [http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm] rpm -Uhv rpmforge-release-0.3.6-1.el5.rf.i386.rpm yum install gcc* yum install openldap* yum install zlib* yum install glib yum install gdbm* yum install openssl-devel yum install php* == Qmail Users / groups == mkdir -p /var/qmail groupadd nofiles useradd -g nofiles -d /var/qmail/alias -s /sbin/nologin -p'*' alias useradd -g nofiles -d /var/qmail -s /sbin/nologin -p'*' qmaild useradd -g nofiles -d /var/qmail -s /sbin/nologin -p'*' qmaill useradd -g nofiles -d /var/qmail -s /sbin/nologin -p'*' qmailp groupadd qmail useradd -g qmail -d /var/qmail -s /sbin/nologin -p'*' qmailq useradd -g qmail -d /var/qmail -s /sbin/nologin -p'*' qmailr useradd -g qmail -d /var/qmail -s /sbin/nologin -p'*' qmails groupadd vmail useradd -g vmail -s /bin/true vmail == Qmail Compilation == mkdir -p /var/qmail mkdir /usr/src/qmail cd /usr/src/qmail tar xvzf /downloads/qmailrocks/qmail-1.03.tar.gz cd qmail-1.03 cd /downloads gzip -d qmail-ldap-1.03-20060201.patch.gz cd /usr/src/qmail/qmail-1.03 <nowiki>patch -p1 < /downloads/qmail-ldap-1.03-20060201.patch </nowiki> vim Makefile <nowiki>-------------------------------------------------------------------------------------------</nowiki> LDAPFLAGS=-DQLDAP_CLUSTER -DEXTERNAL_TODO -DDASH_EXT -DDATA_COMPRESS -DQMQP_COMPRESS -DSMTPEXECCHECK -DALTQUEUE ZLIB=-lz MDIRMAKE=-DAUTOMAILDIRMAKE HDIRMAKE=-DAUTOHOMEDIRMAKE SHADOWLIBS=-lcrypt DEBUG=-DDEBUG <nowiki>-----------------------------------------------------------------------------------------</nowiki> vi extra.h <nowiki>----------------</nowiki> <nowiki>#ifndef EXTRA_H </nowiki> <nowiki>#define EXTRA_H </nowiki> <nowiki>#define QUEUE_EXTRA "Tarch\0" </nowiki> <nowiki>#define QUEUE_EXTRALEN 6 </nowiki> <nowiki>#endif </nowiki> <nowiki>----------------</nowiki> make setup check == Qmail Configration and LDAP controls files == 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 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 cd /var/qmail/control echo 100 > concurrencyincoming echo 255 > concurrencyremote echo ./Maildir/ > defaultdelivery echo kortekelectronics.com > defaultdomain echo 10000 > defaultquotacount echo 10000000 > defaultquotasize echo /var/qmail/bin/dirmaker > dirmaker echo dc=kortekelectronics,dc=com > ldapbasedn echo 0 > ldapcluster id -g vmail > ldapgid echo cn=manager,dc=kortekelectronics,dc=com > ldaplogin echo /home/vmail > ldapmessagestore echo qmailUser > ldapobjectclass echo p4mail1server > ldappassword echo 127.0.0.1 > ldapserver id -u vmail > ldapuid echo mail1.kortekelectronics.com > me echo 127.:allow,NOPBS="" :deny > qmail-pop3d.rules echo 800000000 > qmail-smtpd-softlimit echo 3 > qmail-start-loglevel echo 3 > qmail-pop3d-loglevel '''echo 800000000 > qmail-pop3d-softlimit ''' echo " Your mail quota is overflowing, check it out" > quotawarning echo kortekelectronics.com >> rcpthosts echo mail1.kortekelectronics.com >> rcpthosts ln -s rcpthosts locals echo admin@kortekelectronics.com > /var/qmail/alias/.qmail-root echo admin@kortekelectronics.com > /var/qmail/alias/.qmail-postmaster echo admin@kortekelectronics.com > /var/qmail/alias/.qmail-mailer-daemon ln -s /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-anonymous chmod 644 /var/qmail/alias/.qmail* cd /var/qmail vi bin/dirmaker <nowiki>-------------------------------------------------------------------------------------</nowiki> <nowiki>#!/bin/sh</nowiki> 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 <nowiki>---------------------------------------------------------------------------------------</nowiki> vi rc <nowiki>---------------------------------------------------------------------------------------</nowiki> <nowiki>#!/bin/sh</nowiki> 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" <nowiki>--------------------------------------------------------------------------------------------</nowiki> chmod 755 rc bin/dirmaker == UCSPI-TCP / Daemontools Install == cd /usr/src/qmail tar zxvf /downloads/qmailrocks/ucspi-tcp-0.88.tar.gz cd ucspi-tcp-0.88 <nowiki>patch < /downloads/qmailrocks/patches/ucspi-tcp-0.88.errno.patch</nowiki> make && make setup check mkdir -p /package chmod 1755 /package cd /package tar zxvf /downloads/qmailrocks/daemontools-0.76.tar.gz cd /package/admin/daemontools-0.76/src <nowiki>patch < /downloads/qmailrocks/patches/daemontools-0.76.errno.patch</nowiki> cd /package/admin/daemontools-0.76 package/install == Qmail Run Files == cd /var/qmail/supervise vi qmail-smtpd/run <nowiki>------------------------------------------------------------------------------------------</nowiki> <nowiki>#!/bin/sh</nowiki> 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" <nowiki>if [ -z "$QUID" -o -z "$QGID" -o -z "$MAXD" -o -z "$HOST" ]; then</nowiki> '''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''' '''<nowiki>---------------------------------------------------------------------------------------------</nowiki>''' vi qmail-smtpd/log/run <nowiki>---------------------------------------------------------------------------------------------</nowiki> <nowiki>#!/bin/sh</nowiki> 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 <nowiki>---------------------------------------------------------------------------------------------</nowiki> vi qmail-send/run <nowiki>---------------------------------------------------------------------------------------------</nowiki> <nowiki>#!/bin/sh</nowiki> exec /var/qmail/rc <nowiki>---------------------------------------------------------------------------------------------</nowiki> vi qmail-send/log/run <nowiki>---------------------------------------------------------------------------------------------</nowiki> <nowiki>#!/bin/sh</nowiki> exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s10000000 n20 /var/log/qmail/qmail-send 2>&1 <nowiki>----------------------------------------------------------------------------------------------</nowiki> vi qmail-pop3d/run <nowiki>----------------------------------------------------------------------------------------------</nowiki> <nowiki>#!/bin/sh</nowiki> 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 vi qmail-pop3d/log/run <nowiki>--------------------------------------------------------------</nowiki> <nowiki>#!/bin/sh </nowiki> PATH=/var/qmail/bin:/usr/local/bin:/usr/bin:/bin export PATH exec setuidgid qmaill multilog t s10000000 n20 /var/log/qmail/qmail-pop3d 2>&1 -------------------------------------------------------------- vi /etc/tcp.smtp <nowiki>---------------------------------------------------------------------------------------------------</nowiki> 127.:allow,RELAYCLIENT="",MAXRCPTCOUNT="25" 10.:allow,RELAYCLIENT="",MAXRCPTCOUNT="25" :deny <nowiki>#10.:allow,RELAYCLIENT="",SMTPAUTH="",AUTHREQUIRED="",SENDERCHECK="",LOGLEVEL="3",RCPTCHECK="",NOPBS="",SANITYCHECK="",BLCKRELAYPRBE=""</nowiki> <nowiki>---------------------------------------------------------------------------------------------------</nowiki> cd /var/qmail rsync -avur /downloads/qmailrocks/scripts/finalize/qmailctl bin/. ln -s /var/qmail/bin/qmailctl /usr/bin == Qmail others configuration == /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 cd /var/qmail/supervise/ chmod +x */run chmod +x */log/run mkdir -p /service ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /var/qmail/supervise/qmail-pop3d /service = OPENLDAP Integration with QMAIL-LDAP = == Configuration == cd /downloads wget http://phpqladmin.com/phpQLAdmin-2.2.7.tar.gz tar zxvf /downloads/phpQLAdmin-2.2.7.tar.gz cd /etc/openldap cp /usr/src/qmail/qmail-1.03/qmail.schema schema/. cp /downloads/phpQLAdmin-2.2.7/schemas/phpQLAdmin.schema schema/. vim slapd.conf <nowiki>-----------------------------------------------------------------------------------------------------</nowiki> include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/qmail.schema include /etc/openldap/schema/phpQLAdmin.schema <nowiki># </nowiki>Directives needed to implement policy: database bdb suffix "dc=kortekelectronics,dc=com" rootdn "cn=Manager,dc=kortekelectronics,dc=com" rootpw p4mail1server <nowiki>-------------------------------------------------------------------------------------------------</nowiki> vi ldap.conf <nowiki>------------------------------------------------------------------------------------------------</nowiki> HOST 127.0.0.1 BASE dc=kortekelectronics,dc=com <nowiki>------------------------------------------------------------------------------------------------</nowiki> <nowiki>---------------------------------------------------------------------------------------------------</nowiki> vim schema/phpQLAdmin.schema <nowiki>--------------------------------------------------------------------------------------------------</nowiki> ( Uncomment the following line ) <nowiki># This is also availible in krb5-kdc.schema (from OpenLDAP.org)</nowiki> attributetype ( 1.3.6.1.4.1.5322.10.1.12 NAME 'krb5RealmName' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{128} ) <nowiki>#</nowiki> attributetype ( 1.3.6.1.4.1.5322.10.1.1 NAME 'krb5PrincipalName' DESC 'The unparsed Kerberos principal name' EQUALITY caseExactIA5Match SINGLE-VALUE SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) <nowiki># PQL_ATTR_KRB5_ADMIN_SERVER</nowiki> attributetype ( 1.3.6.1.4.1.8767.3.2.2.15 NAME 'krb5AdminServer' DESC 'Fully Qualified Host Name of the Kerberos admin server' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.8767.3.2.4.1 NAME 'defaultDomain' DESC 'Default domain name for the branch' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} SINGLE-VALUE ) <nowiki>------------------------------------------------------------------------------------------------</nowiki> /etc/init.d/ldap start == Creation of LDAP datbase and LDIF FILES. == # ldif for creating base vi base.ldif <nowiki>------------------------------------------------------------------------</nowiki> <nowiki>#</nowiki>kortekelectronics.com dn: dc=kortekelectronics,dc=com objectClass: top objectClass: domain dc: kortekelectronics <nowiki>---------------------------------------------------------------------------------------</nowiki> # ldif for creating organizational unit vi ou.ldif <nowiki>------------------------------------------------------------------------------------------</nowiki> <nowiki>#kortekelectronics.com</nowiki> dn: ou=users,dc=kortekelectronics,dc=com objectClass: top objectClass: organizationalUnit ou: users description: users <nowiki>------------------------------------------------------------------------------------------</nowiki> c. ldif file for creating Admin User. (Note: Password is postmaster ) vi admin.ldif <nowiki>-----------------------------------------------------------------------------------------</nowiki> <nowiki># admin, kortekelectronics.com</nowiki> dn: uid=admin,ou=users,dc=kortekelectronics,dc=com objectClass: top objectClass: inetOrgPerson objectClass: qmailuser cn: admin admin sn: admin admin mail: admin@kortekelectronics.com accountStatus: active userPassword:: e0NSWVBUfU9XY3dPTS9IekVBT2s= mailMessageStore: kortekelectronics.com/admin uid: admin deliveryMode: noforward <nowiki>------------------------------------------------------------------------------------------</nowiki> == Commnad to create user/ database == ldapadd -acvx -D"cn=Manager,dc=''kortekelectronics'',dc=com" -w p4mail1server -f base.ldif ldapadd -acvx -D"cn=Manager,dc=''kortekelectronics'',dc=com" -w p4mail1server -f ou.ldif ldapadd -acvx -D"cn=Manager,dc=''kortekelectronics'',dc=com" -w p4mail1server -f admin.ldif = Courier IMAP Integration. = == Compilation and its parameters == cd /downloads/qmailrocks/ tar jxvf courier-authlib-0.55.tar.bz2 cd courier-authlib-0.55 ./configure --prefix=/usr/local --exec-prefix=/usr/local --with-authldap --without-authmysql --disable-root-check --with-ssl --with-authchangepwdir=/usr/local/libexec/authlib --with-redhat make && make check make install-strip && make install-configure vi /etc/rc.local ( Add following line ) <nowiki>----------------------------------------------------------------------------------------------------</nowiki> /usr/local/sbin/authdaemond start <nowiki>-----------------------------------------------------------------------------------------------------</nowiki> cd /downloads/qmailrocks/ tar jxvf courier-imap-4.0.2.tar.bz2 useradd bsmith chown -R bsmith:wheel courier-imap-4.0.2 cd /downloads/qmailrocks/courier-imap-4.0.2 su bsmith ./configure --prefix=/usr/local --exec-prefix=/usr/local --without-authvchkpw --with-authldap --without-authmysql --disable-root-check --with-ssl --with-authchangepwdir=/usr/local/libexec/authlib --with-redhat make && make check exit make install-strip && make install-configure /usr/local/sbin/mkimapdcert vi /usr/local/etc/imapd.cnf (Change postmaser@example.com an administrative email address ) <nowiki>------------------------------------------------------------------------------------------------------</nowiki> β¦β¦β¦β¦β¦β¦β¦β¦β¦β¦.. β¦β¦β¦β¦β¦β¦β¦β¦β¦β¦. emailAddress=admin@kortekelectronics.com β¦β¦β¦β¦β¦β¦β¦β¦β¦β¦β¦ <nowiki>-------------------------------------------------------------------------------------------------------</nowiki> == Configuration changes == vi /usr/local/etc/imapd <nowiki>-------------------------------------------------------------------------------------------------------</nowiki> IMAPDSTART=YES <nowiki>-------------------------------------------------------------------------------------------------------</nowiki> vi /usr/local/etc/imapd-ssl <nowiki>-------------------------------------------------------------------------------------------------------</nowiki> IMAPDSSLSTART=YES TLS_CERTFILE=/usr/local/share/imapd.pem <nowiki>-------------------------------------------------------------------------------------------------------</nowiki> vi /usr/local/etc/authlib/authdaemonrc <nowiki>-------------------------------------------------------------------------------------------------------</nowiki> authmodulelist="authldap" authmodulelistorig="authldap" <nowiki>-------------------------------------------------------------------------------------------------------</nowiki> vi /usr/local/etc/authlib/authldaprc <nowiki>-------------------------------------------------------------------------------------------------------</nowiki> LDAP_SERVER localhost LDAP_PORT 389 LDAP_PROTOCOL_VERSION 3 LDAP_BASEDN dc=kortekelectronics,dc=com LDAP_BINDDN cn=manager, dc=kortekelectronics,dc=com LDAP_BINDPW p4mail1server LDAP_TIMEOUT 5 LDAP_AUTHBIND 1 LDAP_MAIL uid LDAP_GLOB_UID vmail LDAP_GLOB_GID vmail LDAP_HOMEDIR mailMessageStore LDAP_MAILROOT /home/vmail LDAP_DEFAULTDELIVERY defaultDelivery LDAP_FULLNAME cnmail.kortekelectronics.com LDAP_CLEARPW clearPassword LDAP_CRYPTPW userPassword <nowiki>#LDAP_CRYPTPW </nowiki>sambaLMPassword LDAP_DEREF never LDAP_TLS 0 <nowiki>---------------------------------------------------------------------------------------------------</nowiki> cp /usr/local/libexec/imapd.rc /etc/rc.d/init.d/imap cp /usr/local/libexec/imapd-ssl.rc /etc/rc.d/init.d/imaps vi /etc/rc.local ( Add following line ) <nowiki>----------------------------------------------------------------------------------------------------</nowiki> /etc/rc.d/init.d/imap start /etc/rc.d/init.d/imaps start <nowiki>-----------------------------------------------------------------------------------------------------</nowiki> /usr/local/sbin/authdaemond stop /usr/local/sbin/authdaemond start /etc/rc.d/init.d/imap stop /etc/rc.d/init.d/imaps stop /etc/rc.d/init.d/imap start /etc/rc.d/init.d/imaps start qmailctl cdb '''phpldapadmin''' yum install php -y yum install php-ldap -y cd /downloads wget http://downloads.sourceforge.net/project/phpldapadmin/phpldapadmin-php5/1.2.0.5/phpldapadmin-1.2.0.5.tgz?use_mirror=nchc tar zxvf phpldapadmin-1.2.0.5.tgz mv phpldapadmin-1.2.0.5 /var/www/html/phpldapadmin cd /var/www/html/phpldapadmin mv config/config.php.example config/config.php mkdir templates/creation/old templates/modification/old mv templates/creation/* templates/creation/old/ mv templates/modification/* templates/modification/old/ vi /etc/php.ini memory_limit = 128M '''Webmail''' cd /downloads wget http://downloads.sourceforge.net/project/squirrelmail/stable/1.4.20/squirrelmail-1.4.20.tar.gz?use_mirror=space tar zxvf squirrelmail-1.4.20.tar.gz mv squirrelmail-1.4.20 /var/www/html/webmail cd /var/www/html/webmail mkdir /var/sqattachements '''chown -R apache:apache /var/sqattachements''' '''chown -R apache:apache data''' '''cd config''' '''./conf.pl''' '''Clam Antivirus & SpamAssassin''' install these perl modules using cpan '''Digest::SHA1Digest::HMACNet::DNSTime::HiResHTML::TagsetHTML::ParserPod::UsageParse::SyslogStatistics::Distributions''' yum install perl-suidperl yum install unzip '''cd /downloads/qmailrocks/''' rpm -Uvh clamav-0.87-1.i386.rpm '''rpm -Uvh clamav-devel-0.87-1.i386.rpm''' '''vi /etc/clamd.conf''' change User clamav to <nowiki>--------------------</nowiki> User qscand <nowiki>--------------------</nowiki> '''useradd -c "Qmail-Scanner Account" -s /bin/false qscand ''' chown qscand.qscand /var/log/clamav/ '''/etc/init.d/clamd stop''' '''/etc/init.d/clamd start '''
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)