ISPConfig
Obsah
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
Předinstalace 1
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 --no-web --no-mail --use-php=system --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.
Při vlastni konfigyraci ISPConfigu je nutne vybrat volbu expert.
Předinstalace 2
Zde se nepoužije před predinstalační skrypt, ale jednotlive komponenty instalujeme ručně.
apt-get update && apt-get upgrade apt-get -y install ntp ntpdate apt-get -y install mysql-client mysql-server apt-get -y install php5-cli php5-mysql php5-mcrypt mcrypt apt-get -y install bind9 dnsutils
Následně stáhneme vlastní ISPConfig a spustíme konfigurační skript
cd /tmp wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz tar xfz ISPConfig-3-stable.tar.gz cd ispconfig3_install/install/ php -q install.php
Poté se spustí průvodce základního nastavení ISPConfigu. V našem případě pak musíme použít expert.
....
Po dokoncení nastavení smažeme přebytečné adresáře
rm -f /var/www/ispconfig rm -rf /tmp/ispconfig3_install/install rm -f /tmp/ISPConfig-3-stable.tar.gz
Nastavení options
Vlastnosti DNS serveru se definují v souboru named.conf.options. Upravíme dle našich požadavků.
acl slapnet { # Nastavi seznam slapnet a priradi k nemu IP rozsahy 10.129.0.0/16; 176.74.154.0/25; }; options { directory "/var/cache/bind"; # Sdresar pro ukladani sekundarnich zaznamu query-source address * port *; # Definuje port a adresu pro komunikaci mezi DNS servery dnssec-enable yes; # Povoleni dnssec. Je nutne hlidat klice, viz https://www.isc.org/bind-keys dnssec-validation yes; dnssec-lookaside auto; auth-nxdomain no; # conform to RFC1035, jiz se neaplikuje listen-on-v6 { none; }; # Nastaveni poslechu na konkretnich rozhrani serveru listen-on { 127.0.0.1; 192.168.0.1; }; # none; | any; | 127.0.0.1; 192.168.0.1; allow-transfer { none; }; # Povolene sekundarni servery pro prenos zon (neautorizovane) allow-query { localhost; slapnet; }; # Povolene adresy, rozsahy pro DNS dotazy allow-recursion { localhost; slapnet; }; # Povolene adresy, rozsahy pro reverzni dotazy version "unknown"; # Prezentovani verze serveru, unknown - nezobrazuje se };
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 chmod 770 /etc/bind/zone chown -R root:bind /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.