完美服务器与Apache,Postfix,Dovecot,Pure-FTPD,BIND和ISPConfig 3.1的CentOS 7.4

本教程介绍如何在CentOS 7.4(64Bit)服务器上安装ISPConfig 3.1。 ISPConfig 3是一个虚拟主机控制面板,让您配置...

完美服务器与Apache,Postfix,Dovecot,Pure-FTPD,BIND和ISPConfig 3.1的CentOS 7.4

本教程展示在CentOS 7.4(64Bit)服务器上安装ISPConfig 3.1。 ISPConfig是一个虚拟主机控制面板,允许您通过Web浏览器配置以下服务:Apache Web服务器,Postfix邮件服务器,MySQL,BIND域名服务器,PureFTPd,SpamAssassin,ClamAV,Mailman等等。

1要求

要安装这样的系统,您将需要以下内容:

  • 一个Centos 7.4最小的服务器系统。 这可以是一个从零开始安装的服务器,如我们的Centos 7最小服务器教程中所述,或者是安装了CentOS 7.4安装程序的托管公司的虚拟服务器或根服务器。
  • 快速的互联网连接。

2初步说明

在本教程中,我使用IP地址为192.168.0.100的主机名server1.example.com和网关192.168.0.1 。 这些设置可能会有所不同,所以您必须在适当的位置更换它们。

请注意,CentCon平台的ISPConfig中不支持HHVM和XMPP。 如果您想从ISPConfig内部管理XMPP聊天服务器,或者在ISPConfig网站中使用HHVM(Hip Hop虚拟机),请使用Debian或Ubuntu 16.04作为服务器OS而不是CentOS 7.3。

3准备服务器

设置键盘布局

如果服务器的键盘布局不匹配你的键盘,你可以切换到正确的键盘(在我的情况下“德”德国键盘布局,与localectl命令:

localectl set-keymap de

要获取所有可用键盘映射的列表,请运行:

localectl list-keymaps

我想在本教程的末尾安装ISPConfig,ISPConfig附带了我将用作防火墙的Bastille防火墙脚本,因此我现在禁用了默认的CentOS防火墙。 当然,你可以自由的离开CentOS防火墙,并根据需要进行配置(但是之后你不应该再使用其他的防火墙,因为这很可能会干扰CentOS防火墙)。

跑...

yum -y install net-tools
systemctl stop firewalld.service
systemctl disable firewalld.service

停止并禁用CentOS防火墙。 当你在这里得到错误,这只是表示没有安装防火墙。

那么你应该检查防火墙是否真的被禁用。 为此,请运行以下命令:

iptables -L

输出应该是这样的:

[root@server1 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

或者使用firewall-cmd命令:

firewall-cmd --state

[root@server1 ~]# firewall-cmd --state
not running
[root@server1 ~]#

现在我将安装网络配置编辑器和基于shell的编辑器“nano”,我将在接下来的步骤中使用它来编辑配置文件:

yum -y install nano wget NetworkManager-tui

如果您在安装过程中没有配置网卡,现在可以这样做。 跑...

nmtui

...并转到编辑连接

选择您的网络接口:

然后填写您的网络详细信息 - 禁用DHCP并填写静态IP地址,网络掩码,网关和一个或两个Nameservers,然后点击确定

接下来选择确认 ,确认您在网络设置中所做的更改

退出关闭nmtui网络配置工具。

你应该跑步

ifconfig

现在检查安装程序是否得到您的IP地址:

[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.100 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::20c:29ff:fe1a:3d8e prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:1a:3d:8e txqueuelen 1000 (Ethernet)
RX packets 184972 bytes 256696909 (244.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 62983 bytes 7236189 (6.9 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

[root@localhost ~]#

如果你的网卡没有显示在那里,那么在启动时不能启用,在这种情况下,打开文件/ etc / sysconfig / network-scripts / ifcfg-eth0

nano /etc/sysconfig/network-scripts/ifcfg-ens33

并将ONBOOT设置为是:

[...]
ONBOOT=yes
[...]

并重新启动服务器。

如果列出了您之前配置的所有Nameservers,请检查/etc/resolv.conf

cat /etc/resolv.conf

如果Nameservers丢失,请运行

nmtui

并再次添加缺少的Nameservers。

现在,到配置...

调整/ etc / hosts和/ etc / hostname

接下来,我们将编辑/ etc / hosts 。 使它看起来像这样:

nano /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.1.100 server1.example.com server1

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

在/ etc / hostname文件中设置主机名。 该文件应包含完全合格的域名(例如server1.example.com),而不仅仅是“server1”这样的短名称。 用nano编辑器打开文件:

nano /etc/hostname

并在文件中设置主机名。

server1.example.com

保存文件并退出nano。

禁用SELinux

SELinux是CentOS的一个安全扩展,应该提供更高的安全性。 在我看来,你不需要它来配置一个安全的系统,它通常会导致更多的问题,而不是优点(考虑到你已经完成了一周的问题解决,因为一些服务没有按预期工作,然后你发现一切正常,只有SELinux导致了这个问题)。 因此,我禁用它(如果你想稍后安装ISPConfig,这是必须的)。

编辑/ etc / selinux / config并设置SELINUX =禁用

nano /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

之后我们必须重启系统:

reboot

4启用其他存储库并安装某些软件

首先,我们导入软件包的GPG密钥:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

然后,我们在CentOS系统上启用EPEL资源库,因为在官方的CentOS 7资料库中没有提供我们将要安装的许多软件包:

yum -y install epel-release

yum -y install yum-priorities

编辑/etc/yum.repos.d/epel.repo ...

nano /etc/yum.repos.d/epel.repo

...并将行优先级= 10添加到[epel]部分:

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
[...]

然后我们更新系统上的现有软件包:

yum -y update

现在我们安装一些稍后需要的软件包:

yum -y groupinstall 'Development Tools'

5配额

(如果您选择了与我不同的分区方案,则必须调整本章,以便配额适用于您需要的分区。)

要安装配额,我们运行这个命令:

yum -y install quota

现在我们检查是否已经为存储网站(/ var / www)和maildir数据(var / vmail)的文件系统启用了配额。 在这个示例设置中,我有一个大的根分区,所以我搜索“/”:

mount | grep ' / '

[root@server1 ~]# mount | grep ' / '
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)
[root@server1 ~]#

如果你有一个单独的/ var分区,然后使用:

mount | grep ' /var '

代替。 如果该行包含单词“ noquota ”,则继续执行以下步骤以启用配额。

在/(根)分区上启用配额

通常情况下,您可以在/ etc / fstab文件中启用配额,但是如果文件系统是根文件系统“/”,则配额必须由Linux Kernel的启动参数启用。

编辑grub配置文件:

nano /etc/default/grub

搜索以GRUB_CMDLINE_LINUX开头的行并向命令行参数添加rootflags = uquota,gquota ,以便生成的行如下所示:

GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet rootflags=uquota,gquota"

并通过运行以下命令来应用更改。

cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg_bak
grub2-mkconfig -o /boot/grub2/grub.cfg

并重新启动服务器。

reboot

现在检查是否启用配额:

mount | grep ' / '

[root@server1 ~]# mount | grep ' / '
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,usrquota,grpquota)
[root@server1 ~]#

当配额激活时,我们可以在挂载选项列表中看到“ usrquota,grpquota ”。

在单独的/ var分区上启用配额

如果你有一个单独的/ var分区,那么编辑/ etc / fstab然后在/ partition( / dev / mapper / centos-var )中添加uquota,gquota

nano /etc/fstab


#
# /etc/fstab
# Created by anaconda on Sun Sep 21 16:33:45 2014
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 1 1
/dev/mapper/centos-var /var xfs defaults,uquota,gquota 1 2
UUID=9ac06939-7e43-4efd-957a-486775edd7b4 /boot xfs defaults 1 3
/dev/mapper/centos-swap swap swap defaults 0 0

然后运行

mount -o remount /var

quotacheck -avugm
quotaon -avug

启用配额。 当您遇到没有启用配额的分区的错误时,请在继续之前重新启动服务器。

6安装Apache,MySQL,phpMyAdmin

我们可以用一个命令来安装所需的软件包:

yum -y install ntp httpd mod_ssl mariadb-server php php-mysql php-mbstring phpmyadmin

为了确保服务器不会受到HTTPOXY漏洞的攻击,我们将全局禁用Apache中的HTTP_PROXY头。

在httpd.conf文件的末尾添加apache标头规则:

echo "RequestHeader unset Proxy early" >> /etc/httpd/conf/httpd.conf

并重新启动httpd以应用配置更改。

service httpd restart 


分享按钮