LINUX-BG Адрес : http://www.linux-bg.org |
Инсталация на Postfix Admin с поддръжка на PostgreSQL |
От: Н. Антонов Публикувана на: 8-05-2005 Адрес на статията: http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=371398943 |
Инсталация на Postfix Admin с поддръжка на PostgreSQLЦелта на тази статия е да опише процедурата по инсталиране и настройка на Postfix Admin (версия 2.1.0) и е предназначена към администраторите на пощенски сървъри, които използват Postfix. Авторът на тази статия не си поставя за задача да сравнява различни пощенски сървъри и да се изказва относно качествата им, а само предлага едно възможно и доказано работещо решение. Документът е написан въз основа на конкретна реализация за нуждите на проектите Линукс за българи и Фото форум, като използваната дистрибуция е Debian GNU/Linux 3.1 Sarge. Какво е Postfx Admin?Postfix Admin е уеббазиран интерфейс за управление на домейни и пощенски кутии на потребители, обслужвани от сървър Postfix и съхраняващи се в SQL база от данни. PostfixAdmin е написан на PHP и доскоро поддържаше само MySQL. Postfix Admin позволява:
Официалната последна версия на Postfix Admin е 2.1.0. В тази версия е осигурена поддръжка на MySQL 4.1. Въпреки анонсираната поддръжка на PGSQL все още са налице някои проблеми, които са отстранени чрез поправка на Troels Arvin. Предполагам, че поправката ще влезе в следващата официална версия, но дотогава можете да изтеглите готов пакет с приложената поправка оттук. Необходим софтуер
Потребителите на Debian (testing/unstable) могат да изпълнят следната команда:
Настройка на допълнителния софтуерНастройка на PostgreSQL1. Създаване на потребител posftix
След като сме създали потребител с парола, трябва да настроим контрола на достъпа за този потребител от файла /etc/postfix/pg_hba.conf, като добавим следното нещо:
Горната директива се поставя преди реда "local all all ident sameuser" и означава, че потребителят postfix ще има локален достъп (чрез Unix socket или чрез TCP на адрес 127.0.0.1) само до базата данни postfix след удостоверяване пред сървъра с парола. Презареждаме сървъра:
2. Създаване на база данни за потребителя postfix
3. Създаване на схема за базата данни Можете да използвате следния SQL скрипт:
След като сме записали тези команди примерно във файл postfix.sql, остава само да изпълним:
С това може да се каже, че сме приключили настройката на тази част от решението, която засяга PostgreSQL. Настройка на CourierОт цялата система от сървъри, която ни предлага Courier, ние ползваме само демона за автентикация в SQL базата, POP и IMAP сървърите. Следователно първо трябва да посочим кой демон за автентикация ще използваме, тъй като за всеки метод на автентикация (pam, unix, mysql и т.н.) има отделен демон. В случа ние използваме "authpgsql". Трябва да посочим това във файла /etc/courirer/authdaemonrc:
Сега трябва да настроим файла /etc/courier/authpgsql, където трябва да посочим информация за достъпа до базата данни и други неща, засягащи местоположението на писмата на потребителите.
Относно редовете PGSQL_UID_FIELD и PGSQL_GID_FIELD следва да се има предвид, че стойностите зависят от Вашия собствен избор. Просто създайте един непривилегирован потребител без shell. При мен той е наречен vmail. Настройките на този потребител в /etc/passwd изглеждат примерно така:
В случая съм направил този потребител член на групата mail (GID 108), а правата на директорията /var/mail изглеждат така:
Поддиректориите с писмата на потребителите се създават автоматично с права, които изглеждат така:
Трябва да защитим файла /etc/courier/authpgsql от погледа на света:
Остава да презаредим демона:
Настройка на PostfixPostfix се обръща към базата данни с настройките на потребителите, като чете в познатите на всички администратори на Postfix map-файлове. Трябва да създадем отделен map-файл за всяка таблица в базата данни. Ето какви файлове трябва да създадем в директорията /etc/postfix и какво трябва да съдържат те:
Задължително защитаваме файловете от погледа на света:
Сега вече трябва да кажем на Postfix да взима предвид тези файлове, което става от главния му конфигурационен файл /etc/postfix/main.cf:
Следва презареждане на сървъра:
Инсталация на Postfix AdminВсъщност, стигнахме до най-лесната част. Харесваме си място, където ще разположим скриптовете, като предвиждаме това място да е все пак директория, видима чрез нашия уебсървър. Добра идея е да си дефинираме отделен виртуален хост, описанието на което обаче не е цел на тази статия. Тук условно приемаме, че използваме директория по подразбиране, а именно /var/www:
На посочения адрес има и разписан с GPG пакет на Postfix Admin с приложената "кръпка". Пакетът е разписан с моя публичен PGP ключ, който можете да откриете на http://wwwkeys.pgp.net или да изтеглите от личния ми FTP сървър. Сега остава да редактираме конфигурационния файл config.inc.php, където трябва да посочим данните за достъп до базата в PostgreSQL и да зададем някои добре описани и ясни за всеки грамотен администратор потребителски настройки като:
Изборът на тези настройки вече зависи изцяло от Вашите нужди. Внимание! Поддиректорията admin/ се защитава чрез файл .htpasswd и .htaccess. Необходимо е да редактираме файла admin/.htaccess, като вземем предвид директорията, в която сме инсталирали PostfixAdmin. Ако тя е /var/www/postfixadmin-2.1.0, то съдържанието на файла следва да изглежда така:
Следва да настроим суперадминистратор (той ще делегира права на отделните администратори на домейните) чрез командата htpasswd:
Задължително трябва да защитим този файл, като разрешим само на потребителя, с чиито права работи уебсървърът. В Debian това е www-data:
Това е! Сега остава да влезем в администраторски режим, като заредим в уеббраузера си адреса: http://domain.tld/postfixadmin-2.1.0/admin Разбира се, излишно е да подчертавам, че е най-добре да пренесем комуникацията със сървъра върху SSL, постигането на което също не е цел на тази статия. Авторът на тази статия би се радвал, ако съобщавате за допуснати грешки и неточности. Допълнителна документация:
<< Как да настроим неподдържаните мултимедийни клавиши. | Ограничаване на upload-трафик >> |
Авторите на сайта, както и техните сътрудници запазват авторските права върху собствените си материали публикувани тук,
но те са copyleft т.е. могат свободно да бъдат копирани и разпространявани с изискването изрично да се упоменава името на автора,
както и да се публикува на видно място, че те са взети от оригиналния им URL-адрес на този сървър (http://www.linux-bg.org). Авторските права на преводните материали принадлежат на техните автори. Ако с публикуването тук на някакъв материал неволно са нарушени нечии права - след констатирането на този факт материалът ще бъде свален.
All trademarks, logos and copyrights mentioned on this site are the property of their respective owners.
|