Bugsp.ru

Ваша компьютерная помощь
3 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как настроить почтовый сервер в Linux

Как настроить почтовый сервер на VPS с Linux

Есть много причин, чтобы настроить собственный почтовый сервер на VPS.

Собственный почтовый сервер на VPS дает гораздо больше точных и тонких настроек для доставки почты.

В этой инструкции вы найдете пошаговую инструкцию по установке почтового сервера на Ubuntu 20.04 с использованием распространенного MTA (агента доставки почты) – Postfix.

Postfix состоит из небольших, совместно работающих программ. Каждая осуществляет свои узкоспециализированные функции:

  • отправка сообщений
  • прием сообщений
  • локальная доставка
  • и осуществляют обмен с другими программами с помощью сокетов unix.

Настройка DNS

Для корректной работы почтового сервера, в DNS-зоне сервера должна быть настроена запись типа MX (Mail Exchange).

Кроме того, понадобится A (Anchor)-запись связывающая доменое имя сервера и его ip-адрес.

Эти настройки задаются в панели управления регистратора доменного имени (за исключением тех случаев, когда DNS-записями управляют ваши NS-сервера).

Вот пример настройки DNS-записей на примере регистратора reg.ru:

  • Перейдите reg.ru и войдите в личный кабинет
  • Перейдите в раздел “Мои домены и услуги”
  • Выберите домен, на котором нужно настроить A-запись и МХ-запись
  • В разделе “DNS-серверы и управление зоной” просмотрите настроенные записи
  • Если есть ранее настроенные MX-записи, удалите их нажав на крестик напротив записи
  • Добавьте запись A, которая будет указывать на ip-адрес вашего почтового сервера (например, A mail → )
  • Добавьте запись MX, которая будет указывать на имя вашего сервера (например, MX @ → mail.testdomain.ru. 10)

Здесь нужно обратить внимание, что

  • @ – указывает на ту доменную зону, для которой эта запись создается
  • Приоритет 10 – используется для приоритезации доставки, если почтовых серверов несколько.
    Для одного сервера, 10 – подходящее число для старта.

После сохранения изменений потребуется время, прежде чем обновленная информация о доменных записях распространится между другими DNS-серверами. Это может занять до 72 часов, хотя, как правило, изменения применяются за час-два.

Проверить правильно ли настроены и готовы ли записи можно командой:
dig -t a mail.testdomain.ru
dig -t mx mail.testdomain.ru

В ответ вы должны получить ответ с настроенными dns-записями от настроенного сервера DNS.

Так же потребуется добавить соответствующие записи в /etc/hosts
sudo nano /etc/hosts:

xxx.xxx.xxx.xxx mail.testdomain.ru mail

Установка Postfix

Зададим hostname и установим

  • postfix
  • dovecot и nginx (для получения сертификатов let’s encrypt)
  • wget (для установки certbot-auto,
  • nano (текстовый редактор)

Зададим hostname сервера соответственно указывающей на него в DNS A-записи:
sudo hostnamectl set-hostname mail.testdomain.ru

Запустим установку Postfix, и укажем DEBIAN_PRIORITY=low, что бы ответить на дополнительные запросы при установке:
sudo DEBIAN_PRIORITY=low apt install postfix

Программа задаст ряд вопросов, что бы сконфигурировать установку:

  • General type of mail configuration: Internet site (Указываем режим, когда почта будет отправлятся и приниматься через SMTP)
  • System mail name: testdomain.ru (указываем базовый домен почты, который идет после знака @)
  • Root and Postmaster recipient: postmaster@testdomain.ru (учетная запись системы, которая будет получать почту на почтовые адреса root@ и postmaster@)
  • Other destinations to accept mail for: $myhostname, mail.testdomain.ru, localhost.testdomain.ru, localhost (Список доменов, которые сервер будет считать точкой финального назначения. Здесь можно указать другие домены, если почтовый сервер будет обслуживать больше чем один домен или указать доменное имя более высокого уровня, если сервер будет работать как почтовый релей)
  • Force synchronymous updates on mail queue: No (Для журнальных файловых систем, не используем синхронные обновления на очередь почты)
  • Local networks: (список сетей с которых будет почта будет ретранслироваться, в большинстве случаев достаточно оставить значение по умолчанию)
  • Mailbox size limit: 0 (Ограничивает размер почтового ящика, 0 – без ограничений)
  • Local address extension character: + (Символ для разделения расширения адреса)
  • Internet protocol to use: All (Позволяет ограничить использование версий IP протокола, включим All – ipv4 и ipv6)

Чтобы провести повторную настройку параметров можно использовать следующую команду:
sudo dpkg-reconfigure postfix

Настройка Postfix

Чтобы настроить почтовый сервер, сначала надо настроить Postfix.

Сделать это можно, редактируя файл конфигурации /etc/postfix/main.cf или используя утилиту postconf.

Настроим Postfix на использование структуры хранения почты Maildir:
sudo postconf -e ‘home_mailbox= Maildir/’

Зададим расположение файла алиасов, который связывает псевдонимы почтовых ящиков с системными учетными записями:
sudo postconf -e ‘virtual_alias_maps= hash:/etc/postfix/virtual’

Настроим сопоставление алиасов и учетных записей в файле /etc/postfix/virtual:
sudo nano /etc/postfix/virtual

Например, для того, что бы почта с почтового адреса contact@testdomain.ru поступала в почтовый ящик системной учетной записи root, необходимо добавить строку:
contact@testdomain.ru root

Привязав все нужные почтовые адреса к системным учетным записям, сохраните и закройте файл.

Чтобы применить новые настройки выполните команды:
sudo postmap /etc/postfix/virtual
sudo systemctl restart postfix

Настройка файрволла

Чтобы разрешить внешним серверам передавать почту на наш сервер, необходимо разрешить это в UFW, используя готовый профиль Postfix:
sudo ufw allow Postfix

Установка клиента и тестирование

Для отправки почтовых писем мы будем использовать s-nail – форк почтового клиента xmail, понимающий формат Maildir.

Читайте так же:
Как сохранить пароль ВКонтакте

S-nail использует переменную среды MAIL, для определения расположения структуры каталогов Maildir. Для этого добавим эту переменную в файлы /etc/bash.bashrc и /etc/profile.d:
echo ‘export MAIL=

/Maildir’ | sudo tee -a /etc/bash.bashrc | sudo tee -a /etc/profile.d/mail.sh

Установим s-nail:
sudo apt install s-nail

Настроим конфигурацию почтового клиента s-nail. Добавим в конец файла /etc/s-nail.rc строки:
sudo nano /etc/s-nail.rc

.
set emptystart
set folder=Maildir
set record=+sent

  • set emptystart – разрешает клиенту открываться даже при пустом почтовом ящике
  • set folder=Maildir – указывает название каталога с структурой почтовых папок
  • set record=+sent создает файл sent для хранения отправленной почты

echo ‘Hello’ | s-nail -s ‘Hello’ -Snorecord username

Здесь вместо username, укажите имя своей системной учетной записи.

После этого проверим структуру каталогов текущей системной учетной записи:
ls -R

Установка клиента – как настроить почтовый сервер на Linux

Если настройки верные, мы увидим доставленное письмо в виде текстового файла в папке

Теперь мы можем прочитать наше отправленное письмо, открыв s-nail:
s-nail

Нажмите ENTER, чтобы вывести текст письма:

Проверка отправленного письма для настройки почтового сервер на Linux

Структура каталогов создана, и почтовая система Postfix настроена на вашем сервере и готова к работе.

Заключение

Эта статья — все лишь базовая инструкция, как настроить почтовый сервер на VPS.

В зависимости от требований Postfix, сервер может быть гибко сконфигурирован – он поддерживает гибкую фильтрацию писем, фильтрацию спама, а для крупных почтовых систем, может использовать сервер баз данных, такой как MySQL – для хранения данных.

Но если вы освоили описанную здесь последовательность действий и разобрались с основами, то всё, что вам понадобится, несложно будет выяснить из документации.

Как Установить и Настроить Почтовый Сервер в Ubuntu 18.04 LTS

Как Установить и Настроить Почтовый Сервер в Ubuntu 18.04 LTS

Если вы компания среднего размера, наличие собственного почтового сервера даст вам ряд преимуществ. Вы сможете контролировать весь ваш трафик и определять правила. Таким образом, вам будет проще управлять своими услугами.

В этом руководстве мы покажем вам, как установить и настроить почтовый сервер Ubuntu на VPS-сервер под управлением Ubuntu 18.04. Существует множество альтернатив и способов создания почтового сервера в Linux, однако мы сосредоточимся на Postfix!

Скидки до 77% на планы VPS-хостинга от Hostinger!

Настройка DNS-сервера для почтового сервера Ubuntu

Просто следуйте этому пошаговому руководству, и проблем с настройкой возникнуть не должно!

1. Подключитесь и Обновите Сервер

Войдите на свой сервер, используя SSH. Если у вас возникли проблемы, ознакомьтесь с нашим руководством по PuTTY! После входа в систему обновите свой компьютер, используя следующую команду:

2. Установите Bind

Чтобы настроить DNS-сервер, который будет использовать Postfix, нам понадобится дополнительный инструмент — Bind. Давайте его установим:

3. Настройте /var/cache/db.test

На этом этапе мы должны принять во внимание, что IP-адрес нашей машины Ubuntu 18.04 — 192.168.250.7, необходимо заменить его IP-адресом, по которому вы будете выполнять установку. В этом примере мы будем использовать mail.test.com в качестве FQDNS.

Итак, теперь необходимо создать новую зону для нашего примера. Для этого создайте новый файл с информацией о зоне.

Затем добавьте следующее:

Не забудьте заменить IP-адрес на адрес вашего сервера и изменить домен на тот, который вы хотите использовать. Нажмите CTRL+O, чтобы сохранить изменения, и CTRL+X, чтобы закрыть редактор nano.

4. Добавить Новую Зону к Конфигурации Bind

Прежде чем мы активируем созданную зону, мы должны проверить конфигурацию файла.

Теперь мы можем добавить нашу новую зону в файл конфигурации зоны Bind. Для этого выполните следующую команду:

И добавляем новую зону:

Опять-таки нажмите CTRL+O, чтобы сохранить изменения, и CTRL+X, чтобы закрыть редактор файла.

5. Настройте/etc/bind/named.conf.options

Теперь в файле /etc/bind/named.conf.options необходимо раскомментировать строку с перенаправлением и добавить Google DNS — 8.8.8.8. Для этого просто удалите символы //, как показано на скриншоте ниже.

6. Перезапустите Bind

Теперь нам нужно перезапустить службу bind9. Сделать это можно одной из двух команд:

Настройка Текущего Подключения

Когда закончите, необходимо сменить DNS-сервер на почтовый сервер Ubuntu, так как он тоже будет нашим DNS-сервером.

1. Загрузите Network-Manager

Для этого мы можем использовать программу управления сетевыми подключениями network-manager. Установите его, введя следующую команду в командную строку.

2. Покажите Все Активные Соединения

После этого мы покажем все активные подключения.

Активные соединения будут выделены зелёным.

3. Выберите Соединение для Редактирования

Теперь, когда мы знаем, какое соединение редактировать, можно двигаться дальше. В следующей команде замените [имя активного соединения] на своё:

4. Удалите Существующий DNS-сервер

Удалите DNS-сервер с помощью следующей команды:

5. Установите Новый DNS-сервер

Чтобы установить новый DNS-сервер, вам необходимо выполнить следующие команды:

Сохраняем изменения и выходим:

6. Перезапустите Соединение

Дальше мы перезапустим наше соединение, чтобы изменения вступили в силу. Не забудьте ввести имя вашего соединения:

Читайте так же:
После заправки картриджа принтер плохо печатает: что делать

7. Измените Текущее Имя Хоста

И последний шаг перед установкой почтового сервера — изменить текущее имя хоста:

Мы рекомендуем выйти и войти заново на ваш сервер, прежде чем приступить к следующему разделу.

Как Установить и Настроить Почтовый Сервер в Ubuntu 18.04

Мы почти закончили, ваш почтовый сервер Ubuntu скоро будет готов к работе. Вот что нам осталось сделать:

1. Установка Почтового Сервера Postfix

Пришло время установить Postfix. Postfix — это почтовый сервер, написанный на C. Его главная особенность — скорость выполнения и открытый исходный код. Установите его с помощью следующей команды:

Во время установки нам будет предложено настроить пакет. На первом экране выберите опцию Internet Site.

Затем мы должны ввести имя сервера. В данном случае это test.com.

Postfix очень гибкий и допускает обширную настройку, но в этом руководстве мы лишь подправим конфигурацию по умолчанию.

2. Добавляем Пользователя

Затем мы должны добавить нашего пользователя в групповую почту:

Это необходимо сделать, поскольку в Ubuntu 18.04 эту утилиту могут использовать только пользователи, входящие в почтовую группу.

После этого мы должны создать пользователей и добавить их в почтовую группу, чтобы они могли отправлять и получать почту. Я добавлю Габриэля:

Затем нам нужно установить пароль для нового пользователя:

Проверка Почтового Сервера Ubuntu

Теперь давайте проверим, что у нас получилось. Мы отправим и получим электронное письмо с терминала. Для этого установим пакет mailutils:

Затем мы отправляем письмо другому пользователю учётной записи электронной почты по имени gabriel. Введите тему и сообщение. После этого нажмите CTRL+D, чтобы закончить. Чтобы начать писать сообщение, введите следующую команду:

Теперь мы можем войти в систему под другим пользователем и проверить почтовую утилиту.

Там после выполнения команды mail, мы увидим только что отправленное письмо. Чтобы открыть его, просто введите номер письма, в данном случае 1.

Чтобы проверить исходящие письма от этого пользователя, просто попробуйте другой адрес электронной почты:

Вот и всё! Теперь вы отправляете электронные письма со своего собственного почтового сервера в Ubuntu 18.04! Поздравляем.

Итоги

Настроить почтовый сервер в Ubuntu довольно просто, чего не скажешь про управление. Однако в Linux это рекомендуется делать с целью безопасности и управления ресурсами.

К тому же довольно полезно иметь настроенный и функциональный почтовый сервер в компании.

Есть много способов улучшить и поддерживать почтовый сервер. Этот процесс требует времени и постоянного внимания. Поэтому мы рекомендуем продолжить изучать эту тему. Удачи и успешных рассылок!

Ольга уже около пяти лет работает менеджером в сфере IT. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.

Почтовая система на базе Linux (Postfix, Dovecot, Mysql)

Создадим таблицы для сервера post. Можно использовать PostfixAdmin для создания и управления базой данных почтового сервера. У нас в компании самописное приложение по управлению базой, но таблицы создавались с дампа с PostfixAdmin.

Создаем таблицы в базе post:

Структура таблицы alias:

addressgotodomainactive
roman@pridybailo.comroman@pridybailo.compridybailo.com1
reports@pridybailo.comroman@pridybailo.compridybailo.com

Структура таблицы domain:

domaindescriptiontransportactive
pridybailo.comRoman Pridybailovirtual1

Структура таблицы mailbox:

usernamepasswordnamemaildirloclapartdomainactive
roman@pridybaillo.comfe67f17b681a5d9c4b7ba5cc30c8674aRomanroman@pridybailo.com/romanpridybailo.com1

Установка и настройка MX сервера

  • myhostname, mydomain — Домен и хостнейм сервера.
  • mydestination — Данный параметр определяет, какие домены этот сервер будет доставлять локально, вместо того, чтобы переадресовывать на другие.
  • relay_domains — Указывает Postfix на необходимость приема почты для этих доменов несмотря на то, что данный сервер не является местом их конечного назначения.
  • inet_interfaces — Указывает все адреса сетевых интерфейсов, на которых Postfix должен ждать соединений.
  • smtpd_helo_required — Это ограничение требует от клиентов отправки команды HELO (или EHLO) в начале сеанса SMTP. Наличия команды HELO/EHLO требуют RFC 821 и RFC 2821.
  • strict_rfc821_envelopes — Это ограничение регулирует степень терпимости Postfix к ошибкам в адресах, указанных в команде MAIL FROM или RCPT TO.
  • disable_vrfy_command — Позволяет клиентам проверять существование получателя. Это ограничение позволяет отменить команды VRFY.
  • message_size_limit, mailbox_size_limit — Ограничения по размеру.
  • unknown_address_reject_code, unknown_hostname_reject_code, unknown_client_reject_code — Коды ошибок.
  • smtpd_banner — Приветсвие.
  • smtpd_recipient_restrictions — Огранечения на этапе RCPT TO.
    • check_sender_access — Проверка на запрет или разрешение доставки писем от даных отправителей.
    • check_helo_access — Проверка на этапе HELO.
    • check_recipient_access — Проверка разрешений получателей
    • reject_invalid_hostname — Отклоняет все запросы на этапе HELO и EHLO когда hostname плохо сформированный.
    • reject_non_fqdn_hostname — Отклоняет все запросы на этапе HELO и EHLO когда у отправителя имя хоста не FQDN
    • reject_non_fqdn_sender — Отклоняет все запросы на этапе MAILFROM когда адрес отправителя не сформирован FQDN
    • reject_non_fqdn_recipient — Отклоняет все запросы на этапе RCPT TO когда адрес получателя не FQDN
    • reject_unknown_sender_domain — Отклоняет все запросы отпраителя у кого нету A записи
    • reject_unknown_recipient_domain — Отклоняет все запросы для получателя у кого нету A записи
    • reject_unauth_destination
    • reject_unknown_client_hostname — Отклоняет запросы
    • reject_unknown_helo_hostname — Отулоняет запросы если у hostname нету A или MX записи
    • reject_unknown_reverse_client_hostname — Отклоняет запросы, если нету PTR
    • reject_rbl_client — Отклоняет все запросы, чьи данные есть в rbl списках

    Редкактируем файл /etc/postfix/mysql/access.cf:

    Редкактируем файл /etc/postfix/mysql/transport.cf:

    Редкактируем файл /etc/postfix/mysql/relay.cf:

    Рестартуем postfix:

    Настройка главного почтового сервера post

    Установка Apache

    Собственно, сам веб-сервер:

    Установка Postfix

    Проверяем, поддерживает ли наш Postfix базы данных MySQL:

    Создаем пользователя vmail (user id 5000) и группу vmail (group id 5000). Этот пользователь будет владельцем каталога почты /var/vmail.

    Создаем каталог /var/vmail:

    Права 777 нужны на этапе отладки:

    Сделаем копию исходного файла конфигурации Postfix:

    Правим main.cf:

    Сейчас мы будем переходить к настройке Dovecot и Spamassassin, поэтому сразу пропишем в конфиге Postfix, что Dovecot отвечает за локальную доставку почты.

    Редактируем /etc/postfix/master.cf:

    Мы используем защищенное соединение поэтому еще добавим строчку

    Перед flags два пробела! Это очень важно. Работать иначе не будет.

    Редактируем файл /etc/postfix/sql/virtual_mailbox_domains.cf:

    Редактируем файл /etc/postfix/sql/virtual_alias_maps.cf:

    Редактируем файл /etc/postfix/sql/virtual_mailbox_maps.cf:

    Установка Dovecot

    Dovecot выполняет роль POP/IMAP почтового сервера. Фактически, он выполняет две функции:

    • (основная) получает почту от MTA (Sendmail, Postfix и др.) и хранит ее на диске;
    • (в нашем случае) осуществляет авторизацию логина/пароля почтовых пользователей.

    В данном руководстве пойдет речь о настройке Dovecot версии 2 как части классической связки «Dovecot + Postfix + MySQL».

    Установка Dovecot

    Главный конфигурационный файл Dovecot

    Основные настройки Dovecot хранит в файле конфигурации /etc/dovecot/dovecot.conf (или, реже /etc/dovecot.conf). Сразу делаем копию конфигурационного файла:

    Примечение: путь к файлу может быть /etc/dovecot.conf, проверьте сначала, где у вас в системе этот файл.

    # Мы не используем специализированные файлы из поставки Dovecot из папки /etc/dovecot/conf.d/. Основная причина: отсутствие ясного руководства по их использованию. А также сравнительно небольшой размер всего конфига (все перед глазами, нет необходимости раскидывать по отдельным файлам).

    Редактируем файл /etc/dovecot/dovecot.conf:

    Редактируем файл dovecot-mysql.conf:

    Еще раз обращаю внимание на то, что пароли скорее всего придется хранить в открытом виде (PLAIN). Это из-за того, чтобы иметь максимально гибкую систему. Например, изначально я все настроил на MD5, все было здорово, потом попробовал «прикрутить» веб-клиент почты RoundCube, и столкнулся с тем, что RoundCube не понимает именно такой-то вид шифрования. На общую безопасность это не должно влиять, т.к. все компоненты нашего почтового сервера находятся на одном физическом сервере, а клиентов всегда можно подключить через SSL/TLS.

    Устанавливаем Spamassassin

    Редактируем файл /etc/mail/spamassassin/local.cf:

    Ставим Roundcubemail

    Скачиваем архив последней версии, распаковываем его, удаляем файл архива и ждем указаний:

    Копируем оригиналы конфигов:

    Редактируем файл config/main.inc.php:

    Редактируем файл config/db.inc.php:

    Ставим необходимые расширения php:

    Пользователь, от имени которого запускается веб-сервер, должен иметь возможность записывать в директории temp и logs:

    Запускаем установщик http://post.example.com/webmail/roundcubemail/installer/

    Инициализируем базу данных нажатием кнопки «Initialize Database».
    Проверяем отправку и авторизацию стандартными средствами Roundcubemail.

    На этом этапе может быть будут всякие мелочи, их лучше решить сразу и не идти дальше. Например, если у вас пароли не PLAIN, а, скажем, MD5 или другие, у вас могут возникнуть проблемы. В принципе, именно из-за этого я был вынужден отказаться от шифрования паролей. Мы все-таки состыковываем кучу софта (веб-морду, dovecot, postfix, mysql, потом возможно еще что-то), и различия в терминах алгоритмов шифрования и др. делают работу с зашифрованными паролями настолько трудной, что я пока забил на это. Если кто-то знает работающую схему шифрования паролей, в комментариях напишите об этом и опишите как вы это сделали. Мы работаем для себя и для всех, по крайней мере, на этом сайте!

    После прохождения тестов Roundcube напишет вам такое:

    After completing the installation and the final tests please remove the whole installer folder from the document root of the webserver or make sure that enable_installer option in config/main.inc.php is disabled.

    These files may expose sensitive configuration data like server passwords and encryption keys to the public. Make sure you cannot access this installer from your browser.

    Настройка почтового сервера Linux

    Это первая статья по настройке почтового сервера на Linux в составе Dovecot 2.0.9, Postfix 2.6.6, базой данных MySQL, интерфейсом администрирования PostfixAdmin, веб-интерфейсом к почте RoundCube и все это на CentOS 6.3.

    Вообще, эту и все связанные с ней статьи я пишу для того, чтобы задокументировать всякие тонкости, с которыми я сталкивался при настройке почтового сервера на CentOS. А заодно уж и поделюсь с общественностью приобретенным опытом. Несмотря на то, что все в этой статье прошло проверку не раз и не два, вы должны понимать, что от релиза к релизу что-то чуть-чуть меняется, от того, прописано у вас имя хоста или нет, где-то что-то может сработать не так, как здесь написано. Директория /var/log/ должна стать вашим хорошим знакомым 🙂 В этом нет ничего страшного.

    Я уже где только не предлагал — скажу еще раз — есть отличный проект iRedMail.org, с помощью которого вы можете легко и просто установить все, что описано ниже и даже намного больше. Я тестировал этот продукт, мне понравилось. По-крайней мере, вы получаете на своем любимом дистрибутиве работающий почтовый сервер. И не за 2-3 дня, а сразу. А зачем я тогда писал эту и сопутствующие статьи? Мне не нужны антиспамы и прочее для внутреннего корпоративного сервера. Мне не нужны куча привязок и заморочек, так что обновить что-либо достаточно непросто. Наконец, я хочу понимать, что происходит в моем сервере.

    Для кого это руководство? Для начинающих системных администраторов, у которых куча вопросов, нехватка времени и желание получить все и сразу. Совсем сразу не выйдет, но большинство вопросов тут описано.

    Оглавление

      , в которой будем хранить настройки пользователей, список доменов и пр. для доступа к инструментам управления почтовым сервером для управления почтовым сервером (пользователи, виртуальные домены и др.). — МТА, отвечает за доставку почты (SMTP). — IMAP, POP3, авторизация, хранение почты.

    Предварительная настройка сети в CentOS

    На свежеустановленной системе (например, из дистрибутива minimal, без X-Window) перед началом настройки проверьте настройки сети:

    Если сетевой интерфейс не активен (в выводе только lo), то надо подправить файл:

    a) адрес сети получаем через DHCP (пример):

    б) адрес сети установлен вручную (пример):

    DEVICE="eth0"
    BOOTPROTO="static"
    NM_CONTROLLED="yes"
    ONBOOT="yes"
    TYPE="Ethernet"
    IPADDR=192.168.1.2
    NETMASK=255.255.255.0
    BROADCAST=192.168.1.255
    NETWORK=192.168.1.0
    NOZEROCONF=yes

    nameserver 127.0.0.1
    nameserver your_provider_dns_ip

    После этого перезагрузите компьютер и попробуйте пропинговать, например, yandex.ru. Если все ок, идем дальше, непосредственно к программному обеспечению.

    1. Установка MySQL

    Как вариант, посмотрите здесь.

    1.1 Установка и минимальная настройка

    # yum install mysql-server mysql-devel
    # service mysqld start
    # /usr/bin/mysql_secure_installation

    1) установили пароль на root:

    Set root password? [Y/n] y
    New password: mySQL_passWord

    2) удалили анонимный вход:

    Remove anonymous users? [Y/n] y
    . Success!

    3) ограничили вход только localhost:

    Disallow root login remotely? [Y/n] y
    . Success!

    4) удалили тестовую базу и безпарольный вход:

    Remove test database and access to it? [Y/n] y
    — Dropping test database.
    . Success!
    — Removing privileges on test database.
    . Success!

    5) обновили новые настройки:
    Reload privilege tables now? [Y/n] y
    . Success!

    1.2 Создание базы данных для Postfix и Dovecot

    ]# mysql -p
    Enter password:

    mysql> CREATE DATABASE mail;
    mysql> CREATE USER 'postfix'@'localhost' IDENTIFIED BY 'postfixPassword';
    mysql> GRANT ALL PRIVILEGES ON `mail`.* TO 'postfix'@'localhost';
    mysql> exit

    Дальше никакие таблицы создавать НЕ НАДО. Для этого мы установим PostfixAdmin и веб-сервер для управления базой данных почтового сервера.

    Следующий шаг: установка веб-сервера.

    2. Установка Apache

    Собственно, сам веб-сервер:

    > yum install httpd

    > yum install php
    > yum install php-mysql
    > yum install php-mbstring
    > yum install php-imap

    3. Установка PostfixAdmin

    Скачиваем архив с сайта (на 03.04.12 это будет версия 2.3.5):

    > cd /var/www/html
    > wget http://downloads.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-2.3.5/postfixadmin-2.3.5.tar.gz
    > tar xvfz postfixadmin-2.3.5.tar.gz

    Получаем папку /var/www/html/postfixadmin-2.3.5/

    Дальше создадим ссылку на эту версию postfixadmin и отредактируем файл начальной конфигурации PostfixAdmin:

    > ln -s /var/www/html/postfixadmin-2.3.5/ /var/www/html/postfixadmin/
    > nano /var/www/html/postfixadmin/config.inc.php

    В файле изменяем:

    $CONF['configured'] = true; // По-умолчанию, false
    $CONF['database_name'] = 'mail'; // По-умолчанию, postfix
    $CONF['database_password'] = 'postfixPassword'; // Пароль от пользователя postfix в базе данных.
    $CONF['encrypt'] = 'dovecot:CRAM-MD5';

    Закрываем файл, перезапускаем веб-сервер:

    > service httpd restart

    Открываем в браузере адрес вида: http://почтовый_сервер/postfixadmin/setup.php

    Если не открывается страница, то убедитесь, что сервис httpd запущен, попробуйте отключить iptables командой " service iptables stop ".

    1. Временное отключение (до перезагрузки):
      # setenforce 0
      или
      # echo 0 > /selinux/enforce
    2. Выключить насовсем — в файле /etc/selinux/config изменить параметр SELINUX=disabled
      Перезагрузить компьютер.

    Запоминаем пароль от настроек PostfixAdmin ("postfixAdminPassword") и жмем "Generate password hash".

    If you want to use the password you entered as setup password, edit config.inc.php and set
    $CONF['setup_password'] = '785c37b013896e6d19dc57ecec:60965d6fe4d785c37b013a65a9836bf877aceecb';

    Вставляем этот текст в конфигурационный файл, сохраняемся, возвращаемся в браузер, вводим наш пароль от настроек PostfixAdmin и данные нового суперпользователя PostfixAdmin, для дальнейшего управления через веб-интерфейс.

    Я введу email "admin@mailserver.local" и пароль "adminPassword".

    Здесь надо отметить, что скорее всего Postfixadmin выдаст вам такую ошибку:

    Почтовый адрес
    Некорректный адрес администратора!

    Это может произойти от того, что email может не резолвится, например, если вы ввели название виртуального домена "от балды". Для того, чтобы postfixadmin не проверял доменное имя, надо в файле config.inc.php поменять параметр $CONF['emailcheck_resolve_domain'] с 'YES' на 'NO' . Вот и все.

    Пробуем залогиниться со страницы: http://почтовый_сервер/postfixadmin/

    По идее, у вас не возникнет проблем, потому что раз уж вы дошли до этого шага, то все у вас в порядке.

    Так, кратко резюмируем: у нас есть база данных, в которой сохраняются виртуальные пользователи, домены, пароли и пр.

    Если вы забыли логин/пароль суперпользователя postfixadmin (который вы вводите на странице http://бла-бла-бла/postfixadmin/ ), вы можете сделать вот что:

    1. Узнать логин (логины) суперпользователя postfixadmin:

    # mysql -u root -p
    mysql> use mail;
    mysql> select * from admin;

    Поле username — это логин. Поле password — хеш пароля.

    2. Сброс пароля суперпользователя postfixadmin:

    В файле postfixadmin/config.inc.php ищем параметр $CONF['encrypt']'.

    Его значение — тиш хеширования. В зависимости от него, генерируем пароль с помощью команды.

    Например, если $CONF['encrypt'] = 'dovecot:CRAM-MD5' то новый пароль сгенерируем так:
    # dovecot pw -s CRAM-MD5 -p testTEST123 | sed 's///'

    Полученную строку подставляем в поле password нашего суперюзера postfixadmin (например, это может быть admin@mailserver.local):
    mysql> update admin set password='2858fffd54326fff886f30f05357d4d690cf61f6583533a6f5b1f30f7dea1cd2' where username='admin@mailserver.local';

    Теперь администратор postfixadmin "admin@mailserver.local" имеет пароль "testTEST123". Логинимся, меняем его на нормальный пароль. Почему сразу не сделать хороший пароль? Потому что мы все команды вводим в консоли и если не стереть всю историю команд, наш пароль будет виден всем, кто может работать в консоли.

    Теперь самое время перейти к главному — к установке и настройке собственно почтового сервера.

    Начем, пожалуй, с сервера SMTP — Postfix.

    Бонус. Лучше всего ставить после установки Postfix и Dovecot.

    Ставим Roundcubemail

    Вообще, я ставил его уже после того, как заработал почтовый сервер, но, плодить кучу мануалов нет смысла.

    Итак, скачиваем архив последней версии, распаковываем его, удаляем файл ахива и ждем указаний:

    > mkdir /var/www/html/webmail
    > cd /var/www/html/webmail
    > wget http://downloads.sourceforge.net/project/roundcubemail/roundcubemail/0.7.2/roundcubemail-0.7.2.tar.gz
    > tar xvfz roundcubemail-0.7.2.tar.gz
    > mv roundcubemail-0.7.2 roundcubemail
    > rm roundcubemail-0.7.2.tar.gz
    > cd /var/www/html/webmail/roundcubemail

    Ок, у нас есть заготовка по адресу /var/www/html/webmail/roundcubemail/

    Копируем оригиналы конфигов (мало ли что?):

    > cp config/db.inc.php.dist config/db.inc.php
    > cp config/main.inc.php.dist config/main.inc.php

    Создаем базу данных Roundcubemail:

    > mysql -p
    Enter password:

    mysql> CREATE DATABASE roundcubemail;
    mysql> CREATE USER 'roundcubemail'@'localhost' IDENTIFIED BY 'roundCubePassword';
    mysql> GRANT ALL PRIVILEGES ON `roundcubemail`.* TO 'roundcubemail'@'localhost';
    mysql> exit

    $rcmail_config['default_host'] = 'localhost';
    $rcmail_config['imap_auth_type'] = PLAIN;
    $rcmail_config['smtp_server'] = '';
    $rcmail_config['enable_installer'] = true; (после установки изменить на false. )

    Ставим необходимые расширения php:

    yum -y install php-dom php-intl

    Пользователь, от имени которого запускается веб-сервер, должен иметь возможность записывать в директории temp и logs:

    # chown -R apache:apache /var/www/html/webmail/roundcubemail/logs
    # chown -R apache:apache /var/www/html/webmail/roundcubemail/temp
    # ls -al /var/www/html/webmail/roundcubemail/

    Запускаем установщик http://почтовый_сервер/webmail/roundcubemail/installer/

    Инициализируем базу данных нажатием кнопки «Initialize Database».
    Проверяем отправку и авторизацию стандартными средствами Roundcubemail.

    На этом этапе может быть будут всякие мелочи, их лучше решить сразу и не идти дальше. Например, если у вас пароли не PLAIN, а, скажем, MD5 или еще как, у вас могут возникнуть проблемы. В принципе, именно из-за этого я был вынужден отказаться от шифрования паролей. Мы все-таки состыковываем кучу софта (веб-морду, dovecot, postfix, mysql, потом возможно еще что-то), и различия в терминах алгоритмов шифрования и др. делают работу с зашифрованными паролями настолько трудной, что я пока забил на это. Если кто-то знает работающую схему шифрования паролей, в комментариях напишите об этом и опишите как вы это сделали. Мы работаем для себя и для всех, по крайней мере, на этом сайте!

    После прохождения тестов Roundcube напишет вам такое:

    After completing the installation and the final tests please remove the whole installer folder from the document root of the webserver or make sure that enable_installer option in config/main.inc.php is disabled.

    These files may expose sensitive configuration data like server passwords and encryption keys to the public. Make sure you cannot access this installer from your browser.

    Запрещаем повторную переустановку приложения в main.inc.php:

    # rm -f -r /var/www/html/webmail/roundcubemail/installer

    Заходим по адресу http://почтовый_сервер/webmail/roundcude/ и наслаждаемся web интерфейсом.

    Обратите внимание: доступ через веб-сайт к каталогу config должен быть запрещен! . Для этого надо в конфиге Apache изменить "AllowOverride None" на "AllowOverride All", чтобы файл .htaccess , поставляемый вместе с Roundcube, заработал.

    Авторизуйтесь для добавления комментариев!

    Почтовый сервер Шифрование Squid 3proxy VPN Mikrotik Настройка сервера Виртуальные машины kvm Защита почты Резервное копирование Групповые политики SELinux WDS IPFW OpenVPN firewalld systemd Mobile libvirt Samba WiFi Iptables NAT Lightsquid Remote desktop Postfix Dovecot Удаление данных Софт Безопасность Настройка прокси Winbox User agent Хостинг Передача данных Онлайн сервисы Privacy LetsEncrypt VPN сервер RRDTool sendmail Rsync Linux SSH Система Windows Синхронизация Облако fail2ban FreeBSD

    голоса
    Рейтинг статьи
Ссылка на основную публикацию