GNU/Linux >> Znalost Linux >  >> Cent OS

The Perfect Server CentOS 7.2 s Apache, Postfix, Dovecot, Pure-FTPD, BIND a ISPConfig 3.1

Tento výukový program ukazuje instalaci ISPConfig 3.1 na server CentOS 7.2 (64Bit). ISPConfig je ovládací panel webhostingu, který vám umožňuje konfigurovat následující služby prostřednictvím webového prohlížeče:webový server Apache, poštovní server Postfix, MySQL, jmenný server BIND, PureFTPd, SpamAssassin, ClamAV, Mailman a mnoho dalších.

1 požadavky

K instalaci takového systému budete potřebovat následující:

  • Minimální serverový systém Centos 7.2. Může se jednat o server nainstalovaný od začátku, jak je popsáno v našem výukovém programu pro minimální server Centos 7.2, nebo o virtuální server nebo kořenový server od hostitelské společnosti, která má nainstalované minimální nastavení Centos 7.1.
  • Rychlé internetové připojení.

2 Předběžná poznámka

V tomto tutoriálu používám název hostitele server1.example.com s IP adresou 192.168.1.100 a bránou 192.168.1.1. Tato nastavení se pro vás mohou lišit, takže je v případě potřeby musíte nahradit.

Upozorňujeme, že HHVM a XMPP zatím nejsou podporovány v ISPConfig pro platformu CentOS. Pokud chcete spravovat chatovací server XMPP z ISPConfig nebo používáte HHVM (Hip Hop Virtual Machine) na webu ISPConfig, použijte prosím Debian 8 nebo Ubuntu 16.04 jako OS serveru místo CentOS 7.2.

3 Připravte server

Nastavte rozložení klávesnice

V případě, že rozložení klávesnice serveru neodpovídá vaší klávesnici, můžete přepnout na pravou klávesnici (v mém případě "de" pro německé rozložení klávesnice, příkazem localectl:

localectl set-keymap de

Chcete-li získat seznam všech dostupných map kláves, spusťte:

localectl list-keymaps

Na konci tohoto kurzu chci nainstalovat ISPConfig, ISPConfig se dodává se skriptem brány firewall Bastille, který rád používám jako bránu firewall, proto nyní deaktivuji výchozí bránu firewall CentOS. Firewall CentOS samozřejmě můžete nechat zapnutý a nakonfigurovat jej podle svých potřeb (ale později byste neměli používat žádný jiný firewall, protože by s největší pravděpodobností narušoval firewall CentOS).

Spustit...

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

zastavit a deaktivovat bránu firewall CentOS. Je v pořádku, pokud se zde zobrazují chyby, pouze to znamená, že nebyl nainstalován firewall.

Poté byste měli zkontrolovat, zda byl firewall skutečně deaktivován. Chcete-li to provést, spusťte příkaz:

iptables -L

Výstup by měl vypadat takto:

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

Nebo použijte příkaz firewall-cmd:

firewall-cmd --state
[[email protected] ~]# firewall-cmd --state
not running
[[email protected] ~]#

Nyní nainstaluji editor konfigurace sítě a editor založený na shellu „nano“, který použiji v následujících krocích k úpravě konfiguračních souborů:

yum -y install nano wget NetworkManager-tui

Pokud jste během instalace nenakonfigurovali síťovou kartu, můžete tak učinit nyní. Spustit...

nmtui

... a přejděte na Upravit připojení:

Vyberte síťové rozhraní:

Poté vyplňte podrobnosti o vaší síti – deaktivujte DHCP a vyplňte statickou IP adresu, masku sítě, vaši bránu a jeden nebo dva jmenné servery, poté stiskněte Ok:

Dále vyberte OK pro potvrzení změn, které jste provedli v nastavení sítě

a Quit pro zavření nástroje pro konfiguraci sítě nmtui.

Měli byste spustit

ifconfig

nyní zkontrolujte, zda instalační program správně získal vaši IP adresu:

[[email protected] ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::20c:29ff:fecd:cc52  prefixlen 64  scopeid 0x20

        ether 00:0c:29:cd:cc:52  txqueuelen 1000  (Ethernet)
        RX packets 55621  bytes 79601094 (75.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 28115  bytes 2608239 (2.4 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
        loop  txqueuelen 0  (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

Pokud se tam vaše síťová karta nezobrazuje, není při bootování povolena. V tomto případě otevřete soubor /etc/sysconfig/network-scripts/ifcfg-eth0

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

a nastavte ONBOOT na yes:

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

a restartujte server.

Zkontrolujte svůj /etc/resolv.conf, zda obsahuje všechny jmenné servery, které jste dříve nakonfigurovali:

cat /etc/resolv.conf

Pokud jmenné servery chybí, spusťte

nmtui

a znovu přidejte chybějící jmenné servery.

Nyní ke konfiguraci...

Upravit /etc/hosts

Dále upravíme /etc/hosts. Ať to vypadá takto:

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

Zakázat SELinux

SELinux je bezpečnostní rozšíření CentOS, které by mělo poskytovat rozšířené zabezpečení. Podle mého názoru to ke konfiguraci zabezpečeného systému nepotřebujete a obvykle to způsobuje více problémů než výhod (přemýšlejte o tom, až týden řešíte problémy, protože některá služba nefungovala podle očekávání, a pak zjistěte, že vše bylo v pořádku, problém způsoboval pouze SELinux). Proto jsem to zakázal (to je nutnost, pokud chcete ISPConfig nainstalovat později).

Upravte /etc/selinux/config a nastavte 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

Poté musíme restartovat systém:

reboot

4 Povolení dalších úložišť a instalace softwaru

Nejprve importujeme klíče GPG pro softwarové balíčky:

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

Poté povolíme úložiště EPEL v našem systému CentOS, protože mnoho balíčků, které se chystáme instalovat v průběhu tohoto tutoriálu, není dostupných v oficiálním úložišti CentOS 7:

yum -y install epel-release
yum -y install yum-priorities

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

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

... a přidejte řádek priority=10 do sekce [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
[...]

Poté aktualizujeme naše stávající balíčky v systému:

yum -y update

Nyní nainstalujeme některé softwarové balíčky, které budeme potřebovat později:

yum -y groupinstall 'Development Tools'

Kvóta 5

(Pokud jste zvolili jiné schéma rozdělení než já, musíte upravit tuto kapitolu tak, aby kvóta platila pro oblasti, kde ji potřebujete.)

Pro instalaci kvóty spustíme tento příkaz:

yum -y install quota

Nyní zkontrolujeme, zda je již povolena kvóta pro souborový systém, kde jsou uloženy webové stránky (/var/www) a data maildir (var/vmail). V tomto příkladu nastavení mám jeden velký kořenový oddíl, takže hledám ' / ':

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

Pokud máte samostatný oddíl /var, použijte:

mount | grep ' /var '

namísto. Pokud řádek obsahuje slovo „noquota “, poté pokračujte podle následujících kroků a povolte kvótu.

Povolení kvóty na / (kořenovém) oddílu

Normálně byste povolili kvótu v souboru /etc/fstab, ale pokud je souborovým systémem kořenový souborový systém "/", pak musí být kvóta povolena spouštěcím parametrem linuxového jádra.

Upravte konfigurační soubor grub:

nano /etc/default/grub

prohledejte řádek, který začíná GRUB_CMDLINE_LINUX a přidejte rootflags=uquota,gquota do parametrů příkazového řádku tak, aby výsledný řádek vypadal takto:

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

a aplikujte změny spuštěním následujícího příkazu.

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

a restartujte server.

reboot

Nyní zkontrolujte, zda je povolena kvóta:

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

Když je kvóta aktivní, můžeme vidět „usrquota,grpquota " v seznamu možností připojení.

Povolení kvóty na samostatném oddílu /var

Pokud máte samostatný oddíl /var, upravte /etc/fstab a přidejte ,uquota,gquota do oddílu / (/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

Potom spusťte

mount -o remount /var
quotacheck -avugm
quotaon -avug

pro povolení kvóty. Když se zobrazí chyba, že neexistuje žádný oddíl s povolenou kvótou, pak před pokračováním restartujte server.

6 Instalace Apache, MySQL, phpMyAdmin

Potřebné balíčky můžeme nainstalovat jediným příkazem:

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

Abychom zajistili, že server nemůže být napaden prostřednictvím chyby zabezpečení HTTPOXY, globálně deaktivujeme hlavičku HTTP_PROXY v Apache.

Přidejte pravidlo záhlaví Apache na konec souboru httpd.conf:

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

A restartujte httpd, abyste použili změnu konfigurace.

service httpd restart


Cent OS
  1. The Perfect Server – Ubuntu 15.10 (nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD a ISPConfig 3)

  2. The Perfect Server - Ubuntu 16.10 (Yakkety Yak) s Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot a ISPConfig 3.1

  3. The Perfect Server - Ubuntu 17.04 (Zesty Zapus) s Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot a ISPConfig 3.1

  1. The Perfect Server – Ubuntu 16.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD a ISPConfig 3.1)

  2. The Perfect Server - Ubuntu 16.04 (Xenial Xerus) s Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot a ISPConfig 3.1

  3. The Perfect Server - Ubuntu 18.04 (Bionic Beaver) s Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot a ISPConfig 3.1

  1. The Perfect Server – Ubuntu 15.04 (Vivid Vervet) s Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot a ISPConfig 3

  2. The Perfect Server - Ubuntu 17.10 (Artful Aardvark) s Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot a ISPConfig 3.1

  3. The Perfect Server – Ubuntu 18.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD a ISPConfig 3.1)