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). Это делается из
соображений безопасности.
В данном случае используем 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 имя вашего сервера
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.
Вариант 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"
В качестве примера конфигурации с использованием 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 соединение только для этого пользователя.
Теперь отредактируем список задач для планировщика:
Каждый раз скрипт 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
Некоторая информация о связке 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
(требуются для распаковки почтовых приложений).
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 и измените в нем то, что вам
необходимо. Например, мой файл выглядит так:
Вызывается 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
#!/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.
Если вы используете вариант контроля доступа на базе 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)
#!/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.
Если получаете сообщение об ошибке похожее на нижеследующее:
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 строка:
Если в логе 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
Пакет С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)
Пакет 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-сервера и
перезапустите его:
Пакет 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:
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, поместив в нее следующую
В данном разделе приводится пример утилиты позволяющей просматривать
содержимое почтовой очереди 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 вам потребуется установить следующие пакеты:
Не забудьте отредактировать файл /etc/sysconfig/network для указания
правильного имени сервера.
Так же важно выполнить следующие действия:
- Поменять идентефикатор пользователя (uid) qmails на 90 (вместо 97).
- Изменить каталог mysql с /usr/include/mysql/ на /usr/lib/mysql