Dokonalý server – CentOS 6.3 x86_64 (Apache2, Dovecot, ISPConfig 3)
Tento tutoriál ukazuje, jak připravit server CentOS 6.3 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 Apache, 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á Apache, nikoli nginx.
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 více než 300 stránká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.3 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.3 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í – Chyba při zpracování jednotky. Pokud toto uvidíte, pokračujte kliknutím na tlačítko Znovu inicializovat vše:
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ší:
The Perfect Server – CentOS 6.3 x86_64 (Apache2, Dovecot, 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.localdomain4 192.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
# 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
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.3:
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-7.noarch. rpm
rpm -ivh epel-release-6-7.noarch.rpm
yum install yum-priorities
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=Extra Packages for Enterprise Linux 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [...] |
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 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 install quota
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 # Created by anaconda on Wed Jul 11 17:52:57 2012 # # 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/vg_server1-lv_root / ext4 defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 1 1 UUID=806910a1-dbdf-4746-bd94-cbe73ce81493 /boot ext4 defaults 1 2 /dev/mapper/vg_server1-lv_swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 |
Potom spusťte
mount -o remount /
kvóta -avugm
kvóta -avug
pro povolení kvóty.
9 Instalace Apache, MySQL, phpMyAdmin
Potřebné balíčky můžeme nainstalovat jediným příkazem:
yum install ntp httpd mod_ssl mysql-server php php-mysql php-mbstring phpmyadmin
10 Instalace Dovecot
Dovecot lze nainstalovat následovně:
yum install dovecot dovecot-mysql
Nyní vytvořte spouštěcí odkazy systému a spusťte Dovecot:
chkconfig --levels 235 dovecot na
/etc/init.d/dovecot start
11 Nainstalujte Postfix
Postfix lze nainstalovat následovně:
yum install postfix
Poté vypněte Sendmail a spusťte Postfix a MySQL:
chkconfig --levels 235 mysqld na
/etc/init.d/mysqld start
chkconfig --levels 235 sendmail off
chkconfig --levels 235 postfix on
/etc/init.d/sendmail stop
/etc/init.d/postfix restart
12 Nainstalujte si Getmail
Getmail lze nainstalovat následovně:
yum install getmail
The Perfect Server – CentOS 6.3 x86_64 (Apache2, Dovecot, ISPConfig 3) – Strana 4
13 Nastavení hesel MySQL a konfigurace phpMyAdmin
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]#
Nyní nakonfigurujeme phpMyAdmin. Změnili jsme konfiguraci Apache tak, aby phpMyAdmin umožňoval připojení nejen z localhostu (zakomentováním stanzy
vi /etc/httpd/conf.d/phpmyadmin.conf
# # Web application to manage MySQL # #<Directory "/usr/share/phpmyadmin"> # Order Deny,Allow # Deny from all # Allow from 127.0.0.1 #</Directory> Alias /phpmyadmin /usr/share/phpmyadmin Alias /phpMyAdmin /usr/share/phpmyadmin Alias /mysqladmin /usr/share/phpmyadmin |
Dále změníme autentizaci v phpMyAdmin z cookie na http:
vi /usr/share/phpmyadmin/config.inc.php
[...] /* Authentication type */ $cfg['Servers'][$i]['auth_type'] = 'http'; [...] |
Poté vytvoříme spouštěcí odkazy systému pro Apache a spustíme jej:
chkconfig --levels 235 httpd na
/etc/init.d/httpd start
Nyní můžete svůj prohlížeč nasměrovat na http://server1.example.com/phpmyadmin/ nebo http://192.168.0.100/phpmyadmin/ a přihlásit se pomocí uživatelského jména root a vašeho nového hesla root MySQL.
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 unzip 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
15 Instalace Apache2 pomocí mod_php, mod_fcgi/PHP5 a suPHP
ISPConfig 3 vám umožňuje používat mod_php, mod_fcgi/PHP5, cgi/PHP5 a suPHP na základě jednotlivých webových stránek.
Apache2 s mod_php5, mod_fcgid a PHP5 můžeme nainstalovat následovně:
yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-devel
Dále otevřeme /etc/php.ini...
vi /etc/php.ini
... a změňte hlášení chyb (tak, aby se upozornění již nezobrazovala) a zrušte komentář cgi.fix_pathinfo=1:
[...] ;error_reporting = E_ALL & ~E_DEPRECATED error_reporting = E_ALL & ~E_NOTICE [...] ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. ; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo cgi.fix_pathinfo=1 [...] |
Dále nainstalujeme suPHP (v repozitářích je dostupný balíček mod_suphp, ale bohužel není kompatibilní s ISPConfig, proto si suPHP musíme sestavit sami):
cd /tmp
wget http://suphp.org/download/suphp-0.7.1.tar.gz
tar xvfz suphp-0.7.1.tar.gz
cd suphp-0.7 .1/
./configure --prefix=/usr --sysconfdir=/etc --with-apr=/usr/bin/apr-1-config --with-apxs=/usr/sbin/apxs --with-apache-user=apache --with-setid-mode=owner --with-php=/usr/bin/php-cgi --with-logfile=/var/log/httpd/suphp_log --enable- SUPHP_USE_USERGROUP=yes
provést
provést instalaci
Poté přidáme modul suPHP do naší konfigurace Apache...
vi /etc/httpd/conf.d/suphp.conf
LoadModule suphp_module modules/mod_suphp.so |
... a vytvořte soubor /etc/suphp.conf následovně:
vi /etc/suphp.conf
[global] ;Path to logfile logfile=/var/log/httpd/suphp.log ;Loglevel loglevel=info ;User Apache is running as webserver_user=apache ;Path all scripts have to be in docroot=/ ;Path to chroot() to before executing script ;chroot=/mychroot ; Security options allow_file_group_writeable=true allow_file_others_writeable=false allow_directory_group_writeable=true allow_directory_others_writeable=false ;Check wheter script is within DOCUMENT_ROOT check_vhost_docroot=true ;Send minor error messages to browser errors_to_browser=false ;PATH environment variable env_path=/bin:/usr/bin ;Umask to set, specify in octal notation umask=0077 ; Minimum UID min_uid=100 ; Minimum GID min_gid=100 [handlers] ;Handler for php-scripts x-httpd-suphp="php:/usr/bin/php-cgi" ;Handler for CGI-scripts x-suphp-cgi="execute:!self" |
Nakonec restartujeme Apache:
/etc/init.d/httpd restart
15.1 Ruby
Počínaje verzí 3.0.3 má ISPConfig 3 vestavěnou podporu pro Ruby. Místo použití CGI/FastCGI závisí ISPConfig na dostupnosti mod_ruby na serveru Apache.
Pro CentOS 6.3 není k dispozici žádný balíček mod_ruby, takže jej musíme zkompilovat sami. Nejprve nainstalujeme některé předpoklady:
yum install httpd-devel ruby ruby-devel
Dále stáhneme a nainstalujeme mod_ruby následovně:
cd /tmp
wget http://modruby.net/archive/mod_ruby-1.3.0.tar.gz
tar zxvf mod_ruby-1.3.0.tar.gz
cd mod_ruby-1.3 .0/
./configure.rb --with-apr-includes=/usr/include/apr-1
provést
provést instalaci
Nakonec musíme přidat modul mod_ruby do konfigurace Apache, takže vytvoříme soubor /etc/httpd/conf.d/ruby.conf...
vi /etc/httpd/conf.d/ruby.conf
LoadModule ruby_module modules/mod_ruby.so RubyAddPath /1.8 |
... a restartujte Apache:
/etc/init.d/httpd restart
(Pokud vynecháte direktivu RubyAddPath /1.8, uvidíte v protokolu chyb Apache při volání souborů Ruby chyby podobné těm následujícím:
[Thu May 26 02:05:05 2011] [error] mod_ruby:ruby:0:in `require':no takový soubor k načtení -- apache/ruby-run (LoadError)
[Čt 26. května 02:05:05 2011] [chyba] mod_ruby:nepodařilo se vyžadovat apache/ruby-run
[Čt 26. května 02:05:05 2011] [chyba] mod_ruby:chyba v ruby
)
15.2 Python
Chcete-li nainstalovat mod_python, jednoduše spustíme...
yum install mod_python
... a poté restartujte Apache:
/etc/init.d/httpd restart
15.3 WebDAV
WebDAV by již měl být povolen, ale pro kontrolu otevřete /etc/httpd/conf/httpd.conf a ujistěte se, že jsou aktivní následující tři moduly:
vi /etc/httpd/conf/httpd.conf
[...] LoadModule auth_digest_module modules/mod_auth_digest.so [...] LoadModule dav_module modules/mod_dav.so [...] LoadModule dav_fs_module modules/mod_dav_fs.so [...] |
Pokud musíte upravit /etc/httpd/conf/httpd.conf, nezapomeňte poté restartovat Apache:
/etc/init.d/httpd restart
16 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:
[...] # This option can accept three values : # 0 : disable SSL/TLS encryption layer (default). # 1 : accept both traditional and encrypted sessions. # 2 : refuse connections that don't use SSL/TLS security mechanisms, # including anonymous sessions. # Do _not_ uncomment this blindly. Be sure that : # 1) Your server has been compiled with SSL/TLS support (--with-tls), # 2) A valid certificate is in place, # 3) Only compatible clients will log in. 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.
The Perfect Server – CentOS 6.3 x86_64 (Apache2, Dovecot, ISPConfig 3) – Strana 5
17 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 named process options # ~~~~~~~~~~~~~~~~~~~~~~~~~~ # Currently, you can use the following options: # # ROOTDIR="/var/named/chroot" -- will run named in a chroot environment. # you must set up the chroot environment # (install the bind-chroot package) before # doing this. # NOTE: # Those directories are automatically mounted to chroot if they are # empty in the ROOTDIR directory. It will simplify maintenance of your # chroot environment. # - /var/named # - /etc/pki/dnssec-keys # - /etc/named # - /usr/lib64/bind or /usr/lib/bind (architecture dependent) # # Those files are mounted as well if target file doesn't exist in # chroot. # - /etc/named.conf # - /etc/rndc.conf # - /etc/rndc.key # - /etc/named.rfc1912.zones # - /etc/named.dnssec.keys # - /etc/named.iscdlv.key # # Don't forget to add "$AddUnixListenSocket /var/named/chroot/dev/log" # line to your /etc/rsyslog.conf file. Otherwise your logging becomes # broken when rsyslogd daemon is restarted (due update, for example). # # OPTIONS="whatever" -- These additional options will be passed to named # at startup. Don't add -t here, use ROOTDIR instead. # # KEYTAB_FILE="/dir/file" -- Specify named service keytab file (for GSS-TSIG) # # DISABLE_ZONE_CHECKING -- By default, initscript calls named-checkzone # utility for every zone to ensure all zones are # valid before named starts. If you set this option # to 'yes' then initscript doesn't perform those # checks. |
Vytvořte zálohu existujícího souboru /etc/named.conf a vytvořte nový následovně:
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"; |
Vytvořte soubor /etc/named.conf.local, který je součástí /etc/named.conf (/etc/named.conf.local bude později vyplněn ISPConfig, pokud v ISPConfig vytvoříte zóny DNS):
touch /etc/named.conf.local
Poté vytvoříme spouštěcí odkazy a spustíme BIND:
chkconfig --levels 235 pojmenované na
/etc/init.d/named start
18 Instalace Webalizer a AWStats
Webalizer a AWStats lze nainstalovat následovně:
yum install webalizer awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder
19 Instalace Jailkit
Jailkit je potřeba pouze v případě, že chcete chrootovat uživatele SSH. Lze jej nainstalovat následovně (důležité:Jailkit musí být nainstalován před ISPConfig – nelze jej nainstalovat později!):
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.15.tar.gz
tar xvfz jailkit-2.15.tar.gz
cd jailkit-2.15
./configure
make
make install
cd ..
rm -rf jailkit-2.15*
20 Instalace fail2ban
Toto je volitelné, ale doporučené, protože monitor ISPConfig se snaží zobrazit protokol:
yum install fail2ban
Musíme nakonfigurovat fail2ban tak, aby se přihlašoval do souboru protokolu /var/log/fail2ban.log, protože toto je soubor protokolu, který je monitorován modulem ISPConfig Monitor. Otevřete /etc/fail2ban/fail2ban.conf...
vi /etc/fail2ban/fail2ban.conf
... a zakomentujte řádek logtarget =SYSLOG a přidejte 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 = SYSLOG logtarget = /var/log/fail2ban.log [...] |
Poté vytvořte odkazy pro spuštění systému pro fail2ban a spusťte jej:
chkconfig --levels 235 fail2ban na
/etc/init.d/fail2ban start
21 Instalace rkhunter
rkhunter lze nainstalovat následovně:
yum install rkhunter
22 Nainstalovat 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 confirm mailman" mailman-join: "|/usr/lib/mailman/mail/mailman join mailman" mailman-leave: "|/usr/lib/mailman/mail/mailman leave mailman" mailman-owner: "|/usr/lib/mailman/mail/mailman owner mailman" mailman-request: "|/usr/lib/mailman/mail/mailman request mailman" mailman-subscribe: "|/usr/lib/mailman/mail/mailman subscribe mailman" mailman-unsubscribe: "|/usr/lib/mailman/mail/mailman unsubscribe mailman" |
Spustit
newaliases
poté a restartujte Postfix:
/etc/init.d/postfix restart
Nyní otevřete konfigurační soubor Mailman Apache /etc/httpd/conf.d/mailman.conf...
vi /etc/httpd/conf.d/mailman.conf
... a přidejte řádek ScriptAlias /cgi-bin/mailman/ /usr/lib/mailman/cgi-bin/. Zakomentujte Alias /pipermail/ /var/lib/mailman/archives/public/ a přidejte řádek Alias /pipermail /var/lib/mailman/archives/public/:
# # httpd configuration settings for use with mailman. # ScriptAlias /mailman/ /usr/lib/mailman/cgi-bin/ ScriptAlias /cgi-bin/mailman/ /usr/lib/mailman/cgi-bin/ <Directory /usr/lib/mailman/cgi-bin/> AllowOverride None Options ExecCGI Order allow,deny Allow from all </Directory> #Alias /pipermail/ /var/lib/mailman/archives/public/ Alias /pipermail /var/lib/mailman/archives/public/ <Directory /var/lib/mailman/archives/public> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all AddDefaultCharset Off </Directory> # Uncomment the following line, to redirect queries to /mailman to the # listinfo page (recommended). # RedirectMatch ^/mailman[/]*$ /mailman/listinfo |
Restartujte Apache:
/etc/init.d/httpd 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
Po instalaci ISPConfig 3 můžete přistupovat k Mailman následovně:
Alias /cgi-bin/mailman můžete použít pro všechny vhosty Apache (upozorňujeme, že suExec a CGI musí být zakázány pro všechny vhosty, ze kterých chcete přistupovat k Mailmanu!), což znamená, že máte přístup do administrátorského rozhraní Mailman pro seznam na http://
Pod http://
The Perfect Server – CentOS 6.3 x86_64 (Apache2, Dovecot, ISPConfig 3) – Strana 6
23 Instalace SquirrelMail
Chcete-li nainstalovat webového poštovního klienta SquirrelMail, spusťte...
yum install squirrelmail
... a restartujte Apache:
/etc/init.d/httpd restart
Poté nakonfigurujte SquirrelMail:
/usr/share/squirrelmail/config/conf.pl
We must tell SquirrelMail that we are using Dovecot:
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. Existuje
pouze několik nastavení , která to se změní.
Vyberte svůj IMAP server:
bincimap = Binc IMAP server
br / kurýr = Kurier = Kurier = Kurier > Cyrus =Cyrus IMAP Server
Dovecot =Dovecot Secure IMAP Server
Exchange =Microsoft Exchange Server
HmailServer =HmailServer
Macosx =Mac OS X MailServer
Mercury32 =Merkur /32
uw = Server IMAP Univerzita Washingtonu
gmail = Přístup IMAP k účtům Google mail (Gmail) neměňte a nic nedělejte
= < < < > -- dovecot
Konfigurace SquirrelMail : Přečtěte si: config.php
------------------------ ----------------------------------
Zatímco budujeme SquirrelMail , některé jsme objevili
předvolby, které fungují lépe s některými servery , které nefungují tak
dobře s ostatními. 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
<?php /** * Local config overrides. * * You can override the config.php settings here. * Don't do it unless you know what you're doing. * Use standard PHP syntax, see config.php for examples. * * @copyright © 2002-2006 The SquirrelMail Project Team * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version $Id: config_local.php,v 1.2 2006/07/11 03:33:47 wtogami Exp $ * @package squirrelmail * @subpackage config */ //$default_folder_prefix = ''; ?> |
Now you can type in http://server1.example.com/webmail or http://192.168.0.100/webmail in your browser to access SquirrelMail.
24 Install ISPConfig 3
Download the current ISPConfig 3 version and install it. The ISPConfig installer will configure all services like Postfix, Dovecot, 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]:.
Chcete-li nainstalovat ISPConfig 3 z nejnovější vydané verze, postupujte takto:
cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install /install/
Dalším krokem je spuštění
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
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 Dovecot
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring Pureftpd
Configuring BIND
Configuring Apache
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 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 the re 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 for getmail
Restarting services ...
Stopping mysqld: [ OK ]
Starting mysqld: [ OK ]
Shutting down postfix: [ OK ]
Starting postfix: [ OK ]
Stopping saslauthd: [FAILED]
Starting saslauthd: [ OK ]
Waiting for the process [1424] to terminate
Shutting down amavisd: Daemon [1424] terminated by SIGTERM
[ OK ]
amavisd stopped
Starting amavisd: [ OK ]
Stopping clamd.amavisd: [ OK ]
Starting clamd.amavisd: [ OK ]
Stopping Dovecot Imap: [ OK ]
Starting Dovecot Imap: [ OK ]
Stopping httpd: [ OK ]
[Thu Jul 12 19:02:33 2012] [warn] NameVirtualHost *:80 has no VirtualH osts
Starting httpd: [ 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
Finally we need to tell Dovecot to use the dovecot.conf file generated by ISPConfig - /etc/dovecot.conf - and not the default /etc/dovecot/dovecot.conf:
cd /etc/dovecot
mv dovecot.conf dovecot.conf_orig
ln -s ../dovecot.conf dovecot.conf
/etc/init.d/dovecot 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.
24.1 ISPConfig 3 Manual
Abyste se naučili používat ISPConfig 3, důrazně doporučuji stáhnout si příručku ISPConfig 3.
On more than 300 pages, it covers the concept behind ISPConfig (admin, resellers, clients), explains how to install and update ISPConfig 3, includes a reference for all forms and form fields in ISPConfig together with examples of valid inputs, and provides tutorials for the most common tasks in ISPConfig 3. It also lines out how to make your server more secure and comes with a troubleshooting section at the end.
24.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. In addition to that you can use this app to request details from servers that have ISPConfig installed (please note that the minimum installed ISPConfig 3 version with support for the ISPConfig Monitor App is 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/.
25 Links
- CentOS:http://www.centos.org/
- ISPConfig:http://www.ispconfig.org/