完美的服务器——CentOS 7.4 与 Apache、Postfix、Dovecot、Pure-FTPD、BIND 和 ISPConfig 3.1完美的服务器——CentOS 7.4 与 Apache、Postfix、Dovecot、Pure-FTPD、BIND 和 ISPConfig 3.1完美的服务器——CentOS 7.4 与 Apache、Postfix、Dovecot、Pure-FTPD、BIND 和 ISPConfig 3.1完美的服务器——CentOS 7.4 与 Apache、Postfix、Dovecot、Pure-FTPD、BIND 和 ISPConfig 3.1
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

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

本教程适用于这些操作系统版本

  • 中央操作系统 7

在此页

  1. 1 条要求
  2. 2 初步说明
  3. 3 准备服务器
  4. 4 启用其他存储库并安装一些软件
  5. 5 配额
    1. 在 /(根)分区上启用配额
    2. 在单独的 /var 分区上启用配额

    本教程展示了在 CentOS 7.4(64 位)服务器上安装 ISPConfig 3.1。 ISPConfig 是一个网络托管控制面板,允许您通过网络浏览器配置以下服务:Apache 网络服务器、Postfix 邮件服务器、MySQL、BIND 名称服务器、PureFTPd、SpamAssassin、ClamAV、Mailman 等等。

    1 要求

    要安装这样的系统,您需要具备以下条件:

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

    2 初步说明

    在本教程中,我使用主机名 server1.example.com,IP 地址为 192.168.0.100,网关为 192.168.0.1。这些设置可能因您而异,因此您必须在适当的地方替换它们。

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

    3 准备服务器

    设置键盘布局

    如果服务器的键盘布局与您的键盘不匹配,您可以切换到正确的键盘(在我的例子中是德语键盘布局的“de”,使用 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

    输出应如下所示:

    [ ~]# 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
    [ ~]#

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

    yum -y install nano wget NetworkManager-tui

    如果您在安装期间没有配置您的网卡,您现在可以配置。跑步...

    nmtui

    ...并转到编辑连接:

    选择您的网络接口:

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

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

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

    你应该跑

    ifconfig

    现在检查安装程序是否正确获取您的 IP 地址:

    [ ~]#

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

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

    并将 ONBOOT 设置为是:

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

    并重启服务器。

    检查您的 /etc/resolv.conf 是否列出了您之前配置的所有名称服务器:

    cat /etc/resolv.conf

    如果缺少名称服务器,请运行

    nmtui

    并再次添加缺少的名称服务器。

    现在,关于配置...

    调整 /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=disabled:

    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

    ...并将行 priority=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 ' / '
    [ ~]#

    如果您有单独的 /var 分区,则使用:

    mount | grep ' /var '

    反而。如果该行包含单词 \noquota\,则继续执行以下步骤以启用配额。

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

    通常您会在 /etc/fstab 文件中启用配额,但如果文件系统是根文件系统 \/\,则必须通过 Linux 内核的引导参数来启用配额。

    编辑 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 ' / '
    [ ~]#

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

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

    如果你有一个单独的 /var 分区,那么编辑 /etc/fstab 并将 ,uquota,gquota 添加到/分区 (/dev/mapper/centos-var):

    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 header。

    在 httpd.conf 文件末尾添加 apache header 规则:

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

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

    service httpd restart 
©2015-2025 艾丽卡 support@alaica.com