ISPConfig

Z Poznámkový blok
Verze z 25. 4. 2021, 21:36, kterou vytvořil Tydyt (diskuse | příspěvky) (Předinstalace 1)
Přejít na: navigace, hledání

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:

  1. Přihlásit se jako root su -
  2. Spravně nastavit hostname a hosts (hostname zobrazi jen nazev serveru, hostname - f zobrazí celý doménovy název)
  3. 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 SystemFirewall. 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

Instal - skript

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émKonfigurace serveru → vybereme server pro nastavení → DNSBIND adresář se zónovými soubory → nastavíme /etc/bind/zone.