Компьютерный форумПоискНавигацияРеклама Срочный Выкуп Автомобилей: объявления о продаже.
Доска объявлений. Барахолка: кровати дешево. трейлер мстители 2012 Наиболее читаемоеСейчас на сайтеСейчас на сайте 0 пользователя и 4 гостя.
|
13. Установка Mailman - Установка связки Postfix, MySQL, SpamAssassin, Maia в FreeBSD.13. Установка Mailman - Установка связки Postfix, MySQL, SpamAssassin, Maia в FreeBSD.
Mailman - отличное и хорошо поддерживаемое приложение для создания почтовых рассылок. Если вы хотите создать сервер рассылок, то эта программа - отличный выбор. Узнать больше можно посетив сайт http://www.gnu.org/software/mailman/index.html. Установим Mailman из портов. #cd /usr/ports/mail/mailman #make all install clean В меню установки не забудьте выбрать опцию “POSTFIX”. Добавим mailman в автозапуск системы: #echo 'mailman_enable="YES"' >> /etc/rc.conf Получим скрипт Postfix-To-Mailman #cd /usr/local/mailman #fetch http://www.gurulabs.com/downloads/postfix-to-mailman-2.1.py #mv postfix-to-mailman-2.1.py postfix-to-mailman.py #chmod 750 postfix-to-mailman.py #chown mailman:mailman postfix-to-mailman.py Отредактируем файл #! /usr/local/bin/python … # Configuration variables – Change these for your site if necessary. MailmanHome = “/usr/local/mailman“; # Mailman home directory. MailmanOwner = “postmaster@domain.tld“; # Postmaster and abuse mail recipient. … Отредактируем файл ... relay_domains = proxy:mysql:/usr/local/etc/postfix/mysql_relay_domains_maps.cf lists.domain.tld ... # TRANSPORT MAP # # See the discussion in the ADDRESS_REWRITING_README document. transport_maps = hash:/usr/local/etc/postfix/transport vacation_destination_recipient_limit = 1 mailman_destination_recipient_limit = 1 ... Добавим в список транспорта в файл #echo 'lists.domain.tld mailman:' >> /usr/local/etc/postfix/transport Отредактируем файл Добавим в конец файла. mailman unix - n n - - pipe
flags=FR user=mailman:mailman
argv=/usr/local/mailman/postfix-to-mailman.py ${nexthop} ${user}Создадим базу данных транспорта Postfix #postmap /usr/local/etc/postfix/transport Перезагрузим конфигурацию Postfix. #postfix reload Отредактируем файл NameVirtualHost *:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any block.
#
# Default domain on this server
#
<Virtualhost *:80>
ServerAdmin webmaster@domain.tld
DocumentRoot "/usr/local/www/apache22/data"
ServerName www.domain.tld
ServerAlias domain.tld www.domain.tld
<Directory "/usr/local/www/apache22/data">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/httpd-error.log
CustomLog /var/log/httpd-access.log combined
</Virtualhost>
# Mailman mailing list domain.
#
<Virtualhost *:80>
ServerAdmin webmaster@domain.tld
DocumentRoot "/usr/local/mailman"
ServerName lists.domain.tld
ServerAlias lists.domain.tld
ScriptAlias /cgi-bin/ "/usr/local/mailman/cgi-bin/"
ScriptAlias /mailman/ "/usr/local/mailman/cgi-bin/"
Alias /pipermail "/usr/local/mailman/archives/public"
Alias /icons "/usr/local/mailman/icons"
<Directory "/usr/local/mailman">
AllowOverride All
Options FollowSymlinks
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/httpd-error.log
CustomLog /var/log/httpd-access.log combined
</Virtualhost>Замечание Дополнительно обратите внимание на директорию по умолчанию для HTTP сервера. Причиной для этого является то, что как только включается директива виртуального хостинга, директорией по умолчанию для Apache становится первый VirtualHost в списке из файла httpd-vhosts.conf. Так же подумайте, будете ли вы когда нибудь использовать сайт по умолчанию, идущий первым в списке виртуальных сайтов в файле httpd-vhosts.conf. Отредактируем файл … # Virtual hosts Include etc/apache22/extra/httpd-vhosts.conf … Перегрузим Apache #apachectl graceful Тест Откройте страницу “http://lists.domain.tld/mailman/listinfo” и вы увидите информационную страницу почтовой рассылки. Не увидели, переустановите MailMan. Установилось, хорошо, единственая проблема ошибка в отображении логотипа ‘Powered by FreeBSD’. “Да, да!”. Этого нельзя допустить, придется вернуться к началу и скопировать FBSD лого в нужный каталог… Скопируем FBSD логотип, в директорию видимую программой Mailman: #cd /usr/local/mailman/icons #cp /usr/local/www/icons/powerlogo.gif ./ О, чертик! :) Установим пароль для системы #cd /usr/local/mailman #bin/mmsitepass New site password: mailman_password Again to confirm password: mailman_password Создадим список Mailman: #bin/newlist Enter the name of the list: mailman Enter the email of the person running the list: you@domain.tld Initial mailman password: list_password Необходимо следовать инструкциям для добавления псевдонимов к почтовому списку. Не волнуйтесь все это виртуально. Так продолжаем… Введите enter для оповещения владельца mailman… ENTER Добавим список в файл конфигурации Mailman: # echo "add_virtualhost('lists.domain.tld','lists.domain.tld')" >> /usr/local/mailman/Mailman/mm_cfg.pyЗапустим Mailman: #/usr/local/etc/rc.d/mailman start Тест Снова посетите страницу “http://lists.domain.tld/. Когда страница загрузится, нажмите на ссылку “the list admin overview page”(страница быстрого администрирования). Далее выберите ссылку “create a new mailing list”(создать новый список адесов). Важно Кое-что, было упущено мною напрочь и только недавно дошло до меня благодаря помощи моего друга Zbigniew (Спасибо!). А именно то, что Mailman обрабатывающий виртуальные списки адресатов, примет *ANY* (любую) почту, адресованную для lists.domain.tld (Или любого другого адреса вашего сервера). Это произведет огромное количество обратных писем, как если бы это была атака спамеров по словарю на Ваш список адресатов. Поэтому мы должны создать отдельную карту списка адресатов для каждого списка адресатов. Да, я знаю, что это сложно, но пока другого решения не найдено. Так что давайте сделаем это сейчас. Найдем все доступные адреса списка адресатов: #cd /usr/local/mailman #bin/genaliases Создадим и отредактируем файл Добавим в наш список все адреса, найденные предыдущей командой. Кроме того после каждого адреса нужно добавить "OK". Другими словами, если у вас есть список рассылки и он называется "users@lists.domain.tld, наш файл должен выглядеть следующим образом (по умолчанию): users@lists.domain.tld OK users-admin@lists.domain.tld OK users-bounces@lists.domain.tld OK users-confirm@lists.domain.tld OK users-join@lists.domain.tld OK users-leave@lists.domain.tld OK users-owner@lists.domain.tld OK users-request@lists.domain.tld OK users-subscribe@lists.domain.tld OK users-unsubscribe@lists.domain.tld OK Создадим карту для Postfix. #postmap /usr/local/etc/postfix/relay_recipients Замечание Вы должны сделать написанное выше для каждого списка рассылки, создаваемого в Mailman. В противном случае, Postfix будет отвергать почтовые адреса. Конечно, все адреса можно добавить в один файл. Кроме того, не забудьте повторно запустить команду ' Отредактируйте файл Это заставит Postfix принимать почту для наших виртуальных пользователей, а также для пользователей наших рассылок. ... relay_recipient_maps = proxy:mysql:/usr/local/etc/postfix/mysql_virtual_mailbox_maps.cf, hash:/usr/local/etc/postfix/relay_recipients ... Перегрузим конфигурацию Postfix #postfix reload Подпишемся на тестовую рассылку Откройте ссылку в браузере “ Нажмите на название вновь созданного списка (Возможно, вам придется перезагрузить/обновить страницу, если ничего не появилось). Заполните недостающее в разделе " Проверьте свою электронную почту и подтвердить подписку. Отправьте письмо на адрес " Если все настроено правильно, то почта будет отправлена. Проверьте Если ошибок нет, перейдите на " Замечание Также не забудьте добавить псевдоним “mailman@domain.tld” к нормальному пользователю вашего почтового сервера. В противном случае получите ошибки в файле Добавим больше рассылок в MailMan Добавим новый список в Mailman: #cd /usr/local/mailman #bin/newlist -u lists.domain2.tld -e lists.domain2.tld listname Добавим новый список в файл конфигурации Mailman: #echo "add_virtualhost('lists.domain2.tld','lists.domain2.tld')" >> /usr/local/mailman/Mailman/mm_cfg.pyОтредактируем файл /usr/local/etc/postfix/main.cf file: ... relay_domains = proxy:mysql:/usr/local/etc/postfix/mysql_relay_domains_maps.cf lists.domain.tld lists.domain2.tld ... Добавим транспорт в Postfix: #echo 'lists.domain2.tld mailman:' >> /usr/local/etc/postfix/transport Пересоздадим базу транспорта Postfix: #postmap /usr/local/etc/postfix/transport Перезагрузим конфигурацию Postfix: #postfix reload Отредактируем файл
<VirtualHost *:80>
ServerAdmin webmaster@domain2.tld
DocumentRoot "/usr/local/mailman"
ServerName lists.domain2.tld
ServerAlias lists.domain2.tld
ScriptAlias /cgi-bin/ "/usr/local/mailman/cgi-bin/"
ScriptAlias /mailman/ "/usr/local/mailman/cgi-bin/"
Alias /pipermail "/usr/local/mailman/archives/public"
Alias /icons "/usr/local/mailman/icons"
<Directory /usr/local/mailman>
AllowOverride All
Options FollowSymlinks
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/httpd-error.log
CustomLog /var/log/httpd-access.log combined
</VirtualHost>Перегрузим конфигурацию Apache #apachectl graceful Вот и все. Теперь перейдите на “http://lists.domain2.tld/mailman/listinfo“. Отредактируйте, подпишитесь, и так далее… ну и все готово.
|
Вход для пользователейtags in БлогНовые записи в блогах
Счетчики |