ISPConfig
Singl install
Pro nainstalovaní zakladni instalace se da pouzit autokonfiguracni skript. Originální popis nalezneme na https://www.howtoforge.com/ispconfig-autoinstall-debian-ubuntu/
Sumarizace:
- Přihlásit se jako root su -
- Spravně nastavit hostname a hosts (hostname zobrazi jen nazev serveru, hostname - f zobrazí celý doménovy název)
- Spustíme vlastni instalační skript:
wget -O - https://get.ispconfig.org | sh -s -- --help
Zobrazí jen nápovědu z možnostmi. Vlatní instalce pak muže vypadat:
wget -O - https://get.ispconfig.org | sh -s -- --use-ftp-ports=40110-40210 --unattended-upgrades=autoclean,reboot
Pokud probehne vše v pořádku, nakonci se zobrazí přístupová hesla ktere je nutne si ulozit. Například:
[INFO] Your ISPConfig admin password is: 5GvfSSSYsdfdYC [INFO] Your MySQL root password is: kkAkft82d!kafMwqxdtYs
Po uspešné instalaci je doporučeno jako první nastavit jeste firewal.Po přihlasení vybereme System → Firewall. Odkliknutím vytvořit se nám automaticky přednastaví potřebné porty. Stačí jen uložit.
Tento skript neinstaluje ssl certifikat. Pokud by jsme jej chtěli, je nutné mít ISPConfig na verejne IP adrese a spustit z parametrem --interactive.
Instalace slave
Protože prislusne sekundarni servvery se musi připojit na lokalni databazi, je nutne povolit "naslouchání" databaze na vsech interface a nastavit pro jednotlive slave servery práva.
Nastavení MySQL aby naslouchalo na všech rozhraní docílíme zakomentovanim parametru bind-address = 127.0.0.1 v souboru /etc/mysql/my.cnf a následným restartem sluzby. V případě instalace dle predchozího postupu již je tato volba nastavena.
Následně vytvoříme pro MySQL uživatele:
CREATE USER 'root'@'192.168.0.106' IDENTIFIED BY 'myrootpassword'; GRANT ALL PRIVILEGES ON * . * TO 'root'@'192.168.0.106' IDENTIFIED BY 'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
CREATE USER 'root'@'ns2.example.tld' IDENTIFIED BY 'myrootpassword'; GRANT ALL PRIVILEGES ON * . * TO 'root'@'ns2.example.tld' IDENTIFIED BY 'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
Kde IP 192.168.0.106 musí odpovídat IP adrese sekundárního serveru a ns2.example.tld zase skutecnemu pojmenovani serveru. Připadně místo IP zadáme "%" ale z bezpečnostních důvodů se to nedoporučuje. Heslo je dobré změnit...
DNS
Pokud sekundarní server má sloužit jen jako DNS server, je dobré zablokovat instalaci nepotrebných aplikaci. Můžeme opět použít skript, viz instalace, ale z dalsimi parametry:
wget -O - https://get.ispconfig.org | sh -s -- --interactive --use-php=system --no-web --no-mail --no-roundcube --no-pma --no-mailman --no-quota --unattended-upgrades=autoclean,reboot
Po nainstalovaní potrebnych balíků budeme dale vyzváni k vlastnimu nastaveni ISPConfigu. Před spuštěním vlastní konfigurace se nám zobrazí heslo pro databázi. To budeme nasledne potrebovat při konfiguraci. Po vygenerování certifikáty bydeme dotázání na istalaci SSL. Pokud server není na veřejné IP, tak jen nenastavujeme.
Poznamky:
Přednastavená konfigurace ukládá nastavení zón do původního adresáře "/etc/bind". To může do budoucna vést k nepřehlednosti. Proto doporučuji vytvořit nový adresář a do něj nastavit ukládání nových zónových souborů. Také je problém z ukládáním sekundárních záznamů, což je řešitelné nastavením symlinku.
mkdir /etc/bind/zone ln -s /var/cache/bind /etc/bind/zone/slave
Následně v administraci ISPConf jdeme do Systém → Konfigurace serveru → vybereme server pro nastavení → DNS → BIND adresář se zónovými soubory → nastavíme /etc/bind/zone.