Tento tutoriál ukazuje, jak nainstalovat ISPConfig 3 na server CentOS 7.1 (64Bit). ISPConfig 3 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. Od verze 3.0.4 přichází ISPConfig s plnou podporou pro webový server nginx kromě Apache; tento tutoriál popisuje nastavení serveru, který používá Apache, nikoli nginx.
1 požadavky
K instalaci takového systému budete potřebovat následující:
- Minimální serverový systém Centos 7.1. 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.1, 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.254. Tato nastavení se pro vás mohou lišit, takže je v případě potřeby musíte nahradit.
3 Nastavte rozložení klávesnice
V případě, že rozložení klávesnice serveru neodpovídá vaší klávesnici, můžete přepnout na správnou 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
Chci nainstalovat ISPConfig na konci tohoto tutoriálu, ISPConfig je dodáván 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.
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 „nano“ založený na shellu, 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 0x10loop 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...
4 Upravte /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
5 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
6 Povolit další úložiště a nainstalovat nějaký software
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 na našem systému CentOS, protože mnoho balíčků, které se chystáme instalovat v průběhu tohoto tutoriálu, není k dispozici 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 update
Nyní nainstalujeme některé softwarové balíčky, které budeme potřebovat později:
yum -y groupinstall 'Development Tools'
Kvóta 7
(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="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=auto vconsole.keymap=us 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á oartition s povolenou kvótou, restartujte server, než budete pokračovat.
8 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
-
The Perfect Server – Ubuntu 15.10 (nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD a ISPConfig 3)
-
The Perfect Server – Ubuntu 16.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD a ISPConfig 3.1)
-
The Perfect Server – Ubuntu 18.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD a ISPConfig 3.1)