Поиск по сайту:

Как настроить полноценный почтовый сервер (Postfix) с помощью Roundcube (веб-почта) в Ubuntu/Debian


Создание почтового сервера на машинах под управлением Linux может быть одной из самых важных вещей, которые должен сделать каждый системный администратор при первой настройке серверов, если вы не знаете, что это значит; это просто: если у вас есть веб-сайт типа «example.com», вы можете создать учетную запись электронной почты, например «[email », чтобы использовать ее для отправки/получения электронных писем. вместо использования таких служб, как Hotmail, Gmail, Yahoo Mail и т. д.

В этой статье мы узнаем, как это сделать, установив почтовый сервер Postfix с приложением веб-почты «Roundcube» и его зависимостями от Debian 10/9. и Ubuntu 20.04/18.04/16.04 LTS-выпуски.

На этой странице

  • Установите имя хоста и создайте записи DNS для почтового домена
  • Установка Apache, MariaDB и PHP в Ubuntu
  • Установка почтового сервера Postfix в Ubuntu
  • Тестирование почтового сервера Postfix в Ubuntu
  • Установка Dovecot IMAP и POP в Ubuntu
  • Установка веб-почты Roundcube в Ubuntu
  • Создайте виртуальный хост Apache для веб-почты Roundcube
  • Создание пользователей почты для доступа к почте через Roundcube

Шаг 1. Установите имя хоста и создайте записи DNS для домена

1. Сначала установите допустимое FQDN (Полное доменное имя) имя хоста для вашего сервера Ubuntu с помощью команды hostnamectl, как показано.

sudo hostnamectl set-hostname mail.linux-console.net

2. Далее вам необходимо добавить записи MX и A для вашего домена на панели управления DNS, которые будут управлять другими MTA, которые использует ваш почтовый сервер. Домен mail.yourdomain.com отвечает за доставку электронной почты.

MX record    @           mail.linux-console.net
mail.linux-console.net        <IP-address>

Шаг 2. Установка Apache, MariaDB и PHP в Ubuntu

3. Чтобы создать работающий почтовый сервер с использованием «Roundcube», нам необходимо установить Apache2, MariaDB . и для этого сначала запустите пакеты PHP.

sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt install apache2 apache2-utils mariadb-server mariadb-client php7.4 libapache2-mod-php7.4 php7.4-mysql php-net-ldap2 php-net-ldap3 php-imagick php7.4-common php7.4-gd php7.4-imap php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-gmp php-net-smtp php-mail-mime php-net-idna2 mailutils

В Debian 10/9 вам необходимо загрузить и установить репозиторий SURY PHP PPA, чтобы установить PHP 7.4 в Debian 10/9. , как показано.

sudo apt -y install lsb-release apt-transport-https ca-certificates 
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update
sudo apt install apache2 apache2-utils mariadb-server mariadb-client php7.4 libapache2-mod-php7.4 php7.4-mysql php-net-ldap2 php-net-ldap3 php-imagick php7.4-common php7.4-gd php7.4-imap php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-gmp php-net-smtp php-mail-mime php-net-idna2 mailutils

Шаг 3. Установка почтового сервера Postfix в Ubuntu

4. Postfix — это агент передачи почты (MTA), который отвечает за доставку и получение электронной почты. Он необходим для создания полноценный почтовый сервер.

Чтобы установить его на Ubuntu/Debian или даже Mint, запустите:

sudo apt-get install postfix

Во время установки вам будет предложено выбрать тип конфигурации почты, выберите «Интернет-сайт».

5. Теперь введите полное доменное имя, которое вы хотите использовать для отправки и получения электронных писем.

6. После установки Postfix автоматически запустится и создаст новый файл /etc/postfix/main.cf. Вы можете проверить версию Postfix и состояние службы, используя следующие команды.

postconf mail_version
sudo systemctl status postfix

Шаг 4. Тестирование почтового сервера Postfix в Ubuntu

7. Теперь попробуйте проверить, подключается ли ваш почтовый сервер к порту 25, используя следующую команду.

telnet gmail-smtp-in.l.google.com 25

Trying 74.125.200.27...
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP k12si849250plk.430 - gsmtp

Приведенное выше сообщение означает, что соединение успешно установлено. Введите quit, чтобы закрыть соединение.

8. Вы также можете использовать программу mail для отправки и чтения электронных писем с помощью следующей команды.

mail [email 

Cc: 
Subject: Testing My Postfix Mail Server
I'm sending this email using the postfix mail server from Ubuntu machine

Шаг 5. Установка Dovecot IMAP и POP в Ubuntu

9. Dovecot — агент доставки почты (MDA), он доставляет электронные письма с/на почтовый сервер. Чтобы установить его, запустите следующую команду.

sudo apt-get install dovecot-imapd dovecot-pop3d

10. Затем перезапустите службу Dovecot, используя следующую команду.

sudo systemctl restart dovecot
OR
sudo service dovecot restart

Шаг 6. Установка веб-почты Roundcube в Ubuntu

11. Roundcube — это сервер веб-почты, который вы будете использовать для управления электронной почтой на своем сервере. Он имеет простой веб-интерфейс для выполнения этой работы, его можно настроить с помощью установка дополнительных модулей и тем.

wget https://github.com/roundcube/roundcubemail/releases/download/1.4.8/roundcubemail-1.4.8.tar.gz
tar -xvf roundcubemail-1.4.8.tar.gz
sudo mv roundcubemail-1.4.8 /var/www/html/roundcubemail
sudo chown -R www-data:www-data /var/www/html/roundcubemail/
sudo chmod 755 -R /var/www/html/roundcubemail/

12. Далее вам необходимо создать новую базу данных и пользователя для Roundcube и предоставить новому пользователю все разрешения на запись в базу данных.

sudo mysql -u root
MariaDB [(none)]> CREATE DATABASE roundcube DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
MariaDB [(none)]> CREATE USER roundcubeuser@localhost IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON roundcube.* TO roundcubeuser@localhost;
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit;

13. Затем импортируйте исходные таблицы в базу данных Roundcube.

sudo mysql roundcube < /var/www/html/roundcubemail/SQL/mysql.initial.sql

Шаг 7. Создайте виртуальный хост Apache для веб-почты Roundcube

14. Создайте виртуальный хост Apache для веб-почты Roundcube.

sudo nano /etc/apache2/sites-available/roundcube.conf

Добавьте в него следующую конфигурацию.

<VirtualHost *:80>
  ServerName linux-console.net
  DocumentRoot /var/www/html/roundcubemail/

  ErrorLog ${APACHE_LOG_DIR}/roundcube_error.log
  CustomLog ${APACHE_LOG_DIR}/roundcube_access.log combined

  <Directory />
    Options FollowSymLinks
    AllowOverride All
  </Directory>

  <Directory /var/www/html/roundcubemail/>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>

</VirtualHost>

15. Затем включите этот виртуальный хост и перезагрузите Apache для внесения изменений.

sudo a2ensite roundcube.conf
sudo systemctl reload apache2

16. Теперь вы можете получить доступ к веб-почте, перейдя по адресу http://yourdomain.com/roundcubemail/installer/.

16. Затем перейдите к настройкам базы данных и добавьте сведения о базе данных.

17. После внесения всех изменений создайте файл config.inc.php.

18. После завершения установки и финальных тестов удалите папку installer и убедитесь, что в config.inc указана опция enable_installer. php отключен.

sudo rm /var/www/html/roundcubemail/installer/ -r

19. Теперь перейдите на страницу входа и введите имя пользователя и пароль пользователя.

http://yourdomain.com/roundcubemail/

Шаг 8: Создание пользователей почты

20. Чтобы начать пользоваться веб-почтой Roundcube, вам придется создать нового пользователя, для этого запустите.

sudo useradd myusername

Замените «myusername» на нужное имя пользователя и создайте пароль для нового пользователя, запустив его.

sudo passwd myusername

21. Теперь вернитесь на страницу входа и введите имя пользователя и пароль вновь созданного пользователя.

Пробовали ли вы раньше создать почтовый сервер? Как прошло? Использовали ли вы раньше Roundcube или любой другой почтовый сервер? Что вы думаете об этом?