Раздел 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" - электронный адрес пользователя, которому идет пересылка.
На этом подготовка БД завершена! Можно переходить к следующему разделу.
Комментариев нет:
Отправить комментарий