Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...
OSzone.net Видео Unix Интернет Почта Построение полнофункционального почтового сервра на базе QMAIL RSS

Построение полнофункционального почтового сервра на базе QMAIL

Текущий рейтинг: 4.17 (проголосовало 6)
 Посетителей: 4127 | Просмотров: 5906 (сегодня 0)  Шрифт: - +
QMAIL + Vpopmail + courier-imap + Qmailadmin + MySql + Spamassassin +
clamav + Squirrelmail + stats (Isoqlog, qms-analog, qmailanalog & qmail
MRTG) на платформе Linux 

Автор Ledru Sylvestre <mailto:sylvestre@REMOVE-THIS-FAKE.ledru.info>
перевод Александр Тварадзе <mailto:hozain@REMOVE-THIS-FAKE.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
Иcточник: http://www.opennet.ru  •  Опубликована: 05.03.2005
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER
Теги:  


Оценить статью:
Вверх
Комментарии посетителей
Комментарии отключены. С вопросами по статьям обращайтесь в форум.