понедельник, 6 декабря 2010 г.

Настройка Postfix+MySQL+Dovecot-POP3+Amavis в ubuntu server 10.04

Раздел 2. Подготовка базы данных

Начнем подготовку базы данных MySQL, которая будет хранить инфу о нашего mail сервера. В процессе подготовки БД нужно будет писать SQL запросы. Если вы обладаете опытом работы с mySQL - можно воспользоваться командной строкой "mysql", в противном случае я бы порекомендовал бы воспользоваться "phpMyAdmin". phpMyAdmin предоставляет доступ к БД через веб-морду. Просто в любом браузёре в строке адреса набираем такой URL: http://YOUR-MAIL-SERVER-IP/phpmyadmin. Появится веб-морда такого плана:


Создаем БД
Первым этапом будет создание базы данных MySQL. Назовем БД "mail".

#> mysqladmin -p create mail 

Будет запрос "root" пароля для MySQL, который был введен при установке MySql.

Добавляем пользователя с меньшими привилегиями

В целях безопасности необходимо создать MySQL пользователя с меньшими привилегиями нежели у root`a, ибо postfix`y необходимо только читать данные из базы данных, а права на запись не нужны.

Соединяемся с базой:

#> mysql -p 

Откроется консоль MySql. В ней пишем такой SQL запрос:

mysql> GRANT SELECT ON mail.*
TO 'mail_admin'@'127.0.0.1'
IDENTIFIED BY 'mailadminpass';

В консоли должны получить такой ответ:
Query OK, 0 rows affected (0.00 sec)

Сбрасываем привилегии:
mysql> flush privileges;

В консоли должны получить такой ответ:
Query OK, 0 rows affected (0.00 sec)
Выходим из консоли MySQL:
mysql>exit


Таким образом мы создали юзверя с именем "mail_admin" c паролем "mailadminpass" (пользователь и пароль взяты для примера и могут быть любыми) и привилегиями "select/read"


Создаем таблицы в базе данных "mail":

Снова коннектимся к консоли MySQL к конкретной БД:

#> mysql -p mail

Опять видим приглашение MySQL и пишем запрос по созданию таблицы, которая будет содержать данные о нашем виртуальном домене:
mysql> CREATE TABLE `domains` (
`domain` varchar(50) NOT NULL,
PRIMARY KEY (`domain`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


Создаем следующую таблицу, которая будет содержать актуальные данные о наших виртуальных пользователях (mail accounts). Каждый пользователь будет иметь имя пользователя и пароль. Это необходимо для получения доступа к почтовым ящикам через POP3. Итак, создаем таблицу виртуальных пользователей:
mysql> CREATE TABLE `users` (
`email` varchar (80) NOT NULL,
`password` varchar(20) NOT NULL,
PRIMARY KEY (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


И, наконец, создаем последнюю таблицу переадресации писем:
mysql> CREATE TABLE IF NOT EXISTS `forwardings` (
`source` varchar(80) NOT NULL,
`destination` varchar(80) NOT NULL,
PRIMARY KEY (`source`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Здесь поле "source" содержит электронный адрес пользователя, который должен пересылать свои письма, а поле "destination" - электронный адрес пользователя, которому идет пересылка.


На этом подготовка БД завершена! Можно переходить к следующему разделу.


<-- Раздел 1. Подготовка системы

Раздел 3. Связка Postfix - MySQL -->

Комментариев нет:

Отправить комментарий