Ключевые слова:qmail, imap, freebsd, ssl, (найти похожие документы)
From: Дмитрий Лутай <dimoon_lda@ukr.net.>
Newsgroups: http://dimoon.kiev.ua
Date: Mon, 20 May 2005 18:21:07 +0000 (UTC)
Subject: Установка Courier-IMAP в связке с qmail
Оригинал: http://dimoon.kiev.ua/modules.php?name=News&file=article&sid=12&mode=thread&order=0&thold=0
Установка Qmail+VpopMail+DrWeb+SpamAssassin+Courier IMAP & IMAP SSL+Qmailadmin+Squirrelmail
Сервер под управлением FreeBSD 4.6
Установка Qmail+VpopMail+DrWeb+SpamAssassin очень хорошо описана
здесь (http://www.opennet.dev/base/net/qmail_antispam.txt.html) и на ней
мы останавливаться не будем.
Установка Courier-IMAP.
Courier-IMAP - сервер, который обеспечивает доступ IMAP к Maildirs.
Maildir - структура каталогов для хранения входящей почты. Каталог в
формате Maildir состоит из трех подкаталогов: tmp, new и cur.
Каждый файл в каталоге new представляет собой новое доставленное
сообщение. Время модификации файла соответствует времени доставки
сообщения. Сообщение доставляется без дополнительной строки From_
(UUCP-style), без пустой строки в конце. Формат сообщения
соответствует RFC 822. Файлы в каталоге cur такие же, как в new, но
файлы в cur не являются уже 'новыми' почтовыми сообщениями: они были
просмотрены пользовательской программой чтения почты.
Каталог tmp используется для обеспечения гарантированной доставки
сообщений. Программа доставки производит следующие операции: переходит
в каталог Maildir; создает (с некими предварительными проверками
уникальности и отсутствия ошибок) файл tmp/time.pid.host, где time -
число секунд с 1970 года по времени GMT (Гринвичу), pid - ID процесса
доставки (гарантия уникальности - создается для каждой доставки
вызовом fork), host - имя машины; записывает сообщение в файл;
перемещает сообщение в new/time.pid.host.
Программа чтения почты просматривает каталог new на наличие новых
сообщений. Она может вывести содержимое нового сообщения new/unique,
удалить new/unique или переименовать сообщение в каталог
cur/unique:info (info эквивалентно полю Status, используемому
программами чтения почты в формате mbox). Программа чтения также
ожидает просмотра каталога tmp и удаляет обнаруженные там 'старые'
файлы с сообщениями. Файл из tmp может быть надежно удален, если к
нему не было доступа в течение 36 часов.
Итак, приступим....
Скачиваем пакет courier-imap-3.0.7.tar.bz2
bunzip courier-imap-3.0.7.tar.bz2
tar xvf courier-imap-3.0.7.tar
cd courier-imap-3.0.7
./configure --prefix=/usr/local --exec-prefix=/usr/local
--with-authvchkpw --without-authldap --disable-root-check --with-ssl
make && make install-strip
cd /usr/local/etc
Убедитесь, что файлы "imapd" и "imapd-ssl" существуют. Если они не
существуют, сделайте следующее:
cp imapd.dist imapd
cp imapd-ssl.dist imapd-ssl
cp authdaemonrc.dist authdaemonrc
С помощью любого редактора(например, ee) убедитесь в том, что
IMAPDSSLSTART=YES
Сохраните файл и закройте его.
cp /usr/local/libexec/imapd.rc /usr/local/etc/rc.d/imap.sh
cp /usr/local/libexec/imapd-ssl.rc /usr/local/etc/rc.d/imaps.sh
Теперь можно запустить IMAP и IMAP SSL...
/usr/local/etc/rc.d/imap.sh start
/usr/local/etc/rc.d/imaps.sh start
Если IMAP стартует правильно, "ps -auxw" должно показывать несколько
процессов типа "/usr/local/libexec/authlib/authdaemond.plain start "
Проверим как работает.
# telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE
THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL A
CL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2004 Double
Precision, Inc. See COPYING for distribution information.
a login postmaster@mydomain.com my_password
a OK LOGIN Ok. (successful login!)
a logout (logs you out)
* BYE Courier-IMAP server shutting down
a OK LOGOUT completed
Connection closed by foreign host.
Сервер IMAP установлен!.
Установка Qmailadmin.
Qmailadmin обеспечит нам хорошим веб интерфейс для управления
почтовыми доменами после того как они будут созданы через Vpopmail (с
помощью команды ./vadddomain). Из Qmailadmin, мы можем создавать новые
почтовые ящики, синонимы, пересылки, роботов почты, списки рассылок.
Скачиваем пакет qmailadmin-1.2.1.tar.gz
tar zxvf qmailadmin-1.2.1.tar.gz
cd qmailadmin-1.2.1
./configure --enable-cgibindir=/path/to/your/cgi-bin
--enable-htmldir=/path/to/your/html/directory
--enable-autoresponder-path=/usr/local/bin/qmail-autoresponder
Вместо /path/to/your/cgi-bin нужно подставить путь к каталогу для
cgi-bin скриптов на Вашем веб-сервере, /path/to/your/html/directory -
путь где вы хотите хранить html-файлы qadminmail'а.
make && make install-strip
Всё, qmailadmin установлен. Теперь в браузере наберите
http://www.yourdomain.com/cgi-bin/qmailadmin и Вы должны увидеть экран
входа.
Установка Squirrelmail.
SquirrelMail (http://www.squirrelmail.org/) или Белка - это один из
самых удобных и мощных OpenSource пакетов веб-почты, написанных на
PHP. В нём реализована поддержка протоколов IMAP и SMTP и доступны
многие модули, расширяющие его функциональность, например, ведение
логов, фильтрация спама, календарь, шифрование почты с помощью GPG и
прочее. SquirrelMail полностью русифицирован.
Поскольку SquirrelMail написан на PHP, он требует для работы
веб-сервер с PHP4. Рекомендуется, чтобы в PHP были включены следующие
параметры при сборке:
--enable-track-vars
--enable-force-cgi-redirect
--with-gettext
--with-mysql
Убедитесь что в PHP установлен режим file_uploads = On в файле
php.ini.
Скачиваем последнюю версию Squirrelmail с http://www.squirrelmail.org/download.php .
tar zxvf /path/to/squirrelmail-x.x.x.tar.gz
mv squirrelmail-x.x.x webmail
mkdir /var/sqattachements
chown -R www:www /var/sqattachements (или любой другой пользователь под которым запущен apache )
cd webmail
chown -R www:www data (или любой другой пользователь под которым запущен apache )
cd config
./conf.pl
Это запустит сценарий установки Squirrelmail, который позволит Вам,
модифицировать установку, а также ваши установочные параметры сервера.
Я рекомендую такие настройки:
General
-------
1. Domain : 1.2.3.4 (Введите IP вашего сервера здесь.)
2. Invert Time : false
3. Sendmail or SMTP : SMTP
IMAP Settings
--------------
4. IMAP Server : localhost
5. IMAP Port : 143
6. Authentication type : login
7. Secure IMAP (TLS) : false
8. Server software : other
9. Delimiter : detect
SMTP Settings
-------------
4. SMTP Server : localhost
5. SMTP Port : 25
6. POP before SMTP : false
7. SMTP Authentication : login
8. Secure SMTP (TLS) : false
Для задания использования по умолчанию русского языка укажите в
Organization Preferences->Default Language значение ru_RU.
Сохраните настройки и выйдите из скрипа.
Наберите в браузере http://www.yourdomain.com/webmail .
В появившемся окне войдите под логином postmaster'а:
Username: postmaster@yourdomain.com
Password: your_password
Всё Squirrelmail настроен и работает.
Источники:
http://freebsd.qmailrocks.orghttp://www.opennet.devhttp://linux.yaroslavl.ru/docs/conf/SquirrelMail/SquirrelMail.html
Дмитрий Лутай. Октябрь 2004, Украна. <dimoon_lda@ukr.net.>
gcc -g -O2 -o lockmail lockmail.o liblock.a ../numlib/libnumlib.a
liblock.a(mail.o)(.text+0x270): In function 'll_mail_lock':
/usr/home/priton/courier-imap-3.0.8/liblock/mail.c:152: undefined reference to 'll_lockfd'
liblock.a(mail.o)(.text+0x366):/usr/home/priton/courier-imap-3.0.8/liblock/mail.c:203: undefined reference to 'll_lockfd'
liblock.a(mail.o)(.text+0x67c): In function 'll_mail_open_do':
/usr/home/priton/courier-imap-3.0.8/liblock/mail.c:361: undefined reference to 'll_lockfd'
liblock.a(mail.o)(.text+0x8b5):/usr/home/priton/courier-imap-3.0.8/liblock/mail.c:380: undefined reference to 'll_lockfd'
liblock.a(mail.o)(.text+0x998):/usr/home/priton/courier-imap-3.0.8/liblock/mail.c:406: undefined reference to 'll_lockfd'
*** Error code 1
Stop in /usr/home/priton/courier-imap-3.0.8/liblock.
*** Error code 1
Stop in /usr/home/priton/courier-imap-3.0.8/liblock.
*** Error code 1
1. Надо собирать НЕ под рутом ( я думаю вы так и делали )
2. Не make а gmake (возможно здеся проблема)
3. Собираєм прямо из исходников (никаких /usr/ports накиких автоматизаций и патчей), все в ручную