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

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

Dokonalý server – OpenSUSE 12.1 x86_64 s Apache2 [ISPConfig 3]

Toto je podrobný popis, jak nastavit OpenSUSE 12.1 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.1 DVD . Můžete si jej stáhnout zde:http://download.opensuse.org/distribution/12.1/iso/openSUSE-12.1-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.1 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.

Dokonalý server – OpenSUSE 12.1 x86_64 s Apache2 [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ř. 145.253.2.75 a 8.8.8.8):

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

yast2 -i 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

yast2 -i 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/sda1            swap                 swap       defaults              0 0
/dev/sda2            /                    ext4       acl,user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0        1 1
/dev/sda3            /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
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:~ #

Dokonalý server – OpenSUSE 12.1 x86_64 s Apache2 [ISPConfig 3] – strana 4

8 Instalace Postfix, Dovecot, MySQL

Spustit

yast2 -i postfix postfix-mysql mysql mysql-community-server mysql-client libmysqlclient-devel dovecot12 dovecot12-backend-mysql pwgen cron python

Pokud se zobrazí chybové hlášení vzory-openSUSE-minimal_base-conflicts-12.1-25.21.1.x86_64 konflikty s pythonem poskytovaným pythonem-2.7.2-7.1.3.x86_64, vyberte možnost deinstalace vzorů-openSUSE-minimal_base-conflicts- 12.1-25.21.1.x86_64 a stiskněte OK -- Zkuste to znovu:

Na další obrazovce klikněte na Přijmout...

... a nakonec OK:

Otevřete /etc/postfix/master.cf...

vi /etc/postfix/master.cf

... a odkomentujte následující řádek:

[...]
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
[...]

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

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

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:

yast2 -i 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 PRODUKCI ! 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

yast2 -i 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.1 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, Ruby, Python, WebDAV

Nainstalujte Apache2 a suphp. Spustit:

yast2 -i apache2 apache2-mod_fcgid

Nainstalujte PHP5:

yast2 -i 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.1/x86_64/suphp-0.7.1-3.3.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

Dále sestavíme modul mod_ruby Apache (není dostupný jako balíček OpenSUSE 12.1, proto si ho musíme sestavit sami):

yast2 -i apache2-devel ruby ruby-devel

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

a2enmod ruby

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

yast2 -i apache2-mod_python
a2enmod python 

Dále nainstalujeme phpMyAdmin:

yast2 -i 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

Dokonalý server – OpenSUSE 12.1 x86_64 s Apache2 [ISPConfig 3] – strana 5

11 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ě:

yast2 -i mailman

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

/usr/lib/mailman/bin/newlist mailman

server1:~ # /usr/lib/mailman/bin/newlist mailman
Zadejte e-mail osoby, která seznam vede:<-- 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ů
Stisknutím klávesy Enter upozorněte vlastníka poštovního doručovatele... <-- ENTER

server1:~ #

Vytvořte spouštěcí odkazy systému pro Mailman...

systemctl enable mailman.service

... a spusťte to:

  systemctl start mailman.service

Další restart Postfixu:

systemctl restart postfix.service

Chcete-li povolit konfiguraci Mailman Apache, spusťte...

a2enflag MAILMAN

... a restartujte Apache:

systemctl restart apache2.service  

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

Pro všechny vhosty Apache můžete použít alias /mailman (všimněte si prosím, že suExec musí být deaktivován pro všechny vhosty, ze kterých chcete přistupovat k Mailman!), což znamená, že máte přístup do administrátorského rozhraní Mailman pro seznam na http:///mailman/admin/ a webovou stránku pro uživatele konference lze nalézt na adrese http:///mailman/listinfo/.

Pod http:///pipermail/ najdete archivy konference.

12 Instalace PureFTPd

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

yast2 -i 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:

yast2 -i 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.

13 Nainstalujte BIND

Jmenný server BIND lze nainstalovat následovně:

yast2 -i bind

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

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

14 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 (v době psaní tohoto článku neexistoval žádný balíček AWStats pro OpenSUSE 12.1, proto instaluji ten pro OpenSUSE 11.4) :

yast2 -i webalizer perl-DateManip
zypper install http://download.opensuse.org/repositories/network:/utilities/openSUSE_11.4/noarch/awstats-7.0-14.1.noarch.rpm

15 Instalace fail2ban

fail2ban lze nainstalovat následovně:

yast2 -i fail2ban

16 Instalace Jailkit

Jailkit lze nainstalovat takto:

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

17 Synchronizace systémových hodin

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

yast2 -i 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

18 Instalace rkhunter

rkhunter lze nainstalovat následovně:

yast2 -i rkhunter

Dokonalý server – OpenSUSE 12.1 x86_64 s Apache2 [ISPConfig 3] – strana 6

19 Instalace SquirrelMail

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

yast2 -i 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. Plugins
9. Database
10. Language settings
11. Tweaks

D. Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >> <-- S


SquirrelMail Configuration : Read: config.php (1.5.0)
---------------------------------------------------------
Main Menu --
1. Organization Preferences
2. Server Settings
3. Folder Defaults
4. General Options
5. User Interface
6. Address Books
7. Message of the Day (MOTD)
8. Plugins
9. Database
10. Language settings
11. Tweaks

D. Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >> S

Data saved in config.php



Done activating plugins; registration data saved in plugin_hooks.php

Press enter to continue... <-- ENTER


SquirrelMail Configuration : Read: config.php (1.5.0)
---------------------------------------------------------
Main Menu --
1. Organization Preferences
2. Server Settings
3. Folder Defaults
4. General Options
5. User Interface
6. Address Books
7. Message of the Day (MOTD)
8. Plugins
9. Database
10. Language settings
11. Tweaks

D. Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >> <-- Q

After you have created a website in ISPConfig, you can access SquirrelMail using the /webmail or /squirrelmail aliases:

20 ISPConfig 3

Before we install ISPConfig 3, make sure that the /var/vmail/ directory exists:

mkdir /var/vmail/

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]:.

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

Now start the installation process by executing:

php -q install.php

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


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


>> Initial configuration

Operating System: openSUSE 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) [AU]: <-- ENTER
State or Province Name (full name) [Some-State]: <-- ENTER
Locality Name (eg, city) []: <-- ENTER
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- ENTER
Organizational Unit Name (eg, sect ion) []: <-- ENTER
Common Name (eg, YOUR name) []: <-- ENTER
Email Address []: <-- ENTER
Configuring Jailkit
Configuring Dovecot
chmod: cannot access `/etc/dovecot/dovecot-sql.conf~': No such file or directory
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 there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]: <-- ENTER
State or Province Name (full name) [Some-State]: <-- ENTER
Locality Name (eg, city) []: <-- ENTER
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- ENTER
Organizational Unit Name (eg, section) []: <-- ENTER
Common Name (eg, YOUR name) []: <-- 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 ...
redirecting to systemctl
redirecting to systemctl
redirecting to systemctlredirecting to systemctl
redirecting to systemctl
redirecting to systemctl
redirecting to systemctl
redirecting to systemctl
Installation completed.
server1:/tmp/ispconfig3_install/install #

Clean up the /tmp directory:

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

Open /etc/suphp.conf...

vi /etc/suphp.conf

... and make sure that it contains x-httpd-suphp="php:/srv/www/cgi-bin/php" instead of x-httpd-suphp="php:/srv/www/cgi-bin/php5" towards the end of the file:

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

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):

20.1 ISPConfig 3 Manual

In order to learn how to use ISPConfig 3, I strongly recommend to download the ISPConfig 3 Manual.

On about 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.

20.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 ping na 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! ); these details include everything you know from the Monitor module in the ISPConfig Control Panel (e.g. services, mail and system logs, mail queue, CPU and memory info, disk usage, quota, OS details, RKHunter log, etc.), and of course, as ISPConfig is multiserver-capable, you can check all servers that are controlled from your ISPConfig master server.

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. The Perfect Server – OpenSUSE 12.3 x86_64 (Apache2, Dovecot, ISPConfig 3)

  2. The Perfect Server – Fedora 15 x86_64 [ISPConfig 2]

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

  1. The Perfect Server – Ubuntu 11.04 [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 – Ubuntu 11.10 s Nginx [ISPConfig 3]

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