Courier - настройка
Статья создана ввиду отсутствия внятного описания настройки в Debian системы COURIER-POP3 вместе с POSTFIX
- перед тем как устанавливать и настраивать Courier рекомендуется прочесть настройку Postfix
- до начала данной установки уже должны быть установлены пакеты:
postfix mutt
и так начнем:
- устанавливаем необходимые пакеты:
# apt-get install courier-authdaemon courier-authlib-userdb courier-base courier-pop courier-authlib
- в /etc/courier/authdaemonrc - добавляем:
authmodulelist="authpam authuserdb"
- создаем папку для базы пользователей:
# mkdir /etc/courier/userdb && chmod 0700 /etc/courier/userdb;
- перезапускаем службу авторизации:
# /etc/init.d/courier-authdaemon restart;
- далее с помощью данного скрипта добавляем пользователей в базу почтового сервера:
#!/bin/bash # имя пользователя переданное скрипту типа: courier-adduser username usermail=$1 # переменная вашего почтового домена mailhost="mymailserver.ru" if [[ "$usermail" = '' ]]; then echo "не задано имя пользователя..." exit 0 fi mkdir -p /var/mail/$mailhost/$usermail@$mailhost; maildirmake /var/mail/$mailhost/$usermail@$mailhost/Maildir; chown -R 5000:5000 /var/mail/$mailhost/$usermail@$mailhost; userdb $mailhost/$usermail@$mailhost set home=/var/mail/$mailhost/$usermail uid=5000 gid=5000; userdbpw -md5| userdb $mailhost/$usermail@$mailhost set systempw; makeuserdb;
authpostgresql или настройка на postgresql
The authpostgresql module integrates with the PostgreSQL database server to support many thousands of virtual mail users.
Note: A fully configured and running PostgreSQL instance is assumed.
Information for valid email addresses, their associated passwords and maildir locations is stored in a database table. First, an os user should be created to seperate the mail user database from other information kept in the db. A directory should be created for the courier schemas files to live.
# groupadd courierdb # useradd -g courierdb courierdb # mkdir /var/spool/courierdb # chown courierdb:courierdb /var/spool/courierdb
Next, set up a database and table in Postgre:
# psql -U postgres template1 ## Configure postgres = create user courierdb; = create database courierdb with owner courierdb; = \c courierdb courierdb > CREATE TABLE mail_users ( id serial NOT NULL, username character varying(64) NOT NULL, vhost character varying(64) NOT NULL, passwd character varying(64), maildir character varying(256), alias character varying(32) ); > \q;
Finally set up authentication rights for the courierdb user in Postgre.
# editor pg_hba.conf; ## Add the following to the users list local courierdb courierdb trust
Once the postgre user and password have been setup, courier just needs to be configured to use it.
# editor authdaemonrc; ## Find and change the following authmodulelist="authpgsql" # /etc/init.d/courier-authdaemon restart; # editor authpgsqlrc PGSQL_HOST localhost PGSQL_PORT 5432 PGSQL_USERNAME courierdb PGSQL_PASSWORD # trusted PGSQL_DATABASE courierdb PGSQL_USER_TABLE mail_users PGSQL_CLEAR_PWFIELD passwd PGSQL_LOGIN_FIELD username || '@' || vhost