4 Краткий отчет о практике (приложение 1). Строки с таким выделением
Скачать 0.62 Mb.
|
Дополнительные настройкиДля того, чтобы наш сервер нормально воспринимали другие сервера, нам нужно сделать еще две вещи. Первая - правильно и полно прописать DNS-зоны. В идеале MX запись должна указывать на имя сервера, а IP сервера в свою очередь, должен резолвиться в то же имя сервера. Тогда все будет «в шоколаде». Т.е., например: host aaa.ru aaa.ru has address 78.108.81.68 aaa.ru mail is handled by 10 mxs.majordomo.ru. host mxs.majordomo.ru mxs.majordomo.ru has address 78.108.81.249 host 78.108.81.249 249.81.108.78.in-addr.arpa domain name pointer mxs.majordomo.ru. Вторая - если Ваш почтовый сервер расположен за NAT, а Вы используете алиас на шлюзе, то он будет виден другим серверам не со своим IP-адресом (адресом алиаса), а с IP-адресом шлюза, что нехорошо (Ваши письма могут быть «отражены» адресатом на этом основании). Чтобы Ваш почтовый сервер был виден под своим IP-адресом (т.е. IP-адресом алиаса на шлюзе), нужно вставить на шлюзе что-то типа #Added for 1:1 NAT — BEGIN /sbin/iptables -t nat -I POSTROUTING -o eth1 -s 10.0.0.6 -j SNAT --to-source AA.BB.CC.DD #Added for 1:1 NAT - END (здесь eth1 - внешний интерфейс шлюза, 10.0.0.6 - IP-адрес почтового сервера, AA.BB.CC.DD - IP-адрес алиаса на шлюзе) Не забудьте обеспечить, чтобы эта строка выполнялась при перезагрузке шлюза Установка mailmanУстановим и настроим пакет mailman sudo apt-get install mailman Ответим на вопросы Поддерживаемые языки: Выберем русский и английский (en и ru) Язык по умолчанию для Mailman: ru (Russian) Нас предупредят, что Отсутствует список рассылки сайта. Мы его создадим чуть позже. Т.к. mailman не поддерживает utf8, часть операций с mailman производим с указанием LANG=C Исправим ошибки (они неизбежны при установке) и проверим: LANG=C sudo check_perms -f LANG=C sudo check_perms Мы получим что-то типа такого списка /var/lib/mailman/mail bad group (has: root, expected list) /var/lib/mailman/templates bad group (has: root, expected list) /var/lib/mailman/locks bad group (has: root, expected list) /var/lib/mailman/logs bad group (has: root, expected list) /var/lib/mailman/bin bad group (has: root, expected list) /var/lib/mailman/cgi-bin bad group (has: root, expected list) /var/lib/mailman/cron bad group (has: root, expected list) /var/lib/mailman/scripts bad group (has: root, expected list) /var/lib/mailman/icons bad group (has: root, expected list) /var/lib/mailman/Mailman bad group (has: root, expected list) Problems found: 10 Re-run as list (or root) with -f flag to fix Это нормально, т.к. все это — ссылки. Сменим права доступа к директории с архивами списков рассылки для доступа к ним через веб: sudo chown -R list /var/lib/mailman/archives/* sudo chmod o+x/var/lib/mailman/archives/private Отредактируем нужные строки в файле /etc/mailman/mm_cfg.py sudo nano /etc/mailman/mm_cfg.py DEFAULT_EMAIL_HOST = 'aaa.ru' DEFAULT_URL_HOST = 'lists.aaa.ru' MTA=None # Misnomer, suppresses alias output on newlist Проверим содержимое файла /etc/postfix/master.cf sudo nano /etc/postfix/master.cf Если в нем строка mailman имеет вид mailman unix - - n - - pipe то изменим ее на mailman unix - n n - - pipe Настроим apache. Создадим файл /etc/apache2/sites-available/mailman sudo nano /etc/apache2/sites-available/mailman ServerName lists.aaa.ru Alias /images/ /usr/share/images/ RedirectMatch ^/$ http://lists.aaa.ru/cgi-bin/mailman/listinfo ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/ ScriptAlias /cgi-bin/mailman/ /usr/lib/cgi-bin/mailman/ AllowOverride None Options ExecCGI Order allow,deny Allow from all Alias /pipermail/ /var/lib/mailman/archives/public/ AddDefaultCharset KOI8-R Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all Alias /archives/ /var/lib/mailman/archives/public/ AddDefaultCharset KOI8-R DirectoryIndex index.html Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all CustomLog /var/log/apache2/lists.log combined Options Indexes FollowSymLinks AllowOverride None и разрешим запуск этого сайта sudo a2ensite mailman и перезапустим apache sudo /etc/init.d/apache2 restart Сконфигурируем postfix Вставим запись в таблицу transport postfix mysql -u mail_admin -p Enter password: Введем пароль use mail; INSERT INTO `transport` (`domain`, `transport`) VALUES ('lists.aaa.ru', 'mailman:'); quit; Проверим содержимое файла /etc/postfix/master.cf sudo nano /etc/postfix/master.cf и убедимся, что он содержит mailman unix - n n - - pipe flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user} (здесь должно быть две строки) Отредактируем файл /etc/postfix/main.cf sudo nano /etc/postfix/main.cf и добавим в него # For mailman relay_domains = lists.aaa.ru mailman_destination_recipient_limit = 1 Теперь перезапустим сервисы и запустим mailman sudo /etc/init.d/apache2 restart sudo /etc/init.d/postfix reload LANG=C sudo /etc/init.d/mailman start |