LINUX-BG Адрес : http://www.linux-bg.org |
Професионален мейл сървър (Част 2) |
От: Mordeth Публикувана на: 9-04-2004 Адрес на статията: http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=programs&key=360505332 |
Здравейте отново. Това е продължението на "Професионален майл сървър". Ако сте изпълнили всичко това което съм написал в Част 1ва, значи е време за SMTP. Here we go again... 11.4 smtp Влизаме във файл /var/qmail/supervise/qmail-smtpd/run и добавяме следните редове: #!/bin/sh exec /usr/local/bin/tcpserver -p -R -x /home/vpopmail/etc/tcp.smtp.cdb -u92 -g91 -v -c100 0 smtp rblsmtpd -r relays.ordb.org /var/qmail/bin/qmail-smtpd 2>&1 По този начин ние ще "извикваме" SMTP сървъра чрез "tcpserver-a". Малко допълнителни настройки според всички нужди: -u : user id which will be used by qmail-smtpd -g : group id which will be used by qmail-smtpd -p : paranoid mode (check if the remote host in the DNS matches with the client address) -R : don't try to get $TCPREMOTEINFO -v : verbose -c : number of simultaneous handled connections 0 : the ip address of the server (0 means allow connections to any local IP address) smtp : the port used (here, defined in /etc/services but can be an integer) rblsmtpd : this program blocks mail from RBL-listed sites (I use relays.ordb.org) and call a program (here qmail-smtpd) Следват настройките на правата. Моля изпълнете този ред в кознолата: chmod 755 /var/qmail/supervise/qmail-smtpd/run Отворете файл следният файл - /var/qmail/supervise/qmail-smtpd/log/run. Въведете следните редове в него: #!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s100000 n20 /var/log/qmail/qmail-smtpd 2>&1 Сега, отново правата за този файл: chmod 755 /var/qmail/supervise/qmail-smtpd/log chmod 755 /var/qmail/supervise/qmail-smtpd/log/run pico /var/qmail/supervise/qmail-send/run В този файл добавяме: #!/bin/sh exec env - PATH="/var/qmail/bin:/usr/local/bin" \ qmail-start ./Maildir/ след това отново: chmod 755 /var/qmail/supervise/qmail-send/run pico chmod 755 /var/qmail/supervise/qmail-send/run Добавяме: #!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s100000 n20 /var/log/qmail/qmail-send 2>&1 След това отново трябва да се погрижим за правата: chmod 755 /var/qmail/supervise/qmail-send/log chmod 755 /var/qmail/supervise/qmail-send/log/run Ако използвате дебиан можете да направите следното: /var/qmail/bin/maildirmake /etc/skel/Maildir Ефекта на тази команда е следния: При създаване на нов потребител на системата в неговата домашна директория ще се създава dir-a "Maildir". Най-накрая създаваме стартов скрипт. Местоположението на файла зависи според дистрибуцията. За дебиан създаваме /etc/init.d/qmail. Във него добавяме следните редове: #!/bin/sh case "$1" in start) echo -n "Starting qmail: svscan" if cd /var/qmail/supervise; then env - PATH="/var/qmail/bin:/usr/local/bin:/usr/bin:/bin" svscan & echo $! > /var/run/svscan.pid fi echo "." ;; stop) echo -n "Stopping qmail: svscan" kill `cat /var/run/svscan.pid` echo -n " qmail" svc -dx /var/qmail/supervise/* echo -n " logging" svc -dx /var/qmail/supervise/*/log echo "." ;; stat) cd /var/qmail/supervise svstat * */log ;; doqueue|alrm) echo "Sending ALRM signal to qmail-send." svc -a /var/qmail/supervise/qmail-send ;; queue) qmail-qstat qmail-qread ;; reload|hup) echo "Sending HUP signal to qmail-send." svc -h /var/qmail/supervise/qmail-send echo "Sending HUP signal to qmail-pop3d." svc -h /var/qmail/supervise/qmail-pop3d ;; pause) echo "Pausing qmail-send" svc -p /var/qmail/supervise/qmail-send echo "Pausing qmail-smtpd" svc -p /var/qmail/supervise/qmail-smtpd echo "Pausing qmail-pop3d" svc -p /var/qmail/supervise/qmail-pop3d ;; cont) echo "Continuing qmail-send" svc -c /var/qmail/supervise/qmail-send echo "Continuing qmail-smtpd" svc -c /var/qmail/supervise/qmail-smtpd echo "Continuing qmail-pop3d" svc -c /var/qmail/supervise/qmail-pop3d ;; restart) echo "Restarting qmail:" echo "* Stopping qmail-smtpd." svc -d /var/qmail/supervise/qmail-smtpd echo "* Sending qmail-send SIGTERM and restarting." svc -t /var/qmail/supervise/qmail-send echo "* Restarting qmail-smtpd." svc -u /var/qmail/supervise/qmail-smtpd echo "* Sending qmail-pop3d SIGTERM and restarting." svc -t /var/qmail/supervise/qmail-pop3d ;; cdb) tcprules /home/vpopmail/etc/tcp.smtp.cdb /home/vpopmail/etc/tcp.smtp.tmp > /home/vpopmail/etc/inc_deps След това опитайте отново! Ако пък получите qmailadmin.o(.text+0xc6): In function `main': /package/qmailadmin-1.0.6/qmailadmin.c:240: undefined reference to `vclose' qmailadmin.o(.text+0x17b):/package/qmailadmin-1.0.6/qmailadmin.c:199: undefined reference to `vget_assign' qmailadmin.o(.text+0x1cd):/package/qmailadmin-1.0.6/qmailadmin.c:210: undefined reference to `vauth_user' Проверете дали /home/vpopmail/etc/lib_deps съдържа : -L/home/vpopmail/lib -lvpopmail -L/usr/include/mysql/ -lmysqlclient -lz Сега е време да конфигурираме уеб сървъра (в моя случай apache). Добавете следните редове в httpd.conf: ServerAdmin (емайл адрес на администратора) DocumentRoot /var/www ServerName субдомайн.домайн ErrorLog logs/qmailadmin.avence.info-error.log CustomLog logs/qmailadmin.avence.info-access.log combined AllowOverride AuthConfig Limit Options SymLinksIfOwnerMatch Includes ScriptAlias /cgi-bin/ /var/www/cgi-bin/ ScriptAlias /global-cgi/ /usr/lib/cgi-bin/ За да работят картинктие на qmailadmina трябва да направите следните неща: 1)Предварително премахнете следният ред от httpd.confa: Alias /images/ /usr/share/images/ 2) изпълнете следнтие команди: cd /var/www/images/ (в моя случай, дебиан). mkdir qmailadmin mv *.png qmailadmin/ Това ще е достатъчно. За да тръгне qmailadmina е нужно да направите още едно нещо. Отидете в директория /var/www/cgi-bin (в дебиан). Там ще намерите един файл "qmailadmin". Преименувайте го на qmailadmin.cgi. А ето как да направите това: cd /var/www/cgi-bin/ mv qmailadmin qmailadmin.cgi 13. vQadmin wget http://www.inter7.com/vqadmin/vqadmin-2.3.2.tar.gz tar -zxvf vqadmin-2.3.2.tar.gz cd vqadmin-2.3.2 ./configure --enable-cgibindir=/var/www/cgi-bin make make install-strip Добавете тези редове в httpd.conf-a. deny from all Options ExecCGI AllowOverride AuthConfig Order deny,allow Ще се наложите да направите .htaccess файл в /var/www/cgi-bin/vqadmin/: pico /var/www/cgi-bin/vqadmin/.htaccess В него добавете: AuthType Basic AuthUserFile /etc/apache/vqadmin.passwd AuthName vQadmin require valid-user satisfy any chown www-data:www-data .htaccess #За RedHat потребителя и потребителската група ще е nobody/nogroup. chmod 600 .htaccess htpasswd -bc /etc/apache/vqadmin.passwd admin adminpass 14. Courier wget http://unc.dl.sourceforge.net/sourceforge/courier/courier-imap-3.0.3.tar.bz2 tar -jxvf courier-imap-3.0.3.tar.bz2 cd courier-imap-3.0.3 export CFLAGS="-DHAVE_OPEN_SMTP_RELAY -DHAVE_VLOGAUTH" ./configure --prefix=/usr/local/courier-imap --disable-root-check --without-authpam --without-authldap --without-authpwd --without-authmysql --without-authpgsql --without-authshadow --without-authuserdb --without-authcustom --without-authcram --without-authdaemon --with-authvchkpw --with-ssl [ Quite long ] make make install make install-configure cp courier-imap.sysvinit /etc/init.d/courier-imap chmod +x /etc/init.d/courier-imap mkdir -p /var/lock/subsys/ Once the server is launched : chown vpopmail:vchkpw /usr/local/courier-imap/share/imapd.pem Ако получите следната грешка: tlspasswordcache.c:9:25: openssl/ssl.h: No such file or directory tlspasswordcache.c:10:25: openssl/err.h: No such file or directory tlspasswordcache.c:11:26: openssl/rand.h: No such file or directory Инсталирайте libssl. (apt-get install libssl-dev под Debian) В случай, че възникнат някакви проблеми с vpopmail-ски библиотеки моля изпълнете следните команди: echo "-I/home/vpopmail/include/" > /home/vpopmail/etc/inc_deps echo "-L/home/vpopmail/lib -lvpopmail" > /home/vpopmail/etc/lib_deps След инсталацията е необходимо да едитнем някои файлове. В /usr/local/courier-imap/etc/imapd трябва да сменим редовете TCPDOPTS / AUTHMODULES с TCPDOPTS="-nodnslookup -noidentlookup -user=vpopmail -group=vchkpw" AUTHMODULES="authvchkpw" Накрая, не забравяйте да смените този ред: IMAPDSTART=NO на IMAPDSTART=YES. Този файл също трябва да бъде едитнат: /usr/local/courier-imap/etc/imapd.cnf . В него сложете: [...] [ req_dn ] C=FR ST=PA L=Paris O=Courier Mail Server OU=Automatically-generated IMAP SSL key CN=vladimir.avence.info emailAddress=tech@avenceprod.com [...] За поп3: едитваме /usr/local/courier-imap/etc/pop3d-ssl: POP3DSSLSTART=YES За да стартираме сървъра (под дебиан) изпълняваме следната команда: /etc/init.d/courier-imap start #Първият път това може да отнеме известно време! Не се шашкайте ;-) След тази команда има вероятност да срещнете тези редове: Dec 23 13:01:59 nw-tel2-mail-2 imapd: couriertls: /usr/local/courier-imap/var/couriersslcache: Permission denied Dec 23 13:01:59 nw-tel2-mail-2 imapd: couriertls: /usr/local/courier-imap/share/imapd.pem: error:0200100D:system library:fopen:Permission denied Това се оправя, чрез: chown vpopmail:vchkpw /usr/local/courier-imap/var/ chown vpopmail:vchkpw /usr/local/courier-imap/share/imapd.pem chown vpopmail:vchkpw /usr/local/courier-imap/share/pop3d.pem 15. IMAP Proxy wget http://freshmeat.net/redir/imapproxy/35569/url_tgz/up-imapproxy-1.2.1.tar.gz tar -zxvf up-imapproxy-1.2.1.tar.gz cd up-imapproxy-1.2.1 ./configure make make install make install-conf make install-init За да компилирате IMAP Proxy са ви необходими lib ncurses 5 dev. Ако се опитате да стартирате проксито и то ви даде следните грешки: /etc/init.d/imapproxy: line 1: /bin/basename: No such file or directory : Starting IMAP proxy server. Моля едитнете /etc/init.d/imapproxy и сменете ред 58 (Pgm=`/bin/basename $0`) с Pgm=`/usr/bin/basename $0` (Това не е задължително под дебиан.) Едитнете /etc/imapproxy.conf, за да адаптирате всичките си конфигурационни файлоиве към системата. В повечето случай е необходимо да смените само тези редове: server_hostname zion.ma3x.org #сменете това с вашият хост proc_groupname nobody Под debian, е "nogroup" listen_port 144 Ако това прокси работи на съшия сървър кадето е имап-а , сменете този порт (например не 143) иначе прокси-то няма да работи! 16. Squirrelmail wget http://twtelecom.dl.sourceforge.net/sourceforge/squirrelmail/squirrelmail-1.4.2.tar.gz tar xzvf squirrelmail-1.4.2.tar.gz cd squirrelmail-1.4.2 mkdir attachments chown -R www-data data attachments chmod go-w data attachments chgrp www-data data attachments cd config ./conf.pl След всичко това, добавете подобни редове в httpd.conf-a си: VirtualHost ип/хост> ServerAdmin емайл-на админа DocumentRoot /var/www/webmail.avence.info ServerName webmail.ma3x.org ServerAlias mail.ma3x.org ErrorLog logs/webmail.avence.info-error.log CustomLog logs/webmail.avence.info-access.log combined Ако сте направили всичко правилно не би трябвало да имате проблеми. Можете да изпробвате майл-а чрез http://webmail.XXX.XXX 17. Isoqlog wget http://www.enderunix.org/isoqlog/isoqlog-2.1.1.tar.gz tar -zxvf isoqlog-2.1.1.tar.gz cd isoqlog-2.1.1 ./configure make make install ln -s /var/qmail/control/rcpthosts /usr/local/etc/isoqlog.domains mkdir -p /var/www/qmail-stats/isoqlog Така горе долу трябва да ви изглежда: /usr/local/etc/isoqlog.conf logtype = "qmail-multilog" logstore = "/var/log/qmail/qmail-send" domainsfile = "/usr/local/etc/isoqlog.domains" outputdir = "/var/www/qmail-stats/isoqlog" htmldir = "/usr/local/share/isoqlog/htmltemp" langfile = "/usr/local/share/isoqlog/lang/french" hostname = "vladimir.avence.info" #Сменете този хост с вашият. maxsender = 100 maxreceiver = 100 maxtotal = 100 maxbyte = 100 В кронтабът добавете следният ред: 58 * * * * /usr/local/bin/isoqlog 1>/dev/null 2>/dev/null Е, това беше. Надявам се да съм помогнал максимално. Ето официалните линкове на оказаните приложения в тази статия: qmailadmin - http://inter7.com/qmailadmin/ Vqadmin - http://inter7.com/vqadmin.html courier-imap - http://www.inter7.com/courierimap/ IMAP Proxy - http://freshmeat.net/projects/imapproxy/ squirrelmail - http://www.squirrelmail.org/ IsoqLog - http://www.enderunix.org/isoqlog/ << Slackware for dummies | Професионален пощенски сървър (Част 1) >> |
Авторите на сайта, както и техните сътрудници запазват авторските права върху собствените си материали публикувани тук,
но те са copyleft т.е. могат свободно да бъдат копирани и разпространявани с изискването изрично да се упоменава името на автора,
както и да се публикува на видно място, че те са взети от оригиналния им URL-адрес на този сървър (http://www.linux-bg.org). Авторските права на преводните материали принадлежат на техните автори. Ако с публикуването тук на някакъв материал неволно са нарушени нечии права - след констатирането на този факт материалът ще бъде свален.
All trademarks, logos and copyrights mentioned on this site are the property of their respective owners.
|