The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Построение полнофункционального почтового сервра на базе QMAIL (qmail imap mail spam virtual)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: qmail, imap, mail, spam, virtual,  (найти похожие документы)
From: Александр Тварадзе <hozain@pisem.net.> Newsgroups: email Date: Mon, 21 Feb 2005 14:31:37 +0000 (UTC) Subject: Построение полнофункционального почтового сервра на базе QMAIL QMAIL + Vpopmail + courier-imap + Qmailadmin + MySql + Spamassassin + clamav + Squirrelmail + stats (Isoqlog, qms-analog, qmailanalog & qmail MRTG) на платформе Linux Автор Ledru Sylvestre <sylvestre@ledru.info.> перевод Александр Тварадзе <hozain@pisem.net.> Оригинал статьи находится здесь http://sylvestre.ledru.info/howto/howto_qmail_vpopmail.php Это руководство создано с целью описать, что требуется для построения почтового сервера на базе qmail с поддержкой протоколов SMTP, POP3, IMAP. Администрирование и мониторинг работы данного сервера будет производиться через web-интерфейс. Почта, проходящая через сервер, будет проверяться на наличие вирусов и спама. Для установки потребуются следующие программы: - qmail (http://www.qmail.org) - vpopmail как POP3 сервер (http://www.inter7.com/?page=vpopmail) - courier-imap как IMAP сервер (http://www.inter7.com/courierimap/INSTALL.html) - spamassassin как спам-фильтр (http://www.spamassassin.org) - tcpserver как замена inetd (http://cr.yp.to/ucspi-tcp/tcpserver.html) - qmail-scanner ( http://qmail-scanner.sourceforge.net/) - qmail-scanner ( http://xoomer.virgilio.it/j.toribio/qmail-scanner/) - qms-analog ( http://www.qms-analog.teel.ws/) - ezmlm в качестве рассыльщика почты (http://www.ezmlm.org/) - qmailadmin для администрирования почтовых аккаунтов (http://inter7.com/qmailadmin/) - vqadmin для администрирования почтовых доменов (http://www.inter7.com/vqadmin.html) - qmailmrtg для отслеживания работы сервера(http://inter7.com/mrtg.html) - isoqlog для детальных отчетов использования сервера(http://www.enderunix.org/isoqlog/) - squirrelmail в качестве web-интерфейса к почте (http://www.squirrelmail.org/) - IMAP Proxy для кеширования IMAP запросов (http://freshmeat.net/projects/imapproxy) Данное руководство применимо для построения почтового сервера без особых изменений на разных дистрибутивах Linuxa и *BSD системах. 1. Qmail 1.1 Создание пользователей и групп 1.2 Создание каталогов 1.3 Установка qmailа 2. Установка Daemon tools 2.1 Maildrop 3. TcpServer 4. Vpopmail 5. Autorespond 6. GDBM 7. Ezmlm 8. Spamassassin 9. Clamav - Antivirus 10. qmail-scanner 11. Скрипты и каталоги 11.1 Синонимы и каталоги по умолчанию 11.2 Запуск Supervise/Svscan 11.3 Скрипты для POP сервера 11.4 Скрипты для SMTP сервера 12. QmailAdmin 13. VQAdmin 14. Courier 15. IMAP Proxy 16. Squirrelmail 17. Isoqlog 18. Qmailmrtg 19. Утилиты 20. Замечания для дистрибутива RedHat Linux 21. Файлы 22. Ссылки 1. Установка Qmail http://www.qmail.org 1.1 Создание пользователей и групп для Qmailа и Vpopmailа. Создадим группы и пользователей под отдельными идентификаторами (соответственно для групп gid, для пользователей uid). Это делается из соображений безопасности. mkdir /var/qmail groupadd -g 98 vchkpw useradd -u 98 -g 98 -c Vpopmail-Master -d /home/vpopmail -s /bin/false vpopmail groupadd -g 91 nofiles groupadd -g 92 qmail useradd -u 91 -g 91 -d /var/qmail/alias -s /bin/false alias useradd -u 92 -g 91 -d /var/qmail -s /bin/false qmaild useradd -u 93 -g 91 -d /var/qmail -s /bin/false qmaill useradd -u 94 -g 91 -d /var/qmail -s /bin/false qmailp useradd -u 95 -g 92 -d /var/qmail -s /bin/false qmailq useradd -u 96 -g 92 -d /var/qmail -s /bin/false qmailr useradd -u 97 -g 92 -d /var/qmail -s /bin/false qmails # Для дистрибутивов RedHat/Fedora uid 97 заменим на 90, # поскольку программа dovecot использует данный uid в этих дистрибутивах. Если в файле /etc/shells нет строки /bin/false, то добавим ее. echo "/bin/false" >> /etc/shells 1.2 Создание каталогов для логов и модулей. mkdir /var/log/qmail mkdir /var/log/qmail/qmail-send mkdir /var/log/qmail/qmail-smtpd mkdir /var/log/qmail/qmail-pop3d chown -R qmaill.root /var/log/qmail chmod -R 750 /var/log/qmail 1.3 Установка qmail / netqmail. В данном случае используем netqmail, который представляет собой qmail с набором патчей (http://qmail.agarik.com/netqmail/CHANGES). Почему они не включены в поставку qmailа? Таковы требования лицензионного соглашения автора Qmailа профессора Бернштейна. wget http://qmail.agarik.com/netqmail-1.05.tar.gz tar -zxvf netqmail-1.05.tar.gz cd netqmail-1.05/ ./collate.sh cd netqmail-1.05 Вы получите сообщение похожее на это: You should see 7 lines of text below. If you see anything else, then something might be wrong. [1] Extracting qmail-1.03... tar: Read 1024 bytes from - [2] Patching qmail-1.03 into netqmail-1.05. Look for errors below: 24 [4] The previous line should say 24 if you used GNU patch. [5] Renaming qmail-1.03 to netqmail-1.05... [6] Continue installing qmail using the instructions found at: [7] http://www.lifewithqmail.org/lwq.html#installation Редактируем файл conf-split (увеличиваем количество подкаталогов, на которые разделяется очередь) Если очередь хранится в разделе с ReiserFS, то установим значение conf-split равным 1. 23 Заменяем 23 на 199 затем редактируем файл conf-spawn 120 Заменяем 120 на 255 Компилируем qmail: wget http://www.qmail.org/qmail-1.03-mfcheck.3.patch wget http://sylvestre.ledru.info/howto/qmail/netqmail-maildir++.patch patch -p1 < qmail-1.03-mfcheck.3.patch patch -p1 < netqmail-maildir++.patch Применяем патч для поддержки квот на почтовые ящики make WITH_QMAILQUEUE_PATCH=yes setup check Компилируем qmail с поддержкой WITH_QMAILQUEUE_PATCH, который необходим для работы qmail-scanner ./config-fast vladimir.avence.info Заменяем vladimir.avence.info на DNS имя вашего сервера echo 255 > /var/qmail/control/concurrencyremote chmod 644 /var/qmail/control/concurrencyremote Если требуется проверять наличие DNS записи для IP адреса подключающегося по smtp клиента, то выполняем следующую команду echo 1 > /var/qmail/control/mfcheck 2. Установка Daemon tools http://cr.yp.to/daemontools.html Для компиляции daemontools с библиотеками Glib версии 2.3.1 требуется использовать патч. mkdir /package chmod 1755 /package cd /package wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz tar -zxvf daemontools-0.76.tar.gz mv admin/daemontools-0.76/ daemontools-0.76 rmdir admin/ wget http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/daemontools-0.76.errno.patch patch -p0 < daemontools-0.76.errno.patch cd daemontools-0.76/ ./package/install cd .. rm daemontools-0.76.tar.gz daemontools-0.76.errno.patch Для проверки установилось ли все правильно, проверьте есть ли ссылки в каталоге /command/ в каталог /package/daemontools/command/. 2.1 Maildrop http://www.flounder.net/~mrsam/maildrop/ wget http://mesh.dl.sourceforge.net/sourceforge/courier/maildrop-1.8.0.tar.bz2 tar -jxvf maildrop-1.8.0.tar.bz2 cd maildrop-1.8.0/ ./configure make make install Для проверки правильности установки проверьте, существует ли файл /usr/local/bin/maildrop. 3. TCPServer http://cr.yp.to/ucspi-tcp.html TCPserver используется для управления сетевыми подключениями. Список сетей которым доступна пересылка писем через почтовый сервер может храниться двумя путями: - классический путь использование файла ~vpopmail/etc/tcp.smtp - список сетей, которым доступна пересылка писем, хранятся в базе Mysql (информация по установке патча) Какой способ лучше? Это зависит от того, что Вам нужно. Решение с использованием Mysql позволяет более гибко и легче настраивать список сетей, которым разрешена пересылка писем. Общие для обоих вариантов действия: wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz tar -zxvf ucspi-tcp-0.88.tar.gz cd ucspi-tcp-0.88 Установка патчей для решения проблем при компиляции с qlibc. wget http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.a_record.patch patch -p1 < ucspi-tcp-0.88.a_record.patch wget http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.errno.patch patch -p1 < ucspi-tcp-0.88.errno.patch wget http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.nobase.patch patch -p1 < ucspi-tcp-0.88.nobase.patch Вариант 1: Классический путь (использование файла ~vpopmail/tcp.smtp) : make make setup check mkdir -p /home/vpopmail/etc/ Установка списка сетей, которым разрешена пересылка писем, производится путем редактирования файла /home/vpopmail/etc/tcp.smtp. 127.0.0.1:allow,RELAYCLIENT="" 198.168.1.:allow,RELAYCLIENT="" Поменяйте адрес 192.168.х.х на адреса Вашей сети :allow,QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" /usr/local/bin/tcprules /home/vpopmail/etc/tcp.smtp.cdb \ /home/vpopmail/etc/tcp.smtp.tmp < /home/vpopmail/etc/tcp.smtp chmod 644 /home/vpopmail/etc/tcp.smtp.cdb Вариант 2: Использование базы MySQL: wget http://sylvestre.ledru.info/howto/qmail/ucspi-tcp-0.88-mysql.patch patch -p0 < ucspi-tcp-0.88-mysql.patch Нужно сконфигурировать параметры доступа к базе mysql. Для этого отредактируем файл /var/qmail/control/sql. server sql.mailserver.com port 3306 database vpopmail table relay user vpopmail_edit pass vpass time 1800 Создаем таблицу: CREATE TABLE relay ( ip_addr char(18) NOT NULL default '', timestamp char(12) default NULL, PRIMARY KEY (ip_addr) ); В качестве примера конфигурации с использованием mysql, рассмотрим несколько записей. Если требуется наличие адреса, которому постоянно разрешена пересылка через сервер, то нужно вручную добавить запись об этом. Например, для постоянного разрешения пересылки с адреса 127.0.0.1 нужно дать следующие команды: mysql> insert into relay (ip_addr) values ('127.0.0.1'); mysql> select * from relay; ip_addr timestamp 62.210.141.XX 1094032768 217.167.120. NULL 80.201.115.XX 1094032739 212.239.131.XX 1094027678 127.0.0.1 NULL 5 rows in set (0.00 sec) 4. vpopmail http://www.inter7.com/?page=vpopmail Vpopmail используется в качестве виртуального POP сервера (т.е. не привязанного к файлу /etc/passwd). Создадим базу vpopmail и двух пользователей. Первый пользователь имеет доступ к базе , другой может ее модифицировать. Например, подключаемся к mysql (mysql -u root -p) и даем следующие команды : mysql> create database vpopmail; mysql> grant update, create, delete, insert, select on vpopmail.* to vpopmail_edit@localhost identified by "vpass"; -- Поменяйте localhost на имя сервера с vpopmail mysql> flush privileges; Если ниже следующая команда проходит без ошибок, то база vpopmail будет нормально работать. [sly@reloaded] ~$ mysql -h localhost -u vpopmail_edit -pvpass vpopmail Усли появляются сообщения об ошибках, то обратитесь к документации по mysqlу. Для vpopmail 5.4.X, последней версии vpopmail (выпущена 1 февраля 2004) делаем следущее. wget http://heanet.dl.sourceforge.net/sourceforge/vpopmail/vpopmail-5.4.9.tar.gz tar -zxvf vpopmail-5.4.9.tar.gz mkdir -p ~vpopmail/etc/ cd vpopmail-5.4.9/ echo "localhost|0|vpopmail_edit|vpass|vpopmail" > ~vpopmail/etc/vpopmail.mysql chown vpopmail.vchkpw ~vpopmail/etc/vpopmail.mysql chmod 640 ~vpopmail/etc/vpopmail.mysql apt-get install libmysqlclient10-dev Если вы используете дистрибутив Debian, могут потребоваться исходники mysql apt-get install zlib1g-dev Если вы используете дистрибутив Debian, могут потребоваться исходники mysql (Спасибо Ken MacFerrin). ./configure --enable-roaming-users=y --enable-logging=y --enable-ip-alias-domains=y\ --enable-auth-module=mysql --enable-clear-passwd=n --enable-libdir=/usr/include/mysql/\ --enable-tcpserver-path=/home/vpopmail/etc/ --enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp \ --enable-qmail-ext --enable-logging=e --enable-tcprules-prog=/usr/local/bin/tcprules \ --enable-rebuild-tcpserver-file --enable-mysql-limits --enable-domainquotas # Для дистрибутивов Redhat/Fedora, поменяйте /usr/include/mysql на /usr/lib/mysql Если вы используете вариант контроля доступа на базе mysql, то удалите опцию --enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp make make install-strip Опция roaming означает, что если пользователь проверяет свой ящик, то это открывает smtp соединение только для этого пользователя. Теперь отредактируем список задач для планировщика: crontab -e и добавим следующую сточку : 40 * * * * /home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null Каждый раз скрипт clearopensmtp запускается, проверяя список IP-адресов, которые имеют право на пересылку через smtp сервер, находя те, чья отметка о времени старее, чем указанно в опции --enable-relay-clear-minutes (По умолчанию 3 часа). Найденные устаревшие соединения удаляются. Для проверки правильности установки, дайте команду /home/vpopmail/bin/vadddomain. Если в ответ получите, что-то вроде "vmysql: sql error[c]: MySQL server has gone away" or "Failed while attempting to add user to auth backend", значит у вас проблемы с пользователем в mysql. (Если не получили похожего сообщения, то значит все работает) 5. Autorespond http://www.inter7.com/index.php?page=software Данный пакет предназначен для реализации функции автоответчика на приходящие письма. wget http://www.inter7.com/devel/autorespond-2.0.2.tar.gz tar -zxvf autorespond-2.0.2.tar.gz cd autorespond-2.0.2 make make install 6. gdbm (операции с базами данных) http://www.gnu.org/software/gdbm/ wget ftp://mirrors.kernel.org/gnu/gdbm/gdbm-1.8.3.tar.gz tar -zxvf gdbm-1.8.3.tar.gz cd gdbm-1.8.3/ ./configure make make install 7. Ezmlm (Easy Mailing List manager) http://www.ezmlm.org/ Ezmlm это пакет управления списками рассылки. wget http://sylvestre.ledru.info/howto/qmail/ezmlm-idx-0.40.tar.gz wget http://cr.yp.to/software/ezmlm-0.53.tar.gz wget http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/ezmlm-idx-0.53.400.unified_41.patch tar -zxvf ezmlm-0.53.tar.gz tar -zxvf ezmlm-idx-0.40.tar.gz mv ezmlm-idx-0.40/* ezmlm-0.53/ cd ezmlm-0.53 patch < idx.patch patch < ../ezmlm-idx-0.53.400.unified_41.patch отредактируйте файл sub_mysql/conf-sqlld replace: -L/usr/lib/mysql -lmysqlclient -lnsl -lm by: -L/usr/local/lib/mysql -lmysqlclient -lm make clean make make man make setup 8. Spamassassin http://spamassassin.apache.org/ Некоторая информация о связке spamassassin с qmail. Spamassassin это мощный пакет проверки писем на наличие спама. В основе принципа работы использование полученных письмом балов. Если сумма полученных письмом балов в ходе анализа превысило определенное значение (например, 5), то письмо помечается как спам (строчка ****SPAM**** в заголовок). Это дает возможность далее легко создать правило, которое будет отправлять такие сообщения в определенный каталог (например, для удаления). apt-get install spamassassin Если используете дистриутив Debian sarge (тестируется) wget http://old.spamassassin.org/released/Mail-SpamAssassin-2.64.tar.gz tar -zxvf Mail-SpamAssassin-2.64.tar.gz cd Mail-SpamAssassin-2.64 perl Makefile.PL make make install cp spamd/debian-rc-script.sh /etc/init.d/spamassassin # Можете заменить debian на redhat, solaris, netbsd, suse .. # в зависимости от используемого вами дистрибутива и операционной системы chmod +x /etc/init.d/spamassassin Отредактируйте файл /etc/init.d/spamassassin change DAEMON=/usr/sbin/spamd to : DAEMON=/usr/bin/spamd Создайте файл /etc/default/spamassassin и добавьте в него 2 строчки: ENABLED=1 OPTIONS="-v -m 50 --auto-whitelist" Этим самым вы указываете что нужно запускать сервер spamd базовый сервис spamassassinа (это дает лучшую производительность). -m 50: 50 потоков -v: работа с vpopmail --auto-whitelist: использование whitelist (белого списка сетей) Потом отредактируем файл /etc/mail/spamassassin/local.cf required_hits 6.0 rewrite_subject 1 report_header 1 use_terse_report 1 defang_mime 1 dns_available yes dcc_add_header 1 use_pyzor 1 (Только в случае если у вас установлен pyzor) use_razor2 1 (Только в случае если у вас установлен razor2) use_dcc 1 Затем запускаем spamassassin сервер и тестируем его: /etc/init.d/spamassassin start spamc < sample-spam.txt Выдаст результат реакции на обнаружение спама в сообщении spamc < sample-nonspam.txt Выдаст исходное письмо (чисто от спама) Для тестового сообщения, содержащего спам, получим что-то вроде: X-Spam-Level: ************************************************** X-Spam-Status: Yes, hits=1000.0 required=6.0 tests=GTUBE autolearn=no version=2.60 Теперь можно использовать SpamAssassin в системе. 9. Clamav - Antivirus http://www.clamav.net/ Перед установкой clamav, вы должны установить unzoo, lha, arj и unzip (требуются для распаковки почтовых приложений). Under debian : apt-get install clamav groupadd clamav useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav [ Установите clamav из исходников ] 10. qmail-scanner http://qmail-scanner.sourceforge.net/, http://www.qms-analog.teel.ws/ (включая: http://xoomer.virgilio.it/j.toribio/qmail-scanner/) Qmail-scanner это разборщик почтовых сообщений (похож на Amavis). Qmail-scanner разбирает каждое почтовое сообщение и вызывает spamassassin и/или clamav для проверки. Я использую новую версию qmail-scannerа, которая имеет следующие возможности: авто удаление/возврат/помещение в карантин сообщений со спамом, а также возможности выбора набора антивирусных сканеров для каждого домена и пользователя. Вам потребуется установить пакет perl-suid. (Например, apt-get install perl-suid) wget http://unc.dl.sourceforge.net/sourceforge/qmail-scanner/qmail-scanner-1.24.tgz wget http://optusnet.dl.sourceforge.net/sourceforge/qms-analog/qms-analog-0.4.0.tar.gz wget http://untroubled.org/qlogtools/qlogtools-3.1.tar.gz wget http://cr.yp.to/software/qmailanalog-0.70.tar.gz wget http://mirrors.kangaroot.net/qmail/rpms/glibc-2.3.1/qmailanalog-0.70.errno.patch wget http://www.qmailrocks.org/downloads/patches/qlogtools_errno.patch tar -zxvf qmailanalog-0.70.tar.gz cd qmailanalog-0.70 patch < ../qmailanalog-0.70.errno.patch make setup check cd .. tar -zxvf qlogtools-3.1.tar.gz cd qlogtools-3.1 patch < ../qlogtools_errno.patch make cp tai64n2tai /usr/local/bin/ cd .. tar -zxvf qms-analog-0.4.0.tar.gz cd qms-analog-0.4.0 make install cp qmailstats /var/qmail/bin/ qmailstats это скрипт, который вызывает qms-analog и qmailanalog. Отредактируйте для изменения адреса назначения: ## этот адрес будет использоватся в заголовке сообщения cd .. tar -zxvf qmail-scanner-1.24.tgz cp qms-analog-0.4.0/qmail-scanner-1.24-st-qms-20041102.patch qmail-scanner-1.24 cd qmail-scanner-1.24/ patch -p1 < qmail-scanner-1.24-st-qms-20041102.patch groupadd qscand useradd -c "Qmail-Scanner Account" -g qscand -s /bin/false qscand Отредактируйте файл qms-config-monitor и измените в нем то, что вам необходимо. Например, мой файл выглядит так: ./configure --domain trunks.ecranbleu.org \ --admin postmaster \ --local-domains "`cat /var/qmail/control/rcpthosts | tr "\n" ","`" \ --add-dscr-hdrs yes \ --dscr-hdrs-text "X-Antivirus-ecranbleu" \ --ignore-eol-check yes \ --sa-quarantine 0 \ --admin-fromname "Mail admin" \ --scanners-per-domain yes \ --sa-delete 5 \ --sa-reject no \ --sa-subject "*****SPAM*****" \ --sa-alt no \ --sa-debug no \ --notify sender,recips \ --redundant yes \ --qms-monitor yes \ --qms-monitor-accts "sly@hitomi.ecranbleu.org" \ --qms-monitor-dests "domain.org/sylvestre/Maildir/new" \ "$INSTALL" ./qms-config-monitor ./qms-config-monitor install Если вы хотите включить/отключить какие-либо сканеры, то отредактируйте файл /var/spool/qmailscan/scanners_per_domain.txt Для обновления файла со списками сканеров для доменов выполните: /var/qmail/bin/qmail-scanner-queue.pl -p Для обновления списка разрешенных/запрещенных приложений в электронных письмах выполните: /var/qmail/bin/qmail-scanner-queue.pl -g Например: trunks.ecranbleu.org:sa,ps,clamdscan_scanner # sa = spamassassin # ps = perl scanner 11. Скрипты и каталоги 11.1 Синонимы и каталоги mkdir ~alias chown alias.qmail ~alias echo tech > /var/qmail/alias/.qmail-root echo tech > /var/qmail/alias/.qmail-postmaster echo tech > /var/qmail/alias/.qmail-mailer-daemon chmod 2755 ~alias chmod 644 ~alias/.qmail* Отредактируйте файл /var/qmail/users/assign +avence.info-:avence.info:98:98:/home/vpopmail/domains/avence.info:-:: # Измените имя домена avence.info на требуемое вам. . Не забудьте точку в конце файла. 11.2 Запуск Supervise/Svscan mkdir /service chmod 755 /service mkdir /var/qmail/supervise chmod 755 /var/qmail/supervise mkdir /var/qmail/supervise/qmail-smtpd mkdir /var/qmail/supervise/qmail-smtpd/log chmod +t /var/qmail/supervise/qmail-smtpd mkdir /var/qmail/supervise/qmail-send mkdir /var/qmail/supervise/qmail-send/log chmod +t /var/qmail/supervise/qmail-send mkdir /var/qmail/supervise/qmail-pop3d mkdir /var/qmail/supervise/qmail-pop3d/log chmod +t /var/qmail/supervise/qmail-pop3d ln -s /var/qmail/supervise/* /service/ Отредактируйте файл /var/qmail/rc #!/bin/sh exec env - PATH="/var/qmail/bin:/usr/local/bin" \ qmail-start ./Maildir/ Затем: chmod 700 /var/qmail/rc 11.3 pop3 Отредактируйте файл /var/qmail/supervise/qmail-pop3d/run #!/bin/sh exec /usr/local/bin/tcpserver -H -R -v -c100 0 pop3 /var/qmail/bin/qmail-popup \ vladimir.avence.info /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1 #Измените имя домена vladimir.avence.info на требуемое вам. Вызывается pop сервер посредством пакета tcpserver с проверкой логина/пароля пользователя (используются qmail-popup и vchkpw). -R : не нужно запрашивать значение $TCPREMOTEINFO -H : не нужно проверять имя узла -v : verbose -c : количество одновременно обслуживаемых подключений 0 : IP-адрес сервера (0 означает разрешить подключения на любые локальные адреса) pop3 : используемый порт (может быть определен в файле /etc/services, а также введен как целое число) qmail-popup : эта программа читает логин и пароль POP пользователя и вызывает программу (в данном случае программу vchkpw) vchkpw : эта программа производит аутенфикацию POP пользователя и предоставляет ему доступ в его pop каталог qmail-pop3d : эта программа обеспечивает доставку писем посредством протокола POP3 затем : chmod 755 /var/qmail/supervise/qmail-pop3d/run Отредактируйте файл /var/qmail/supervise/qmail-pop3d/log/run #!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s100000 n20 \ /var/log/qmail/qmail-pop3d 2>&1 Вызов программы multilog под тем же uid (идентификатор пользователя) и gid (идентификатор группы) который используется при вызове программы qmail-pop3d. Опция t означает что в лог-файле будут временные отметки в начале каждой записи (формат tai64n). s100000: размер лог-файла (в данном случае размер файла будет 100 000 байт). Значение может быть от 4096 до 16777215. n20: количество лог-файлов (в данном случае 20). Минимальное значение 2. Затем: chmod 755 /var/qmail/supervise/qmail-pop3d/log chmod 755 /var/qmail/supervise/qmail-pop3d/log/run 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 Если вы используете вариант контроля доступа на базе mysql базы для tcpserver, замените -x /home/vpopmail/etc/tcp.smtp.cdb опцией -S Запуск smtp сервера через пакет tcpserver с проверкой RBL-списка (список плохих сетей). -u: идентификатор пользователя от имени которого будет работать qmail-smtpd -g: идентефикатор группы которая будет использоваться qmail-smtpd -p : режим паранои (проверяется совпадает ли адрес удаленного узла с записью в DNS) -R : не пытаться получить значение $TCPREMOTEINFO -v : verbose -c : количество одновременно обслуживаемых соединений 0 : IP адрес сервера (0 означает разрешить подключения на любые локальные адреса) smtp : используемый порт (может быть определен в файле /etc/services, а также введен как целое число) rblsmtpd: эта программа блокирует прием почты из сетей занесенных в RBL-список (Я использую список с сайта relays.ordb.org) и вызывает программу (в данном случае 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 Вызов программы multilog под тем же uid (идентификатор пользователя) и gid (идентификатор группы) который используется при вызове программы qmail-smtpd. Опция t означает что в лог-файле будут временные отметки в начале каждой записи (формат tai64n). s100000: размер лог-файла (в данном случае размер файла будет 100 000 байт). Значение может быть от 4096 до 16777215. n20: количество лог-файлов (в данном случае 20). Минимальное значение 2. Затем: chmod 755 /var/qmail/supervise/qmail-smtpd/log chmod 755 /var/qmail/supervise/qmail-smtpd/log/run отредактируйте файл /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 отредактируйте файл /var/qmail/supervise/qmail-send/log/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 Следующей командой вы генерируете стандартный Maildir (т.е когда вы создаете нового пользователя, каталог Maildir будет скопирован автоматически) : /var/qmail/bin/maildirmake /etc/skel/Maildir Зависит от дистрибутива Linuxа Наконец нужна создать скрипт для запуска серверов при загрузке. В дистрибутиве Debian, он должен быть в каталоге /etc/init.d/. Например это может быть /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/tcp.smtp chmod 644 /home/vpopmail/etc/tcp.smtp* echo "Reloaded /home/vpopmail/etc/tcp.smtp." ;; *) echo "Usage: $0 {start|stop|restart|doqueue|reload|stat|pause|cont|cdb|queue}" exit 1 esac exit 0 chmod 750 /etc/init.d/qmail 12. Qmailadmin http://www.inter7.com/?page=qmailadmin/ QmailAdmin это web-интерфейс для управления пользователями. wget http://heanet.dl.sourceforge.net/sourceforge/qmailadmin/qmailadmin-1.2.3.tar.gz tar -zxvf qmailadmin-1.2.3.tar.gz cd qmailadmin-1.2.3/ ./configure --enable-htmldir=/var/www/qmailadminhtml --enable-imagedir=/var/www/images \ --enable-imageurl=/images --enable-cgibindir=/var/www/cgi-bin/ \ --enable-autoresponder-bin=/usr/local/bin --enable-vpopuser=vpopmail \ --enable-ezmlmdir=/usr/local/bin/ezmlm/ --enable-ezmlmidx=y \ --enable-modify-quota --disable-ipauth --enable-help Измените каталоги применительно к конфигурации вашего сервера make make install-strip Если при компиляции qmailadmin вы получаете сообщение похожее на нижеследующее: gcc -I. -g -O2 -c qmailadmin.c qmailadmin.c:29:22: vpopmail.h: No such file or directory qmailadmin.c:30:19: vauth.h: No such file or directory попробуйте выполнить следующую команду: echo "-I/home/vpopmail/include" >> /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 Теперь нужно сконфигурировать web-сервер, указав каталог cgi-bin для qmailadmin. Например, для web-сервера Apache : <VirtualHost 217.167.120.134> ServerAdmin sylvestre@ecranbleu.org DocumentRoot /var/www/ ServerName qmailadmin.avence.info ErrorLog logs/qmailadmin.avence.info-error.log CustomLog logs/qmailadmin.avence.info-access.log combined <Directory /var/www/> AllowOverride AuthConfig Limit Options SymLinksIfOwnerMatch Includes </Directory> ScriptAlias /cgi-bin/ /var/www/cgi-bin/ ScriptAlias /global-cgi/ /usr/lib/cgi-bin/ </VirtualHost> Если в логе web-сервера Apache появляется ошибка, похожая на нижеследующую: [Tue Aug 10 18:10:23 2004] [error] [client xx.xx.xx.xx] Premature end of script headers: /var/www/cgi-bin/qmailadmin то это может быть связанно с конфигурацией вашего web-сервера Apache. Похожая проблема всречалась у меня, был активирован suexecin: закомментируйте строчки User/Group (Спасибо Julien Lefevre). 13. Vqadmin http://inter7.com/vqadmin.html 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 Добавим все следующие директивы в конфигурацию web-сервера Apache - httpd.conf (например это может быть виртуальный домен qmailadmin) : <Directory "/var/www/cgi-bin/vqadmin"> deny from all Options ExecCGI AllowOverride AuthConfig Order deny,allow </Directory> Вы можете добавить авторизацию для входа на страницы при помощи htaccess. Для этого отредактируйте файл /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 /var/www/cgi-bin/vqadmin/.htaccess # Для дистрибутивов RedHat Linux значения user/group соответственно # будут nobody/nogroup chmod 600 /var/www/cgi-bin/vqadmin/.htaccess htpasswd -bc /etc/apache/vqadmin.passwd admin adminpass 14. Courier http://www.inter7.com/courierimap/INSTALL.html http://www.courier-mta.org/download.php#imap Пакет Сourier используется в нашем случае как IMAP сервер. Начиная с новой версии в ней используется сторонняя библиотека authlib, которая реализовывает функции авторизации. wget http://unc.dl.sourceforge.net/sourceforge/courier/courier-authlib-0.52.tar.bz2 tar -jxvf courier-authlib-0.52.tar.bz2 cd courier-authlib-0.52 ./configure --without-authpam --without-authldap --without-authpwd \ --without-authmysql --without-authpgsql --without-authshadow \ --without-authuserdb --without-authcustom --without-authcram \ --without-authdaemon --with-authvchkpw make make install make install-configure wget http://unc.dl.sourceforge.net/sourceforge/courier/courier-imap-4.0.0.tar.bz2 tar -jxvf courier-imap-4.0.0.tar.bz2 cd courier-imap-4.0.0 export CFLAGS="-DHAVE_OPEN_SMTP_RELAY -DHAVE_VLOGAUTH" ./configure --prefix=/usr/local/courier-imap --disable-root-check \ --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 то проинсталлируйте библиотеки ssl-development (Для дистрибутивов Debian Linux apt-get install libssl-dev) Если вы получаете сообщения об ошибках в библиотеках vpopmail, воспользуйтесь следующими двумя командами (спасибо Alberto Manzoni) echo "-I/home/vpopmail/include/" > /home/vpopmail/etc/inc_deps echo "-L/home/vpopmail/lib -lvpopmail" > /home/vpopmail/etc/lib_deps Но если получаете ошибки из vpopmail похожие на нижеследующую: /home/vpopmail/lib/libvpopmail.a(vauth.o) in function `vauth_open_update': то проверьте наличие в файле /home/vpopmail/etc/lib_deps строчек вида: -L/home/vpopmail/lib -lvpopmail -L/usr/include/mysql/ -lmysqlclient -lz -lcrypt После установки вы можете отредактировать некоторые конфигурационные файлы. В файле /usr/local/courier-imap/etc/imapd, поменяйте строчки TCPDOPTS / AUTHMODULES на нижеследующие: TCPDOPTS="-nodnslookup -noidentlookup -user=vpopmail -group=vchkpw" В заключение не забудьте поменять в нижеследующей строчке значение (она находится в конце файла) IMAPDSTART=NO На YES Если нужна поддержка шифрации протокола IMAP используем imap-ssl, в файле /usr/local/courier-imap/etc/imapd-ssl указываем IMAPDSSLSTART=YES В файле /usr/local/courier-imap/etc/imapd.cnf SSL сертификаты: [...] [ 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 [...] Для поддержки шифрации протокола POP3 используем pop3d-ssl, в файле /usr/local/courier-imap/etc/pop3d-ssl указываем POP3DSSLSTART=YES Если вы хотите запустить IMAP сервер: /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 Если вы хотите изменить сертификат вы должны использовать следующие команды (после удаления pem-файла): /usr/local/courier-imap/share/mkimapdcert /usr/local/courier-imap/share/mkpop3dcert 15. IMAP Proxy http://freshmeat.net/projects/imapproxy/ Пакет Imapproxy используем для уменьшения времени соединения между imap-клиентом и сервером (IMAP Proxy) wget http://www.imapproxy.org/downloads/up-imapproxy-1.2.2.tar.gz tar -zxvf up-imapproxy-1.2.2.tar.gz cd up-imapproxy-1.2.2 ./configure make make install make install-conf make install-init Для компиляции пакета imapproxy вам потребуются библиотека ncurses-5-dev (apt-get install libncurses5-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` (возможно это требуется только для дистрибутивов Debian) Отредактируйте файл /etc/imapproxy.conf применительно к вашей конфигурации. В большинстве случаев достаточно поменять только нижеследующие строки: - server_hostname vladimir.avence.info Поменяйте на название вашего сервера - proc_groupname nobody Для дистибутивов Debian поменяйте на "nogroup" - listen_port 144 Если вы будете запускать пакет imap proxy на том же сервере где будет работать courier-imap, то поменяйте данную строку (т.е. значение не должно быть равным 143, это порт IMAP сервера) . В противном случае IMAP proxy работать не будет 16. Squirrelmail http://www.squirrelmail.org/ wget http://heanet.dl.sourceforge.net/sourceforge/squirrelmail/squirrelmail-1.4.3a.tar.gz tar xzvf squirrelmail-1.4.3a.tar.gz cd squirrelmail-1.4.3a mkdir attachments chown -R www-data data attachments chmod go-w data attachments chgrp www-data data attachments cd config ./conf.pl Поменяйте следующие параметры (вы также можете использовать большое количество дополнений для пакета squirremail): ORGANIZATION PREFERENCES Измените название. SERVER SETTINGS Измените название домена Измените IMAP сервер # Не забудьте установить ip-адрес/порт для пакета IMAP Proxy # (иначе наличие пакета потеряет всякий смысл) Измените SMTP сервер GENERAL OPTIONS Измените каталог данных (необязательно). Измените каталог для хранения приложений к письмам Установите предопределенные значения для определенных et IMAP серверов Select courier = Courier IMAP server Select courier = Courier IMAP server Добавьте виртуальный домен в конфигурацию вашего web-сервера и перезапустите его: <VirtualHost 217.167.120.134> ServerAdmin sylvestre@ecranbleu.org DocumentRoot /var/www/webmail.avence.info ServerName webmail.avence.info ServerAlias mail.avence.info ErrorLog logs/webmail.avence.info-error.log CustomLog logs/webmail.avence.info-access.log combined </VirtualHost> Пакет webmail установлен. Протестируйте его по адресу http://webmail.xxxxxxxxxxxxx.xxx/. 17. Isoqlog http://www.enderunix.org/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 Отредактируйте таблицу заданий crontab, поместив в нее следующую строку (программа isoqlog будет запускаться каждые 58 минут): 58 * * * * /usr/local/bin/isoqlog 1>/dev/null 2>/dev/null Просмотреть полученные отчеты: http://yourhost/qmail-stats/isoqlog/ 18. QmailMrtg http://www.inter7.com/?page=qmailmrtg7 Здесь можно увидеть примеры выдаваемых отчетов Если у вас не установлен пакет mrtg, то вы должны его установить. wget http://www.inter7.com/qmailmrtg7/qmailmrtg7-4.2.tar.gz tar -zxvf qmailmrtg7-4.2.tar.gz cd qmailmrtg7-4.2 make make install mkdir -p /var/www/qmail-stats/mrtg/ cp index.html /var/www/qmail-stats/mrtg/ Сохраните этот файл в каталог /etc/. Он представляет собой измененный конфигурационный файл с правильными путями к лог-файлам. Измените эти пути согласно вашей конфигурации. Выполните эту командуRun 3 раза: /usr/bin/mrtg /etc/qmail.mrtg.cfg Вы можете получить сообщения об ошибках. Не беспокойтесь об этом. В любом случае вы можете проверить создались ли новые файлы в каталоге /var/www/qmail-stats/mrtg/ Отредактируйте таблицу заданий crontab, поместив в нее следующую 2-57/5 * * * * /usr/bin/mrtg /etc/qmail.mrtg.cfg > /dev/null Просмотреть полученные отчеты: http://yourhost/qmail-stats/mrtg/ 19. Утилиты В данном разделе приводится пример утилиты позволяющей просматривать содержимое почтовой очереди qmail и определять от кого и кому посылается письмо. Данная утилита называется qmhandle wget http://cesnet.dl.sourceforge.net/sourceforge/qmhandle/qmhandle-1.2.0.tar.gz tar -zxvf qmhandle-1.2.0.tar.gz Ниже приведен пример выдаваемой утилитой информации при запуске ее с параметром l (qmHandle -l): 109816 (167, R) Return-path: 294drowzow@sentry33221.com From: "Johnny Champion" To: at@choum.com Subject: *****SPAM***** A platinum card who cares? dpplo Date: Sun, 04 Jan 04 08:41:16 GMT Size: 8009 bytes Вы также можете изменять содержимое почтовой очереди при помощи данной утилиты: -a : попробовать передать сообщения, находящиеся в очереди (qmail должен быть запущен) -l : получить список сообщений, находящихся в почтовой очереди -L : получить список локальных сообщений, находящихся в очереди -R : получить список не локальных сообщений, находящихся в очереди -s : получение некоторой статистики -mN : показать сообщение номер N -dN : удалить сообщение номер N -Stext : удалить все сообщения с темой содержащей образец text -D : удалить все сообщения из очереди (локальные и не локальные) 20. RedHat В дистрибутивах RedHat/Fedora вам потребуется установить следующие пакеты: yum update yum upgrade yum install mysql yum install mysql-server yum install mysql-devel yum install php-mysql yum install expect yum install perl-Time-HiRes yum install perl-suidperl Не забудьте отредактировать файл /etc/sysconfig/network для указания правильного имени сервера. Так же важно выполнить следующие действия: - Поменять идентефикатор пользователя (uid) qmails на 90 (вместо 97). - Изменить каталог mysql с /usr/include/mysql/ на /usr/lib/mysql 21. Файлы /etc/tcp.smtp [ Tcpserver ] /etc/mail/spamassassin/local.cf [ Spamassassin ] /etc/default/spamassassin [ Spamassassin ] /var/qmail/supervise/qmail-pop3d/run [ qmai ] /var/qmail/supervise/qmail-pop3d/log/run [ qmail ] /var/qmail/supervise/qmail-smtpd/run [ qmail ] /var/qmail/supervise/qmail-smtpd/log/run [ qmail ] /var/qmail/supervise/qmail-send/run[ qmail ] /var/qmail/supervise/qmail-send/log/run[ qmail ] /usr/local/courier-imap/etc/imapd [ courier-imap ] /etc/init.d/qmail [ qmail ] /usr/local/etc/isoqlog.conf [ isoqlog ] /etc/qmail.mrtg.cfg [ qmailmrtg ] Ниже приведен список наиболее важных файлов: Control Default Used by Purpose badmailfrom none qmail-smtpd "Черный список" почтовых адресов (поле From) bouncefrom MAILER-DAEMON qmail-send Имя пользователя посылающего сообщение об ошибке bouncehost me qmail-send Название сервера пользователя посылающего сообщение об ошибке concurrencyincoming none /service/qmail-smtpd/run Максимальное количество одновременных входящих SMTP соединений concurrencylocal 10 qmail-send Максимальное количество одновременных локальных доставок concurrencyremote 20 qmail-send Максимальное количество одновременных нелокальных доставок defaultdelivery none /var/qmail/rc Файл .qmail по умолчанию defaultdomain me qmail-inject Файл, содержащий имя домена по умолчанию defaulthost me qmail-inject Файл, содержащий имя сервера по умолчанию databytes 0 qmail-smtpd Максимальный размер сообщения в байтах (0 - без ограничения) doublebouncehost me qmail-send Имя сервера отсылающего сообщения о вторичной ошибке doublebounceto postmaster qmail-send Пользователь, получающий сообщение о повторной ошибке envnoathost me qmail-send Домен по умолчанию для адресов без "@" helohost me qmail-remote Имя сервера, используемое в команде SMTP HELO idhost me qmail-inject Имя сервера для Message-ID's localiphost me qmail-smtpd Имя, подставляемое для локальных IP адресов locals me qmail-send Список доменов почта, для которых будет доставляться локально me FQDN of system Various Умолчание для управляющих файлов morercpthosts none qmail-smtpd Вторая база rcpthosts percenthack none qmail-send Домены для которых используется трансляция, базирующаяся на использовании символа "%" plusdomain me qmail-inject Домен используемый для отслеживания "+" qmqpservers none qmail-qmqpc IP адреса QMQP-серверов queuelifetime 604800 qmail-send Время (в секундах) которое сообщение может оставаться в очереди rcpthosts none qmail-smtpd Список доменов, для которых принимается почта smtpgreeting me qmail-smtpd Приветственное сообщение для SMTP сессии smtproutes none qmail-remote Дополнительные маршруты передачи SMTP-сообщений timeoutconnect 60 qmail-remote Таймаут ожидания (в секундах) SMTP-соединения timeoutremote 1200 qmail-remote Таймаут ожидания (в секундах) ответа удаленного сервера timeoutsmtpd 1200 qmail-smtpd Таймаут ожидания (в секундах) ответа SMTP-клиента virtualdomains none qmail-send Список виртуальных доменов и пользователей 22. Ссылки ---------- - QMAIL + Vpopmail + Sqwebmail + Qmailadmin + MySql : How-To for FreeBSD 4.x (v2.0) By Flattie McGee (ZA) 2001 Globelinks Communications. http://howto.globelinks.com/qmail-howto-freebsd.html - Life with qmail http://web.infoave.net/~dsill/lwq.html - REDHAT + QMAIL + OPENSSL + APACHE + PHP + MYSQL + VPOPMAIL (with MySQL accounts) + COURIER-IMAP + SQUIRRELMAIL (with MySQL prefs/addrbook), QMAIL-SCANNER + SPAMASSASSIN http://www.pipeline.com.au/staff/mbowe/isp/webmail-server.htm - Howto Qmail met vpopmail, qmailadmin, imapcourier, squirrelmail + vele extra's http://www.euronet.nl/users/erhnam/linux/qmail/qmail.htm

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Alexei A (?), 17:03, 24/02/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    почему-то vpopmail не компилится
     
     
  • 2.2, Alexei A (?), 17:50, 24/02/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >почему-то vpopmail не компилится
    gcc  -g -O2 -Wall   -o vchkpw  vchkpw.o md5.o hmac_md5.o libvpopmail.a  -lcrypt
    libvpopmail.a(vpopmail.o)(.text+0x791): In function 'vdeldomain':
    /usr/src/vpopmail-5.4.9/vpopmail.c:379: undefined reference to 'vdel_limits'
    libvpopmail.a(vpopmail.o)(.text+0xa55): In function 'vadduser':
    /usr/src/vpopmail-5.4.9/vpopmail.c:479: undefined reference to 'vget_limits'
    libvpopmail.a(vlimits.o)(.text+0x917): In function 'vlimits_setflags':
    /usr/src/vpopmail-5.4.9/vlimits.c:377: undefined reference to 'vget_limits'
    libvpopmail.a(maildirquota.o)(.text+0xa1): In function 'domain_over_maildirquota':
    /usr/src/vpopmail-5.4.9/maildirquota.c:94: undefined reference to 'vget_limits'
    collect2: ld returned 1 exit status

     
     
  • 3.3, Agressor (ok), 15:02, 25/02/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Hi All!
    У меня та же проблема! gcc-3.3.2
    Перерыл весь инет - толково никто ничего не может сказать!
    Помогайте, гуру...:)
     
     
  • 4.4, Agressor (ok), 14:17, 28/02/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Hi All!
    Да, нет програмистов на C которые могут подсказать в чем может быть дело.... Обидно.... Вымерли или переквалифицировались...
     
     
  • 5.11, Plexmen (?), 15:10, 15/06/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Не компилится потому что не установил MySQL-devel-xxxx.rpm
    Скрипт не находит библиотеки MySQL-я
     

  • 1.5, Alexei A (?), 16:43, 01/03/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    чего-то не сделал видно
    у меня все получилось при повторном заходе
     
  • 1.6, Sergey (??), 18:14, 10/03/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Courier-imap-4.0.0.tar.bz2 почему то не ставиться не срабатывает команда make. Система Fedora 3
     
     
  • 2.7, Agressor (ok), 18:25, 10/03/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >Courier-imap-4.0.0.tar.bz2 почему то не ставиться не срабатывает команда make. Система Fedora 3
    Читай экран. Там тебе явно написано что надо под Fedora сделать rpm пакет...
     

  • 1.8, Sergey (??), 17:33, 12/03/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ошибка /usr/local/bin/expect нужен для courier-authlib-0.55-1.3.i386 А expect пакет установлен в чем может быть проблема система   Fedora 3
     
     
  • 2.9, Agressor (ok), 19:27, 12/03/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >ошибка /usr/local/bin/expect нужен для courier-authlib-0.55-1.3.i386 А expect пакет установлен в чем может
    >быть проблема система   Fedora 3


    А стоит expect-devel ????

     

  • 1.10, sergey (??), 10:00, 14/03/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    expect-devel стоит
     
  • 1.12, Simol (??), 14:00, 16/06/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    4. vpopmail
    ....
    apt-get install libmysqlclient10-dev
    apt-get install zlib1g-dev

    Что это делает и как такое сделать на FreeBSD 5.4?

     
     
  • 2.14, GhostKS (?), 14:18, 09/08/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Тоже была такая проблема, решается очень просто. Значит забиваем на все apt-get install под фрёй, там где указывается libdir мускула в конфигуре - вырезаем, если будет ругаться что не видит - вставляем обратно и прописываем пути к библиотекам мускула (/usr/lib/mysql  /usr/local/lib/mysql ... или что там у вас)
     

  • 1.13, farhad (?), 01:38, 30/07/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    www.qmailrocks.org i mnogo dumat ne nado
     
  • 1.15, victor (??), 18:41, 09/10/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Oct  9 20:23:34 domain imapd-ssl: authdaemon: s_connect() failed: Permission denied

    такая вот ошибка
    права везде проставил как в мануале
    на что ещё смотреть?
    pop3-ssl
    система FreeBSD

     
     
  • 2.16, victor (??), 18:27, 10/10/2005 [^] [^^] [^^^] [ответить]  
  • +/
    cp /usr/local/lib/mysql/libmysqlclient.so.14 /usr/local/lib/courier-authlib

    ./courier-authdaemon.sh restart

     

  • 1.17, Style (??), 11:01, 18/10/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Очень, хорошая статейка... Ставил все вышеуказанное на FreeBSD 5.2
    Были проблемки со сборками некоторых програм (autorespond, courier-imap, authlib) пришлось собирать из портов и конфигурировать кое чего ручками.
    Relay делал с использованием mysql. И у меня был следующий глюк, когда SquirrelMail обращался к POP3, в таблицу Relay добавлялась запись в которой поле ip_addr было пустым, и соответсвенно, через мой сервер могли пересылать письма все кому не лень.. Так и не понял от чего это и просто подправил код TCPSerever'а, в файле db.c, в запрос из таблицы relay добавил условие where ip_addr <> ''; Пересобрал TCPServer и все заработало как надо...

    Спасибо большое за то, что потратили время на написание этой статьи..

     
  • 1.18, kosenka (??), 16:15, 10/11/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Все поставил, настроил, но когда я завожу пользователей через qmailadmin, то squirrelmail потом не дает заходить под этим пользователем. В чем может быть проблема?

    p.s. ASPLinux v10

     
  • 1.19, stas (??), 21:39, 27/01/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Поодскажите плиз,

    устанавливаю TCPServer

    все сделал по тексту

    выдает ошибку:

    ./compile ip4_scan.c
    ./compile scan_ulong.c
    ./compile str_chr.c
    ./compile str_diff.c
    ./compile str_len.c
    ./compile str_start.c
    ./compile uint16_pack.c
    ./compile uint16_unpack.c
    ./compile uint32_pack.c
    ./compile uint32_unpack.c
    ./makelib byte.a byte_chr.o byte_copy.o byte_cr.o \
    byte_diff.o byte_rchr.o byte_zero.o case_diffb.o \
    case_diffs.o fmt_ulong.o ip4_fmt.o ip4_scan.o scan_ulong.o \
    str_chr.o str_diff.o str_len.o str_start.o uint16_pack.o \
    uint16_unpack.o uint32_pack.o uint32_unpack.o
    ( ( ./compile trylsock.c && \
    ./load trylsock -lsocket -lnsl ) >/dev/null 2>&1 \
    && echo -lsocket -lnsl || exit 0 ) > socket.lib
    rm -f trylsock.o trylsock
    ./load tcpserver rules.o remoteinfo.o timeoutconn.o cdb.a \
    dns.a time.a unix.a byte.a 'cat socket.lib'
    tcpserver.o(.text+0x55f): In function 'doit':
    : undefined reference to 'errno'
    remoteinfo.o(.text+0x63): In function 'mywrite':
    : undefined reference to 'errno'
    remoteinfo.o(.text+0xe7): In function 'myread':
    : undefined reference to 'errno'
    timeoutconn.o(.text+0x41): In function 'timeoutconn':
    : undefined reference to 'errno'
    timeoutconn.o(.text+0xc7): In function 'timeoutconn':
    : undefined reference to 'errno'
    cdb.a(cdb.o)(.text+0xce): more undefined references to 'errno' follow
    collect2: ld returned 1 exit status
    make: *** [tcpserver] Error 1
    [root@mail ucspi-tcp-0.88]#

    Конечно, может быть сдесь элементарное, но я не cool в этом деле, подскажите хоть в каком направлении икаать,
    плиз.

    Система RH9.

     
  • 1.20, arruah (ok), 14:59, 01/03/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    еще бы кто написал подробно и на русском как qmail с  openldap подружить.
     
  • 1.21, Stanislav Lukash (?), 12:25, 21/03/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Доброго времени суток!
    Очень хорошая статейка! Огромное спасибо!
    Но на SUSE 9.3 до установки vpopmail-5.4.9.tar.gz
    при выполнении команды "make" перед "make install-strip" появляются две ошибки следующего содержания:
    make[2]: *** [vchkpw] Error 1
    make[2]: Leaving directory '/root/vpopmail-5.4.9'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory '/root/vpopmail-5.4.9'
    make: *** [all] Error 2
    Помогите пожалуйста!!!!!!!!!!!!
    Заранее спасибо
     
     
  • 2.22, muxx (?), 13:12, 14/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Ставь vpopmail-5.4.13
     

  • 1.23, Gabzya (ok), 14:10, 18/01/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    после >> ./configure --enable-htmldir=/var/www/qmailadminhtml --enable-imagedir=/var/www/images             --enable-imageurl=/images --enable-cgibindir=/var/www/cgi-bin/ --enable-vpopuser=vpopmail --enable-help
    >>
    пишет :
    >> configure: creating ./config.status
    >> config.status: creating Makefile
    >> sed: file /tmp/cst11664/subs-2.sed line 32: unterminated 's' command

    подскажите в чем трабла?

     
  • 1.24, Timothy (?), 14:56, 27/10/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    MySQL-devel установлен:
    # rpm -qa | grep mysql
    mysql-server-5.0.22-2.1
    mysql-bench-5.0.22-2.1
    mysql-5.0.22-2.1
    mysql-connector-odbc-3.51.12-2.2
    mysql-devel-5.0.22-2.1
    php-mysql-5.1.6-5.el5
    libdbi-dbd-mysql-0.8.1a-1.2.2
    mod_auth_mysql-3.0.0-3.1
    mysql-5.0.22-2.1
    mysql-devel-5.0.22-2.1
    Причина в чем-то другом... Ошибка такая:
    gcc  -g -O2 -Wall   -o vchkpw  vchkpw.o md5.o hmac_md5.o libvpopmail.a -L/usr/lib/mysql  -lmysqlclient -lz -lm -lcrypt
    /usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.so when searching for -lmysqlclient
    /usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.a when searching for -lmysqlclient
    /usr/bin/ld: cannot find -lmysqlclient
    collect2: выполнение ld завершилось с кодом возврата 1
    make[2]: *** [vchkpw] Ошибка 1
    make[2]: Leaving directory '/downloads/qmailrocks/vpopmail-5.4.20'
    make[1]: *** [all-recursive] Ошибка 1
    make[1]: Leaving directory '/downloads/qmailrocks/vpopmail-5.4.20'
    make: *** [all] Ошибка 2

    Подскажите, что делать?

     
  • 1.25, Hlth7df (?), 16:47, 21/07/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    устанавливать Vpopmail в /root  - это странно
     
  • 1.26, rrv (ok), 14:21, 20/11/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну если пишете про maildrop, не плохо бы указать примеры, а установить может любой дурак.
    Пример http://rrv.nsk.ru/wiki/index.php/Vpopmail_maildrop
     
  • 1.27, ivanov17 (?), 17:43, 30/07/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    После установки qmail a на Debian Lenny по инструкции с qmailrocks ru решил пост... большой текст свёрнут, показать
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру