ISPConfig

Z Poznámkový blok
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.

Dobrý návod rozděleného systému je též na https://www.howtoforge.com/installing-a-multiserver-setup-with-dedicated-web-email-dns-and-mysql-database-servers-on-debian-5.0-with-ispconfig-3

Multi instalace

Systém

Chceme li mít nainstalovanou jen vlastní správu a následně jednotlivé služby na samostatných počítačích, začneme instalací řídícího serveru. Ten vpodstatě potřebuje jen věci pro sebe, to jest apache, mysql a vlastní ICPConfig. Nejjednoduší je použít skript, který nainstaluje co je potřeba

wget -O - https://get.ispconfig.org | sh -s -- --interactive --no-mail --no-dns --no-roundcube --no-pma --no-quota --use-unbound --use-php=system --unattended-upgrades=autoclean,reboot

Po doinstalování se spustí spustí základní nastavení ISPConfig.

Přednastavení

Pokud instalujeme ISPConfig jen jako rídící jednotku, zvolime nasledující volby. Nutné je ale v předchozím instalačním skriptu přidat volby --interaktive

Select language (en,de) [en]: <-- Enter

Installation mode (standard,expert) [standard]: <-- expert

Full qualified hostname (FQDN) of the server, eg server2.domain.tld [web.example.tld]: <-- plný doménový název musí odpovidat realitě, Enter

MySQL server hostname [localhost]: <-- Enter

MySQL root username [root]: <-- Enter

MySQL root password []: <-- Vložte heslo MySQL pro uživatele root

MySQL database to create [dbispconfig]: <-- Enter

MySQL charset [utf8]: <-- Enter


The next two questions are about the internal ISPConfig database user and password.

It is recommended to accept the defaults which are 'ispconfig' as username and a random password.

If you use a different password, use only numbers and chars for the password.


ISPConfig mysql database username [ispconfig]: <-- Enter

ISPConfig mysql database password [81ea685fb35c9261aa390278f510150f]: <-- Enter, heslo si radci poznamenat

Shall this server join an existing ISPConfig multiserver setup (y,n) [n]: <-- Enter

Configure Mail (y,n) [y]: <-- n

Configure Jailkit (y,n) [y]: <-- n ?

Configure FTP Server (y,n) [y]: <-- n

Configure DNS Server (y,n) [y]: <-- n

Configure Apache Server (y,n) [y]: <-- n

Configure Firewall Server (y,n) [y]: <--y

Install ISPConfig Web-Interface (y,n) [y]: <--y

ISPConfig Port [8080]: <-- 8080

Admin password [dc91f21d]: <-- zadame heso dele libosti pro pristup pres web

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

Při vlastni konfigyraci ISPConfigu je nutne vybrat volbu expert.

Instal - ručně

Zde se nepoužije před predinstalační skrypt, ale jednotlive komponenty instalujeme ručně.

apt-get update &&  apt-get -y upgrade
apt-get -y install ssh openssh-server nano vim-nox lsb-release apt-transport-https ca-certificates wget
apt-get -y install ntp ntpdate
apt-get -y install dbconfig-common openssl, sudo
apt-get -y install mariadb-client mariadb-server
apt-get -y install php-cli php-mysql php5-mcrypt mcrypt
apt-get -y install bind9 dnsutils binutils

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.