网站搜索

如何在 Ubuntu/Debian 上使用“Roundcube”(Webmail)设置完整的邮件服务器(Postfix)


在 Linux 驱动的机器上创建邮件服务器可能是每个系统管理员在第一次配置服务器时需要做的最重要的事情之一,如果您不知道这意味着什么的话;很简单,如果您有一个像“example.com”这样的网站,您可以创建一个像“[email ”这样的电子邮件帐户来使用它来发送/接收电子邮件轻松地代替使用 HotmailGmailYahoo Mail 等服务。

在本文中,我们将学习如何通过安装带有“Roundcube”网络邮件应用程序的 Postfix 邮件服务器及其在 Debian 10/9 上的依赖项来实现此目的Ubuntu 20.04/18.04/16.04 LTS 版本。

在本页

  • 为邮件域设置主机名并创建 DNS 记录
  • 在 Ubuntu 上安装 Apache、MariaDB 和 PHP
  • 在 Ubuntu 上安装 Postfix 邮件服务器
  • 在 Ubuntu 上测试 Postfix 邮件服务器
  • 在 Ubuntu 中安装 Dovecot IMAP 和 POP
  • 在 Ubuntu 中安装 Roundcube Webmail
  • 为 Roundcube Webmail 创建 Apache 虚拟主机
  • 创建邮件用户以通过 Roundcube 访问邮件

第 1 步:设置主机名并为域创建 DNS 记录

1. 首先,使用所示的 hostnamectl 命令为您的 Ubuntu 服务器设置有效的 FQDN完全限定域名)主机名。

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

2. 接下来,您需要在 DNS 控制面板中为您的域添加 MXA 记录,以指导您的邮件服务器的其他 MTA mail.yourdomain.com 域负责电子邮件传送。

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

步骤 2:在 Ubuntu 上安装 Apache、MariaDB 和 PHP

3.为了使用“Roundcube”创建正在运行的邮件服务器,我们必须安装Apache2MariaDB 首先运行 和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存储库才能在Debian 10/9上安装PHP 7.4 如图所示。

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:在Ubuntu上安装Postfix邮件服务器

4. Postfix 是一个邮件传输代理 (MTA),它是负责发送和接收电子邮件的软件,它对于创建一个邮件传输代理至关重要。完整的邮件服务器。

要在 Ubuntu/Debian 甚至 Mint 上安装它,请运行:

sudo apt-get install postfix

在安装过程中,您将被要求选择邮件配置类型,选择“Internet Site”。

5. 现在输入您要用于发送和接收电子邮件的完全限定域名。

6.Postfix安装后,它会自动启动并创建一个新的/etc/postfix/main.cf文件。您可以使用以下命令验证 Postfix 版本和服务状态。

postconf mail_version
sudo systemctl status postfix

步骤 4:在 Ubuntu 上测试 Postfix 邮件服务器

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 [email 

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

第5步:在Ubuntu中安装Dovecot IMAP和POP

9. Dovecot 是一个邮件传送代理 (MDA),它将电子邮件从邮件服务器传送到邮件服务器,要安装它,请运行以下命令。

sudo apt-get install dovecot-imapd dovecot-pop3d

10. 接下来,使用以下命令重新启动 Dovecot 服务。

sudo systemctl restart dovecot
OR
sudo service dovecot restart

第6步:在Ubuntu中安装Roundcube Webmail

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 步:为 Roundcube Webmail 创建 Apache 虚拟主机

14.Roundcube网络邮件创建一个apache虚拟主机。

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 或任何其他邮件服务器吗?你怎么看待这件事?