IT Knowledge Base

~ Without sacrifice, there can be no victory ~

發佈日期:

分類:

,

如何在Ubuntu 22.04‧設定Roundcube作為Webmail服務

01. 先更新系統,再安裝Apache及MariaDB。

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install apache2
sudo apt-get install mariadb-server

02. 更新MariaDB安全設定。

sudo mysql_secure_installation

03. 安裝最新的PHP 8.2。

sudo add-apt-repository ppa:ondrej/php
sudo apt install php8.2
sudo apt install php8.2-common php8.2-mysql php8.2-xml php8.2-xmlrpc php8.2-curl php8.2-gd php8.2-imagick php8.2-cli php8.2-dev php8.2-imap php8.2-mbstring php8.2-opcache php8.2-soap php8.2-zip php8.2-intl

04. 更新php.ini設定檔。

sudo nano /etc/php/8.2/fpm/php.ini
加入:
extension=imagick;
及更新:
date.timezone = Asia/Hong_Kong

05. 如果之前已經安裝其他的PHP版本,可以先停用舊版本(如我的是PHP 8.1版本),再啟用新版本。

sudo a2dismod php8.1
sudo a2enmod php8.2

06. 重新啟動Apache服務。

sudo service apache2 restart

07. 切換到安裝Roundcube的資料夾,下載Roundcubed檔案。

cd /opt
wget "https://github.com/roundcube/roundcubemail/releases/download/1.6.2/roundcubemail-1.6.2-complete.tar.gz"

08. 解壓檔案。

tar -xvzf roundcubemail-1.6.2.tar.gz

09. 更新Roundcube資料夾名稱。

sudo mv roundcubemail-1.6.2 roundcubemail

10. 設定Roundcube資料夾權限。

sudo chown -R daemon:daemon roundcubemail
sudo chmod -R 775 roundcubemail

11. 更新logs及temp資料夾權限。

sudo chmod -R 777 roundcubemail/logs
sudo chmod -R 777 roundcubemail/temp

12. 在MariaDB內,建立Roundcube資料庫。

sudo mysql -u root -p

13. 在MariaDB console執行:

create database roundcube;
create user 'roundcube'@'localhost' identified by 'password';
grant all privileges on roundcube.* to 'roundcube'@'localhost';

14. 將Roundcube預設的範本加入到MariaDB內。

cd /opt/roundcubemail
sudo mysql -u roundcube -p roundcube < SQL/mysql.initial.sql

15. 更改Apache設定,以設定甚麼人甚麼方式存取Roundcube webmail服務。

sudo nano /etc/apache2/sites-enabled/000-default-le-ssl.conf
Alias /roundcube "/opt/roundcubemail"
<Directory "/opt/roundcubemail">
AllowOverride All
Require ip <allow_ip_address>
</Directory>

16. 重新啟動Apache服務。

sudo service apache2 restart

17. 在瀏覽器打開Roundcube控制台,『https://example.com/roundcube/installer/』。

18. 在『Check environment』版面,會看到現時系統設定是否符合要求。你必需符合有關要求,才可以選擇下一步。

19. 完成後可下載有關Roundcube設定檔,再上載到Roundcube設定資料夾內(如今次例子為/opt/roundcubemail/config/)。

20. 測試SMTP及IMAP設定是否正確,會發現SMTP測試時會收到250錯誤。而IMAP測試是通過的。

21. 但經過再下一步測試,便發現要在Roundcube設定檔作進一步設定。打開『/opt/roundcubemail/config/config.inc.php』。

更改:
$config['imap_host'] = 'localhost:143';
為:
$config['imap_host'] = 'example.com:143';
加入:
$config['smtp_host'] = 'tls://example.com';


22. 重新啟動Apache服務。

sudo service apache2 restart

23. 再在Roundcube測試SMTP及IMAP設定,便會看到所有問題都已解決。

24. 按指示將『/opt/roundcubemail/installer』資料夾刪除。

25. 登入Roundcube。

26. 登入Roundcube後畫面。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *