Компьютерный форумПоискНавигацияРеклама Хостинг Unlim на 1 год за 700 руб: качественный хостинг.
a Деревянные и винтовые, лестницы для дома /a Наиболее читаемоеСейчас на сайтеСейчас на сайте 0 пользователя и 12 гостя.
|
6. Установка PostfixAdmin - Установка связки Postfix, MySQL, SpamAssassin, Maia в FreeBSD.6. Установка PostfixAdmin - Установка связки Postfix, MySQL, SpamAssassin, Maia в FreeBSD.
PostfixAdmin - отличная программа для редактирования ваших почтовых доменов и пользователей. Она имеет много опций и упрощает настройку программы. Больше узнать о программе можно на официальном сайте http://sourceforge.net/projects/postfixadmin/. Установка Postfixadmin из портов #cd /usr/ports/mail/postfixadmin #make all install clean Не забудьте в меню установки выбрать параметр “MYSQLI”. Создадим базуPostfixAdmin #mysql -u root -p (Enter MySQL root password) >CREATE DATABASE postfix; >CREATE USER 'postfix'@'localhost' IDENTIFIED BY 'postfix_sql_password'; >GRANT ALL PRIVILEGES ON `postfix` . * TO 'postfix'@'localhost'; >FLUSH PRIVILEGES; Защитим файлы PostfixAdmin #cd /usr/local/www/postfixadmin
#find . -type f -exec chmod 640 {} \;
#find . -type d -exec chmod 750 {} \;Отредактируем файл /usr/local/www/postfixadmin/config.inc.php $CONF['configured'] = true;
$CONF['postfix_admin_url'] = 'https://www.domain.tld/postfixadmin/';
$CONF['database_type'] = 'mysqli';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfix';
$CONF['database_password'] = 'postfix_sql_password';
$CONF['database_name'] = 'postfix';
$CONF['database_prefix'] = '';
$CONF['admin_email'] = 'postmaster@domain.tld';
$CONF['default_aliases'] = array (
'abuse' => 'abuse@domain.tld',
'hostmaster' => 'hostmaster@domain.tld',
'postmaster' => 'postmaster@domain.tld',
'webmaster' => 'webmaster@domain.tld'
);
$CONF['generate_password'] = 'NO';
$CONF['page_size'] = '20';
$CONF['domain_path'] = 'YES';
$CONF['domain_in_mailbox'] = 'NO';
$CONF['aliases'] = '50';
$CONF['mailboxes'] = '50';
$CONF['maxquota'] = '1024';
$CONF['quota'] = 'YES';
$CONF['quota_multiplier'] = '1048576';
$CONF['transport'] = 'NO';
$CONF['vacation'] = 'YES';
$CONF['vacation_domain'] = 'autoreply.domain.tld';
$CONF['alias_control_admin'] = 'YES';
$CONF['special_alias_control'] = 'YES';
$CONF['show_header_text'] = 'YES';
$CONF['header_text'] = ':: Postfix Admin ::';
$CONF['show_footer_text'] = 'YES';
$CONF['footer_text'] = 'Return to domain.tld';
$CONF['user_footer_link'] = 'http://www.domain.tld/';
$CONF['welcome_text'] = <<Создадим пользователя и группу Vacation #pw groupadd vacation #pw useradd vacation -c Virtual\ Vacation -d /nonexistent -g vacation -s /sbin/nologin Создадим, наполним и обезопасим директорию vacation #mkdir /var/spool/vacation #cp /usr/local/www/postfixadmin/VIRTUAL_VACATION/vacation.pl /var/spool/vacation/ #chown -R vacation:vacation /var/spool/vacation/ #chmod 700 /var/spool/vacation/ #chmod 750 /var/spool/vacation/vacation.pl #touch /var/log/vacation.log /var/log/vacation-debug.log #chown vacation:vacation /var/log/vacation* Отредактируем скрипт my $db_type = 'mysql'; our $db_host = 'localhost'; our $db_user = 'postfix'; our $db_pass = 'postfix_sql_password'; our $db_name = 'postfix'; our $vacation_domain = 'autoreply.domain.tld'; our $smtp_server = 'localhost'; our $smtp_server_port =25; our $logfile = "/var/log/vacation.log"; # specify a file name here for example: vacation.log our $debugfile = "/var/log/vacation-debug.log"; # sepcify a file name here for example: vacation.debug our $syslog = 1; # 1 if log entries should be sent to syslog Добавим vacation фильтр в файл /usr/local/etc/postfix/master.cf: Добавим в начало файла vacation unix - n n - - pipe
flags=DRhu user=vacation argv=/var/spool/vacation/vacation.pl -f ${sender} ${recipient}Добавим для vacation транспорт в файл ... # TRANSPORT MAP # # See the discussion in the ADDRESS_REWRITING_README document. transport_maps = hash:/usr/local/etc/postfix/transport vacation_destination_recipient_limit = 1 ... Добавим в файл #echo 'autoreply.domain.tld vacation:' >> /usr/local/etc/postfix/transport Создадим для Postfix базу транспорт #postmap /usr/local/etc/postfix/transport Создадим и отредактируем файл Alias /postfixadmin/ "/usr/local/www/postfixadmin/" <Directory "/usr/local/www/postfixadmin/"> Options Indexes AllowOverride AuthConfig Order allow,deny Allow from all </Directory> Протестируем и перезапустим конфигурацию Apache. #apachectl configtest #apachectl graceful Запустим необходимые приложения #/usr/local/etc/rc.d/mysql-server start #/usr/local/etc/rc.d/dovecot start #/usr/local/etc/rc.d/postfix start Замечание: Проверьте файлы /var/log/maillog и /var/log/messages на отсутствие ошибок. Если вы получаете ошибку в журналах о $mydestination, проверьте чтобы _НИКАКИЕ_ ‘виртуальные’ домены которые вы хостите _НЕ БЫЛИ БЫ_ в списке в файле /etc/hosts. Очевидно проблема возникает из за того что Postfix не может определить виртуален домен или нет. (Спасибо Валентину) Протестируем и назначим администратора PostfixAdmin. Посетите страничку “http://domain.tld/postfixadmin/. Нажмине ссылку “setup” в тексте и посмотрите вывод, для того чтобы не возникло проблем. Сначала вам будет предложено ввести почтовый адрес и пароль для учетной записи ‘Administror’ в PostfixAdmin. Можно использовать любой адрес и пароль. После того как мы добавили учетную запись ‘Administrator’, “Все кажется прекрасным… вы готовы танцевать rock & roll!”Удалите файл Добавим домен и пользователя в Postfix Откроем страничку “http://domain.tld/postfixadmin/” Подключимся telnet к localhost на 25 порт: #telnet localhost 25 Trying 127.0.0.1… Connected to localhost.domain.tld. Escape character is ‘^]’. 220 test.domain.tld ESMTP Postfix EHLO test.com 250-test.domain.tld 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN STARTTLS 220 2.0.0 Ready to start TLS quit quit Подключимся telnet к localhost на 465 порт: #telnet localhost 465 Trying 127.0.0.1… Connected to host.domain.tld. Escape character is ‘^]’. quit quit Замечание: Вы ничего не увидите, подключившись к 465 порту, так как для работы требуется SSL шифрование, а вы не используете его прямо сейчас. Если соединение установилось, уже хорошо. Дальнейшую проверку можно произвести клиентом умеющим SSL для SMTP. Подключимся telnet к localhost на 110 порт: #telnet localhost 110 Connected to host.domain.tld. Escape character is ‘^]’. +OK ISP Mail Server Ready. user user@domain.tld (Use the account you created via the web interface) +OK pass password (Use password you just created for above user) +OK Logged in. list +OK 1 messages: 1 844 . quit +OK Logging out Connection closed by foreign host. Проверьте свой лог файл Внимание!!! У меня не заработал скрипт #cd /usr/ports/mail/p5-MIME-EncWords #make install clean #cd /usr/ports/mail/p5-Email-Valid #make install clean #cd /usr/ports/mail/p5-Mail-Sender #make install clean #cd /usr/ports/devel/p5-Log-Log4perl #make install clean #cd /usr/ports/devel/p5-Log-Dispatch #make install clean Не забудьте поставить галку MAIL-SENDER В файл /etc/hosts добавить: 127.0.0.1 autoreply.domain.tld Подробнее о vacation смотрите в файле /usr/local/www/postfixadmin/VIRTUAL_VACATION/INSTALL.TXT Еще возможности PostfixAdmin http://www.sergeysl.ru/freebsd-postfixadmin/ Также рекомендую посмотреть Postfixadmin, сбор почты скриптом fetchmail.pl
|
Вход для пользователейtags in БлогНовые записи в блогах
Счетчики |