Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
www.lissyara.su
—> статьи
—> FreeBSD
|
|
Выполним:
|
Установим Perl с suidgid
|
Выполним:
|
Шаг 2. Устанавливаем MySQL
|
|
Дадим права:
|
Установим пароль:
|
пароль пишем правильно - т.е. придумываем свой.
Шаг 3. Устанавливаем Apache 2.2
|
Options for apache 2.2.9_5
|
Правим конфигурационный файл:
|
Приводим к виду:
|
|
Запуск:
|
Пропишем запуск Apache при старте системы:
|
Настроим SSL:
|
Создаем сертификат:
|
Сертификат будет действителен 3650 дней. Вполне достаточно, чтобы не вспоминать эту процедуру каждый год :-)
Хотите знать больше о SSL Certs, вам сюда: http://httpd.apache.org/docs-2.0/ssl/ssl_faq.html#aboutcerts
Копируем сертификаты:
|
Установим права:
|
Правим конфигурационный файл:
|
Приводим к виду:
|
Удаляем pass-phrase (опционально):
|
|
|
Перезапускаем APACHE:
|
Добавим поддержку PHP в APACHE:
|
В опциях включаем:
|
|
Добавляем:
|
и
|
Перезапускаем APACHE:
|
Для проверки можно создать следующее:
|
Пропишем и сохраним:
|
Смотрим:
http://yoursite.com/info.php
Шаг 4. Устанавливаем PHPMyAdmin
|
В опциях включаем:
|
|
Правим:
|
|
Редактируем:
|
|
Рестартуем Apache:
|
Создадим суперпользователя для MySQL:
|
|
|
|
Заходим:
http://domain.xxx/phpmyadmin
Шаг 5. Устанавливаем qmail
Здесь опишем установку qmail из портов с наложением патча от John Simpsons ( http://qmail.jms1.net/ )
Вот способ, которым мы сделаем это:
|
Когда появится окно откажемся от выбора RCDLINK:
|
|
Скачаем скрипт:
|
На странице http://qmail.jms1.net/patches/combined-links.shtml выбрать нужный патч, скачать и применить.
|
Где bsd.localhost - полное имя хоста (например mail.example.com)
|
|
Шаг 6. Устанавливаем UCSPI-TCP
|
Появится на выбор 4 варианта.
Рекомендую установить man-страницы.
Если Вы хотели бы использовать rblsmtp с uscpi, то выбор за вами.
Использование rbl позволяет значительно уменьшить спам, который Вы получаете.
Выбор SSL является дополнительным, если Вы планируете использовать SMTP с SSL ( ucspi-ssl можно устанавить позже).
Я выбрал все опции
Options for ucspi-tcp 0.88_2
|
Шаг 7. Установка Daemontools
|
Options for daemontools 0.76_12
|
Создадим директорию /service для svscan
|
Запустим cvscan:
|
Проверим:
|
Должны увидеть примерно такое:
|
Запуск daemontools при загрузке FreeBSD:
|
Удаляем скрипт автозапуска созданный при установке daemontools
|
Daemontools установлен и работает.
Шаг 8. Устанавливаем Fetchmail
Хотя у fetchmail есть свой собственный режим демона,
используя его с daemontools можно обеспечить некоторые преимущества.
Они включают:
интерфейс управления через утилиту svc daemontools
надежный, независимый от платформы запуск демона и скриптов
ведение лог-файла с помощью multilog
Устанавливаем:
|
Создадим каталог, где будет находиться fetchmail :
|
Скачаем скрипт:
|
|
|
Если открыть файл run, то вы увидите интервал в секундах (INTERVAL=300), между проверками сообщений.
Теперь поправим /usr/local/etc/fetchmailrc
заменим pop.server на актуальное имя pop сервера
заменим user на актуальное имя пользователя
заменим pass на актуальный пароль
SMTP хост - IP адрес вашего сервера, с установленным qmail.
Это необходимо fetchmail чтобы не авторизоваться qmail.
poll pop.server
with protocol pop3
username user password pass is user@domain.xxx here
smtphost 192.168.9.10
Можно проверять несколько почтовых ящиков на одном сервере:
poll pop.server
with protocol pop3
username user password pass is user@domain.xxx here
smtphost 192.168.9.10
username user password pass is user@domain.xxx here
smtphost 192.168.9.10
username user password pass is user@domain.xxx here
smtphost 192.168.9.10
username user password pass is user@domain.xxx here
smtphost 192.168.9.10
Или для проверки нескольких серверов:
poll pop.server
with protocol pop3
username user password pass is user@domain.xxx here
poll pop.server
with protocol pop3
username user password pass is user@domain.xxx here
poll pop.server
with protocol pop3
username user password pass is user@domain.xxx here
Дадим права:
|
И создаём сервис:
|
Через несколько секунд запустим:
|
И должны увидеть нечто подобное:
|
Если хотите форсировать проверку fetchmail'ом сообщений, то команда svc -t /service/fetchmail рестартует fetchmail.
Шаг 9. Установка EZMLM-IDX
|
Шаг 10. Установка Autorespond
|
Шаг 11. Установка Vpopmail с поддержкой mysql и т.д.
|
Настроим mysql-соединение для vpopmail:
|
|
|
Теперь протестируем соединение к БД с правами пользователя, которого мы только что создали:
|
|
|
|
|
|
|
|
в другой консоле:
|
Получим примерно такой вывод:
|
|
|
Зададим аргументы для сборки ( Внимание!!! писать в одну строку! Спасибо Jurik47.) :
|
|
|
|
|
в другой консоле:
|
Создадим домен:
|
Должен появится лог примерно следующего содержания:
@400000004947b8af046b4f3c Checking locals @400000004947b8af046b5324 locals has changed @400000004947b8af046b5af4 Sending HUP to qmail-send @400000004947b8af097cc3ac No matching processes were found @400000004947b8af09cf6404 Checking validrcptto.cdb @400000004947b8af09cf6bd4 Checking auth.txt and auth.cdb @400000004947b8af09cf73a4 Done @400000004947b8af0a4ae14c \----- rv=0 @400000004947b8af0a5fc8dc sleeping 4 seconds... @400000004947b8b30aa1755c waiting for input on /tmp/update-qmail @400000004947d48408e9f1bc gathering input @400000004947d484095a6e9c /----- @400000004947d484095a766c onchange add_domain mydomain.com @400000004947d484095a7e3c \----- @400000004947d484095a860c running [/service/qmail-updater/update-qmail] (output follows) @400000004947d484095a95ac /----- @400000004947d4840e48845c Starting @400000004947d4840e488c2c Checking users/assign and users/cdb @400000004947d4840e489014 Checking morercpthosts and morercpthosts.cdb @400000004947d4840e489bcc Checking virtualdomains @400000004947d4840e48a39c virtualdomains has changed @400000004947d4840e48ab6c Checking locals @400000004947d4840e48b33c locals has changed @400000004947d4840e48bb0c Sending HUP to qmail-send @400000004947d48411646a5c No matching processes were found @400000004947d484125c62d4 Checking validrcptto.cdb @400000004947d484125c7274 Checking auth.txt and auth.cdb @400000004947d484125c7a44 Done @400000004947d48412e5d26c \----- rv=0 @400000004947d48412fc11bc sleeping 5 seconds... @400000004947d48913500204 waiting for input on /tmp/update-qmail |
Создадим почтовый ящик:
|
Должен появится лог примерно следующего содержания:
@400000004947d4840e48ab6c Checking locals @400000004947d4840e48b33c locals has changed @400000004947d4840e48bb0c Sending HUP to qmail-send @400000004947d48411646a5c No matching processes were found @400000004947d484125c62d4 Checking validrcptto.cdb @400000004947d484125c7274 Checking auth.txt and auth.cdb @400000004947d484125c7a44 Done @400000004947d48412e5d26c \----- rv=0 @400000004947d48412fc11bc sleeping 5 seconds... @400000004947d48913500204 waiting for input on /tmp/update-qmail @400000004947d51200c80ce4 gathering input @400000004947d51201121604 /----- @400000004947d51201121dd4 onchange add_user test@mydomain.com @400000004947d51201122d74 \----- @400000004947d51201123544 running [/service/qmail-updater/update-qmail] (output follows) @400000004947d51201123d14 /----- @400000004947d51205842d94 Starting @400000004947d51205843564 Checking users/assign and users/cdb @400000004947d51205843d34 Checking morercpthosts and morercpthosts.cdb @400000004947d51205844504 Checking virtualdomains @400000004947d51205844cd4 Checking locals @400000004947d512058454a4 Checking validrcptto.cdb @400000004947d51205845c74 Checking auth.txt and auth.cdb @400000004947d51205846444 Done @400000004947d51205f3fe94 \----- rv=0 @400000004947d512060a5554 sleeping 5 seconds... @400000004947d517066fe93c waiting for input on /tmp/update-qmail @400000004947d517066ff10c gathering input @400000004947d51706cfc064 /----- @400000004947d51706cfc834 onchange mod_user test@mydomain.com @400000004947d51706cfd004 \----- @400000004947d51706cfd7d4 running [/service/qmail-updater/update-qmail] (output follows) @400000004947d51706cfdfa4 /----- @400000004947d5170bdefe6c Starting @400000004947d5170bdf063c Checking users/assign and users/cdb @400000004947d5170be831e4 Checking morercpthosts and morercpthosts.cdb @400000004947d5170be839b4 Checking virtualdomains @400000004947d5170be84184 Checking locals @400000004947d5170be84954 Checking validrcptto.cdb @400000004947d5170be85124 Checking auth.txt and auth.cdb @400000004947d5170be858f4 Done @400000004947d5170c9411e4 \----- rv=0 @400000004947d5170cb1040c sleeping 5 seconds... @400000004947d51c0d0d4d0c waiting for input on /tmp/update-qmail |
|
Шаг 12. Настраиваем Validrcptto
|
Внесём необходимые изменения:
|
Найти эту строку:
|
Закомментировать строку и добавить следующую:
|
Должно стать так:
|
|
Установим модуль CDB_File:
|
|
Запускаем:
|
Будет выведен список e-mail адресов на которые будет производится прием почтовых сообщений.
....
…...
|
Шаг 13. Установка Maildrop
|
Добавим ведение логов для maildrop
Подробности тут: http://www.antagonism.org/mail/maildrop-multilog.shtml
|
Проверим запустились ли сервисы:
|
Получим такой вывод:
/service/maildrop-logger: up (pid 5571) 4 seconds /service/maildrop-logger/log: up (pid 5572) 4 seconds |
Шаг 14. Удаляем Sendmail
|
|
|
|
Шаг 15. Настраиваем qmail
|
Скачаем скрипт
|
Распакуем архив:
|
Следующего содержания:
x pop3d_log x pop3d_run x qbonk x qbonkns x qfixq x qmail.sh x qmailctl x rc x send_log x send_run x smtpd_log x smtpd_run |
|
Отредактируем:
|
Исправим следующее:
|
|
|
Пропишем с каким именем будет работать сервер:
|
|
Пропишем с каких адресов разрешена пересылка писем:
|
|
|
tcprules smtp.cdb smtp.tmp < smtp chmod 644 smtp.cdb smtp |
Шаг 16. Настраиваем SMTPS
|
|
|
|
|
|
|
Приведём к такому виду
|
|
tcprules smtpssl.cdb smtpssl.tmp < smtpssl chmod 644 smtpssl.cdb smtpssl |
Создадим SSL key файл
|
|
|
|
|
|
|
Запустим qmail
|
|
Закончили с qmail.
Шаг 17. УСТАНОВКА SpamAssassin
|
очистить:
|
|
Ругается :):
доустанавливаем необходимые модули (чтобы не ругался). В моём случае так:
|
|
Всё — ругани нет :)
|
|
|
|
Создадим сервис:
|
Через несколько секунд проверим:
|
|
|
Удалим скрипт запуска:
|
Шаг 18. УСТАНОВКА ClamAV
Если не установлен unzip, то установливаем его:
|
|
|
|
|
|
|
|
|
|
|
|
Должны увидеть примерно следующее:
|
|
|
Шаг 19. УСТАНОВКА сканера
Предлагаю на выбор qmail-scanner или simscan.
УСТАНОВКА qmail-scanner
Должен быть установлен bash.
В портах пока версия qmail-scanner-2.01_4
|
Options for qmail-scanner 2.01_4
|
|
.......
done
|
Теперь для проверки встроенного сканера запустите команду:
|
Эта команда должна вернуть список из нескольких вирусов.
Затем под непривилигированным пользователем выполните команду:
|
При успешном создании базы данных, вы получите сообщение, подобное этому:
|
Сейчас необходимо перезапусть qmail, чтобы qmail-scanner встроился в очередь.
Наш run-скрипт, созданный ранее, не требует каких либо дополнительных настроек.
|
Теперь пришло время протестировать Qmail-Scanner, Spamassassin и Clam AV на корректную работу.
В архиве с Qmail-Scanner содержится прекрасный скрипт для тестирования:
|
Успешный тест должен завершиться следующим:
2 сообщения будут помещены в карантин Clam Antivirus в /var/spool/quarantine/new,
2 сообщения будут помещены в почтовый ящик, указанный в конфигурационном скрипте Qmail-scanner.
Вполне возможно, что вы не получите сообщения об инфицированных e-mail'ах.
Установка simscan (переход с qmail-scanner на simscan)
Установка:
|
|
Перейдем в папку с исходниками:
|
Скачаем патч и установим:
|
simscan-1.4.0-umask.patch 100% of 473 B 71 kBps |
Применим патч:
|
Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |diff -ruN simscan-1.4.0-factory/simscan.c simscan-1.4.0-patched/simscan.c |--- simscan-1.4.0-factory/simscan.c 2007-10-29 10:15:05.000000000 -0400 |+++ simscan-1.4.0-patched/simscan.c 2007-11-23 01:33:48.000000000 -0500 -------------------------- Patching file simscan.c using Plan A... Hunk #1 succeeded at 283. done |
|
Доустановилось:
ripmime-1.4.0.6 p5-Mail-SpamAssassin-3.2.5_1 p5-Net-DNS-0.65 p5-Digest-SHA1-2.11 p5-Digest-HMAC-1.01 simscan-1.4.0_3 |
Зададим владельца:
|
Внесем изменения:
|
127.:allow,RELAYCLIENT="" 192.168.0.:allow,RELAYCLIENT="",QMAILQUEUE="/var/qmail/bin/simscan" :allow,QMAILQUEUE="/var/qmail/bin/simscan" |
Пересоздадим базу:
|
tcprules smtp.cdb smtp.tmp < smtp chmod 644 smtp.cdb smtp |
|
Restarting qmail: * Stopping qmail-smtpd. * Sending qmail-send SIGTERM and restarting. * Sending qmail-pop3d SIGTERM and restarting. * Restarting qmail-smtpd. |
Изменяем владельца:
|
#User qscand User clamav |
|
#DatabaseOwner qscand DatabaseOwner clamav |
Изменяем пользователя от которого запускаются сервисы:
|
exec spamd -x -u clamav -H /tmp -s /dev/stderr |
Возвращаем права владельцу clamav, если использовали qmail-scanner:
|
Перезапустим сервис:
|
Смотрим:
|
Увидим лог примерно следующего содержания:
@400000004999193b13514254 Limits: Recursion level limit set to 16. @400000004999193b1358cfec Limits: Files limit set to 10000. @400000004999193b13604de4 Archive support enabled. @400000004999193b136f2a94 Algorithmic detection enabled. @400000004999193b13772d5c Portable Executable support enabled. @400000004999193b137ebaf4 ELF support enabled. @400000004999193b1387522c Mail files support enabled. @400000004999193b138ef734 OLE2 support enabled. @400000004999193b13919afc PDF support enabled. @400000004999193b13981724 HTML support enabled. @400000004999193b139e31a4 Self checking every 1800 seconds. @400000004999193b13ad029c Set stacksize to 1114112 @4000000049991a9537243024 Socket file removed. @4000000049991a95373041fc Pid file removed. @4000000049991a95373d886c --- Stopped at Mon Feb 16 10:49:31 2009 @4000000049991a9f16ab46ac ERROR: LOCAL: Socket file /var/run/clamav/clamd.sock could not be bound: Permission denied @4000000049991aa70b23e3fc ERROR: LOCAL: Socket file /var/run/clamav/clamd.sock could not be bound: Permission denied @4000000049991aad0655d574 ERROR: LOCAL: Socket file /var/run/clamav/clamd.sock could not be bound: Permission denied @4000000049991aaf1af8da94 ERROR: LOCAL: Socket file /var/run/clamav/clamd.sock could not be bound: Permission denied @4000000049991ab131de0f54 ERROR: LOCAL: Socket file /var/run/clamav/clamd.sock could not be bound: Permission denied @4000000049991ab40b6a2074 ERROR: LOCAL: Socket file /var/run/clamav/clamd.sock could not be bound: Permission denied @4000000049991ab61d06715c ERROR: LOCAL: Socket file /var/run/clamav/clamd.sock could not be bound: Permission denied @4000000049991ab82e20f3cc ERROR: LOCAL: Socket file /var/run/clamav/clamd.sock could not be bound: Permission denied @4000000049991abb05ef5b14 ERROR: LOCAL: Socket file var/run/clamav/clamd.sock could not be bound: Permission denied @4000000049991abd17c61904 ERROR: LOCAL: Socket file /var/run/clamav/clamd.sock could not be bound: Permission denied @4000000049991abf2b79b12c ERROR: LOCAL: Socket file /var/run/clamav/clamd.sock could not be bound: Permission denied @4000000049991ac203bef624 ERROR: LOCAL: Socket file /var/run/clamav/clamd.sock could not be bound: Permission denied @4000000049991ac4161abac4 ERROR: LOCAL: Socket file /var/run/clamav/clamd.sock could not be bound: Permission denied @4000000049991ac626298224 ERROR: LOCAL: Socket file /var/run/clamav/clamd.sock could not be bound: Permission denied @4000000049991ac83a8c3e3c ERROR: LOCAL: Socket file /var/run/clamav/clamd.sock could not be bound: Permission denied @4000000049991acb118bd434 ERROR: LOCAL: Socket file /var/run/clamav/clamd.sock could not be bound: Permission denied @4000000049991acd24d4758c ERROR: LOCAL: Socket file /var/run/clamav/clamd.sock could not be bound: Permission denied @4000000049991acf34c9dcd4 ERROR: LOCAL: Socket file /var/run/clamav/clamd.sock could not be bound: Permission denied @4000000049991ad20af146f4 ERROR: LOCAL: Socket file /var/run/clamav/clamd.sock could not be bound: Permission denied @4000000049991ad420683de4 ERROR: LOCAL: Socket file /var/run/clamav/clamd.sock could not be bound: Permission denied @4000000049991ad631907424 ERROR: LOCAL: Socket file / var/run/clamav/clamd.sock could not be bound: Permission denied @4000000049991ad9083a4ce4 Limits: Global size limit set to 104857600 bytes. @4000000049991ad90841da7c Limits: File size limit set to 26214400 bytes. @4000000049991ad908496814 Limits: Recursion level limit set to 16. @4000000049991ad90850f1c4 Limits: Files limit set to 10000. @4000000049991ad908586bd4 Archive support enabled. @4000000049991ad9086014c4 Algorithmic detection enabled. @4000000049991ad90867aa2c Portable Executable support enabled. @4000000049991ad9086f4764 ELF support enabled. @4000000049991ad90876dccc Mail files support enabled. @4000000049991ad9087f1a2c OLE2 support enabled. @4000000049991ad90886b37c PDF support enabled. @4000000049991ad9088e9aec HTML support enabled. @4000000049991ad9088fcf84 Self checking every 1800 seconds. @4000000049991ad908963c0c Set stacksize to 1114112 |
Правим (запрещаем прием вложений с расширением .exe):
|
Создадим базу:
|
simscan versions cdb file built. /var/qmail/control/simversions.cdb |
Добавим пользователя simscan в группу clamav:
|
|
clamav:*:106:simscan |
Изменим скрипт запуска службы qmail-smtpd:
|
Разкомментируем:
|
Закомментируем:
|
Тестируем:
|
Должны получить примерно следующее:
simscan: cdb looking up simscan: cdb for found clam=yes,spam=yes,trophie=no,spam_hits=17 simscan: pelookup clam = yes simscan: pelookup spam = yes simscan: pelookup trophie = no simscan: trophie = no/0 simscan: pelookup spam_hits = 17 simscan: unimplemented flag spam_hits = 17 simscan: starting: work dir: /var/qmail/simscan/1234791758.108397.12154 simscan: pelookup: called with postmaster@mydomain.com simscan: pelookup: domain is mail.mydomain.com simscan: cdb looking up mail.mydomain.com simscan: pelookup: local part is postmaster simscan: cdb looking up postmaster@mail.mydomain.com simscan: pelookup: called with postmaster@mydomain.com simscan: pelookup: domain is mydomain.com simscan: cdb looking up mydomain.com simscan: cdb for mydomain.com found clam=yes,spam=yes,attach=.exe simscan: pelookup clam = yes simscan: pelookup spam = yes simscan: pelookup attach = .exe simscan: attachment flag attach = .exe simscan: .exe is attachment number 0 simscan: pelookup: local part is postmaster simscan: cdb looking up postmaster@mydomain.com simscan: cdb looking up version attach simscan: calling clamdscan simscan: cdb looking up version clamav simscan: normal clamdscan return code: 0 simscan: calling spamc simscan: calling /usr/local/bin/spamc spamc -u postmaster@mydomain.com simscan: cdb looking up version spam simscan:[12153]:CLEAN (2.90/5.00):0.2986s::(null): postmaster@mydomain.com: postmaster@mydomain.com simscan: done, execing qmail-queue simscan: qmail-queue exited 0 0.006u 0.146s 0:00.37 37.8% 71+814k 0+8io 0pf+0w |
Увеличиваем производительность сканирования.
Можно (нужно) применить подобное и при использовании qmail-scanner :)
Создаём виртуальный диск (RAM disk) для simscan:
Добавить в /boot/loader.conf
|
или пересобрать ядро с опцией:
|
Загрузим модулем (если нет поддержки в ядре):
|
3 1 0xc0d83000 97d0 tmpfs.ko |
|
Получим системное сообщение:
kernel: WARNING: TMPFS is considered to be a highly experimental feature in FreeBSD. |
Т.е. используем данное решение на свой страх и риск.
|
Filesystem Size Used Avail Capacity Mounted on /dev/ad2s1a 496M 160M 296M 35% / devfs 1.0K 1.0K 0B 100% /dev /dev/ad2s1e 496M 566K 456M 0% /tmp /dev/ad2s1f 33G 4.1G 26G 14% /usr /dev/ad2s1d 1.4G 636M 713M 47% /var tmpfs 1.1G 4.0K 1.1G 0% /var/qmail/simscan |
Монтирум при загрузке:
|
none /var/qmail/simscan tmpfs rw,mode=2750,uid=74,gid=74 0 0 |
И действительно получаем прирост в скорости обработки....
Шаг 20. Установка Courier-IMAP
Установим Courier-IMAP. http://www.courier-mta.org/imap/
Перед началом установки добавим следующие опции:
|
Выберем:
|
Далее ставимl courierpassd:
|
Удалим файл автозапуска в папке /usr/local/etc/rc.d:
|
и убедимся, что следующей строки нет в /etc/rc.conf:
|
Далее необходимо для запуска с помощью daemontools создать структуру каталога сервиса courierpasswd.
Я использую /var/qmail/supervise для физического размещения моих директорий с сервисами.
|
Запустим как сервис:
|
Проверим:
|
Настроим:
|
Создадим imap cert:
|
Отредактируем:
|
Изменим следующее значение:
|
Будем запускать courier-authdaemond как сервис:
|
И в конце создадим линк для authdaemond в /service:
|
Посмотрим работает ли courier-authdaemond:
|
Удалим скрипты автозапуска созданные при сборке courier в папке /usr/local/etc/rc.d:
|
Удалим следующие строки в /etc/rc.conf (необходимо чтобы не стартовал дважды.):
|
Также создадим директорию для courierpassd для запуска оного сервисом:
|
Создадим линк на courier-imap в /service:
|
Проверим работу courier-imap:
|
PLAIN IMAP будем использовать для localhost. IMAP SSL можно разрешить на внешних интефейсах.
|
Создадим линк на imap-ssl в /service:
|
Используем модифицированный скрипт qmailctl названный imapctl.
|
Если запустить imapctl stat, увидим работающие сервисы imap.
|
/service/courier-authdaemond: up (pid 39026) 1129 seconds /service/courier-authdaemond/log: up (pid 39027) 1129 seconds /service/courier-imap: up (pid 42398) 594 seconds /service/courier-imap/log: up (pid 42399) 594 seconds /service/courier-passwd: up (pid 36102) 1590 seconds /service/courier-passwd/log: up (pid 36103) 1591 seconds |
Шаг 21. Установка SquirrelMail
SquirrelMail — клиент электронной почты с веб-интерфейсом, написанный на PHP.
Для получения дополнительной информации см. http://www.squirrelmail.org
Чтобы установить squirrelmail из портов, запустите следующую команду:
|
Squirrelmail будет инсталлирован в /usr/local/www и проинсталирует необходимые модули.
Можете сделать symlink в месторасположение вашей папки с webmail.
|
Сконфигурируем Squirrelmail
Теперь необходимо сконфигурировать Squirrelmail. Выполните команду для перехода в режим настройки:
|
Появится меню. Пункт 1 - Organization Preferences. Любые из настроек внутри этого окна являются
необязательными. Когда Вы закончите, нажмите клавишу S, чтобы сохранить, а затем нажмите Ввод
и затем нажмите клавишу R, чтобы вернуться в главное меню.
Перейдём к этапу 2 - Server settings. Введите 1 Domain и нажмите Ввод на клавиатуре.
Вы можете ввести имя сервера или локальный IP или внешний IP, какой вы предпочитаете.
Если ваш почтовый сервер находится позади маршрутизатора / брандмауэра, используйте
локольный IP. Если используете внешний IP, то имя хоста или статический IP будут
работать хорошо. Если вы используете службу DynDNS как dyndns.org, рекомендуется
использовать локальные IP и поместить Qmail сервер после маршрутизатора / брандмауэра.
В соответствии с настройками сервера используйте следующее. Измените XXXX на IP своего
почтового сервера:
1. Domain : x.x.x.x
2. Invert Time : false
3. Sendmail or SMTP : Sendmail
A. Update IMAP Settings : localhost:143 (other)
B. Change Sendmail Config : /var/qmail/bin/sendmail
Нажать Y и потом Enter. Нажать S для сохранения и снова Enter. Нажать Q для выхода из меню.
Зададим владельца для вложений squirrelmail:
|
Настроим php.ini (если он еще не сущществует):
|
Тестируем Squirrelmail
Если увидите такую ошибку при просмотре сайта squirrelmail:
Fatal error: Call to undefined function: preg_replace() in /usr/local/www/apache22/data/functions/global.php on line 165 |
Установите следующий порт:
|
Чтобы убедится что Squirrelmail работает правильно, необходумо выполнить тест конфигурации. Выполните его, проследовав по следующему адресуl. http://your-squirrelmail-location/src/configtest.php. Замените your-squirrelmail-location на ваш IP или hostname. Он покажет вам что ваш squirrelmail настроен правильно. Если видите такое:
ERROR: Error connecting to SMTP server "localhost:25".Server error: (0) Unknown error: 0 |
Значит не всё в порядке. Значит нет доступа для приема сообщений на 25 порт. После установки squirrelmail можетеустановит плагин change_pass-2.7-1.4.x Чтобы иметь возможность изменять пароли в squirrelmail.
http://squirrelmail.org/plugin_download.php?id=21&rev=1072
Шаг 22.Установка QmailAdmin с onchange
Установим qmailadmin с наложением патча onchange
|
Писать в одну строку:
|
|
Настраиваем qmailadmin
Когда мы добавляем новых пользователей через qmailadmin, мы хотим, чтобы борьба со спамом бьла включена по умолчанию. Необходимо изменить:
|
Наити следующую строку:
|
И изменить на:
|
Это разрешит при создании аккаунта пользователя средствами qmailadmin включения в ящик пользователя папки обнаружения спама ("Spam Detection")
|
Теперь перейдя: http://www.domain.xxx/cgi-bin/qmailadmin увидите экран с предложение ввода имени пользователя и пароля:
Можно создавать почтовые ящики для вашего домена. Если надо добавить домен, используйте утилиту ~vpopmail/bin/vadddomain
Шаг 23.Установка vQadmin
|
Перейдем:
|
Отредактируем:
|
Приведем к виду:
|
Зададим владельца:
|
Создадим пользователя и пароль:
|
Adding password for user admin |
|
|
Запускаем
http://www.domain.com/cgi-bin/vqadmin/vqadmin.cgi
p.s.: Принимается конструктивная критика и замечания.
Материалы:
http://www.freebsdrocks.ru
http://www.freebsdrocks.net
http://www.qmailrocks.org
http://www.qmailrocks.ru
http://www.google.com
размещено: 2009-02-08,
последнее обновление: 2009-08-19,
автор: Gegemon
Dark, 2009-02-09 в 13:56:03
Если память не изменяет, то SUID_PERL необходим для SquirrelMail. Критичных дыр в безопасности там не находилось уже давно, однако замечание правильное. Уж лучше какого-нибудь PHP-клиента и спаться будет спокойнее.
Gegemon, 2009-02-09 в 14:44:08
SUID_PERL нужен и для vpopmail как минимум.:)
А с замечаниями, обсуждением, предложениями добро пожаловать сюда.
abigor, 2009-02-11 в 12:21:02
># ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
># ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
плохо! пользуй /etc/mail/mailer.conf это будет правильно
abigor, 2009-02-11 в 12:36:22
Может лучше не советовать новичкам ставить php4??
>cd /usr/ports/devel/php4-pcre
или это опечатка?
----------------------
вы уж меня извините, но exim как-то проще, сам в свое время ковырял qmail все было отлично до тех пор пока объем спама не стал доходить до пятизначных цифр в сутки, переезд на exim исправил положение.
-----------------------
А не страшно пользовать продукт который уже давно не сопровождается, а функционал добавляется сторонними патчами, в которых порой не понятно чего правится
Gegemon, 2009-02-11 в 13:27:38
To abigor: ответил в форуме.
arksu, 2009-03-06 в 14:15:11
респект автору!
все таки ввел в продакшн седня свой почтарь
сделал на основе qmail-spamcontrol (сильно переписанный мной qmail-smtpd)
спасибо автору за много находок в этой статье. много почерпнул и настроил в плане spamassasin, clamav, courier-imap
З.Ы. лично я считаю кумейл лучшим почтовым сервером на никсах (а может и не только на никсах) за его расширяемость и гибкость в настройке, зе легко понимаемые исходники ;) которые легко модифицировать под себя
Jurik47, 2009-03-08 в 16:26:40
cd /usr/ports/mail/vpopmail
# make CONFIGURE_ARGS="--enable-logging=p --enable-skeleton --enable-onchange-script \
--enable-auth-module=mysql --disable-passwd --enable-clear-passwd --disable-many-domains \
--enable-auth-logging --enable-sql-logging --enable-valias --disable-mysql-limits"
*************
При всём при этом vpopmail собирается почему-то с поддержкой CDB, но не MySQL. Глюк?
Gegemon, 2009-03-08 в 18:40:51
To: Jurik47
Зайди в ветку обсуждения. Там решим твою проблему.
Gegemon, 2009-03-08 в 18:53:36
To arksu:
Пожалуйста!
JIeXa, 2009-08-12 в 17:20:33
мм. Навороченная система получается. suid bit для vpopmail - а зачем простите?
долгое время пользовался qmail.. Спам, куча проблем безопасности, глюки.. Хотя почтарь вобщем не плохой, но лично у меня не хватает квалификации "дообработать напильником" в нужном объеме.
ЗЫ Статья с кумейлрокс.орг практически полностью.
По мне для новичка вполне хватило бы
qmail+vpopmail(без мускуля)+ucspi
Gegemon, 2009-08-12 в 17:53:20
угу...
а qmailrocks.org - c freebsdrocks.net.... :)
А сам автор патча не рекомендует ставить по qmailrocks.org.
http://qmail.jms1.net/qmailrocks.shtml
Так что кто у кого я бы не стал голословно заявлять. :)
Да и где кстати там про Simscan???
А уважаемый?
ALex_hha, 2009-08-18 в 23:39:28
Хосподи, та когда ж он наконец то умрет. И нравится же народу заниматься никрофилией
Gegemon, 2009-08-19 в 9:52:40
Не умрет. sendmail не умер. И qmail не умрет. и exim не умрет. и postfix не умрет. все работает. просто руки и голова на месте должны быть.
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Ixtis, 2009-02-09 в 8:13:45
Поддержка suidperl не требуется, когда у тебя qmail-scanner собирается с cwrapper. Не нужно suidperl'а. Когда тем более suidperl потенциальная дыра в безопасности.