本教程将介绍如何准备Debian Jessie服务器(使用Apache2,BIND,Dovecot)安装ISPConfig 3 ,以及如何安装ISPConfig 3.可通过Web浏览器配置Web Hosting控制面板ISPConfig 3以配置以下服务: Apache或nginx Web服务器,Postfix邮件服务器,Courier或Dovecot IMAP / POP3服务器,MySQL,BIND或MyDNSNameservers,PureFTPd,SpamAssassin,ClamAV等等。 此设置涵盖Apache(而不是nginx),BIND(而不是MyDNS)和Dovecot(而不是Courier)。
1初步说明
在本教程中,我将使用IP地址为192.168.1.100
的主机名server1.example.com
和网关192.168.1.1
。 这些设置可能会有所不同,因此您必须在适当的情况下更换它们。 在继续进行之前,您需要安装最少的Debian 8.这可能是您的主机提供商的Debian最小图像,或者您使用最小的Debian服务器教程来设置基本系统。
2安装SSH服务器(可选)
如果在系统安装期间未安装OpenSSH服务器,则可以立即执行:
apt-get install ssh openssh-server
从现在开始,您可以使用SSH客户端(如PuTTY) ,并从工作站连接到Debian Jessie服务器,并按照本教程中的其余步骤进行操作。
3安装shell文本编辑器(可选)
我们将在本教程中使用nano文本编辑器。 一些用户喜欢经典的vi编辑器,因此我们将在这里安装两个编辑器。 默认的vi
程序在Debian和Ubuntu上有一些奇怪的行为; 要解决这个问题,我们安装vim-nox
:
apt-get install nano vim-nox
如果vi是您最喜欢的编辑器,那么在以下命令中将vi替换为vi以编辑文件。
4配置主机名
您的服务器的主机名应该是像“server1.example.com”这样的子域名。 不要使用没有像“example.com”这样的子域名的域名作为主机名,这样以后邮件设置会导致问题。 首先,您应该检查/ etc / hosts中
的主机名,并在nescessary时更改它。 该行应为:“IP地址 - 空间 - 完整主机名,包括域 - 空间 - 子域部分”。 对于我们的主机名server1.example.com,文件应如下所示:
nano /etc/hosts
127.0.0.1 localhost.localdomain localhost 192.168.1.100 server1.example.com server1 # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
然后编辑/ etc / hostname文件:
nano /etc/hostname
在我们的例子中,它只包含子域:
server1
最后重新启动服务器以应用更改:
reboot
再次登录并使用以下命令检查主机名是否正确:
hostname
hostname -f
输出应为:
root@server1:/tmp# hostname
server1
root@server1:/tmp# hostname -f
server1.example.com
5更新您的Debian安装
首先确保您的/etc/apt/sources.list
包含jessie / updates
存储库(这将确保您始终获得最新的安全更新),并启用contrib
和非免费
存储库(某些软件包,如libapache2- mod-fastcgi
不在主存储库中)。
nano /etc/apt/sources.list
#deb cdrom:[Debian GNU/Linux 8.0.0 _Jessie_ - Official amd64 NETINST Binary-1 20150425-12:50]/ jessie main
deb http://ftp.us.debian.org/debian/ jessie main contrib non-free
deb-src http://ftp.us.debian.org/debian/ jessie main contrib non-free
deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free
跑:
apt-get update
更新apt包数据库
apt-get upgrade
并安装最新的更新(如果有的话)。
6更改默认外壳
/ bin / sh
是/ bin / dash
的符号链接,但是我们需要/ bin / bash
,not / bin / dash
。 所以我们这样做:
dpkg-reconfigure dash
使用破折号作为默认系统shell(/ bin / sh)?
< - 不
如果不这样做,则ISPConfig安装将失败。
7同步系统时钟
通过互联网将系统时钟与NTP( n etwork协议)服务器同步是个好主意。 只需运行
apt-get install ntp ntpdate
您的系统时间将始终保持同步。
8安装Postfix,Dovecot,MySQL,phpMyAdmin,rkhunter,binutils
我们可以使用单个命令安装Postfix,Dovecot,MySQL,rkhunter和binutils:
apt-get install postfix postfix-mysql postfix-doc mariadb-client mariadb-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve dovecot-lmtpd sudo
当您喜欢MySQL在MariaDB上时,请将上述命令中的“mariadb-client mariadb-server”替换为“mysql-client mysql-server”。
您将被问到以下问题:
General type of mail configuration:
<-- Internet Site
System mail name: <-- server1.example.com
New password for the MariaDB "root" user: <-- yourrootsqlpassword
Repeat password for the MariaDB "root" user: <-- yourrootsqlpassword
接下来在Postfix中打开TLS / SSL和提交端口:
nano /etc/postfix/master.cf
取消注释提交
和smtps
部分,如下所示,并添加一些行,这样master.cf文件的这一部分看起来就像下面的那样。
[...] submission inet n - - - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
smtps inet n - - - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING [...]
之后重新启动Postfix:
service postfix restart
我们希望MariaDB在所有接口上监听,而不是本地主机,因此我们编辑/etc/mysql/my.cnf
并注释掉bind-address = 127.0.0.1
:
nano /etc/mysql/my.cnf
[...] # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. #bind-address = 127.0.0.1 [...]
然后我们重新启动MySQL:
service mysql restart
现在检查网络是否启用。 跑
netstat -tap | grep mysql
输出应如下所示:
root@server1:/tmp# netstat -tap | grep mysql
tcp6 0 0 [::]:mysql [::]:* LISTEN 27371/mysqld
9安装Amavisd-new,SpamAssassin和Clamav
要安装amavisd-new,SpamAssassin和ClamAV,我们运行
apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl
ISPConfig 3设置使用amavisd在内部加载SpamAssassin过滤器库,因此我们可以停止SpamAssassin释放一些RAM:
service spamassassin stop
systemctl disable spamassassin