mailcow 開源的電子郵件伺服器 - Rocky Linux 8
BUBU 由於現在公司想要自建電子郵件伺服器,又卡在於經費問題,功能要求度不高,只要能基本收發信就可以了。目前國外還滿多開套開源的軟體,這一套是結合目前很熱門 Docker 容器結合成的一個服務。
111.09.05 系統改用 Rocky Linux 8 方式來架設服務
運行環境
本工作室環境都是在 「Proxmox VE 」 虛擬系統上架設,都是以 「 LXC 」模式為主,除非有特殊狀況會告知使用 「 VM 」 模式
- 系統環境: Rocky Linux 8
安裝過程
第一步:修改主機名稱
例: mailcow.xxx.net 也可以改成自己想要取的主機名稱。
- 系統更新
dnf update -y
第二步:系統更新完後開始安裝 mailcow 郵件伺服器
- 新增加 docker 來源庫
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
- 安裝 Docker 服務
dnf install -y docker-ce docker-ce-cli containerd.io
- 啟動 docker 服?
systemctl enable docker.service ; systemctl start docker.service
- 安裝 Docker-Compose
curl -L https://github.com/docker/compose/releases/download/v$(curl -Ls https://www.servercow.de/docker-compose/latest.php)/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
- 檢查目前 docker 所安裝版本
docker --version ; docker-compose --version
第三步:到 Github 取最新版的源碼回來,並且確認 umask 是否有 0022
umask
0022
cd /opt
git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
第四步:產生設定檔 FQDN 主機名稱取為 mail.xxx.net 或者 xxx.xxx.local ,此設定是 Docker 主機名稱,不可跟本機名稱重複不然系統會有異常並且無法正常收發信件服務
./generate_config.sh
Found Docker Compose Standalone.
Setting the DOCKER_COMPOSE_VERSION Variable to standalone
Notice: For an automatic update of docker-compose please use the update_compose.sh scripts located at the helper-scripts folder.
Press enter to confirm the detected value '[value]' where applicable or enter a custom value.
Mail server hostname (FQDN) - this is not your mail domain, but your mail servers hostname:
Timezone [Asia/Taipei]: Asia/Taipei
- 詢問是更新路線,建議選擇穩定版本
Available Branches:
# 穩定版
- master branch (stable updates) | default, recommended [1]
# 開發中
- nightly branch (unstable updates, testing) | not-production ready [2]
Choose the Branch with it´s number [1/2]
第五步:在安裝之前先把系統已有預先安裝的 Postfix 這個 MTA 服務先註解掉,並且指向 Docker 服務
- 如果您的系統已有預先安裝 Postfix 服務就要先去把該服務的 25 port 服務要先停用。
vim /etc/postfix/master.cf
裡面將下面的
smtp inet n - - - - smtpd
修改成
#smtp inet n - - - - smtpd
然後存檔
:wq
Furthermore, to relay over a dockerized mailcow, you may want to add 172.22.1.1 as relayhost and remove the Docker interface from "inet_interfaces":
postconf -e 'relayhost = 172.22.1.1'
postconf -e "mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128"
postconf -e "inet_interfaces = loopback-only"
postconf -e "relay_transport = relay"
postconf -e "default_transport = smtp"
設定完之後重啟 Postfix
systemctl restart postfix
第六步:開始安裝 mailcow 服務
docker-compose pull
docker-compose up -d
第七步:安裝完成後,開啟瀏灠器輸入 https://ip
,預設帳號為:admin 密碼為:moohoo。這樣子就可以開始使用了
- 如果連線時看到此畫面不用緊張不是因為沒有安裝好,而且系統目前還在背後設定及初始化,等了大約三分鐘就可以看到登入畫面了
- 畫面重新整理後就可以看到登入畫面了