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

The Perfect Server – OpenSUSE 12.2 x86_64 (Apache2, Dovecot, ISPConfig 3)

Dokonalý server – OpenSUSE 12.2 x86_64 (Apache2, Dovecot, ISPConfig 3)

Toto je podrobný popis, jak nastavit OpenSUSE 12.2 64bit (x86_64) server, který nabízí všechny služby potřebné pro poskytovatele internetových služeb a hostitele:webový server Apache (s podporou SSL) s podporou PHP, CGI a SSI, poštovní server Postfix s SMTP-AUTH, TLS a uživatelé virtuální pošty, server BIND DNS, FTP server Pureftpd, MySQL server, Dovecot POP3/IMAP, Quota, Firewall, Mailman atd. 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.

Budu používat následující software:

  • Webový server:Apache 2.2 s PHP 5
  • Databázový server:MySQL
  • Poštovní server:Postfix s virtuálními uživateli
  • Server DNS:BIND
  • FTP Server:pureftpd
  • POP3/IMAP:holubník
  • Webalizer a AWStats pro statistiky webových stránek

Nakonec byste měli mít systém, který funguje spolehlivě a je snadno ovladatelný pomocí ovládacího panelu ISPConfig 3. Následující příručka je pro 64bitovou verzi OpenSUSE.

Nejprve chci říci, že to není jediný způsob, jak nastavit takový systém. Existuje mnoho způsobů, jak tohoto cíle dosáhnout, ale já volím tento způsob. Neposkytuji žádnou záruku, že to pro vás bude fungovat!

Upozornění:Tato příručka je pro ISPConfig 3.0.1 nebo novější. Není vhodný pro ISPConfig 2.x!

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 ping na 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í:

  • OpenSUSE 12.2 DVD . Můžete si jej stáhnout zde:http://download.opensuse.org/distribution/12.2/iso/openSUSE-12.2-DVD-x86_64.iso
  • Rychlé internetové připojení...

2 Předběžná poznámka

V tomto tutoriálu používám název hostitele server1.example.com s IP adresou 192.168.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 Základní systém

Spusťte z disku OpenSUSE 12.2 DVD a vyberte Instalace:

Vyberte jazyk, rozložení klávesnice a přijměte licenční podmínky:

Instalační program analyzuje váš hardware a vytvoří mezipaměť úložiště softwaru:

Vyberte Nová instalace:

Vyberte oblast a časové pásmo:

Zde vybereme Ostatní> Minimální výběr serveru (Textový režim), protože chceme nainstalovat server bez plochy X-Window. Systém X-Window není nutný pro běh serveru a zpomalil by systém. Veškeré administrativní úkony provedeme na shellu nebo přes SSH připojení, např. přes PuTTY ze vzdálené plochy.

Kliknutím na Upravit nastavení oddílu... změníte navrhované oddíly. Protože se jedná o nastavení serveru, potřebujeme velký oddíl /srv místo oddílu /home:

The Perfect Server – OpenSUSE 12.2 x86_64 (Apache2, Dovecot, ISPConfig 3) – Strana 2

4 Konfigurace nastavení sítě

Ke změně nastavení síťové karty používáme Yast, nástroj pro správu systému OpenSuSE. Po prvním spuštění je systém nakonfigurován tak, aby získal IP adresu pomocí DHCP. U serveru jej přepneme na statickou IP adresu.

Spustit

yast2

Vyberte Síťová zařízení> Nastavení sítě:

Vyberte síťovou kartu a poté Upravit:

Vyberte Staticky přiřazená IP adresa a zadejte IP adresu, masku podsítě a název hostitele a uložte změny výběrem Další:

Nyní vyberte Hostname/DNS a zadejte název hostitele (např. server1.example.com) a jmenné servery (např. 8.8.8.8 a 8.8.4.4):

Nyní vyberte Směrování a zadejte výchozí bránu a stiskněte OK:

Chcete-li nakonfigurovat bránu firewall (v případě, že jste ji nenastavili během základní instalace), vyberte Zabezpečení a uživatelé> Firewall v Yastu:

Chci nainstalovat ISPConfig na konci tohoto tutoriálu, který je dodáván s vlastním firewallem. Proto nyní deaktivuji výchozí bránu firewall OpenSUSE. 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 OpenSUSE).

Vyberte možnost Zakázat automatické spouštění brány firewall a nyní zastavit bránu firewall a poté stiskněte tlačítko Další:

Stiskněte Dokončit a opusťte Yast:

Poté byste to měli zkontrolovat u

ifconfig

pokud je vaše konfigurace sítě správná. Pokud tomu tak není (například pokud chybí eth0), restartujte systém...

reboot

... a poté znovu zkontrolujte konfiguraci sítě – nyní by měla být správná.

5 Instalovat aktualizace

Nyní nainstalujeme nejnovější aktualizace z repozitářů openSUSE. Spustit

zypper update 

A potom restartujte server, protože jste s největší pravděpodobností také nainstalovali nějaké aktualizace jádra:

reboot 

6 Instalace některých základních balíčků

Spustit

zypper install  findutils readline glibc-devel findutils-locate gcc flex lynx compat-readline4 db-devel wget gcc-c++ subversion make vim telnet cron iptables iputils man man-pages nano pico sudo perl-TimeDate

7 žurnálovaná kvóta

Chcete-li kvótu nainstalovat, spusťte

zypper install  quota

Upravte /etc/fstab, aby vypadal takto (přidal jsem ,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 do přípojných bodů / a /srv):

vi /etc/fstab
/dev/disk/by-id/ata-VBOX_HARDDISK_VB1d06c935-e9b5de19-part1 swap                 swap       defaults              0 0
/dev/disk/by-id/ata-VBOX_HARDDISK_VB1d06c935-e9b5de19-part2 /                    ext4       acl,user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0        1 1
/dev/disk/by-id/ata-VBOX_HARDDISK_VB1d06c935-e9b5de19-part3 /srv                 ext4       acl,user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0        1 2
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
usbfs                /proc/bus/usb        usbfs      noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0

Poté spusťte:

mount -o remount /
mount -o remount /srv

kvóta -avugm
kvóta -avug

Nedělejte si starosti, pokud uvidíte tyto chybové zprávy – při prvním spuštění kontroly kvót jsou normální:

server1:~ # kvóta -avugm
kontrola kvót:Skenování /dev/sda2 [/] hotovo
kvóta:Nelze stanovit starý soubor uživatelských kvót:Žádný takový soubor nebo adresář
kvóta:Nelze zjistit starou skupinu soubor kvót:Žádný takový soubor nebo adresář
kontrola kvót:Nelze zjistit starý soubor kvót uživatele:Žádný takový soubor nebo adresář
kontrola kvót:Nelze uvést starý soubor kvót skupiny:Žádný takový soubor nebo adresář
kontrola kvót:Zkontrolováno 3872 adresářů a 32991 souborů
quotacheck:Starý soubor nenalezen.
quotacheck:Starý soubor nenalezen.
quotacheck:Kontrola /dev/sda3 [/srv] hotovo
kontrola kvóty:Nelze určit starý soubor uživatelských kvót:Žádný takový soubor nebo adresář
kontrola kvót:Nelze stanovit starý soubor kvót skupiny:Žádný takový soubor nebo adresář
kontrola kvót:Nelze uvést starý soubor uživatelských kvót:Žádný takový soubor nebo adresář
quotacheck:Nelze zjistit starý soubor kvót skupiny:Žádný takový soubor nebo adresář
quotacheck:Zkontrolováno 6 adresářů a 0 souborů
quotacheck:Starý soubor nenalezen.
quotacheck:Starý soubor nenalezen.
ser ver1:~ #

The Perfect Server – OpenSUSE 12.2 x86_64 (Apache2, Dovecot, ISPConfig 3) – Strana 4

8 Instalace Postfix, Dovecot, MySQL

Spustit

zypper install  postfix postfix-mysql  mysql-community-server libmysqlclient-devel dovecot21 dovecot21-backend-mysql pwgen cron python

Pokud se zobrazí následující zpráva, vyberte možnost odinstalovat exim:

Problém: postfix-2.8.11-2.6.1.x86_64 konfliktuje s exim poskytnutým exim-4.77-2.1.3.x86_64
 Řešení 1: Následující akce budou oprava 2 provedeny: 
 8 neprovádět .11-2.6.1.x86_64
  neinstalujte postfix-mysql-2.8.11-2.6.1.x86_64
 Řešení 2: odinstalace exim-4.77-2.1.3.x86_64

Vyberte z výše uvedených řešení podle čísla nebo přeskočte, zkuste zopakujte nebo zrušte [1/2/s/r/c] (c): <-- 2

Možná budete muset odinstalovat vzory-openSUSE-minimal_base-conflicts-12.2-5.5.1.x86_64:

Problém: patterns-openSUSE-minimal_base-conflicts-12.2-5.5.1.x86_64 konfliktuje s pythonem poskytovaným pythonem-2.7.3-3.6.1.x86_64
 Řešení 1: deinstalace-mal-open Spattern-USE 12.2-5.5.1.x86_64
 Řešení 2: neinstalujte python-2.7.3-3.6.1.x86_64

Vyberte z výše uvedených řešení podle čísla nebo přeskočte, zkuste zopakovat nebo zrušte [1 /2/s/r/c] (c): <-- 1

Vytvořte následující symbolický odkaz:

ln -s /usr/lib64/dovecot/modules /usr/lib/dovecot

V tomto okamžiku jsem musel restartovat, protože jinak MySQL odmítlo začít s chybou:

Failed to issue method call: Unit mysql.service failed to load: No such file or directory. See system logs and 'systemctl status mysql.service' for details. 
reboot 

Spusťte MySQL, Postfix a Dovecot a povolte spuštění služeb při bootování.

systemctl povolit mysql.service
systemctl spustit mysql.service

systemctl povolit postfix.service
systemctl spustit postfix.service

systemctl povolit dovecot.service
systemctl spustit dovecot.service

Nyní nainstaluji balíček getmail:

zypper install  getmail

Chcete-li zabezpečit instalaci MySQL, spusťte:

mysql_secure_installation

Nyní budete dotázáni na několik otázek:

server1:~ # mysql_secure_installation




POZNÁMKA: SPUŠTĚNÍ VŠECHNY ČÁSTI TOHOto skriptu JE DOPORUČUJEME PRO VŠECHNY MySQL
      SERVERY V POUŽITÍ VÝROBY! 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é):<-- ENTER
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 správného oprávnění.

Nastavit heslo uživatele root? [A/N] <-- Y
Nové heslo: <-- heslo vaše rootsql
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] <-- Y
 ... Úspěch!

Za normálních okolností by root měl být pouze povoleno 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] <-- Y
 ... Úspěch!

Ve výchozím nastavení MySQL přichází s databází s názvem „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] <-- Y
 - 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] <-- Y
 ... Úspěch!

Uklízení...



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!


server1:~ #

Nyní by vaše nastavení MySQL mělo být zabezpečeno.

9 Amavisd-new, Spamassassin a Clamav

Nainstalujte antivirus Amavisd-new, Spamassassin a Clamav. Spustit

zypper install  amavisd-new clamav clamav-db zoo unzip unrar bzip2 unarj perl-DBD-mysql

Otevřete /etc/amavisd.conf...

vi /etc/amavisd.conf

... a přidejte řádek $myhostname se správným názvem hostitele pod řádek $mydomain:

[...]
$mydomain = 'example.com';   # a convenient default for other settings
$myhostname = "server1.$mydomain";
[...]

Poté vytvořte symbolický odkaz z /var/run/clamav/clamd na /var/lib/clamav/clamd-socket:

mkdir -p /var/run/clamav
ln -s /var/lib/clamav/clamd-socket /var/run/clamav/clamd

OpenSUSE 12.2 má adresář /run pro ukládání runtime dat. /run je nyní tmpfs a /var/run je nyní připojen k /run z tmpfs, a proto se při restartu vyprázdní.

To znamená, že po restartu adresář /var/run/clamav, který jsme právě vytvořili, již nebude existovat, a proto se clamd nespustí. Proto nyní vytvoříme soubor /etc/tmpfiles.d/clamav.conf, který vytvoří tento adresář při startu systému (další podrobnosti viz http://0pointer.de/public/systemd-man/tmpfiles.d.html):

vi /etc/tmpfiles.d/clamav.conf
D /var/run/clamav 0755 root root -

Než spustíme amavisd a clamd, musíme upravit init skript /etc/init.d/amavis - nebyl jsem schopen spolehlivě spustit, zastavit a restartovat amavisd s výchozím init skriptem:

vi /etc/init.d/amavis

Zakomentujte následující řádky v části začátek a konec:

[...]
    start)
        # ZMI 20100428 check for stale pid file
        #if test -f $AMAVIS_PID ; then
        #       checkproc -p $AMAVIS_PID amavisd
        #       if test $? -ge 1 ; then
        #               # pid file is stale, remove it
        #               echo -n "(stale amavisd pid file $AMAVIS_PID found, removing. Did amavisd crash?)"
        #               rm -f $AMAVIS_PID
        #       fi
        #fi
        echo -n "Starting virus-scanner (amavisd-new): "
        $AMAVISD_BIN start
        #if ! checkproc amavisd; then
        #    rc_failed 7
        #fi
        rc_status -v
        #if [ "$AMAVIS_SENDMAIL_MILTER" == "yes" ]; then
        #    rc_reset
        #    echo -n "Starting amavis-milter:"
        #    startproc -u vscan $AMAVIS_MILTER_BIN -p $AMAVIS_MILTER_SOCK > /dev/null 2>&1
        #    rc_status -v
        #fi
        ;;
    stop)
        echo -n "Shutting down virus-scanner (amavisd-new): "
        #if checkproc amavisd; then
        #    rc_reset
            $AMAVISD_BIN stop
        #else
        #    rc_reset
        #fi
        rc_status -v
        #if [ "$AMAVIS_SENDMAIL_MILTER" == "yes" ]; then
        #    rc_reset
        #    echo -n "Shutting down amavis-milter: "
        #    killproc -TERM $AMAVIS_MILTER_BIN
        #    rc_status -v
        #fi
        ;;
[...]

Protože jsme změnili init skript, musíme spustit

systemctl --system daemon-reload

Nyní.

Chcete-li povolit služby, spusťte:

systemctl povolit amavis.service
systemctl povolit clamd.service
systemctl spustit amavis.service
systemctl spustit clamd.service

10 Instalace webového serveru Apache 2 s PHP5, Python, WebDAV

Nainstalujte Apache2 a suphp. Spustit:

zypper install  apache2 apache2-mod_fcgid

Nainstalujte PHP5:

zypper install  php5-bcmath php5-bz2 php5-calendar php5-ctype php5-curl php5-dom php5-ftp php5-gd php5-gettext php5-gmp php5-iconv php5-imap php5-ldap php5-mbstring php5-mcrypt php5-mysql php5-odbc php5-openssl php5-pcntl php5-pgsql php5-posix php5-shmop php5-snmp php5-soap php5-sockets php5-sqlite php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc php5-xsl php5-zlib php5-exif php5-fastcgi php5-pear php5-sysvmsg php5-sysvshm ImageMagick curl apache2-mod_php5
zypper install http://download.opensuse.org/repositories/server:/php/openSUSE_12.2/x86_64/suphp-0.7.1-5.1.x86_64.rpm

Poté spusťte tyto příkazy pro povolení modulů Apache (včetně WebDAV):

a2enmod suexec
a2enmod přepsat
a2enmod ssl
a2enmod akce
a2enmod suphp
a2enmod fcgid
a2enmod dav
a2enmod dav_fs
a2enmod dav_lock
kořen chown:www /usr/sbin/suexec2
chmod 4755 /usr/sbin/suexec2

a2enflag SSL

Chcete-li přidat podporu Pythonu, spusťte:

zypper install  apache2-mod_python
a2enmod python 

Dále nainstalujeme phpMyAdmin:

zypper install  phpMyAdmin

Abychom se ujistili, že můžeme přistupovat k phpMyAdmin ze všech webových stránek vytvořených prostřednictvím ISPConfig později pomocí /phpmyadmin (např. http://www.example.com/phpmyadmin) a /phpMyAdmin (např. http://www.example.com/phpMyAdmin ), otevřete /etc/apache2/conf.d/phpMyAdmin.conf...

vi /etc/apache2/conf.d/phpMyAdmin.conf

... a hned na začátek přidejte následující dva aliasy:

Alias /phpMyAdmin /srv/www/htdocs/phpMyAdmin
Alias /phpmyadmin /srv/www/htdocs/phpMyAdmin
[...]

Spusťte Apache:

systemctl povolí apache2.service
systemctl spustí apache2.service

10.1 PHP-FPM

Počínaje nadcházejícím ISPConfig 3.0.5 bude k dispozici další režim PHP, který si můžete vybrat pro použití s ​​Apache:PHP-FPM. Pokud plánujete používat tento režim PHP, má smysl nakonfigurovat pro něj váš systém již nyní, aby byl váš systém později, až upgradujete na ISPConfig 3.0.5, připraven (nejnovější verze ISPConfig v době psaní tohoto článku je ISPConfig 3.0 .4.6).

Pro použití PHP-FPM s Apache potřebujeme modul mod_fastcgi Apache (nepleťte si to prosím s mod_fcgid - jsou velmi podobné, ale nemůžete použít PHP-FPM s mod_fcgid). PHP-FPM a mod_fastcgi můžeme nainstalovat následovně:

mod_fastcgi je k dispozici z úložiště třetí strany, které jej můžeme povolit následovně:

zypper --gpg-auto-import-keys addrepo --name "Third-party modules for the Apache HTTP server. (Apache_openSUSE_12.2)" http://download.opensuse.org/repositories/Apache:/Modules/Apache_openSUSE_12.2/ apache-third-party-12.2

Dále nainstalujeme mod_fastcgi a PHP-FPM:

zypper install  apache2-mod_fastcgi php5-fpm

Bohužel je v balíčku apache2-mod_fastcgi chyba, která neumožňuje použití direktivy FastCgiExternalServer v sekci (viz Jak vytvořit mod_fastcgi pro Apache2 na OpenSUSE 12.2). Proto musíme znovu sestavit mod_fastcgi:

zypper install apache2-devel

wget http://www.fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz
tar xvfz mod_fastcgi-2.4.6.tar.gz
cd mod_fastcgi-2.4.6/
cp Makefile.AP2 Makefile

ln -s /usr/include/apache2-worker/mpm.h /usr/include/apache2/
vytvořit top_dir=/usr/share/apache2
nastavit top_dir=/usr/share/apache2

Než spustíme PHP-FPM, přejmenujte /etc/php5/fpm/php-fpm.conf.default na /etc/php5/fpm/php-fpm.conf:

mv /etc/php5/fpm/php-fpm.conf.default /etc/php5/fpm/php-fpm.conf

Změňte oprávnění adresáře relace PHP:

chmod 1733 /var/lib/php5 

Poté otevřete /etc/php5/fpm/php-fpm.conf...

vi /etc/php5/fpm/php-fpm.conf

... a změňte error_log na /var/log/php-fpm.log:

[...]
error_log = /var/log/php-fpm.log
[...]

Neexistuje žádný soubor php.ini pro PHP-FPM pod OpenSUSE 12.2, proto zkopírujeme CLI php.ini:

cp /etc/php5/cli/php.ini /etc/php5/fpm/

Dále otevřete /etc/php5/fpm/php.ini...

vi /etc/php5/fpm/php.ini

... a nastavte cgi.fix_pathinfo na 0:

[...]
; 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://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=0
[...]

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

systemctl povolit php-fpm.service
systemctl spustit php-fpm.service

PHP-FPM je proces démona, který spouští server FastCGI na portu 9000, jak můžete vidět ve výstupu

netstat -tapn

server1:~ # netstat -tapn
Aktivní internetová připojení (servery a navázané)
Proto Recv-Q Send-Q Místní adresa           Zahraniční adresa          . 0 Název 0 P 0 0. 0 Program   P D         80 0,0,0,0:* Poslouchejte 2329 /nginx
TCP 0 0 0.0.0.0:22 0.0.0.0:* Poslouchejte 1204 /sshd
TCP 0 0 127.0.0.1:9000 0,0,0.0:* Poslouchejte 2511 2511 /php-fpm.conf)
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      2059/mysqld
tcp        0      0 192.168.0.100:22        192.168.0.199:1632      ESTABLISHED 1284/0
tcp        0       0 :::22                   :::*                     POSLOUCHEJTE       1204/sshd
server 1:~

Dále povolte následující moduly Apache...

Akce a2enmod
a2enmod fastcgi
alias a2enmod

... a restartujte Apache:

systemctl restart apache2.service

The Perfect Server – OpenSUSE 12.2 x86_64 (Apache2, Dovecot, ISPConfig 3) – Strana 5

11 Nainstalujte PureFTPd

Nainstalujte démona FTP čistého ftpd. Spustit:

zypper install  pure-ftpd

systemctl enable pure-ftpd.service
systemctl start pure-ftpd.service

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:

zypper install  openssl

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

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

Pokud chcete povolit FTP a Relace 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
[...]

Pokud chcete přijímat pouze relace TLS (bez FTP), nastavte TLS na 2:

[...]
# 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                      2
[...]

Chcete-li TLS nepovolit vůbec (pouze FTP), nastavte TLS na 0:

[...]
# 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                      0
[...]

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) [AU]:<-- Zadejte název země (např. „DE“).
Název státu nebo provincie (celý název) [Některý stát]:<-- Zadejte svůj stát nebo název provincie.
Název lokality (např. město) []:<-- Zadejte své město.
Název organizace (např. společnost) [Internet Widgits Pty 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) []:<-- 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:

systemctl restart pure-ftpd.service 

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 – viz další kapitola, jak to provést s FileZilla.

12 Instalace BIND

Jmenný server BIND lze nainstalovat následovně:

zypper install  bind

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

systemctl povolit named.service
spuštění systemctl named.service

13 Instalace Webalizer a AWStats

Vzhledem k tomu, že ISPConfig 3 vám umožňuje vybrat, zda chcete k vytváření statistik webových stránek použít Webalizer nebo AWStats, nainstalujeme oba:

zypper install  webalizer perl-DateManip
zypper install http://download.opensuse.org/repositories/network:/utilities/openSUSE_12.2/noarch/awstats-7.0-14.1.noarch.rpm

14 Instalace fail2ban

fail2ban lze nainstalovat následovně:

zypper install  fail2ban

15 Instalace Jailkit

Jailkit lze nainstalovat takto:

zypper install http://download.opensuse.org/repositories/security/openSUSE_12.2/x86_64/jailkit-2.13-1.3.x86_64.rpm

16 Synchronizace systémových hodin

Pokud chcete synchronizovat systémové hodiny se serverem NTP, proveďte následující:

zypper install  xntp

Poté přidejte odkazy pro spuštění systému pro ntp a spusťte ntp:

systemctl povolit ntp.service
systemctl spustit ntp.service

17 Instalace rkhunter

rkhunter lze nainstalovat následovně:

zypper install  rkhunter

18 Instalace SquirrelMail

Chcete-li nainstalovat webového poštovního klienta SquirrelMail, spusťte:

zypper install  squirrelmail-beta

Dále vytvoříme aliasy /webmail a /squirrelmail hned na začátku /etc/apache2/conf.d/squirrelmail.conf, takže ke SquirrelMail lze přistupovat z libovolného vhost (např. http://www.example.com/webmail nebo http://www.example.com/squirrelmail):

vi /etc/apache2/conf.d/squirrelmail.conf
Alias /squirrelmail /srv/www/htdocs/squirrelmail
Alias /webmail /srv/www/htdocs/squirrelmail
[...]

Dále vytvoříme adresář /srv/www/htdocs/squirrelmail/data a udělíme mu dostatečná oprávnění, aby do něj mohla skupina www zapisovat:

mkdir /srv/www/htdocs/squirrelmail/data
chown root:www /srv/www/htdocs/squirrelmail/data
chmod 770 /srv/www/htdocs/squirrelmail/data

Poté restartujte Apache:

systemctl restart apache2.service

Poté nakonfigurujte SquirrelMail:

/srv/www/htdocs/squirrelmail/config/conf.pl

Musíme SquirrelMail říci, že používáme Dovecot:

VAROVÁNÍ:
  Soubor „config/config.php“ byl nalezen, ale je je určen pro
  starší verzi SquirrelMail. Je možné stále 
  číst výchozí výchozí nastavení z tohoto souboru , ale upozorňujeme  na to, že mnoho 
  předvoleb se mezi verzemi mění. Doporučujeme 
  začínat s čistým config.php pro každý upgrade , který 
  provedete. Chcete-li to provést, přesuňte config/config.php z cesty.

Pokračovat načítání s starým config.php [y/N]? <-- y

Chcete, abych vás přestal upozorňovat [y/N]? <-- y

Konfigurace SquirrelMail : Přečtěte si: config.php (1.5.0)
--------------------- ------------------------------------
Hlavní nabídka --
1. Předvolby organizace
2. Nastavení serveru
3. Výchozí složky
4. Obecné možnosti
5. Uživatelské rozhraní
6. Adresáře
7. Zpráva dne (MOTD)
8. Pluginy
9. Databáze
10. Jazyková nastavení
11. Vylepšení

D. Nastavte předdefinovaná nastavení pro konkrétní IMAP servery

C   Zapněte barvu 
S   Uložit data
Q   Ukončit

Příkaz >> <-- D


Konfigurace SquirrelMail : Přečtěte si: config.php
---------------------------- ------------------------------
Zatímco budujeme SquirrelMail , objevili jsme některé 
předvolby které fungují lépe s některými servery, které nefungují tak
dobře s jiný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. 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 Washingtonské univerzity
    gmail        = Přístup IMAP k poštovním účtům Google (Gmail) neměnit

 ><  > nic nedělat       Příkaz >> <-- dovecot


Konfigurace SquirrelMail : Přečtěte si: config.php
------------------- --------------------------------------
Zatímco jsme vytvářeli SquirrelMail, objevili některé 
předvolby , které fungují lépe s některými servery , které nefungují tak
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. 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 Washingtonské univerzity
    gmail        = Přístup IMAP k poštovním účtům Google (Gmail) neměnit

 ><  > nic nedělat       Příkaz>> dovecot

imap_server_type =dovecot
default_folder_prefix =
crash_folder =trash
odeslán_folder =odeslán
Draft_Folder =Drafts
SHOW_PREFIX_OPTO = false
          default_sub_of_inbox = false
show_contain_subfolders_op tion = false
             optional_delimiter = detect
                  delete_folder = false
      force_username_lowercase = true
Pres /> EN ENto...>
Konfigurace SquirrelMail : Přečtěte si: config.php (1.5.0)
---------------------------- -----------------------------
Hlavní nabídka --
1. Předvolby organizace
2. Nastavení serveru
3. Výchozí složky
4. Obecné možnosti
5. Uživatelské rozhraní
6. Adresáře
7. Zpráva dne (MOTD)
8. Pluginy
9. Databáze
10. Jazyková nastavení
11. Vylepšení

D. Nastavte předdefinovaná nastavení pro konkrétní IMAP servery

C   Zapněte barvu 
S   Uložit data
Q   Ukončit

Příkaz >> <-- S


Konfigurace SquirrelMail : Přečtěte si: config.php (1.5.0)
---------------------- -----------------------------------
Hlavní nabídka --
1. Předvolby organizace
2. Nastavení serveru
3. Výchozí složky
4. Obecné možnosti
5. Uživatelské rozhraní
6. Adresáře
7. Zpráva dne (MOTD)
8. Pluginy
9. Databáze
10. Jazyková nastavení
11. Vylepšení

D. Nastavit předdefinovaná nastavení pro konkrétní IMAP servery

C   Zapnout barvu
S   Uložit data
Q   Ukončit

Příkaz >> S

Data uložená v config.php



Dokončeno aktivace pluginů; registrační data uložená v plugin_hooks.php

Stisknutím enter pokračujte... <-- ENTER


Konfigurace SquirrelMail : Přečtěte si: config.php (1.5.0 )
--------------------------------------------- ------------
Hlavní nabídka --
1. Předvolby organizace
2. Nastavení serveru
3. Výchozí složky
4. Obecné možnosti
5. Uživatelské rozhraní
6. Adresáře
7. Zpráva dne (MOTD)
8. Pluginy
9. Databáze
10. Jazyková nastavení
11. Vylepšení

D. Nastavte předdefinovaná nastavení pro konkrétní IMAP servery

C   Zapněte barvu 
S   Uložit data
Q   Ukončit

Příkaz >> <-- Q

Po vytvoření webové stránky v ISPConfig můžete přistupovat ke SquirrelMail pomocí aliasů /webmail nebo /squirrelmail:

The Perfect Server – OpenSUSE 12.2 x86_64 (Apache2, Dovecot, ISPConfig 3) – Strana 6

19 ISPConfig 3

Než nainstalujeme ISPConfig 3, ujistěte se, že adresář /var/vmail/ existuje:

mkdir /var/vmail/

Stáhněte si aktuální verzi ISPConfig 3 a nainstalujte ji. Instalační program ISPConfig nakonfiguruje všechny služby jako Postfix, Dovecot atd. za vás. Ruční nastavení požadované pro ISPConfig 2 již není nutné.

Nyní máte také možnost nechat instalátor vytvořit SSL vhost pro ovládací panel ISPConfig, takže ISPConfig bude přístupný pomocí https:// místo http://. Chcete-li toho dosáhnout, stiskněte ENTER, když uvidíte tuto otázku:Chcete zabezpečené (SSL) připojení k webovému rozhraní ISPConfig (y,n) [y]:.

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

Nyní spusťte instalační proces spuštěním:

php -q install.php

server1:/tmp/ispconfig3_install/install # php -q install.php


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


>> Počáteční konfigurace

Operační systém: openSUSE nebo kompatibilní, neznámá verze.

    Následuje  několik otázek pro primární konfiguraci , takže buďte opatrní.
    Výchozí hodnoty jsou v [závorkách] a lze je přijmout pomocí .
    Klepnutím na „konec“ (bez uvozovek) zastavíte instalátor.


Vyberte jazyk (en,de) [en]: <-- ENTER

Režim instalace (standardní, expertní) [standardní]: <-- ENTER

Úplný kvalifikovaný název hostitele (FQDN) serveru, např. server1.domain.tld  [server1.example.com]: <-- ENTER

Název hostitele serveru MySQL [místní hostitel]: <-- ENTER

MySQL root username [root]: <-- ENTER

Heslo root MySQL []: <-- heslo yourrootsql

MySQL databázi k vytvoření [dbispconfig]: <-- ENTER

Znaková sada MySQL [utf8]: <-- ENTER

Generování 2048 bitového soukromého klíče RSA
................................... .................++++
.......................... ......................+++
zápis nového soukromého klíče do 'smtpd.key'
-----
Chystáte se zadat informace , které budou zahrnuty
do vaší žádosti o certifikát.
Chystáte se zadat je to nazývané Rozlišující jméno nebo br /> DN. je poměrně má polí , ale některá můžete ponechat 
U některých polí bude výchozí hodnota,
Pokud zadáte '.', pole zůstane prázdné.
--- --
Název země (2 písmenný kód) [AU]: <-- ENTER
Název státu nebo provincie (celý název) [Some-State]: <-- ENTER
Název místa ( např. město) []: <-- ENTER
Název organizace (např. společnost) [Internet Widgits Pty Ltd]: <-- ENTER
Název organizační jednotky (např. sekta ion) []: <-- ENTER
Běžné jméno (např. VAŠE jméno) []: <-- ENTER
E-mailová adresa []: <-- ENTER
Konfigurace Vězení
Konfigurace Dovecot
Konfigurace Spamassassin
Konfigurace Amavisd
Konfigurace Getmail
Konfigurace Pureftpd
Konfigurace BIND
Konfigurace Apache
Konfigurace Vloggeru
Konfigurace Apps vhost
Konfigurace Bastille Firewall
Konfigurace Fail2ban
Instalace ISPConfig
Port ISPConfig [8080]: <-- ENTER

Chcete zabezpečení (SSL ) připojení k webovému rozhraní ISPConfig (y,n) [y]: <-- ENTER

Generování soukromého klíče RSA, 4096 bitů dlouhého modulu
........+ +
................................................++
e je 65537 (0x10001)
Chystáte se budete požádáni o zadání informací , které budou začleněny 
do vaší žádosti o certifikaci.
Chystáte se zadat Na to D nazývají DN .
Existuje poměrně má polí , ale některá můžete ponechat prázdná
Pro některá pole bude výchozí hodnota,
Pokud zadáte '.', pole bude necháno prázdné.
-----
Název země (2 písmenný kód) [AU]:<-- ENTER
Název státu nebo provincie (celé jméno) [Some-State]: <-- ENTER
Název místa (např. město) []: <-- ENTER
Název organizace (např. společnost) [Internet Widgits Pty Ltd]: <-- ENTER
Název organizační jednotky (např. sekce) []: <-- ENTER
Běžný název (např. VAŠE jméno) []:<-- ENTER
E-mailová adresa []: <-- ENTER

Zadejte následující 'extra' atributy
které budou zaslány s požadavkem o certifikát
Výzva heslo []: <-- ENTER
Volitelný název společnosti []: <-- ENTER
zápis klíče RSA
Konfigurace DBServer
Instalace ISPConfig crontab
žádný crontab pro root
žádný crontab pro getmail
Restartování služeb ...
přesměrování na systemctl
přesměrování na systemctl
přesměrování na systemctl
přesměrování na systemctl
přesměrování na systemctl
přesměrování na systemc tl
přesměrování na systemctl
přesměrování na systemctl
Instalace dokončena.
server1:/tmp/ispconfig3_install/install #

Vyčistěte adresář /tmp:

cd /tmp
rm -rf /tmp/ispconfig3_install
rm -f /tmp/ISPConfig-3-stable.tar.gz

Otevřete /etc/suphp.conf...

vi /etc/suphp.conf

... a ujistěte se, že obsahuje x-httpd-suphp="php:/srv/www/cgi-bin/php" místo x-httpd-suphp="php:/srv/www/cgi-bin/php5 " ke konci souboru:

[...]
[handlers]
;Handler for php-scripts
x-httpd-suphp="php:/srv/www/cgi-bin/php"
[...]

Poté můžete přistupovat k ISPConfig 3 pod http(s)://server1.example.com:8080/ nebo http(s)://192.168.0.100:8080/ (http nebo https závisí na tom, co jste zvolili během instalace). Přihlaste se pomocí uživatelského jména admin a hesla admin (po prvním přihlášení byste měli změnit výchozí heslo):

19.1 ISPConfig 3 příručka

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ů.

19.2 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 ping na 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/.

  • OpenSUSE:http://www.opensuse.org/
  • ISPConfig:http://www.ispconfig.org/

Panels
  1. Perfektní server – CentOS 7 (Apache2, Dovecot, ISPConfig 3)

  2. The Perfect Server – OpenSUSE 12.3 x86_64 (Apache2, Dovecot, ISPConfig 3)

  3. The Perfect Server – OpenSUSE 12.3 x86_64 (nginx, Dovecot, ISPConfig 3)

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

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

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

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

  2. The Perfect Server – CentOS 6.3 x86_64 (Apache2, Dovecot, ISPConfig 3)

  3. The Perfect Server – Ubuntu 12.04 LTS (Apache2, BIND, Dovecot, ISPConfig 3)