GNU/Linux >> Znalost Linux >  >> Panels >> Panels

The Perfect Server – CentOS 6.2 x86_64 s nginx [ISPConfig 3]

Dokonalý server – CentOS 6.2 x86_64 s nginx [ISPConfig 3]

Tento tutoriál ukazuje, jak připravit server CentOS 6.2 x86_64 pro instalaci ISPConfig 3 a jak nainstalovat ISPConfig 3. ISPConfig 3 je ovládací panel webhostingu, který umožňuje konfigurovat následující služby prostřednictvím webového prohlížeče:webový server nginx, Postfix poštovní server, 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á nginx, nikoli Apache.

Upozorňujeme, že toto nastavení nefunguje pro ISPConfig 2 ! Platí pouze pro ISPConfig 3!

Neposkytuji žádnou záruku, že to pro vás bude fungovat!

Příručka ISPConfig 3

Abyste se naučili používat ISPConfig 3, důrazně doporučuji stáhnout si příručku ISPConfig 3.

Na zhruba 300 stranách pokrývá koncept ISPConfig (administrátoři, prodejci, klienti), vysvětluje, jak nainstalovat a aktualizovat ISPConfig 3, obsahuje odkaz na všechny formuláře a pole formulářů v ISPConfig spolu s příklady platných vstupů a poskytuje výukové programy pro nejběžnější úkoly v ISPConfig 3. Také uvádí, jak zvýšit zabezpečení serveru, a na konci je dodávána část pro odstraňování problémů.

Aplikace ISPConfig Monitor pro Android

Pomocí aplikace ISPConfig Monitor App můžete zkontrolovat stav svého serveru a zjistit, zda všechny služby běží podle očekávání. Můžete zkontrolovat TCP a UDP porty a pingnout vaše servery. Kromě toho můžete tuto aplikaci použít k vyžádání podrobností od serverů, které mají nainstalovaný ISPConfig (Upozorňujeme, že minimální nainstalovaná verze ISPConfig 3 s podporou aplikace ISPConfig Monitor je 3.0.3.3! ); tyto podrobnosti zahrnují vše, co znáte z modulu Monitor v ovládacím panelu ISPConfig (např. služby, protokoly pošty a systému, fronta pošty, informace o CPU a paměti, využití disku, kvóty, podrobnosti o operačním systému, protokol RKHunter atd.) a samozřejmě , protože ISPConfig podporuje více serverů, můžete zkontrolovat všechny servery, které jsou řízeny z vašeho hlavního serveru ISPConfig.

Pokyny ke stažení a použití naleznete na adrese http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/.

1 požadavky

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

  • Stáhněte si dva disky DVD CentOS 6.2 ze zrcadla vedle vás (seznam zrcadel lze nalézt zde:http://isoredirect.centos.org/centos/6/isos/x86_64/).
  • rychlé připojení k internetu.

2 Předběžná poznámka

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

3 Instalace základního systému

Spusťte z vašeho prvního CentOS 6.2 DVD (DVD 1). Vyberte Instalovat nebo upgradovat stávající systém:

Testování instalačního média může trvat dlouho, takže tento test zde přeskočíme:

Zobrazí se uvítací obrazovka instalačního programu CentOS. Klikněte na Další:

Dále vyberte jazyk:

Vyberte rozložení klávesnice:

Předpokládám, že používáte lokálně připojený pevný disk, takže byste zde měli vybrat Základní úložná zařízení:

Může se zobrazit následující varování – Upozornění na úložné zařízení. Pokud toto uvidíte, klikněte na tlačítko Ano, zahoďte všechna data a pokračujte:

Vyplňte název hostitele serveru (např. server1.example.com) a poté klikněte na tlačítko Konfigurovat síť:

Přejděte na kartu Kabelové, vyberte síťové rozhraní (pravděpodobně eth0) a klikněte na Upravit...:

Zaškrtněte políčko Připojit automaticky a přejděte na kartu Nastavení IPv4 a v rozevírací nabídce Metoda vyberte možnost Ručně. Vyplňte jeden, dva nebo tři jmenné servery (oddělené čárkou) do pole DNS servery (např. 8.8.8.8, 8.8.4.4), poté klikněte na tlačítko Přidat vedle oblasti Adresy:

Nyní přidělte své síťové kartě statickou IP adresu a síťovou masku (v tomto tutoriálu používám IP adresu 192.168.0.100 a síťovou masku 255.255.255.0 pro demonstrační účely; pokud si nejste jisti správnými hodnotami, http://www. subnetmask.info vám může pomoci). Vyplňte také svou bránu (např. 192.168.0.1) a klikněte na tlačítko Použít...:

Konfigurace sítě je nyní dokončena. Klikněte na tlačítko Další:

Dokonalý server – CentOS 6.2 x86_64 s nginx [ISPConfig 3] – strana 2

4 Upravte /etc/hosts

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

vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4192.168.0.100 server1.example.com server1::1 localhost localhost.localdomain localhost6 localhost6. localdomain6

5 Konfigurace brány firewall

(Pokud jste již na konci základní instalace systému firewall deaktivovali, můžete tuto kapitolu přeskočit.)

Chci nainstalovat ISPConfig na konci tohoto tutoriálu, který je dodáván s vlastním firewallem. Proto nyní deaktivuji výchozí firewall CentOS. Samozřejmě ho můžete nechat zapnutý a nakonfigurovat 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

system-config-firewall

a vypněte firewall.

Chcete-li zkontrolovat, zda byl firewall skutečně deaktivován, můžete spustit

iptables -L 

později. Výstup by měl vypadat takto:

[[email protected] ~]# iptables -L
VSTUP řetězce (zásady PŘIJÍMÁTE)
cíl      ochranný opt zdroj               cíl

Získat PŘEDPOŘÁDNUTÍ 
prot opt source               destination

Chain OUTPUT (policy ACEPT)
cíl     prot opt source                 destination
[example@unixlinux].

6 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ůsobí 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:

vi /etc/selinux/config
# Tento soubor řídí stav SELinuxu v systému.# SELINUX=může nabývat jedné z těchto tří hodnot:# vynucování – bezpečnostní politika SELinuxu je vynucována .# permisivní - SELinux vypisuje varování místo vynucování.# vypnuto - Není zavedena žádná politika SELinuxu.SELINUX=disabled# SELINUXTYPE=může nabývat jedné z těchto dvou hodnot:# targeted - Cílené procesy jsou chráněny,# mls - Ochrana více úrovní zabezpečení. SELINUXTYPE=cílený

Poté musíme restartovat systém:

restartovat

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

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

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

Poté povolíme úložiště RPMforge a 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ích repozitářích CentOS 6.2:

rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

cd /tmp
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release- 0.5.2-2.el6.rf.x86_64.rpm

(Pokud výše uvedený odkaz již nefunguje, aktuální verzi rpmforge-release naleznete zde:http://packages.sw.be/rpmforge-release/)

rpm --import https://fedoraproject.org/static/0608B895.txt
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-5.noarch. rpm
rpm -ivh epel-release-6-5.noarch.rpm

Musíme také povolit úložiště Remi RPM, které obsahuje balíček php-fpm, který nainstalujeme později:

rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

yum instalace yum-priority

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

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

... a přidejte řádek priority=10 do sekce [epel]:

[epel]name=Další balíčky pro Enterprise Linux 6 – $basearch#baseurl=http://download.fedoraproject.org/pub/epel/ 6/$basearchmirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearchfailovermethod=priorityenabled=1priority=10gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG -KEY-EPEL-6[...]

Poté proveďte totéž pro sekci [remi] v /etc/yum.repos.d/remi.repo, plus změna povolena na 1:

vi /etc/yum.repos.d/remi.repo
[remi]name=Les RPM de remi pour Enterprise Linux $releasever - $basearch#baseurl=http://rpms.famillecollet.com/enterprise /$releasever/remi/$basearch/mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/remi/mirrorenabled=1priority=10gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM -GPG-KEY-remifailovermethod=priority[remi-test]name=Les RPM de remi en test pour Enterprise Linux $releasever - $basearch#baseurl=http://rpms.famillecollet.com/enterprise/$releasever/test/$ basearch/mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/test/mirrorenabled=0gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

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

yum aktualizace

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

yum groupinstall 'Development Tools'

8 kvóta

(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 instalační kvóta

Upravte /etc/fstab a přidejte ,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 do oddílu / (/dev/mapper/vg_server1-lv_root):

vi /etc/fstab
## /etc/fstab# Vytvořil anaconda dne Pá 16. prosince 00:22:26 2011## Přístupné souborové systémy podle odkazu jsou udržovány pod '/dev/disk'# Pro více informací viz manuálové stránky fstab(5), findfs(8), mount(8) a/nebo blkid(8)#/dev/mapper/vg_server1-lv_root / ext4 defaults,usrjquota=aquota .user,grpjquota=aquota.group,jqfmt=vfsv0 1 1UUID=d995c881-fbc7-409f-bcad-86d255331a3f /boot ext4 defaults 1 2/dev/mapper/vg_swapv-pp 0devpts /dev/pts devpts gid=5,mode=620 0 0sysfs /sys sysfs výchozí hodnoty 0 0proc /proc proc výchozí hodnoty 0 0

Potom spusťte

mount -o remount /

kvóta -avugm
kvóta -avug

pro povolení kvóty.

9 Synchronizace systémových hodin

Je vhodné synchronizovat systémové hodiny s NTP (n síť t ime p rotocol) server přes internet. Jednoduše spusťte

yum install ntp

a váš systémový čas bude vždy synchronizován.

10 Instalace MySQL

Nainstalujte MySQL následovně:

yum install mysql mysql-server

Poté vytvořte spouštěcí odkazy systému pro MySQL a spusťte jej:

chkconfig --levels 235 mysqld na
/etc/init.d/mysqld start

Nastavte hesla pro kořenový účet MySQL:

mysql_secure_installation

[[email protected] tmp]# mysql_secure_installation




POZNÁMKA: SPUŠTĚNÍ VŠECHNY ČÁSTI TOHOto skriptu JE DOPORUČUJEME PRO VŠECHNY PRODUKT MySQL
      SERVERY V SERVERU POUŽITÍ! PROSÍM POČTĚTE KAŽDÝ KROK POZOR!


Aby se přihlásili do MySQL a zabezpečili je, budeme potřebovat aktuální
heslo pro uživatele root. Pokud jste právě nainstalovali MySQL a 
ještě nenastavili heslo kořenu , heslo bude prázdné,
tak měli stačí stisknout sem enter.

Enter aktuální heslo pro kořen (zadejte pro žádné):
OK, úspěšně použité heslo, pokračujeme ...

Nastavení hesla root zajistí , že se nikdo nemůže přihlásit do MySQL
root uživatel bez náležitého oprávnění.

Nastavit heslo uživatele root? [A/N] <-- ZADEJTE
Nové heslo: <-- heslo yourrootsql
Znovu zadejte nové heslo: <-- heslo vaše rootsql
Heslo úspěšně aktualizováno!
Opětovné načítání tabulek privilegií. .
 ... Úspěch!


Ve výchozím nastavení má instalace MySQL anonymního uživatele, který umožňuje 
přihlásit se do MySQL bez musí mít uživatelský účet vytvořené pro ně
. Toto je určeno pouze pro testování a aby instalace
byla o něco plynulejší. Měli byste je odstranit [A/N] <-- ENTER
 ... Úspěch!

Za normálních okolností by měl uživatel pouze povolit připojení z 'localhost'. To
zajišťuje , že někdo nemůže odhadnout heslo root ze sítě.

Zakázat vzdálené přihlášení rootu? [A/N] <-- ENTER
 ... Úspěch!

Ve výchozím nastavení MySQL přichází s databází nazvanou 'test', ke které má kdo
přístup. Toto je také je určeno pouze pro testování a mělo by se odstranit
před přestěhováním do produkčního prostředí.

Odstranit testovací databázi a získat do ní přístup? [A/N] <-- ENTER
 - Odstranění testovací databáze...
 ... Úspěch!
 - Odebrání oprávnění na testovací databázi...
 ... Úspěch !

Opětovné načtení tabulek privilegií zajistí , že všechny dosud provedené změny se okamžitě projeví.

Znovu načíst tabulky privilegií hned? [A/N] <-- ENTER
 ... Úspěch!

Úklid ...



Vše hotovo! Pokud jste dokončili všechny výše uvedené kroky, vaše mySQL
instalace by nyní měla být zabezpečena.

Děkujeme za používání MySQL!


[příklad @unixlinux.online tmp]#

Dokonalý server – CentOS 6.2 x86_64 s nginx [ISPConfig 3] – strana 4

11 Instalace Courier-IMAP, Courier-Authlib a Maildrop

Bohužel neexistují žádné rpm balíčky pro Courier-IMAP, Courier-Authlib a Maildrop, takže si je musíme vytvořit sami.

Nejprve odeberte Dovecot (CentOS 6.2 je dodáván s Dovecot 2.x; bohužel ISPConfig 3 podporuje Dovecot 1.2.x, ale ne 2.x):

yum remove dovecot dovecot-mysql

Poté nainstalujte předpoklady, které potřebujeme k sestavení balíčků Courier rpm:

yum install rpm-build gcc mysql-devel openssl-devel cyrus-sasl-devel pkgconfig zlib-devel pcre-devel openldap-devel postgresql-devel očekávejte libtool-ltdl-devel openldap-servers libtool gdbm-devel pam-devel gamin -devel libidn-devel

Balíčky RPM by neměly být sestavovány jako root; courier-imap dokonce odmítne kompilaci, pokud zjistí, že kompilace je spuštěna jako uživatel root. Proto nyní vytvoříme normální uživatelský účet (v tomto příkladu falko) a dáme mu heslo:

useradd -m -s /bin/bash falko
passwd falko

Příkaz sudo budeme potřebovat později, aby uživatel falko mohl zkompilovat a nainstalovat balíčky rpm. Nejprve však musíme povolit falku spouštět všechny příkazy pomocí sudo:

Spustit

vizuo

V souboru, který se otevře, je kořen řádku ALL=(ALL) ALL. Přidejte podobný řádek pro falko těsně pod tento řádek:

[...]## Povolit rootovi spouštět libovolné příkazy kdekoliroot ALL=(ALL) ALLfalko ALL=(ALL) ALL[...] 

Nyní jsme připraveni sestavit náš balíček otáček za minutu. Nejprve se staňte uživatelem falko:

su falko

Dále vytvoříme naše prostředí pro sestavení:

mkdir $HOME/rpm
mkdir $HOME/rpm/SOURCES
mkdir $HOME/rpm/SPECS
mkdir $HOME/rpm/BUILD
mkdir $HOME/rpm/BUILDROOT
mkdir $HOME/rpm/SRPMS
mkdir $HOME/rpm/RPMS
mkdir $HOME/rpm/RPMS/i386
mkdir $HOME/rpm/RPMS/x86_64

echo "%_topdir $HOME/rpm">> $HOME/.rpmmacros

Nyní vytvoříme adresář pro stahování a stáhneme zdrojové soubory z http://www.courier-mta.org/download.php:

mkdir $HOME/downloads
cd $HOME/downloads

wget https://sourceforge.net/projects/courier/files/authlib/0.63.0/courier-authlib-0.63.0.tar.bz2/download
wget https://sourceforge.net/projects/courier /files/imap/4.9.3/courier-imap-4.9.3.tar.bz2/download
wget https://sourceforge.net/projects/courier/files/maildrop/2.5.5/maildrop-2.5 .5.tar.bz2/download

(Upozorňujeme, že zde používám Courier-IMAP 4.9.3 místo novější 4.10.0, protože 4.10.0 závisí na systemctl, který existuje pro Fedoru, ale ne pro CentOS.)

Nyní (stále v $HOME/downloads) můžeme vytvořit courier-authlib:

sudo rpmbuild -ta courier-authlib-0.63.0.tar.bz2

Po procesu sestavení lze balíčky rpm nalézt v /root/rpmbuild/RPMS/x86_64 (/root/rpmbuild/RPMS/i686, pokud používáte systém i686). Příkaz

sudo ls -l /root/rpmbuild/RPMS/x86_64

zobrazí dostupné balíčky otáček za minutu:

[[email protected] stažení]$ sudo ls -l /root/rpmbuild/RPMS/x86_64
celkem 528
-rw-r--r-- 1 kořen 124008 16. prosince 01:1 -authlib-0.63.0-1.el6.x86_64.rpm
-rw-r--r-- 1 kořen 270860 16. prosince 01:10 courier-authlib-debuginfo-0.63.0-1.el6. x86_64.rpm
-rw-r--r-- 1 kořenový kořen  35072 prosinec 16 01:10 courier-authlib-devel-0.63.0-1.el6.x86_64.rpm
-rw-r --r-- 1 root root  17368 Dec 16 01:10 courier-authlib-ldap-0.63.0-1.el6.x86_64.rpm
-rw-r--r-- 1 root root  13928 Dec 1 01:10 courier-authlib-mysql-0.63.0-1.el6.x86_64.rpm
-rw-r--r-- 1 kořen  13076 prosinec 16 01:10 courier-authlib-pgs3.0.0 0-1.el6.x86_64.rpm
-rw-r--r-- 1 kořen    8312 prosinec 16 01:10 courier-authlib-pipe-0.63.0-1.el6.x86_64.rpm
-rw-r--r-- 1 kořenový kořen  34064 16 01:10 courier-authlib-userdb-0.63.0-1.el6.x86_64.rpm
[[email protected] stažení]$

Vyberte ty, které chcete nainstalovat, a nainstalujte je takto:

sudo rpm -ivh /root/rpmbuild/RPMS/x86_64/courier-authlib-0.63.0-1.el6.x86_64.rpm /root/rpmbuild/RPMS/x86_64/courier-authlib-mysql-0.63 1.el6.x86_64.rpm /root/rpmbuild/RPMS/x86_64/courier-authlib-devel-0.63.0-1.el6.x86_64.rpm

Nyní se vrátíme do našeho adresáře pro stahování:

cd $HOME/downloads

Spuštěním následujících příkazů vytvořte požadované adresáře/změňte oprávnění adresáře (protože jinak proces sestavení pro Courier-Imap selže):

sudo mkdir -p /var/cache/ccache/tmp
sudo chmod o+rwx /var/cache/ccache/
sudo chmod 777 /var/cache/ccache/tmp

Nyní znovu spusťte rpmbuild, tentokrát bez sudo, jinak kompilace selže, protože byla spuštěna jako root:

rpmbuild -ta courier-imap-4.9.3.tar.bz2

Po procesu sestavení lze balíčky rpm nalézt v $HOME/rpm/RPMS/x86_64 ($HOME/rpm/RPMS/i686, pokud používáte systém i686):

cd $HOME/rpm/RPMS/x86_64

Příkaz

ls -l

zobrazí dostupné balíčky otáček za minutu:

[[email protected] x86_64]$ ls -l
celkem 1116
-rw-rw-r-- 1 falko falko 331908 16. prosince 01:33 courier-imap-4.9.3-1.x86_6 .rpm
-rw-rw-r-- 1 falko falko 800864 16. prosince 01:33 courier-imap-debuginfo-4.9.3-1.x86_64.rpm
[[email protected] x86_64] $

Courier-imap můžete nainstalovat takto:

sudo rpm -ivh courier-imap-4.9.3-1.x86_64.rpm

Nyní se vrátíme do našeho adresáře pro stahování:

cd $HOME/downloads

a znovu spusťte rpmbuild, tentokrát pro vytvoření balíčku maildrop:

sudo rpmbuild -ta maildrop-2.5.5.tar.bz2

Po procesu sestavení lze balíčky rpm nalézt v /root/rpmbuild/RPMS/x86_64 (/root/rpmbuild/RPMS/i686, pokud používáte systém i686). Příkaz

sudo ls -l /root/rpmbuild/RPMS/x86_64

zobrazí dostupné balíčky otáček za minutu:

[[email protected] stažení]$ sudo ls -l /root/rpmbuild/RPMS/x86_64
celkem 1712
-rw-r--r-- 1 kořen 124008 16 01. prosince:-authlib-0.63.0-1.el6.x86_64.rpm
-rw-r--r-- 1 kořen 270860 16. prosince 01:10 courier-authlib-debuginfo-0.63.0-1.el6. x86_64.rpm
-rw-r--r-- 1 kořenový kořen  35072 prosinec 16 01:10 courier-authlib-devel-0.63.0-1.el6.x86_64.rpm
-rw-r --r-- 1 root root  17368 Dec 16 01:10 courier-authlib-ldap-0.63.0-1.el6.x86_64.rpm
-rw-r--r-- 1 root root  13928 Dec 1 01:10 courier-authlib-mysql-0.63.0-1.el6.x86_64.rpm
-rw-r--r-- 1 kořen  13076 prosinec 16 01:10 courier-authlib-pgs3.0.0 0-1.el6.x86_64.rpm
-rw-r--r-- 1 kořen    8312 prosinec 16 01:10 courier-authlib-pipe-0.63.0-1.el6.x86_64.rpm
-rw-r--r-- 1 kořenový kořen  34064 16 01:10 courier-authlib-userdb-0.63.0-1.el6.x86_64.rpm
-rw-r--r-- 1 kořen 286480 16 01:40 maildrop-2.5.5-1.x86_64.rpm
-rw-r--r-- 1 kořen 751376 16. prosince 01:40 maildrop.5.5.5 1.x86_64.r pm
-rw-r--r-- 1 kořenový kořen 102104 16 01:40 maildrop-devel-2.5.5-1.x86_64.rpm
-rw-r--r-- 1 root root  65940 Dec 16 01:40 maildrop-man-2.5.5-1.x86_64.rpm
[[email protected] stažení]$

Nyní můžete nainstalovat maildrop takto:

sudo rpm -ivh /root/rpmbuild/RPMS/x86_64/maildrop-2.5.5-1.x86_64.rpm

Poté, co zkompilujete a nainstalujete všechny potřebné balíčky, můžete se znovu stát rootem zadáním

exit

Nyní spusťte Courier-IMAP/-POP3 následovně:

/etc/init.d/courier-imap start 

12 Nainstalujte Postfix

Postfix lze nainstalovat následovně:

yum nainstalovat postfix

Potom vypněte Sendmail a spusťte Postfix:

chkconfig --levels 235 sendmail off
chkconfig --levels 235 postfix on
/etc/init.d/sendmail stop
/etc/init.d/postfix restart

13 Nainstalujte si Getmail

Getmail lze nainstalovat následovně:

yum nainstalovat getmail

14 Instalace Amavisd-new, SpamAssassin And ClamAV

Chcete-li nainstalovat amavisd-new, spamassassin a clamav, spusťte následující příkaz:

yum install amavisd-new spamassassin clamav clamd rozbalit bzip2 unrar perl-DBD-mysql

Poté začneme freshclam, amavisd a clamd.amavisd:

sa-update
chkconfig --levels 235 amavisd na
chkconfig --del clamd
chkconfig --levels 235 clamd.amavisd na
/usr/bin/freshclam
/etc/init.d/amavisd start
/etc/init.d/clamd.amavisd start

Dokonalý server – CentOS 6.2 x86_64 s nginx [ISPConfig 3] – strana 5

15 Instalace Nginx, PHP5 (PHP-FPM) a Fcgiwrap

Nginx je k dispozici jako balíček pro CentOS 6.2 (od EPEL), který můžeme nainstalovat následovně:

yum nainstalovat nginx

Pokud je již Apache2 v systému nainstalován, zastavte jej nyní...

/etc/init.d/httpd stop

... a odstraňte odkazy pro spuštění systému Apache:

chkconfig --del httpd

Poté vytvoříme spouštěcí odkazy systému pro nginx a spustíme jej:

chkconfig --levels 235 nginx na
/etc/init.d/nginx start

(Pokud jsou nainstalovány Apache2 i nginx, instalační program ISPConfig 3 se vás zeptá, který z nich chcete použít - v tomto případě odpovězte nginx. Pokud je nainstalována pouze jedna z nich, ISPConfig provede potřebnou konfiguraci automaticky.)

Můžeme zajistit, aby PHP5 fungovalo v nginx pomocí PHP-FPM (PHP-FPM (FastCGI Process Manager) je alternativní implementace PHP FastCGI s některými dalšími funkcemi užitečnými pro weby jakékoli velikosti, zejména rušnější weby). Můžeme nainstalovat php-fpm společně s php-cli a některými moduly PHP5, jako je php-mysql, které potřebujete, pokud chcete používat MySQL z vašich PHP skriptů následovně:

yum install php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-xcache php-magickwand php-magpierss php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy

Dále otevřeme /etc/php.ini...

vi /etc/php.ini

... a změnit hlášení chyb (tak, aby se upozornění již nezobrazovala):

[...];error_reporting =E_ALL &~E_DEPRECATEDerror_reporting =E_ALL &~E_NOTICE[...]

Nastavte také cgi.fix_pathinfo=0:

vi /etc/php.ini
[...]; cgi.fix_pathinfo poskytuje *skutečnou* podporu PATH_INFO/PATH_TRANSLATED pro CGI. PHP; předchozí chování bylo nastavit PATH_TRANSLATED na SCRIPT_FILENAME a negrok; co je PATH_INFO. Další informace o PATH_INFO naleznete ve specifikacích cgi. Nastavení; toto na 1 způsobí, že PHP CGI opraví své cesty tak, aby odpovídaly specifikaci. nastavení; nula způsobí, že se PHP bude chovat jako předtím. Výchozí hodnota je 1. Měli byste opravit své skripty; použít SCRIPT_FILENAME spíše než PATH_TRANSLATED.; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfocgi.fix_pathinfo=0[...]

(Proč byste to měli udělat, přečtěte si prosím http://wiki.nginx.org/Pitfalls.)

Kromě toho, aby se předešlo chybám jako

[08-Aug-2011 18:07:08] Upozornění PHP:phpinfo():Není bezpečné spoléhat se na nastavení časového pásma systému. Jste *povinni* použít nastavení date.timezone nebo funkci date_default_timezone_set(). V případě, že jste použili některou z těchto metod a stále se vám zobrazuje toto varování, pravděpodobně jste chybně napsali identifikátor časového pásma. Místo toho jsme v /usr/share/nginx/html/info.php na řádku 2 vybrali „Evropa/Berlín“ pro „CEST/2.0/DST“ 

... v /var/log/php-fpm/www-error.log při volání PHP skriptu ve vašem prohlížeči byste měli nastavit date.timezone v /etc/php.ini:

[...][Datum]; Definuje výchozí časové pásmo používané funkcemi data; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezonedate.timezone ="Evropa/Berlín"[...]

Správné časové pásmo pro váš systém můžete zjistit spuštěním:

cat /etc/sysconfig/clock

[[email protected] tmp]# cat /etc/sysconfig/clock
ZONE="Europe/Berlin"
[[email protected] tmp]#

Dále vytvořte spouštěcí odkazy systému pro php-fpm a spusťte jej:

chkconfig --levels 235 php-fpm na
/etc/init.d/php-fpm start

PHP-FPM je proces démona (se skriptem init /etc/init.d/php-fpm), který spouští server FastCGI na portu 9000.

Chcete-li získat podporu CGI v nginx, nainstalujeme Fcgiwrap.

Fcgiwrap je CGI wrapper, který by měl fungovat i pro složité CGI skripty a lze jej použít pro sdílená hostitelská prostředí, protože umožňuje každému vhostu používat svůj vlastní adresář cgi-bin.

Protože pro CentOS 6.2 neexistuje žádný balíček fcgiwrap, musíme si jej vytvořit sami. Nejprve nainstalujeme některé předpoklady:

yum install fcgi-devel

Nyní můžeme sestavit fcgiwrap následovně:

cd /usr/local/src/
git klon git://github.com/gnosek/fcgiwrap.git
cd fcgiwrap
autoreconf -i
./configure
provést
provést instalaci

Tím se fcgiwrap nainstaluje do /usr/local/sbin/fcgiwrap.

Dále nainstalujeme balíček spawn-fcgi, který nám umožňuje spouštět fcgiwrap jako démona:

yum install spawn-fcgi

Otevřete /etc/sysconfig/spawn-fcgi...

vi /etc/sysconfig/spawn-fcgi

... a upravte soubor následovně:

# Než bude služba "spawn-fcgi" fungovat, musíte nastavit některé pracovní možnosti.# Pokud SOCKET ukazuje na soubor, pak je tento soubor vyčištěn nahoru pomocí init skriptu.## Všechny možné možnosti viz spawn-fcgi(1).## Příklad :#SOCKET=/var/run/php-fcgi.sock#OPTIONS="-u apache -g apache -s $ ZÁSUVKA -S -M 0600 -C 32 -F 1 -P /var/run/spawn-fcgi.pid -- /usr/bin/php-cgi"FCGI_SOCKET=/var/run/fcgiwrap.socketFCGI_PROGRAM=/usr/local /sbin/fcgiwrapFCGI_USER=apacheFCGI_GROUP=apacheFCGI_EXTRA_OPTIONS="-M 0770"OPTIONS="-u $FCGI_USER -g $FCGI_GROUP -s $FCGI_SOCKET -S $FCGI_EXTRA_OPTIONS -F 1 -P /var/run/spawn-fcgi $FCGI_PROGRAM"

Nyní přidejte uživatele nginx do skupinového apache:

usermod -a -G apache nginx

Vytvořte spouštěcí odkazy systému pro spawn-fcgi...

chkconfig --levels 235 spawn-fcgi na

... a spusťte jej následovně:

/etc/init.d/spawn-fcgi start

Nyní byste měli najít soket fcgiwrap v /var/run/fcgiwrap.socket, který vlastní uživatel a skupina apache (některé skripty, např. Mailman, očekávají, že je bude spouštět uživatel/skupina apache, proto nespouštíme spawn -fcgi jako nginx uživatele/skupiny, ale místo toho přidejte nginx do skupiny apache).

16 Instalace phpMyAdmin

Dále nainstalujeme phpMyAdmin:

yum nainstalovat phpmyadmin

Dále změníme autentizaci v phpMyAdmin z cookie na http:

vi /usr/share/phpmyadmin/config.inc.php
[...]/* Typ ověření */$cfg['Servers'][$i]['auth_type'] ='http';[...]

Nyní můžete najít phpMyAdmin v adresáři /usr/share/phpmyadmin/.

Po instalaci ISPConfig 3 můžete přistupovat k phpMyAdmin následovně:

Aplikace ISPConfig vhost na portu 8081 pro nginx jsou dodávány s konfigurací phpMyAdmin, takže pro přístup k phpMyAdmin můžete použít http://server1.example.com:8081/phpmyadmin nebo http://server1.example.com:8081/phpMyAdmin.

Pokud chcete použít alias /phpmyadmin nebo /phpMyAdmin, který můžete použít ze svých webových stránek, je to o něco složitější než pro Apache, protože nginx nemá globální aliasy (tj. aliasy, které lze definovat pro všechny vhosty). Proto musíte definovat tyto aliasy pro každý vhost, ze kterého chcete přistupovat k phpMyAdmin.

Chcete-li to provést, vložte následující do pole Direktivy nginx na kartě Možnosti na webu v ISPConfig:

 umístění /phpmyadmin { root /usr/share/; index index.php index.html index.htm; umístění ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; zahrnout /etc/nginx/fastcgi_params; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } umístění ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } umístění /phpMyAdmin { přepsat ^/* /phpmyadmin poslední; }

Pokud používáte https místo http pro váš vhost byste měli přidat řádek fastcgi_param HTTPS on; do vaší konfigurace phpMyAdmin takto:

 umístění /phpmyadmin { root /usr/share/; index index.php index.html index.htm; umístění ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS zapnuto; # <-- přidejte tento řádek fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; zahrnout /etc/nginx/fastcgi_params; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } umístění ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } umístění /phpMyAdmin { přepsat ^/* /phpmyadmin poslední; }

Pokud pro svůj vhost používáte http i https, musíte do sekce http {} v /etc/nginx/nginx.conf přidat následující sekci (před začleněním řádků), která určuje, zda návštěvník používá http nebo https a nastavuje proměnná $fastcgi_https (kterou použijeme v naší konfiguraci phpMyAdmin):

vi /etc/nginx/nginx.conf
[...]http {[...] ## Detekce použití HTTPS map $scheme $fastcgi_https { default off; https na; [...]}[...]

Poté nezapomeňte znovu načíst nginx:

/etc/init.d/nginx znovu načíst 

Poté znovu přejděte do pole Direktivy nginx a místo fastcgi_param HTTPS zapněte; přidáte řádek fastcgi_param HTTPS $fastcgi_https; abyste mohli používat phpMyAdmin pro požadavky http i https:

 umístění /phpmyadmin { root /usr/share/; index index.php index.html index.htm; umístění ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS $fastcgi_https; # <-- přidejte tento řádek fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; zahrnout /etc/nginx/fastcgi_params; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } umístění ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } umístění /phpMyAdmin { přepsat ^/* /phpmyadmin poslední; }

17 Nainstalujte Mailman

Od verze 3.0.4 vám ISPConfig také umožňuje spravovat (vytvářet/upravovat/mazat) Mailman mailing listy. Pokud chcete tuto funkci využívat, nainstalujte Mailman následovně:

yum install mailman

Než budeme moci spustit Mailman, musí být vytvořen první mailing list s názvem mailman:

/usr/lib/mailman/bin/newlist mailman

[[email protected] tmp]# /usr/lib/mailman/bin/newlist mailman
Zadejte e-mail osoby vedoucí seznam: <-- e-mailová adresa správce , např. [email protected]
Počáteční heslo poštovního doručovatele: <-- heslo správce pro seznam poštovních doručovatelů
Chcete-li dokončit vytváření seznamu adresátů, musíte upravit svůj /etc/aliases (nebo
ekvivalentní) soubor přidáním následujících řádků a případně spuštěním programu
`newaliases':

## mailman mailing list
mailman:              "|/usr/lib/mailman/mail/mailman post mailman"
mailman-admin:        "|/usr/lib/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/usr/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/usr/lib/mailman/mail/mailman potvrdit mailmana"
mailman-join:          "|/usr/lib/mailman/mail/mailman připojit se k mailmanovi"
mailman -leave:         "|/usr/lib/mailman/mail/mailman opustit pošťáka"
majitel poštovního serveru:        "|/usr/lib/mailman/mail/majitel poštovního správce poštář"
požadavek poštovního muže:      " |/usr/lib/mailman/mail/mailman požadavek mailman"
mailman-subscribe:    "|/usr/lib/mailman/mail/mailman přihlásit se k odběru mailman"
mailma n-unsubscribe:  "|/usr/lib/mailman/mail/mailman unsubscribe mailman"

Stisknutím Enter oznámíte vlastníka pošta... <-- ENTER

[příklad @unixlinux.online tmp]#

Poté otevřete /etc/aliases...

vi /etc/aliases

... a přidejte následující řádky:

[...]mailman:"|/usr/lib/mailman/mail/mailman post mailman"mailman-admin:"|/usr/ lib/mailman/mail/mailman admin mailman"mailman-bounces:"|/usr/lib/mailman/mail/mailman bounces mailman"mailman-confirm:"|/usr/lib/mailman/mail/mailman potvrdit mailman"mailman- připojit se:"|/usr/lib/mailman/mail/mailman připojit se k mailmanovi"mailman-leave:"|/usr/lib/mailman/mail/mailman odejít mailman"mailman-owner:"|/usr/lib/mailman/mail /vlastník mailman mailman"mailman-request:"|/usr/lib/mailman/mail/mailman požadavek mailman"mailman-subscribe:"|/usr/lib/mailman/mail/mailman přihlásit mailman"mailman-unsubscribe:"|/ usr/lib/mailman/mail/mailman odhlásit mailman"

Spustit

newaliases

poté a restartujte Postfix:

/etc/init.d/postfix restart

Vytvořte spouštěcí odkazy systému pro Mailman a spusťte jej:

chkconfig --levels 235 mailman na
/etc/init.d/mailman start

Nyní musíme vytvořit tento symbolický odkaz, aby Mailman fungoval s ISPConfig:

cd /usr/lib/mailman/cgi-bin/
ln -s ./ mailman

Pokud chcete používat Mailman z vašich webových stránek vytvořených prostřednictvím ISPConfig, je to o něco složitější než pro Apache, protože nginx nemá globální aliasy (tj. aliasy, které lze definovat pro všechny vhosty). Proto musíte definovat tyto aliasy pro každý vhost, ze kterého chcete přistupovat k Mailman.

Chcete-li to provést, vložte následující do pole Direktivy nginx na kartě Možnosti na webu v ISPConfig:

 umístění /cgi-bin/mailman { alias /usr/lib/mailman/cgi-bin; fastcgi_split_path_info (^/cgi-bin/mailman/[^/]*)(.*)$; zahrnout /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME /usr/lib/mailman$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED /usr/lib/mailman$fastcgi_path_info; fastcgi_intercept_errors on; fastcgi_pass unix:/var/run/fcgiwrap.socket; } umístění /images/mailman { alias /usr/lib/mailman/icons; } umístění /pipermail { alias /var/lib/mailman/archives/public; autoindex zapnutý; }

Toto definuje alias /cgi-bin/mailman/ pro váš vhost, což znamená, že máte přístup k administrátorskému rozhraní Mailman pro seznam na http:///cgi-bin/mailman/admin/ a webovou stránku pro uživatele konference lze nalézt na adrese http:///cgi-bin/mailman/listinfo/.

Pod http:///pipermail najdete archivy konference.

Dokonalý server – CentOS 6.2 x86_64 s nginx [ISPConfig 3] – strana 6

18 Instalace PureFTPd

PureFTPd lze nainstalovat pomocí následujícího příkazu:

yum install pure-ftpd

Poté vytvořte odkazy pro spuštění systému a spusťte PureFTPd:

chkconfig --levels 235 pure-ftpd na
/etc/init.d/pure-ftpd start

Nyní nakonfigurujeme PureFTPd tak, aby umožňoval FTP a TLS relace. FTP je velmi nezabezpečený protokol, protože všechna hesla a všechna data jsou přenášena jako prostý text. Pomocí TLS lze celou komunikaci šifrovat, čímž je FTP mnohem bezpečnější.

OpenSSL vyžaduje TLS; k instalaci OpenSSL jednoduše spustíme:

yum install openssl

Otevřete /etc/pure-ftpd/pure-ftpd.conf...

vi /etc/pure-ftpd/pure-ftpd.conf

Pokud chcete povolit relace FTP a TLS, nastavte TLS na 1:

[...]# Tato možnost může přijímat tři hodnoty :# 0 :zakázat vrstvu šifrování SSL/TLS (výchozí).# 1 :přijmout obě tradiční a šifrované relace.# 2 :odmítnout připojení, která nepoužívají bezpečnostní mechanismy SSL/TLS,# včetně anonymních relací.# Toto slepě _nekomentujte. Ujistěte se, že:# 1) Váš server byl zkompilován s podporou SSL/TLS (--with-tls),# 2) Je na místě platný certifikát,# 3) Přihlásí se pouze kompatibilní klienti.TLS 1[.. .]

Abychom mohli používat TLS, musíme vytvořit SSL certifikát. Vytvořím jej v /etc/ssl/private/, proto nejprve vytvořím tento adresář:

mkdir -p /etc/ssl/private/

Poté můžeme vygenerovat certifikát SSL následovně:

openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem 

Název země (2 písmenný kód) [XX]:<-- Zadejte název země (např. „DE“).
Název státu nebo provincie (celé jméno) []:<-- Zadejte název svého státu nebo provincie .
Název lokality (např. město) [Výchozí město]:<-- Zadejte své město.
Název organizace (např. společnost) [Výchozí společnost Ltd]:<-- Zadejte název organizace (např. , název vaší společnosti).
Název organizační jednotky (např. sekce) []:<-- Zadejte název organizační jednotky (např. „IT oddělení“).
Běžný název (např. vaše jméno nebo název hostitele vašeho serveru) []:<-- Zadejte plně kvalifikovaný název domény systému (např. "server1.example.com").
E-mailová adresa []:<-- Zadejte svou e-mailovou adresu.

Změňte oprávnění certifikátu SSL:

chmod 600 /etc/ssl/private/pure-ftpd.pem

Nakonec restartujte PureFTPd:

 /etc/init.d/pure-ftpd restart

A je to. Nyní se můžete pokusit připojit pomocí svého FTP klienta; měli byste však nakonfigurovat svého FTP klienta tak, aby používal TLS.

19 Instalace BIND

BIND můžeme nainstalovat následovně:

yum install bind bind-utils

Dále otevřete /etc/sysconfig/named...

vi /etc/sysconfig/named

... a ujistěte se, že řádek ROOTDIR=/var/named/chroot je zakomentován:

# BIND možnosti pojmenovaného procesu# ~~~~~~~~~~~~~~~~~~~~~~~~ ~# V současné době můžete použít následující možnosti:## ROOTDIR="/var/named/chroot" -- poběží pojmenované v prostředí chroot.# musíte nastavit prostředí chroot# (nainstalovat balíček bind-chroot) před# tím.# POZNÁMKA:# Tyto adresáře jsou automaticky připojeny do chrootu, pokud jsou# prázdné v adresáři ROOTDIR. Zjednoduší to údržbu vašeho # prostředí chroot.# - /var/named# - /etc/pki/dnssec-keys# - /etc/named# - /usr/lib64/bind nebo /usr/lib/bind (závisí na architektuře )## Tyto soubory jsou také připojeny, pokud cílový soubor neexistuje v# chroot.# - /etc/named.conf# - /etc/rndc.conf# - /etc/rndc.key# - /etc/named .rfc1912.zones# - /etc/named.dnssec.keys# - /etc/named.iscdlv.key## Nezapomeňte přidat řádek "$AddUnixListenSocket /var/named/chroot/dev/log"# do svého /etc/rsyslog.conf. Jinak se vaše protokolování # přeruší při restartování démona rsyslogd (například kvůli aktualizaci).## OPTIONS="whatever" -- Tyto další možnosti budou předány do named# při spuštění. Nepřidávejte -t, použijte místo toho ROOTDIR.## KEYTAB_FILE="/dir/file" -- Určete soubor tabulky klíčů pojmenované služby (pro GSS-TSIG)## DISABLE_ZONE_CHECKING -- Ve výchozím nastavení initscript volá obslužný program named-checkzone# pro každou zónu, aby bylo zajištěno, že všechny zóny jsou # platné před pojmenovanými spuštěními. If you set this option# to 'yes' then initscript doesn't perform those# checks.

Make a backup of the existing /etc/named.conf file and create a new one as follows:

cp /etc/named.conf /etc/named.conf_bak
cat /dev/null> /etc/named.conf
vi /etc/named.conf

//// named.conf//// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS// server as a caching only nameserver (as a localhost DNS resolver only).//// See /usr/share/doc/bind*/sample/ for example named configuration files.//options { listen-on port 53 { any; }; listen-on-v6 port 53 { any; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; recursion no; allow-recursion { none; };};logging { channel default_debug { file "data/named.run"; severity dynamic; };};zone "." IN { type hint; file "named.ca";};include "/etc/named.conf.local";

Create the file /etc/named.conf.local that is included at the end of /etc/named.conf (/etc/named.conf.local will later on get populated by ISPConfig if you create DNS zones in ISPConfig):

touch /etc/named.conf.local

Then we create the startup links and start BIND:

chkconfig --levels 235 named on
/etc/init.d/named start

20 Install Vlogger, Webalizer, And AWStats

Vlogger, webalizer, and AWStats can be installed as follows:

yum install webalizer awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder

cd /tmp
wget http://n0rp.chemlab.org/vlogger/vlogger-1.3.tar.gz
tar xvfz vlogger-1.3.tar.gz
mv vlogger-1.3/vlogger /usr/sbin/
rm -rf vlogger*

21 Install Jailkit

Jailkit is needed only if you want to chroot SSH users. It can be installed as follows (important:Jailkit must be installed before ISPConfig - it cannot be installed afterwards!):

cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.14.tar.gz
tar xvfz jailkit-2.14.tar.gz
cd jailkit-2.14
./configure
make
make install
cd ..
rm -rf jailkit-2.14*

22 Install fail2ban

This is optional but recommended, because the ISPConfig monitor tries to show the log:

yum install fail2ban

We must configure fail2ban to log to the log file /var/log/fail2ban.log because this is the log file that is monitored by the ISPConfig Monitor module. Open /etc/fail2ban/fail2ban.conf...

vi /etc/fail2ban/fail2ban.conf

... and comment out the logtarget =SYSLOG line and add logtarget =/var/log/fail2ban.log:

[...]# Option:logtarget# Notes.:Set the log target. This could be a file, SYSLOG, STDERR or STDOUT.# Only one log target can be specified.# Values:STDOUT STDERR SYSLOG file Default:/var/log/fail2ban.log##logtarget =SYSLOGlogtarget =/var/log/fail2ban.log[...]

Then create the system startup links for fail2ban and start it:

chkconfig --levels 235 fail2ban on
/etc/init.d/fail2ban start

23 Install rkhunter

rkhunter can be installed as follows:

yum install rkhunter

The Perfect Server - CentOS 6.2 x86_64 With nginx [ISPConfig 3] - Page 7

24 Install SquirrelMail

To install the SquirrelMail webmail client, run...

yum install squirrelmail

Then configure SquirrelMail:

/usr/share/squirrelmail/config/conf.pl

We must tell SquirrelMail that we are using Courier-IMAP/-POP3:

Konfigurace SquirrelMail : Přečtěte si: config.php (1.4.0)
--------------------------------- ------------------------
Hlavní nabídka --
1. Předvolby organizace
2. Nastavení serveru
3. Výchozí složky
4. Obecné možnosti
5. Témata
6. Adresáře
7. Zpráva dne (MOTD)
8. Pluginy
9. Databáze
10. Jazyky

D. Set pre-defined settings for specific IMAP servers

C   Turn color off
S   Save data
Q   Quit

Command >> <-- D


SquirrelMail Configuration : Read: config.php
---------------------------------------------------------
While we have been building SquirrelMail, we have discovered some
preferences that work better with some servers that don't work so
well with others. Pokud vyberete svůj IMAP server, tato možnost 
nastaví některá předdefinovaná nastavení pro tento server.

Upozorňujeme , že budete stále musíte vše procházet a ujistit se 
je správně. To nemění všechno. There are
only a few settings that this will change.

Please select your IMAP server:
    bincimap    = Binc IMAP server
    courier     = Courier IMAP server
    cyrus       = Cyrus IMAP server
    dovecot     = Dovecot Secure IMAP server
    exchange    = Microsoft Exchange IMAP server
    hmailserver = hMailServer
    macosx      = Mac OS X Mailserver
    mercury32   = Mercury/32
    uw          = University of Washington's IMAP server
    gmail       = IMAP access to Google mail (Gmail) accounts

    quit        = Do not change anything
Command >> <-- courier


SquirrelMail Configuration : Read: config.php
---------------------------------------------------------
While we have been building SquirrelMail, we have discovered some
preferences that work better with some servers that don't work so
well with others. Pokud vyberete svůj IMAP server, tato možnost 
nastaví některá předdefinovaná nastavení pro tento server.

Upozorňujeme , že budete stále musíte vše procházet a ujistit se 
je správně. To nemění všechno. There are
only a few settings that this will change.

Please select your IMAP server:
    bincimap    = Binc IMAP server
    courier     = Courier IMAP server
    cyrus       = Cyrus IMAP server
    dovecot     = Dovecot Secure IMAP server
    exchange    = Microsoft Exchange IMAP server
    hmailserver = hMailServer
    macosx      = Mac OS X Mailserver
    mercury32   = Mercury/32
    uw          = University of Washington's IMAP server
    gmail       = IMAP access to Google mail (Gmail) accounts

    quit        = Do not change anything
Command >> courier

              imap_server_type = courier
         default_folder_prefix = INBOX.
                  trash_folder = Trash
                   sent_folder = Sent
                  draft_folder = Drafts
            show_prefix_option = false
          default_sub_of_inbox = false
show_contain_subfolders_option = false
            optional_delimiter = .
                 delete_folder = true

Press enter to continue... <-- press ENTER


SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1. Předvolby organizace
2. Nastavení serveru
3. Výchozí složky
4. Obecné možnosti
5. Témata
6. Adresáře
7. Zpráva dne (MOTD)
8. Pluginy
9. Databáze
10. Jazyky

D. Set pre-defined settings for specific IMAP servers

C   Turn color off
S   Save data
Q   Quit

Command >> <--S


SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1. Předvolby organizace
2. Nastavení serveru
3. Výchozí složky
4. Obecné možnosti
5. Témata
6. Adresáře
7. Zpráva dne (MOTD)
8. Pluginy
9. Databáze
10. Jazyky

D. Set pre-defined settings for specific IMAP servers

C   Turn color off
S   Save data
Q   Quit

Command >> <--Q

One last thing we need to do is modify the file /etc/squirrelmail/config_local.php and comment out the $default_folder_prefix variable - if you don't do this, you will see the following error message in SquirrelMail after you've logged in:Query:CREATE "Sent" Reason Given:Invalid mailbox name.

vi /etc/squirrelmail/config_local.php

You can now find SquirrelMail in the /usr/share/squirrelmail/ directory.

After you have installed ISPConfig 3, you can access SquirrelMail as follows:

The ISPConfig apps vhost on port 8081 for nginx comes with a SquirrelMail configuration, so you can use http://server1.example.com:8081/squirrelmail or http://server1.example.com:8081/webmail to access SquirrelMail.

If you want to use a /webmail or /squirrelmail alias that you can use from your web sites, this is a bit more complicated than for Apache because nginx does not have global aliases (i.e., aliases that can be defined for all vhosts). Proto musíte definovat tyto aliasy pro každý vhost from which you want to access SquirrelMail.

Chcete-li to provést, vložte následující do pole Direktivy nginx na kartě Možnosti na webu v ISPConfig:

 location /squirrelmail { root /usr/share/; index index.php index.html index.htm; location ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; zahrnout /etc/nginx/fastcgi_params; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail { rewrite ^/* /squirrelmail last; }

Pokud používáte https místo http pro váš vhost byste měli přidat řádek fastcgi_param HTTPS on; to your SquirrelMail configuration like this:

 location /squirrelmail { root /usr/share/; index index.php index.html index.htm; location ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS zapnuto; # <-- přidejte tento řádek fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; zahrnout /etc/nginx/fastcgi_params; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail { rewrite ^/* /squirrelmail last; }

If you use both http and https for your vhost, you need to add the following section to the http {} section in /etc/nginx/nginx.conf (before any include lines) which determines if the visitor uses http or https and sets the $fastcgi_https variable (which we will use in our SquirrelMail configuration) accordingly (please note that you don't need to do this if you have added this section before, for example when you configured phpMyAdmin - see chapter 16):

vi /etc/nginx/nginx.conf
[...]http {[...] ## Detekce použití HTTPS map $scheme $fastcgi_https { default off; https na; [...]}[...]

Poté nezapomeňte znovu načíst nginx:

/etc/init.d/nginx znovu načíst 

Poté znovu přejděte do pole Direktivy nginx a místo fastcgi_param HTTPS zapněte; přidáte řádek fastcgi_param HTTPS $fastcgi_https; so that you can use SquirrelMail for both http and https requests:

 location /squirrelmail { root /usr/share/; index index.php index.html index.htm; location ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS $fastcgi_https; # <-- přidejte tento řádek fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; zahrnout /etc/nginx/fastcgi_params; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail { rewrite ^/* /squirrelmail last; }

25 Install ISPConfig 3

Before you start the ISPConfig installation, make sure that Apache is stopped (if it is installed - it is possible that some of your installed packages have installed Apache as a dependency without you knowing). If Apache2 is already installed on the system, stop it now...

/etc/init.d/httpd stop

... and remove Apache's system startup links:

chkconfig --del httpd

Make sure that nginx is running:

/etc/init.d/nginx restart

(If you have both Apache and nginx installed, the installer asks you which one you want to use:Apache and nginx detected. Select server to use for ISPConfig:(apache,nginx) [apache]:

Type nginx. If only Apache or nginx are installed, this is automatically detected by the installer, and no question is asked.)

Download the current ISPConfig 3 version and install it. The ISPConfig installer will configure all services like Postfix, Courier, etc. for you. A manual setup as required for ISPConfig 2 is not necessary anymore.

You now also have the possibility to let the installer create an SSL vhost for the ISPConfig control panel, so that ISPConfig can be accessed using https:// instead of http://. To achieve this, just press ENTER when you see this question:Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]:.

To install ISPConfig 3 from the latest released version, do this:

cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/

The next step is to run

php -q install.php

This will start the ISPConfig 3 installer:

[[email protected] install]# php -q install.php


--------------------------------------------------------------------------------
 _____ ___________   _____              __ _         ____
|_   _/  ___| ___ \ /  __ \            / _(_)       /__  \
  | | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _    _/ /
  | | `--. \  __/  | | / _ \| '_ \| _| |/ _` | |_ |
 _| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
 \___/\____/\_|      \____/\___/|_| |_|_| |_|\__, | \____/
                                              __/ |
                                             |___/
--------------------------------------------------------------------------------


>> Initial configuration

Operating System: Redhat or compatible, unknown version.

    Following will be a few questions for primary configuration so be careful.
    Default values are in [brackets] and can be accepted with .
    Tap in "quit" (without the quotes) to stop the installer.


Select language (en,de) [en]: <-- ENTER

Installation mode (standard,expert) [standard]: <-- ENTER

Full qualified hostname (FQDN) of the server, eg server1.domain.tld  [server1.example.com]: <-- ENTER

MySQL server hostname [localhost]: <-- ENTER

MySQL root username [root]: <-- ENTER

MySQL root password []: <- - yourrootsqlpassword

MySQL database to create [dbispconfig]: <-- ENTER

MySQL charset [utf8]: <-- ENTER

Apache and nginx detected. Select server to use for ISPConfig: (apache,nginx) [apache]: <-- nginx

Generating a 2048 bit RSA private key
....+++
.................................+++
writing new private key to 'smtpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]: <-- ENTER
State or Province Name (full name) []: <-- ENTER
Locality Name (eg, city) [Default City]: <-- ENTER
Organization Name (eg, company) [Default Company Ltd]: <-- ENTER
Organizational Unit Name (eg, section) []: <-- ENTER
Common Name (eg, your name or your server's hostname) []: <-- ENTER
Email Address []: <-- ENTER
Configuring Jailkit
Configuring SASL
Configuring PAM
Configuring Courier
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring Pureftpd
Configuring BIND
Configuring nginx
Configuring Vlogger
Configuring Apps vhost
Configuring Bastille Firewall
Configuring Fail2ban
Installing ISPConfig
ISPConfig Port [8080]: <-- ENTER

Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]: <-- ENTER

Generating RSA private key, 4096 bit long modulus
...............................................................................
...........................................................................................++
..............................................................
.....................................................++
e is 65537 (0x10001)
You are about to be asked to enter information that will be incorporatedinto your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]: <-- ENTER
State or Province Name (full name) []: <-- ENTER
Locality Name (eg, city) [Default City]: <-- ENTER
Organization Name (eg, company) [Default Company Ltd]: <-- ENTER
Organizational Unit Name (eg, section) []: <-- ENTER
Common Name (eg, your name or your server's hostname) []: <-- ENTER
Email Address []: <-- ENTER

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: <-- ENTER
An optional company name []: <-- ENTER
writing RSA key
Configuring DBServer
Installing ISPConfig crontab
no crontab for root
no crontab fo r getmail
Restarting services ...
Stopping mysqld:                                           [  OK  ]
Starting mysqld:                                           [  OK  ]
Shutting down postfix:                                     [  OK  ]
Starting postfix:                                          [  OK  ]
Stopping saslauthd:                                        [FAILED]
Starting saslauthd:                                        [  OK  ]
Shutting down amavisd: Daemon [1503] terminated by SIGTERM
                                                           [  OK  ]
amavisd stopped
Starting amavisd:                                          [  OK  ]

Stopping clamd.amavisd:                                    [  OK  ]
Starting clamd.amavisd:                                    [  OK  ]
Stopping Courier authentication services: authdaemond
Starting Courier authentication services: authdaemond
Stopping Courier- IMAP server: imap imap-ssl pop3 pop3-ssl
Starting Courier-IMAP server: imap imap-ssl pop3 pop3-ssl
Stopping Courier-IMAP server: imap imap-ssl pop3 pop3-ssl
Starting Courier-IMAP server: imap imap-ssl pop3 pop3-ssl
Stopping Courier-IMAP server: imap imap-ssl pop3 pop3-ssl
Starting Courier-IMAP server: imap imap-ssl pop3 pop3-ssl
Stopping Courier-IMAP server: imap imap-ssl pop3 pop3-ssl
Starting Courier-IMAP server: imap imap-ssl pop3 pop3-ssl
SyntaxError: ('invalid syntax', ('/usr/lib/mailman/Mailman/mm_cfg.py', 76, 27, 'DEFAULT_SERVER_LANGUAGE = \n'))

Traceback (most recent call last):
  File "/usr/lib/mailman/bin/mailmanctl", line 109, in 
    from Mailman import mm_cfg
  File "/usr/lib/mailman/Mailman/mm_cfg.py", line 76
    DEFAULT_SERVER_LANGUAGE =
                             ^
SyntaxError: invalid syntax
Shutting down mailman:                                     [FAILED]
SyntaxErro r: ('invalid syntax', ('/usr/lib/mailman/Mailman/mm_cfg.py', 76, 27, 'DEFAULT_SERVER_LANGUAGE = \n'))

Traceback (most recent call last):
  File "/usr/lib/mailman/bin/mailmanctl", line 109, in 
    from Mailman import mm_cfg
  File "/usr/lib/mailman/Mailman/mm_cfg.py", line 76
    DEFAULT_SERVER_LANGUAGE =
                             ^
SyntaxError: invalid syntax
Starting mailman:                                          [FAILED]
Reloading php-fpm:                                         [  OK  ]
Reloading nginx:                                           [  OK  ]
Stopping pure-ftpd:                                        [  OK  ]
Starting pure-ftpd:                                        [  OK  ]
Installation completed.
[[email protected] install]#

To fix the Mailman errors you might get during the ISPConfig installation, open /usr/lib/mailman/Mailman/mm_cfg.py...

vi /usr/lib/mailman/Mailman/mm_cfg.py

... and set DEFAULT_SERVER_LANGUAGE ='en':

[...]#-------------------------------------------------------------# The default language for this server.DEFAULT_SERVER_LANGUAGE ='en'[...]

Restart Mailman:

/etc/init.d/mailman restart 

Afterwards you can access ISPConfig 3 under http(s)://server1.example.com:8080/ or http(s)://192.168.0.100:8080/ (http or https depends on what you chose during installation). Log in with the username admin and the password admin (you should change the default password after your first login):

The system is now ready to be used.

25.1 ISPConfig 3 Manual

Abyste se naučili používat ISPConfig 3, důrazně doporučuji stáhnout si příručku ISPConfig 3.

Na zhruba 300 stranách pokrývá koncept ISPConfig (administrátoři, prodejci, klienti), vysvětluje, jak nainstalovat a aktualizovat ISPConfig 3, obsahuje odkaz na všechny formuláře a pole formulářů v ISPConfig spolu s příklady platných vstupů a poskytuje výukové programy pro nejběžnější úkoly v ISPConfig 3. Také uvádí, jak zvýšit zabezpečení serveru, a na konci je dodávána část pro odstraňování problémů.

25.2 ISPConfig Monitor App For Android

Pomocí aplikace ISPConfig Monitor App můžete zkontrolovat stav svého serveru a zjistit, zda všechny služby běží podle očekávání. Můžete zkontrolovat TCP a UDP porty a pingnout vaše servery. Kromě toho můžete tuto aplikaci použít k vyžádání podrobností od serverů, které mají nainstalovaný ISPConfig (Upozorňujeme, že minimální nainstalovaná verze ISPConfig 3 s podporou aplikace ISPConfig Monitor je 3.0.3.3! ); tyto podrobnosti zahrnují vše, co znáte z modulu Monitor v ovládacím panelu ISPConfig (např. služby, protokoly pošty a systému, fronta pošty, informace o CPU a paměti, využití disku, kvóty, podrobnosti o operačním systému, protokol RKHunter atd.) a samozřejmě , protože ISPConfig podporuje více serverů, můžete zkontrolovat všechny servery, které jsou řízeny z vašeho hlavního serveru ISPConfig.

Pokyny ke stažení a použití naleznete na adrese http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/.

  • CentOS:http://www.centos.org/
  • ISPConfig:http://www.ispconfig.org/

About The Author

Falko Timme is the owner of Timme Hosting (ultra-fast nginx web hosting). He is the lead maintainer of HowtoForge (since 2005) and one of the core developers of ISPConfig (since 2000). He has also contributed to the O'Reilly book "Linux System Administration".


Panels
  1. The Perfect Server – Fedora 15 x86_64 [ISPConfig 3]

  2. The Perfect Server – CentOS 5.6 x86_64 [ISPConfig 2]

  3. Perfektní server – CentOS 6.1 x86_64 s Apache2 [ISPConfig 3]

  1. Perfektní server – OpenSUSE 12.1 x86_64 s Nginx [ISPConfig 3]

  2. The Perfect Server – OpenSUSE 12.1 x86_64 s Apache2 [ISPConfig 3]

  3. The Perfect Server – Ubuntu 11.10 s Nginx [ISPConfig 3]

  1. The Perfect Server – CentOS 5.7 x86_64 [ISPConfig 2]

  2. The Perfect Server – CentOS 5.7 x86_64 [ISPConfig 3]

  3. The Perfect Server – CentOS 6.0 x86_64 [ISPConfig 2]