如何在 CentOS 8 服務(wù)器上安裝 ISP Config 3.2?
本教程將介紹在 CentOS 8(64 位)服務(wù)器上安裝 ISPConfig 3.2。ISPConfig 是一個(gè)網(wǎng)絡(luò)托管控制面板,允許您通過(guò)網(wǎng)絡(luò)瀏覽器配置以下服務(wù):Apache 網(wǎng)絡(luò)服務(wù)器、PHP、Postfix 郵件服務(wù)器、MySQL、BIND 名稱服務(wù)器、PureFTPd、SpamAssassin、ClamAV、Mailman 等等。
1 要求
2 初步說(shuō)明
3 準(zhǔn)備服務(wù)器
4 啟用附加存儲(chǔ)庫(kù)并安裝一些軟件
5 配額
6 安裝 Apache、PHP、MySQL 和 phpMyAdmin
7 安裝 Dovecot
8 安裝后綴
9 安裝 Getmail
10 設(shè)置 MySQL 密碼并配置 phpMyAdmin
11 安裝 Amavisd-new、SpamAssassin、ClamAV 和 Postgrey
12 使用 mod_php、mod_fcgi/PHP、PHP-FPM 安裝 Apache
13 mod_python的安裝
14 安裝 PureFTPd
15 安裝綁定
16 安裝 AWStats
17 安裝Jailkit
18 安裝 Fail2Ban
19 安裝rkhunter
20 安裝mailman
21 安裝 Roundcube 網(wǎng)絡(luò)郵件
22 安裝ISPConfig 3.2
23 第一次 ISPConfig 登錄
23.1 ISPConfig 3 手冊(cè)
24 下載為虛擬機(jī)
1 要求
要安裝這樣的系統(tǒng),您將需要以下內(nèi)容:
Centos 8 最小服務(wù)器系統(tǒng)。這可以是我們的Centos 8 最小服務(wù)器教程中描述的從頭開始安裝的服務(wù)器,也可以是來(lái)自安裝了最小 Centos 8 設(shè)置的托管公司的虛擬服務(wù)器或根服務(wù)器。
快速的互聯(lián)網(wǎng)連接。
2 初步說(shuō)明
在本教程中,我使用主機(jī)名m和 IP 地址
和網(wǎng)關(guān)
。這些設(shè)置可能因您而異。
3 準(zhǔn)備服務(wù)器
設(shè)置鍵盤布局
如果服務(wù)器的鍵盤布局與您的鍵盤不匹配,您可以使用 localectl 命令切換到正確的鍵盤(在我的情況下為德語(yǔ)鍵盤布局的“de”:
要獲取所有可用鍵盤映射的列表,請(qǐng)運(yùn)行:
我想在本教程的最后安裝 ISPConfig,ISPConfig 附帶了 Bastille 防火墻腳本,我將用作防火墻,因此我現(xiàn)在禁用默認(rèn)的 CentOS 防火墻。當(dāng)然,您可以隨意打開 CentOS 防火墻并根據(jù)您的需要進(jìn)行配置(但是您以后不應(yīng)使用任何其他防火墻,因?yàn)樗芸赡軙?huì)干擾 CentOS 防火墻)。
停止和禁用 CentOS 防火墻。在這里出現(xiàn)錯(cuò)誤是可以的,這只是表明沒有安裝防火墻。
然后你應(yīng)該檢查防火墻是否真的被禁用了,為此,請(qǐng)運(yùn)行以下命令:
輸出應(yīng)如下所示:
或者使用 firewall-cmd 命令:
現(xiàn)在我將安裝網(wǎng)絡(luò)配置編輯器和基于 shell 的編輯器“nano”,我將在接下來(lái)的步驟中使用它們來(lái)編輯配置文件:
如果您在安裝過(guò)程中沒有配置網(wǎng)卡,您現(xiàn)在可以進(jìn)行配置。

選擇您的網(wǎng)絡(luò)接口:

然后填寫您的網(wǎng)絡(luò)詳細(xì)信息 - 禁用 DHCP 并填寫靜態(tài) IP 地址、網(wǎng)絡(luò)掩碼、您的網(wǎng)關(guān)和一兩個(gè)名稱服務(wù)器,然后點(diǎn)擊Ok:

接下來(lái)選擇確定以確認(rèn)您在網(wǎng)絡(luò)設(shè)置中所做的更改

和Quit關(guān)閉 nmtui 網(wǎng)絡(luò)配置工具。

現(xiàn)在檢查安裝程序是否正確獲取了您的 IP 地址:
如果你的網(wǎng)卡沒有顯示在那里,那么它不會(huì)在啟動(dòng)時(shí)啟用,在這種情況下,打開文件/etc/sysconfig/network-scripts/ifcfg-eth0
并將 ONBOOT 設(shè)置為是:
并重新啟動(dòng)服務(wù)器。
檢查您的/etc/resolv.conf是否列出了您之前配置的所有名稱服務(wù)器:
如果缺少名稱服務(wù)器,請(qǐng)運(yùn)行
并再次添加缺少的名稱服務(wù)器。
現(xiàn)在,進(jìn)入配置...
調(diào)整 /etc/hosts 和 /etc/hostname
接下來(lái),我們將編輯/etc/hosts。讓它看起來(lái)像這樣:
在 /etc/hostname 文件中設(shè)置主機(jī)名。該文件應(yīng)包含完全限定的域名(例如在我的例子中是 server1.example.com),而不僅僅是像“server1”這樣的短名稱。使用 nano 編輯器打開文件:
并在文件中設(shè)置主機(jī)名。
保存文件并退出nano。
將 SELinux 設(shè)置為寬松
SELinux 是 CentOS 的安全擴(kuò)展,應(yīng)該提供擴(kuò)展的安全性。ISPConfig 不附帶 SELinux 規(guī)則集,因此我將其設(shè)置為 permissive(如果您想稍后安裝 ISPConfig,這是必須的)。
編輯/etc/selinux/config并設(shè)置SELINUX=permissive:
之后我們必須重新啟動(dòng)系統(tǒng):
4 啟用附加存儲(chǔ)庫(kù)并安裝一些軟件
首先,我們導(dǎo)入軟件包的 GPG 密鑰:
然后我們?cè)?CentOS 系統(tǒng)上啟用 EPEL 存儲(chǔ)庫(kù),因?yàn)槲覀儗⒃诒窘坛讨邪惭b的許多軟件包在官方 CentOS 8 存儲(chǔ)庫(kù)中不可用:
激活Power Tools:
然后我們更新系統(tǒng)上現(xiàn)有的包:
現(xiàn)在我們安裝一些稍后需要的軟件包:
5 配額
(如果您選擇了與我不同的分區(qū)方案,則必須調(diào)整本章,以便配額適用于您需要的分區(qū)。)
要安裝配額,我們運(yùn)行以下命令:
現(xiàn)在我們檢查是否已為存儲(chǔ)網(wǎng)站 (/var/www) 和 Maildir 數(shù)據(jù) (var/vmail) 的文件系統(tǒng)啟用配額。在這個(gè)示例設(shè)置中,我有一個(gè)大的根分區(qū),所以我搜索“/”:
如果您有單獨(dú)的 /var 分區(qū),請(qǐng)使用:
反而。如果該行包含單詞“ noquota ”,則繼續(xù)執(zhí)行以下步驟以啟用配額。
在 /(根)分區(qū)上啟用配額
通常您會(huì)在 /etc/fstab 文件中啟用配額,但如果文件系統(tǒng)是根文件系統(tǒng)“/”,則必須通過(guò) Linux 內(nèi)核的引導(dǎo)參數(shù)啟用配額。
編輯 grub 配置文件:
搜索以GRUB_CMDLINE_LINUX開頭的行,并將rootflags=uquota,gquota添加到命令行參數(shù),使結(jié)果行如下所示:
并通過(guò)運(yùn)行以下命令應(yīng)用更改。
并重新啟動(dòng)服務(wù)器。
現(xiàn)在檢查配額是否啟用:
當(dāng)配額處于活動(dòng)狀態(tài)時(shí),我們可以在掛載選項(xiàng)列表中看到“ usrquota,grpquota ”。
在單獨(dú)的 /var 分區(qū)上啟用配額
如果您有單獨(dú)的 /var 分區(qū),請(qǐng)編輯/etc/fstab并將,uquota,gquota添加到/分區(qū)(/dev/mApper/centos-var):
然后運(yùn)行
啟用配額。當(dāng)您收到?jīng)]有啟用配額的分區(qū)的錯(cuò)誤時(shí),請(qǐng)?jiān)诶^續(xù)之前重新啟動(dòng)服務(wù)器。
6 安裝 Apache、PHP、MySQL 和 phpMyAdmin
啟用 Remi 存儲(chǔ)庫(kù)以獲取更新的 PHP 版本(當(dāng)前為 PHP 7.4):
我們可以使用一個(gè)命令安裝所需的軟件包:
為保證服務(wù)器不被HTTPOXY 漏洞攻擊,我們將全局禁用apache中的HTTP_PROXY header。
在 httpd.conf 文件末尾添加 apache 頭規(guī)則:
并重新啟動(dòng) httpd 以應(yīng)用配置更改。
安裝 phpMyAdmin:
可選:更改 Apache MPM 模塊
CentOS 8 默認(rèn)使用 Apache MPM 事件模塊,這在一方面是好的,因?yàn)樗试S您使用 HTTP/2 協(xié)議。另一方面,它不允許您使用 apache mod_php 模塊。一般來(lái)說(shuō),今天應(yīng)該使用 PHP-FPM 作為默認(rèn)設(shè)置,ISPConfig 支持這一點(diǎn)。如果出于兼容性原因需要舊的 mod_php 模式,那么您可以像這樣切換 Apache MPM:
在 MPM 事件行前面添加一個(gè) # 使其看起來(lái)像這樣:
然后從 MPM Prefork 行中刪除 # in,如下所示:
然后重新啟動(dòng) httpd 以應(yīng)用配置更改。
7 安裝 Dovecot
Dovecot 可以安裝如下:
創(chuàng)建一個(gè)空的 dovecot-sql.conf 文件并創(chuàng)建符號(hào)鏈接:
現(xiàn)在創(chuàng)建系統(tǒng)啟動(dòng)鏈接并啟動(dòng) Dovecot:
8 安裝后綴
Postfix可以安裝如下:
接下來(lái),在 Postfix 中打開 TLS/SSL 和提交端口:
取消對(duì)提交 和 smtps 部分的注釋 如下,并在必要時(shí)添加行,以便 master.cf 文件的這一部分看起來(lái)與下面的完全一樣。 重要提示: 刪除以 smtps 和提交開頭的行前面的 #,而不僅僅是從這些行之后的 -o 行中刪除!
然后關(guān)閉 Sendmail 并啟動(dòng) Postfix 和 MariaDB (MySQL):
我們禁用 sendmail 以確保它不會(huì)啟動(dòng),以防它安裝在您的服務(wù)器上。所以錯(cuò)誤消息“無(wú)法發(fā)出方法調(diào)用:未加載單元 sendmail.service”??梢院雎?。
9 安裝 Getmail
Getmail可以按如下方式安裝:
10 設(shè)置 MySQL 密碼并配置 phpMyAdmin
為 MySQL 根帳戶設(shè)置密碼:
現(xiàn)在我們配置phpMyAdmin。創(chuàng)建這個(gè) phpMyAdmin 配置文件:
將此內(nèi)容添加到文件中:
接下來(lái),我們將 phpMyAdmin 中的身份驗(yàn)證從cookie更改為http:
然后我們?yōu)锳pache創(chuàng)建系統(tǒng)啟動(dòng)鏈接并啟動(dòng)它:
現(xiàn)在,您可以將瀏覽器定向到http://server1.example.com/phpmyadmin/或http://192.168.0.100/phpmyadmin/并使用用戶名root和新的 MySQL 根密碼登錄。
11 安裝 Amavisd-new、SpamAssassin、ClamAV 和 Postgrey
要安裝 amavisd-new、SpamAssassin 和 ClamAV,請(qǐng)運(yùn)行以下命令:
然后我們啟動(dòng)freshclam、amavisd和clamd.amavisd:
在下一步中,我們配置 postgrey。在編輯器中打開文件 /etc/sysconfig/postgrey:
并更改行:
到
保存文件并重啟 postgrey:
要配置 amavisd,請(qǐng)編輯文件 /etc/clamd.d/amavisd.conf:
并更改行:
到
保存更改的配置文件并重新啟動(dòng) ClamAV:
現(xiàn)在我們必須為 freshclam 服務(wù)創(chuàng)建一個(gè)系統(tǒng)單元。創(chuàng)建一個(gè)新文件/usr/lib/systemd/system/freshclam.service:
并在該文件中輸入以下內(nèi)容:
保存文件,然后啟用并啟動(dòng)服務(wù)。
12 使用 mod_php、mod_fcgi/PHP、PHP-FPM 安裝 Apache
ISPConfig 3 允許您在每個(gè)網(wǎng)站的基礎(chǔ)上使用 mod_php、mod_fcgi/PHP、cgi/PHP 和 PHP-FPM。
我們可以使用 mod_php、mod_fcgid 和 PHP 安裝 Apache2,如下所示:
接下來(lái),我們打開/etc/php.ini ...
...并更改錯(cuò)誤報(bào)告(以便不再顯示通知),設(shè)置時(shí)區(qū)并取消注釋cgi.fix_pathinfo=1:
啟用 httpd 和 PHP-FPM 以在啟動(dòng)時(shí)啟動(dòng)并啟動(dòng) PHP-FPM 服務(wù)。
最后,我們重啟Apache:
現(xiàn)在我們將添加對(duì) Let's encrypt 的支持。ISPConfig 現(xiàn)在使用 acme.sh 作為 Let's Encrypt 客戶端。使用以下命令安裝 acme.sh:
13 mod_python的安裝
Apache 模塊 mod_python 不能作為 RPM 包使用,因此我們將從源代碼編譯它。第一步是安裝python開發(fā)文件并將當(dāng)前的mod_python版本下載為.tar.gz文件
然后配置和編譯模塊。
編譯模塊中存在一個(gè)錯(cuò)誤,該錯(cuò)誤將導(dǎo)致安裝失敗并顯示錯(cuò)誤“ version =”fatal: Not a git repository (or any of the parent directory): .git ”。要解決該問(wèn)題,請(qǐng)運(yùn)行此 sed 命令(命令是一行?。?/p>
然后使用此命令安裝模塊。
并在 Apache 中啟用該模塊:
14 安裝 PureFTPd
可以使用以下命令安裝 PureFTPd:
然后創(chuàng)建系統(tǒng)啟動(dòng)鏈接并啟動(dòng) PureFTPd:
現(xiàn)在我們配置 PureFTPd 以允許 FTP 和 TLS 會(huì)話。FTP 是一種非常不安全的協(xié)議,因?yàn)樗忻艽a和所有數(shù)據(jù)都以明文形式傳輸。通過(guò)使用 TLS,可以對(duì)整個(gè)通信進(jìn)行加密,從而使 FTP 更加安全。
TLS 需要 OpenSSL;要安裝 OpenSSL,我們只需運(yùn)行:
打開/etc/pure-ftpd/pure-ftpd.conf ...
如果要允許 FTP 和 TLS 會(huì)話,請(qǐng) 通過(guò)刪除 TLS 行前面的 #將TLS設(shè)置為1。強(qiáng)烈建議啟用 TLS。
為了使用 TLS,我們必須創(chuàng)建一個(gè) SSL 證書。我在/etc/ssl/private/ 中創(chuàng)建它,因此我首先創(chuàng)建該目錄:
之后,我們可以生成 SSL 證書,如下所示:
更改 SSL 證書的權(quán)限:
創(chuàng)建一個(gè) DHParam 文件:
最后,重啟 PureFTPd:
而已。您現(xiàn)在可以嘗試使用您的 FTP 客戶端進(jìn)行連接;但是,您應(yīng)該將 FTP 客戶端配置為使用 TLS。
15 安裝綁定
我們可以按如下方式安裝 BIND:
備份現(xiàn)有的/etc/named.conf文件并創(chuàng)建一個(gè)新文件,如下所示:
創(chuàng)建文件/etc/named.conf.local被包括在年底的/etc/named.conf(/etc/named.conf.local稍后會(huì)得到由ISPConfig如果你創(chuàng)建ISPConfig DNS區(qū)域填充):
然后我們創(chuàng)建啟動(dòng)鏈接并啟動(dòng) BIND:
16 安裝 AWStats
AWStats 可以按如下方式安裝:
CentOS 8 不再提供替代的網(wǎng)絡(luò)統(tǒng)計(jì)應(yīng)用程序“webalizer”,因此您將只能使用 AWStats。
17 安裝Jailkit
Jailkit 用于 chroot SSH 用戶和 cronjobs。它可以安裝如下:
18 安裝 Fail2Ban
這是可選的但建議使用,因?yàn)?ISPConfig 監(jiān)視器會(huì)嘗試顯示日志。
接下來(lái)我們創(chuàng)建 /etc/fail2ban/jail.local 文件并啟用對(duì) ssh、電子郵件和 ftp 服務(wù)的監(jiān)控。
在 jail.local 文件中添加以下內(nèi)容:
然后為fail2ban創(chuàng)建系統(tǒng)啟動(dòng)鏈接并啟動(dòng)它:
19 安裝rkhunter
rkhunter 可以如下安裝:
20 安裝mailman
如果您喜歡在服務(wù)器上使用 Mailman 管理郵件列表,請(qǐng)立即安裝 mailman。ISPConfig 支持 Mailman,因此您可以稍后通過(guò) ISPConfig 創(chuàng)建新的郵件列表。
在我們可以啟動(dòng) Mailman 之前,必須創(chuàng)建一個(gè)名為mailman 的郵件列表:
之后打開/etc/aliases ...
...并添加以下幾行:
運(yùn)行:
之后并重新啟動(dòng)Postfix:
現(xiàn)在打開 Mailman Apache 配置文件/etc/httpd/conf.d/mailman.conf ...
...并添加行ScriptAlias /cgi-bin/mailman/ /usr/lib/mailman/cgi-bin/。注釋掉Alias /pipermail/ /var/lib/mailman/archives/public/并添加一行Alias /pipermail /var/lib/mailman/archives/public/:
重啟阿帕奇:
為 Mailman 創(chuàng)建系統(tǒng)啟動(dòng)鏈接并啟動(dòng)它:
安裝 ISPConfig 3 后,您可以按如下方式訪問(wèn) Mailman:
您可以為所有 Apache 虛擬主機(jī)使用別名/cgi-bin/mailman(請(qǐng)注意,必須為所有要訪問(wèn) Mailman 的虛擬主機(jī)禁用 suExec 和 CGI?。@意味著您可以訪問(wèn) Mailman 管理界面以獲取列表在,郵件列表用戶的網(wǎng)頁(yè)可以在
.
在 下,您可以找到郵件列表檔案。
21 安裝 Roundcube 網(wǎng)絡(luò)郵件
要安裝 RoundCube webmail 客戶端,請(qǐng)使用 wget 將最新版本下載到 /tmp 文件夾:
解壓 tar.gz 存檔并將 RoundCube 源移動(dòng)到 /usr/share/roundcubemail
使用 nano 編輯器創(chuàng)建一個(gè) roundcubemail.conf 配置文件:
并將以下內(nèi)容添加到該文件中:
重啟阿帕奇:
現(xiàn)在我們需要一個(gè) RoundCube 郵件數(shù)據(jù)庫(kù),我們將其初始化如下:
在 MariaDB 提示下使用:
我以 RoundCube 數(shù)據(jù)庫(kù)的詳細(xì)信息為例,出于安全原因,請(qǐng)根據(jù)您的選擇替換值。
現(xiàn)在我們將在瀏覽器中安裝 RoundCube,地址為

現(xiàn)在創(chuàng)建 config.inc.php 文件:
然后在網(wǎng)絡(luò)安裝程序中按“繼續(xù)”。在下一頁(yè)上,按“初始化數(shù)據(jù)庫(kù)”按鈕。
最后,禁用 Roundecubemail 安裝程序。更改 RoundCube config.inc.php 配置文件
并更改行:
到:
Roundcube 現(xiàn)在在您服務(wù)器上的別名 /webmail 和 /roundcubemail 下可用:
RoundCube 登錄名是您稍后在 ISPConfig 中創(chuàng)建的電子郵件帳戶的電子郵件地址和密碼。
22 安裝ISPConfig 3.2
ISPConfig 安裝程序?qū)槟渲盟蟹?wù),如 Postfix、Dovecot 等。
您現(xiàn)在還可以讓安裝程序?yàn)?ISPConfig 控制面板創(chuàng)建 SSL 虛擬主機(jī),以便可以使用https://而不是http://訪問(wèn) ISPConfig 。要實(shí)現(xiàn)此目的,只需在看到以下問(wèn)題時(shí)按ENTER 鍵:。
要安裝 ISPConfig 3.2 nightly build,請(qǐng)執(zhí)行以下操作:
下一步是運(yùn)行:
這將啟動(dòng) ISPConfig 3 安裝程序。安裝程序?qū)槟渲盟蟹?wù),如 Postfix、Dovecot 等。
安裝程序會(huì)自動(dòng)配置所有底層服務(wù),因此無(wú)需手動(dòng)配置。
23 第一次 ISPConfig 登錄
之后您可以在或
下訪問(wèn) ISPConfig 3 (http或https 取決于您在安裝過(guò)程中選擇的內(nèi)容)。
使用用戶名admin和密碼admin登錄(首次登錄后應(yīng)更改默認(rèn)密碼):

23.1 ISPConfig 3 手冊(cè)
為了學(xué)習(xí)如何使用 ISPConfig 3,我強(qiáng)烈建議您下載 ISPConfig 3 手冊(cè)。
下載地址:
在 300 多頁(yè)中,它涵蓋了 ISPConfig(管理員、經(jīng)銷商、客戶)背后的概念,解釋了如何安裝和更新 ISPConfig 3,包括 ISPConfig 中所有表單和表單字段的參考以及有效輸入的示例,并提供教程用于 ISPConfig 3 中最常見的任務(wù)。它還列出了如何使您的服務(wù)器更安全,并在最后附有故障排除部分。
24 下載為虛擬機(jī)
此設(shè)置可作為 ova/ovf 格式(與 VMWare 和 Virtualbox 兼容)的虛擬機(jī)下載,供 howtoforge 訂閱者使用。
VM 的登錄詳細(xì)信息
root 密碼是:howtoforge
ISPConfig“admin”用戶的密碼是:howtoforge
還有另一個(gè)名為“howtoforge”和密碼的 shell 用戶:howtoforge
請(qǐng)?jiān)诘谝淮蔚卿洉r(shí)更改兩個(gè)密碼。
VM 的 IP 地址為