|
4 Краткий отчет о практике (приложение 1). Строки с таким выделением
Приложение №1
Это приложение описывает процедуру установки почтового сервера на базе Ubuntu 20.04 LTS. В документе использовано следующее форматирование:
строки с таким выделением
это команды, которые мы задаем в терминале.
строки с таким выделением
это ответы, которые мы получаем на введенные нами команды
строки с таким выделением
это содержимое различного рода конфигурационных файлов.
Будьте предельно внимательны при копировании команд!
Вся процедура создания почтового сервера проверена, однако, естественно, в документе возможны ошибки и неточности. Если у Вас что-то не получается, или получается не так, как следует/описано, то:
еще раз проверьте, все ли Вы делаете правильно анализируйте соответствующие лог-файлы, расположенные в /var/log/ ищите решение Ваших проблем в гугле консультируйтесь на форуме (старайтесь быть как можно более конкретным, и точно сообщите, в чем именно у Вас возникла проблема)
В процессе создания документа использована куча различного рода информации, доступной в Интернет. К сожалению, не представляется возможным перечислить все источники информации, однако хочется выразить признательность всем авторам, чья работа так или иначе была использована при написании этого документа.
Постановка задачи Мы установим на чистую машину на Ubuntu 10.04 LTS server почтовый сервер на базе postfix. Для «забора» почты по протоколам pop3/imap будем использовать dovecot с поддержкой квот для почтовых ящиков пользователей. На нашем сервере будет располагаться почта для двух разных доменов - aaa.ru (наш «основной» домен) и bbb.ru. Для настройки почты будем использовать mysql. Для аутентификации пользователей будем использовать два механизма - mysql для домена bbb.ru и openldap для пользователей нашего основного домена aaa.ru. Кроме этого, почтовый сервер будет проверять входящую почту с помощью amavis на вирусы (clamav) и спам (spamassassin). Сделаем также лист рассылки (mailman) и автоответчик для пользователей. Установим систему для доступа к почте через web — horde/imp. Мы будем использовать horde/imp, т.к. это самый продвинутый веб-клиент, позволяющий полностью использовать все современные возможности почты, включая подписывание почты по протоколам S/MIME и прочие. Кроме этого, установим munin для рисования красивых графиков работы нашего почтового сервера.
Итак, предположим, что у нас есть только что установленная 10.04 LTS. Предположим также, что компьютер зовут «oban», он имеет IP адреc 10.0.0.6, находится в DMZ за NAT. Для доступа извне на наш почтовый сервер мы пробросим нужные порты по протоколу TCP – 80, 443 (для доступа к веб-серверу), 25 (для доступа к SMTP-серверу), 110, 143, 993, 995 (для “забора” почты снаружи по протоколам POP3 и IMAP). Если нужно, откроем еще порт 22 для доступа по SSH (хотя этого делать не стоит – лучше иметь доступ к серверу только изнутри нашей сети).
Пользователь, за которым мы «сидим» - это, конечно, не root, а toor (Вы же не сидите за рутом, правда?).
Установка системы Вначале установим «чистую» систему Ubuntu 10.04 LTS server. В процессе установки ничего дополнительно устанавливать не будем, все нужное установим позже.
Первое что мы сделаем после перезагрузки, еще не отходя от терминала - установим ssh-сервер, чтобы все остальное делать удаленно:
sudo apt-get install openssh-server
После этого со спокойной совестью выходим и идем к нашему собственному компьютеру. Чтобы не набирать каждый раз пароль при входе на наш сервер, сделаем вход по ключу:
ssh-copy-id -i /.ssh/id_rsa.pub toor@10.0.0.6
Нас спросят, уверены ли мы, что хотим соединиться с этим сервером
Are you sure you want to continue connecting (yes/no)?
Ответим
yes
Нас спросят пароль пользователя toor на oban
toor@10.0.0.6's password:
Введем. Все, теперь для захода на наш сервер с нашего компьютера достаточно набрать
ssh toor@10.0.0.6
и мы там. Заметьте, что это не то же самое, что попытка входа как
ssh toor@oban
так что если хотите - проделайте это еще раз уже для такого варианта.
Итак, вначале установим все обновления (их наверняка набралось уже порядочно):
sudo apt-get update
sudo apt-get dist-upgrade
Мы используем dist-upgrade а не просто upgrade чтобы получить обновления в том числе и для ядра.
Естественно, соглашаемся с предложенным списком и (если были обновления ядра или подобные важные обновления) перезагружаемся
sudo reboot
Начинаем установку.
Установим нужные пакеты
sudo apt-get install postfix postfix-mysql postfix-ldap postfix-doc postfix-tls libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql dovecot-imapd dovecot-pop3d dovecot-common mysql-client mysql-server apache2 libapache2-mod-php5 php5 php5-mysql
(здесь и далее соглашаемся с установкой дополнительных пакетов).
Отвечаем на вопросы
Новый пароль для MySQL пользователя «root»:
Обязательно устанавливаем пароль для пользователя root в mysql (это - не пароль пользователя root на компьютере, не путайте!). Здесь и далее это -
Повторите ввод пароля для MySQL пользователя «root»:
Выберите тип настройки почтового сервера, который оптимально удовлетворяет ваши требования.
Здесь просто жмем .
Общий тип почтовой настройки:
Выбираем
Internet - сайт
Системное почтовое имя:
oban.aaa.ru
После окончания установки начнем конфигурацию.
Создадим базу данных mysql для хранения всей информации для почтового сервера
mysqladmin -u root -p create mail
Нас спросят пароль пользователя root mysql
Enter password:
Введем выбранный на этапе установки пароль
Перейдем в оболочку mysql (опять вводя тот же пароль)
mysql -u root -p
Создадим специального пользователя mail_admin и паролем (замените!) для доступа к нашей базе данных mail с привилегиями SELECT, INSERT, UPDATE и DELETE. Доступ ему будет разрешен только с локального компьютера (т.е. с самого сервера):
GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO 'mail_admin'@'localhost' IDENTIFIED BY '';
GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO 'mail_admin'@'localhost.localdomain' IDENTIFIED BY '';
FLUSH PRIVILEGES;
Теперь создадим нужные нам таблицы в базе данных mail
use mail;
CREATE TABLE domains (
domain varchar(50) NOT NULL,
PRIMARY KEY (domain) )
TYPE=MyISAM;
CREATE TABLE forwardings (
source varchar(80) NOT NULL,
destination TEXT NOT NULL,
PRIMARY KEY (source) )
TYPE=MyISAM;
CREATE TABLE transport (
domain varchar(128) NOT NULL DEFAULT '',
transport varchar(128) NOT NULL DEFAULT '',
UNIQUE KEY domain (`domain`)
) ENGINE=MyISAM;
CREATE TABLE users (
email varchar(80) NOT NULL,
password varchar(20) NOT NULL,
quota varchar(20) DEFAULT '0',
PRIMARY KEY (email)
) TYPE=MyISAM;
(здесь мы задаем квоту для пользователей по умолчанию без лимита - 0)
и выйдем из оболочки mysql
quit;
|
|
|