#!/bin/sh # install.sh - Qmail and Friends Installer Script # (C) 2003 Amir Malik. All Rights Reserved. # http://qwikmail.sf.net/ ### begin CONFIGURATION APACHECONFDIR=/usr/local/apache/conf # dir of httpd.conf HTPASSWD=/usr/local/apache/bin/htpasswd # path to htpasswd DEFAULTDOMAIN=laptop # main domain VPOPDIR=/var/vpopmail # duh DEFAULTQUOTA=10000000S # 10 MB quota HOSTNAME=`hostname` # FQDN please CGIBINDIR=/home/httpd/cgi-bin # cgi-bin dir CGIPATH=/cgi-bin/qmailadmin # url to qmailadmin cgi HTMLDIR=/home/httpd/html # htdocs dir VQADMIN=admin # vQadmin admin login VQPASS=password # admin's password ### end CONFIGURATION VQHTPASSWD=$CGIBINDIR/../vqadmin.passwd # vqadmin's htpasswd INSTALLDIR=`pwd` echo "*******************************************************" echo "********** Qmail and Friends Installer Script *********" echo "*******************************************************" echo "******* (C) 2003 Amir Malik. All Rights Reserved. *****" echo "*************** http://qwikmail.sf.net/ ***************" echo "*******************************************************" echo "" echo "" echo "Requirements: c/c++ compilers" echo "This Installs: qmail, ucspi-tcp, dot-forward, vpopmail" echo " bincimap, qmailadmin, vqadmin, fastforward" echo "" echo Extracting qmail... tar zxf qmail-1.03.tar.gz cd qmail-1.03 echo Creating /var/qmail and adding qmail users and groups... mkdir /var/qmail groupadd nofiles useradd -g nofiles -d /var/qmail/alias alias useradd -g nofiles -d /var/qmail qmaild useradd -g nofiles -d /var/qmail qmaill useradd -g nofiles -d /var/qmail qmailp groupadd qmail useradd -g qmail -d /var/qmail qmailq useradd -g qmail -d /var/qmail qmailr useradd -g qmail -d /var/qmail qmails echo Compiling qmail... # make setup check # ./config-fast $HOSTNAME echo "Post-config of qmail..." (cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root) chmod 644 ~alias/.qmail* cd /var/qmail echo "Creating qmail's rc file..." echo '#!/bin/sh' > rc echo "exec env - PATH="/var/qmail/bin:\$PATH" qmail-start '|dot-forward .forward ./Maildir/' splogger qmail" >> rc chmod 750 . chmod 755 rc echo "To start qmail, add the following to rc.local or whatever:" echo "csh -cf '/var/qmail/rc &'" echo "" cd $INSTALLDIR echo Extracting ucspi-tcp... tar zxf ucspi-tcp-0.88.tar.gz cd ucspi-tcp-0.88 # make setup check echo "" cd $INSTALLDIR echo "Extracting dot-forward..." tar zxf dot-forward-0.71.tar.gz cd dot-forward-0.71 echo "Compiling and installing dot-forward..." # make setup check echo "" cd $INSTALLDIR echo "Extracting vpopmail..." tar zxf vpopmail-5.2.1.tar.gz cd vpopmail-5.2.1 echo "Creating users and groups..." groupadd -g 89 vchkpw echo "Installing vpopmail into $VPOPDIR ..." useradd -g vchkpw -u 89 -d $VPOPDIR vpopmail # ./configure --enable-vpopuser=vpopmail --enable-vpopgroup=vchkpw --enable-default-domain=$DEFAULTDOMAIN --enable-defaultquota=$DEFAULTQUOTA # make && make install-strip echo "127.0.0.1:allow,RELAYCLIENT=\"\"" >> ~vpopmail/etc/tcp.smtp echo "vpopmail is installed and configured!" echo "" cd $INSTALLDIR echo "Extracting bincimap..." bzip2 -d bincimap-1.1.4.tar.bz2 tar xf bincimap-1.1.4.tar cd bincimap-1.1.4 # ./configure --prefix=/usr/local/bincimap --sysconfdir=/etc/bincimap # make && make install echo "bincimap installed, now you need to edit /etc/opt/bincimap/*" echo "and then add some xinetd/supervise entries, and you're set!" echo "" cd $INSTALLDIR echo "Installing QmailAdmin..." tar zxf qmailadmin-1.0.6.tar.gz cd qmailadmin-1.0.6 # default = /usr/local/share/qmailadmin ./configure --enable-cgibindir=$CGIBINDIR --enable-cgipath=$CGIPATH --enable-vpopuser=vpopmail --enable-vpopgroup=vchkpw --enable-htmldir=$HTMLDIR make && make install-strip echo "qmailadmin is installed, visit http://yoursite$CGIPATH" echo "" cd $INSTALLDIR echo "Installing vQadmin..." tar zxf vqadmin-2.3.2.tar.gz cd vqadmin-2.3.2 ./configure --enable-cgibindir=$CGIBINDIR make && make install-strip ########### LOOK BELOW FOR httpd.conf MODIFICATION ############# cp -f $APACHECONFDIR/httpd.conf $APACHECONFDIR/httpd.before-qmailfriends-install.conf sed 's/^X//' << 'SHAR_EOF' >> '$APACHECONFDIR/httpd.conf' && X deny from all Options ExecCGI AllowOverride AuthConfig Order deny,allow SHAR_EOF # TODO: vi vqadmin.acl echo "Creating .htaccess file" echo "AuthType Basic" > $VQHTACCESS echo "AuthUserFile $VQHTPASSWD" >> $VQHTACCESS echo "AuthName vQadmin" >> $VQHTACCESS echo "require valid-user" >> $VQHTACCESS echo "satisfy any" >> $VQHTACCESS chown nobody $VQHTACCESS chmod 600 $VQHTACCESS echo "Creating password file" $HTPASSWD -bc $VQHTPASSWD $VQADMIN $VQPASS echo "vQadmin installed, but you need to edit httpd.conf and restart httpd" echo "" cd $INSTALLDIR echo "Installing fastforward..." tar zxf fastforward-0.51.tar.gz cd fastforward-0.51 make setup check echo "fastforward has been installed, now read the docs on how to use it" echo "" ############################################################################## echo "" echo "finished!" echo "" echo "You still need to look over these files and possibly edit them:" echo " - $APACHECONFDIR/httpd.conf" echo " - $CGIBINDIR/vqadmin/vqadmin.acl" echo " - /var/qmail/control/*" echo "" echo "Enjoy!"