Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Итак, начнем с настройки СУБД PostgreSQL, как основы для построения почтовой системы. Во-первых, Postgre SQL работает с правами системного пользователя pgsql (обратите внимание, этот пользователь имеет реальный shell и домашний каталог – /usr/local/pgsql). Поэтому для начала задаем пароль для данного пользователя:
# passwd pgsql
Далее делаем su pgsql и начинаем создание базы данных:
# su pgsql
% psql
Вводим пароль пользователя pgsql и попадаем в командную строку SQL-запросов. Для подробного ознакомления с возможностями СУБД советую обратиться к руководству или же одной из книг. Создаем БД:
CREATE DATABASE users;
Присоединяемся к данной БД:
c users
Создаем таблицу пользовательских аккаунтов, а также constraint для нее:
CREATE TABLE accounts (
uid serial NOT NULL,
login character varying(128),
"password" character varying(128),
maildir character varying(255),
gecos character varying(255),
gid integer DEFAULT 150,
home character varying(255),
mailquota integer DEFAULT 20
);
ALTER TABLE ONLY accounts
ADD CONSTRAINT uid_k PRIMARY KEY (uid);
ALTER TABLE ONLY accounts
ADD CONSTRAINT login_k UNIQUE (login);
Создаем таблицу алиасов:
CREATE TABLE aliases (
mail character varying(128) NOT NULL,
alias character varying(128)
);
ALTER TABLE ONLY aliases
ADD CONSTRAINT mail_k PRIMARY KEY (mail);
Поясню назначение таблиц и полей:
n таблица accounts предназначена для хранения данных о виртуальных пользователях почтовой системы, назначение полей:
n uid – уникальный номер пользователя, имеет автоинкрементный тип;
n login – строка, содержащая имя пользователя в формате «имя@домен» для возможности доставки почты для пользователей различных доменов;
n password – пароль в открытом виде (для возможности безопасной cram-md5 аутентификации);
n maildir – путь к почтовому ящику в формате maildir -gecos – комментарий (для чего-нибудь да пригодится);
n gid – идентификатор группы (не нужен реально, но зачем-то требуется для courier);
n home – аналогично gid;
n mailquota – число в мегабайтах, указывающее квоту для пользователя;
n таблица aliases представляет собой просто замену /etc/aliases, содержит два поля – mail (исходный адрес) и alias (адрес для перенаправления).