如何在 Ubuntu 18.04 上使用 Webmail 配置 Postfix

我們在教程的第一部分中展示瞭如何使用 Dovecot、MySql、Nginx、Postfixadmin 在 Ubuntu 18.04 上安裝和配置 Postfix,我們使用它們創建了虛擬域和用戶。 現在我們可以在我們的服務器上發送電子郵件,但一切都是在命令行中完成的,但虛擬用戶無法連接以發送郵件。 在這一部分,RoundCube 將為我們的虛擬用戶提供一個界面來連接、發送電子郵件和管理他們的郵箱,而 PhpMyAdmin 可以輕鬆管理我們的數據庫以進行任何操作。

這是我們教程的第二部分,將展示在 Ubuntu 18.04 上使用 RoundCube 和 PhpMyAdmin 配置 postfix。

先決條件

為了完成我們文章的這一部分,您需要有

  • 一個 Ubuntu 18.04 服務器
  • 在我們的案例中,已經運行了一個 Web 服務器和數據庫管理,例如 Nginx 和 Mysql。
  • postfix 已經在您的服務器上運行
  • 郵件帳戶以測試 roundcube 上的連接並發送電子郵件

推薦閱讀

  • 如何在 Ubuntu 18.04 上安裝 LEMP
  • 如何在 Ubuntu 18.04 上安裝和配置 Postfix

1)安裝配置phpmyadmin

您可以直接從官方存儲庫或源代碼安裝 phpmyadmin。

a) 安裝 phpmyadmin

Phpmyadmin 存在於 Ubuntu 18.04 的官方存儲庫中,因此

# apt update && apt install phpmyadmin

在安裝過程中,你會被問到一些問題。 首先是與 phpmyadmin 一起使用的 Web 服務器。 在我們的例子中,因為我們的 web 服務器運行在 Nginx 上,所以不要選擇任何建議

現在它會要求為 phpmyadmin 自動配置數據庫

現在為phpmyadmin設置mysql密碼

b) 為 web 訪問配置 phpmyadmin

安裝 phpmyadmin 後,它位於 /usr/share/phpmyadmin 但是我們需要告訴 Nginx 如何找到並運行它。 我們將創建一個指向我們 Web 根目錄的符號鏈接,並將 phpmyadmin 重命名為 pma

# ln -s /usr/share/phpmyadmin /var/www/html/pma

然後將以下行添加到服務器塊行中的 Nginx 配置文件中

# vim /etc/nginx/sites-available/default
location /pma {
         root /var/www/html;
         index index.php;
         location ~ ^/pma/(.+.php)$ {
                 try_files $uri =404;
                 fastcgi_pass unix:/run/php/php7.2-fpm.sock;
                 fastcgi_index index.php;
                 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                 include /etc/nginx/fastcgi_params;
         }
         location ~* ^/pma/(.+.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                 root /var/www/html;
         }
}

確保您的配置正確

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

然後重啟nginx。

# systemctl restart nginx

現在您可以使用地址運行您的網絡瀏覽器 https://your-ip-or-domain/pma. 如果有人嘗試使用 phpmyadmin 而不是 pma,他將無法訪問我們的數據庫。 您可以使用您的 postfix 數據庫憑據登錄

現在你可以看到你的 postfix 數據庫信息了

現在您可以根據需要操作您的數據庫。 您還可以使用 phpmyadmin 憑據訪問其自己的數據庫。 確保輸入您在安裝過程中使用的密碼

2- 下載和配置圓形立方體

Roundcube 默認存在於 Ubuntu 18.04 的官方存儲庫中,但我們將使用源代碼安裝來使用實際的最新版本 1.3.6. 進入 web 根文件夾進行下載

# cd /var/www/html && wget https://github.com/roundcube/roundcubemail/releases/download/1.3.6/roundcubemail-1.3.6-complete.tar.gz
--2018-06-18 13:08:37-- https://github.com/roundcube/roundcubemail/releases/download/1.3.6/roundcubemail-1.3.6-complete.tar.gz
Resolving github.com (github.com)... 192.30.255.113, 192.30.255.112
Connecting to github.com (github.com)|192.30.255.113|:443... connected.

現在解壓

# tar xvf roundcubemail-1.3.6-complete.tar.gz

驗證您擁有的名稱並將其重命名

# mv roundcubemail-1.3.6 webmail

現在刪除壓縮文件並進入webmail目錄

# rm roundcubemail-1.3.6-complete.tar.gz && cd webmail

a) 創建圓形立方體數據庫

我們需要創建roundcube 數據庫來存儲一些信息。 這部分在此不再詳述,因為您在我們的教程如何在 Ubuntu 18.04 上安裝 Roundcube Webmail 中詳細介紹了相同的配置

以root身份登錄mysql並按照步驟操作

mysql> CREATE DATABASE roundcubedb;
mysql> CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'your-roundcubedb-password';
mysql> GRANT ALL PRIVILEGES ON roundcubedb.* to 'roundcube'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> EXIT;

現在導入 roundcube 數據庫的初始表

# mysql -u roundcube -p roundcubedb < SQL/mysql.initial.sql
Enter password:

現在編輯您的默認 Nginx 配置文件並將這些行添加到服務器塊中

# vim /etc/nginx/sites-available/default
location /webmail {
        root /var/www/html;
        index index.php;
        location ~ ^/webmail/(.+.php)$ {
                root /var/www/html;
                try_files $uri =404;
                fastcgi_index index.php;
                fastcgi_pass unix:/run/php/php7.2-fpm.sock;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include /etc/nginx/fastcgi_params;
        }
        location ~ ^/webmail/(README|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {
                deny all;
        }
        location ~ ^/webmail/(bin|SQL|config|temp|logs)/ {
               deny all;
        }
}

檢查您的配置

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

然後重啟nginx

# systemctl restart nginx

b) 圓形立方體的配置

我們需要使用 chmod 命令授予適當的權限,並使用 chown 命令授予所有權,以便圓形立方體運行良好。

# chown -R www-data:www-data /var/www/html/webmail/
# chmod 755 /var/www/html/webmail/temp/ /var/www/html/webmail/logs/

現在您需要通過 Web 瀏覽器繼續安裝過程。 請注意,Roundcube 運行位於其目錄中的名為 installer 的腳本來執行過程安裝並檢查是否安裝了所有必需的組件。 現在您可以打開瀏覽器 https://your-ip-or-domain/webmail/installer 繼續安裝

在檢查頁面的最後,如果是好的選擇下一步。

如果您錯過了一些組件,例如以下

您也可能會錯過 PHP 國際化擴展 (php-intl)。 然後嘗試如下安裝

# apt install php-net-ldap3 php-intl
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
 php-ldap php-net-ldap2 php7.2-ldap
The following NEW packages will be installed:
 php-ldap php-net-ldap2 php-net-ldap3 php7.2-ldap
...
...

你不會有同樣的錯誤。 現在在下一頁,檢查當前配置

如果您遇到任何調試錯誤,請注意圓形立方體的日誌文件夾

Enter 用於建立連接的roundcube 數據庫的信息

現在給出 imap 和 smtp 服務器信息。

然後我們可以在頁面底部繼續

配置將保存在 /var/www/html/webmail/config/config.inc.php

下一頁將給出先前信息的結果。 在這裡檢查發送郵件和登錄名很重要。 如果您在 Roundcube 上不會遇到一些錯誤,結果會讓您知道。 現在輸入所有帶有測試密碼的 smtp 信息,並確保結果有效。 如果沒有,請檢查 roundcube 和 postfix 的日誌文件,以便更好地進行故障排除

現在讓我們輸入 imap 信息和密碼。 你可以看到所有的都是有效的。 請參閱警告,告訴您在此之後禁用安裝程序

如果您不想刪除它,您可以重命名安裝程序文件夾。

# mv webmail/installer/ webmail/installer.old

c) 連接圓形立方體

現在你可以用我們的兩個虛擬用戶登錄roundcube,看看我們是否在配置過程中有效地收到了測試郵件。 打開沒有安裝程序的圓形登錄頁面 https://your-ip-or-domain/webmail

您可以在收件箱中看到roundcube 的主頁和來自第二個虛擬用戶的郵件。

現在您可以註銷並使用另一個虛擬用戶重新登錄以檢查郵箱。 你可以看到郵件在等著你

現在,您可以創建更多虛擬用戶和域,這些用戶和域現在可以通過令人愉悅的 Web 界面輕鬆管理他們的郵箱。

另請閱讀

  • 如何在 Ubuntu 18.04 上安裝 Let’s Encrypt SSL 證書

  • 如何在 Arch Linux 上安裝軟件包