{"id":340,"date":"2025-07-25T20:14:18","date_gmt":"2025-07-25T18:14:18","guid":{"rendered":"https:\/\/netcloud24.com\/pl\/blog\/?p=340"},"modified":"2025-07-25T20:16:41","modified_gmt":"2025-07-25T18:16:41","slug":"perfekcyjna-konfiguracja-multiservera-ispconfig-na-ubuntu-24-04-i-debian-12","status":"publish","type":"post","link":"https:\/\/netcloud24.com\/pl\/blog\/perfekcyjna-konfiguracja-multiservera-ispconfig-na-ubuntu-24-04-i-debian-12\/","title":{"rendered":"Perfekcyjna Konfiguracja Multiservera ISPConfig na Ubuntu 24.04 i Debian 12"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>Wsp\u00f3\u0142czesne rozwi\u0105zania hostingowe cz\u0119sto wymagaj\u0105 elastyczno\u015bci i skalowalno\u015bci. **ISPConfig** to pot\u0119\u017cny panel kontrolny do zarz\u0105dzania serwerami, kt\u00f3ry idealnie nadaje si\u0119 do konfiguracji wielu maszyn (multiserver setup). Dzi\u0119ki niemu mo\u017cesz rozdzieli\u0107 us\u0142ugi takie jak serwery WWW, bazy danych czy poczta elektroniczna na dedykowane maszyny, zwi\u0119kszaj\u0105c wydajno\u015b\u0107 i bezpiecze\u0144stwo.<\/p>\n<p>Ten przewodnik poka\u017ce Ci, jak zbudowa\u0107 wydajn\u0105 i niezawodn\u0105 konfiguracj\u0119 multiservera ISPConfig, wykorzystuj\u0105c najnowsze wersje system\u00f3w operacyjnych **Ubuntu 24.04 (Noble Numbat)** i **Debian 12 (Bookworm)**. Om\u00f3wimy konfiguracj\u0119 serwera g\u0142\u00f3wnego (master) oraz serwer\u00f3w podrz\u0119dnych (slave), przygotowuj\u0105c Ci\u0119 do profesjonalnego zarz\u0105dzania infrastruktur\u0105.<\/p>\n<div class=\"note\"><strong>Uwaga:<\/strong> Ten przewodnik zak\u0142ada, \u017ce masz podstawow\u0105 wiedz\u0119 na temat zarz\u0105dzania serwerami Linux i polece\u0144 terminala. Wszelkie polecenia nale\u017cy wykonywa\u0107 z uprawnieniami roota lub za pomoc\u0105 `sudo`.<\/div>\n<h2>Spis Tre\u015bci<\/h2>\n<ol>\n<li><a href=\"#introduction\">Wprowadzenie do Konfiguracji Multiserverowej ISPConfig<\/a><\/li>\n<li><a href=\"#prerequisites\">Wymagania Wst\u0119pne<\/a><\/li>\n<li><a href=\"#system-preparation\">Przygotowanie Systemu Bazowego (Master i Slave)<\/a>\n<ul>\n<li><a href=\"#hostname-setup\">Konfiguracja Nazwy Host\u00f3w<\/a><\/li>\n<li><a href=\"#hosts-file\">Edycja Pliku \/etc\/hosts<\/a><\/li>\n<li><a href=\"#ssh-keys\">Konfiguracja Autoryzacji Kluczem SSH (Dla Automatyzacji)<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#firewall-config\">Konfiguracja Zapory Sieciowej (UFW)<\/a><\/li>\n<li><a href=\"#master-setup\">Konfiguracja Serwera G\u0142\u00f3wnego (Master) ISPConfig<\/a>\n<ul>\n<li><a href=\"#install-dependencies-master\">Instalacja Wymaganych Pakiet\u00f3w<\/a><\/li>\n<li><a href=\"#install-ispconfig-master\">Instalacja ISPConfig na Serwerze Master<\/a><\/li>\n<li><a href=\"#master-post-config\">Post-instalacyjna Konfiguracja Serwera Master<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#slave-setup\">Konfiguracja Serwer\u00f3w Podrz\u0119dnych (Slave) ISPConfig<\/a>\n<ul>\n<li><a href=\"#install-dependencies-slave\">Instalacja Wymaganych Pakiet\u00f3w<\/a><\/li>\n<li><a href=\"#install-ispconfig-slave\">Instalacja ISPConfig na Serwerze Slave<\/a><\/li>\n<li><a href=\"#slave-sync\">Synchronizacja Serwera Slave z Masterem<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#common-services\">Konfiguracja Wsp\u00f3lnych Us\u0142ug w Konfiguracji Multiserverowej<\/a>\n<ul>\n<li><a href=\"#web-server\">Serwer WWW (Apache\/Nginx)<\/a><\/li>\n<li><a href=\"#database-server\">Serwer Baz Danych (MySQL\/MariaDB)<\/a><\/li>\n<li><a href=\"#mail-server\">Serwer Pocztowy (Postfix, Dovecot)<\/a><\/li>\n<li><a href=\"#dns-server\">Serwer DNS (BIND)<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#testing-verification\">Testowanie i Weryfikacja Konfiguracji<\/a><\/li>\n<li><a href=\"#advanced-tips\">Zaawansowane Wskaz\u00f3wki i Optymalizacja<\/a><\/li>\n<li><a href=\"#conclusion\">Podsumowanie<\/a><\/li>\n<\/ol>\n<p>&#8212;<\/p>\n<h2 id=\"introduction\">1. Wprowadzenie do Konfiguracji Multiserverowej ISPConfig<\/h2>\n<p>Konfiguracja multiserverowa ISPConfig pozwala na rozproszenie obci\u0105\u017cenia i us\u0142ug na wiele serwer\u00f3w fizycznych lub wirtualnych. Typowy scenariusz to:<\/p>\n<ul>\n<li><strong>Serwer Master:<\/strong> Zarz\u0105dza panelem ISPConfig, bazami danych dla ISPConfig, DNS i cz\u0119sto WWW.<\/li>\n<li><strong>Serwer(y) Slave:<\/strong> Obs\u0142uguj\u0105 okre\u015blone us\u0142ugi, np. dodatkowe serwery WWW, bazy danych dla klient\u00f3w, serwery pocztowe, czy serwery DNS.<\/li>\n<\/ul>\n<p>Zalety takiego podej\u015bcia to:<\/p>\n<ul>\n<li><strong>Wydajno\u015b\u0107:<\/strong> Roz\u0142o\u017cenie obci\u0105\u017cenia na wiele maszyn.<\/li>\n<li><strong>Niezawodno\u015b\u0107:<\/strong> Awaria jednej us\u0142ugi (np. serwera pocztowego) nie wp\u0142ywa na inne (np. serwery WWW).<\/li>\n<li><strong>Bezpiecze\u0144stwo:<\/strong> Izolacja us\u0142ug zmniejsza ryzyko narusze\u0144.<\/li>\n<li><strong>Skalowalno\u015b\u0107:<\/strong> \u0141atwe dodawanie nowych serwer\u00f3w slave w miar\u0119 wzrostu potrzeb.<\/li>\n<\/ul>\n<p>&#8212;<\/p>\n<h2 id=\"prerequisites\">2. Wymagania Wst\u0119pne<\/h2>\n<p>Do tej konfiguracji b\u0119dziesz potrzebowa\u0107 co najmniej dw\u00f3ch serwer\u00f3w (fizycznych lub VPS) z zainstalowanym czystym systemem:<\/p>\n<ul>\n<li>**Ubuntu 24.04 LTS (Noble Numbat)** lub<\/li>\n<li>**Debian 12 (Bookworm)**<\/li>\n<\/ul>\n<p>Dla ka\u017cdego serwera:<\/p>\n<ul>\n<li>**Dost\u0119p root** lub u\u017cytkownik z uprawnieniami <code>sudo<\/code>.<\/li>\n<li>**Statyczny adres IP** dla ka\u017cdego serwera.<\/li>\n<li>**Nazwy host\u00f3w (FQDN)** dla ka\u017cdego serwera (np. <code>master.example.com<\/code>, <code>web1.example.com<\/code>, <code>mail.example.com<\/code>).<\/li>\n<li>**Minimum 2 GB RAM** (zalecane 4 GB lub wi\u0119cej dla serwera Master, w zale\u017cno\u015bci od liczby zarz\u0105dzanych stron\/u\u017cytkownik\u00f3w).<\/li>\n<li>**Minimum 20 GB przestrzeni dyskowej**.<\/li>\n<li>**Otwarty port 8080\/tcp** (dla panelu ISPConfig) oraz porty dla us\u0142ug (22\/ssh, 80\/http, 443\/https, 25\/smtp, 587\/submission, 465\/smtps, 110\/pop3, 995\/pop3s, 143\/imap, 993\/imaps, 53\/tcp+udp dla DNS, 3306\/tcp dla MySQL\/MariaDB).<\/li>\n<\/ul>\n<div class=\"warning\"><strong>Wa\u017cne:<\/strong> Upewnij si\u0119, \u017ce serwery mog\u0105 komunikowa\u0107 si\u0119 ze sob\u0105 po wszystkich wymaganych portach. W \u015brodowiskach chmurowych mo\u017ce by\u0107 konieczna konfiguracja grup bezpiecze\u0144stwa (security groups) lub firewalli na poziomie dostawcy.<\/div>\n<p>&#8212;<\/p>\n<h2 id=\"system-preparation\">3. Przygotowanie Systemu Bazowego (Master i Slave)<\/h2>\n<p>Te kroki nale\u017cy wykona\u0107 na <strong>wszystkich serwerach<\/strong> (Master i Slave).<\/p>\n<h3>Aktualizacja Systemu<\/h3>\n<p>Zawsze zacznij od aktualizacji list pakiet\u00f3w i uaktualnienia istniej\u0105cych pakiet\u00f3w do najnowszych wersji.<\/p>\n<pre><code>sudo apt update &amp;&amp; sudo apt upgrade -y\r\nsudo apt dist-upgrade -y\r\nsudo apt autoremove -y<\/code><\/pre>\n<h3 id=\"hostname-setup\">Konfiguracja Nazwy Host\u00f3w<\/h3>\n<p>Ustaw unikaln\u0105 i w pe\u0142ni kwalifikowan\u0105 nazw\u0119 hosta (FQDN) dla ka\u017cdego serwera. Upewnij si\u0119, \u017ce rekordy DNS dla tych nazw host\u00f3w wskazuj\u0105 na odpowiednie adresy IP.<\/p>\n<h4>Na Serwerze Master:<\/h4>\n<pre><code>sudo hostnamectl set-hostname master.example.com<\/code><\/pre>\n<h4>Na Serwerze Slave 1 (np. serwer WWW):<\/h4>\n<pre><code>sudo hostnamectl set-hostname web1.example.com<\/code><\/pre>\n<h4>Na Serwerze Slave 2 (np. serwer pocztowy):<\/h4>\n<pre><code>sudo hostnamectl set-hostname mail.example.com<\/code><\/pre>\n<h3 id=\"hosts-file\">Edycja Pliku \/etc\/hosts<\/h3>\n<p>Dodaj wpisy dla wszystkich serwer\u00f3w w pliku <code>\/etc\/hosts<\/code> na <strong>ka\u017cdym serwerze<\/strong>. Dzi\u0119ki temu serwery b\u0119d\u0105 mog\u0142y poprawnie rozpoznawa\u0107 si\u0119 nawzajem po nazwach FQDN bez konieczno\u015bci polegania wy\u0142\u0105cznie na DNS.<\/p>\n<pre><code>sudo nano \/etc\/hosts<\/code><\/pre>\n<p>Dodaj nast\u0119puj\u0105ce linie (zast\u0105p adresy IP i nazwy host\u00f3w swoimi):<\/p>\n<pre><code>127.0.0.1       localhost\r\n127.0.1.1       master.example.com  master\r\nYOUR_MASTER_IP  master.example.com  master\r\nYOUR_WEB1_IP    web1.example.com    web1\r\nYOUR_MAIL_IP    mail.example.com    mail\r\n\r\n# Opcjonalnie, je\u015bli masz wi\u0119cej serwer\u00f3w\r\n# YOUR_DB_IP      db1.example.com     db1<\/code><\/pre>\n<p>Zapisz i zamknij plik (Ctrl+O, Enter, Ctrl+X).<\/p>\n<h3 id=\"ssh-keys\">Konfiguracja Autoryzacji Kluczem SSH (Dla Automatyzacji)<\/h3>\n<p>Chocia\u017c nie jest to \u015bci\u015ble wymagane dla samej instalacji ISPConfig, skonfigurowanie autoryzacji kluczem SSH mi\u0119dzy serwerem Master a Slave&#8217;ami jest <strong>kluczowe dla bezpiecze\u0144stwa i u\u0142atwia automatyzacj\u0119<\/strong> (np. za pomoc\u0105 Ansible) oraz niekt\u00f3re wewn\u0119trzne procesy ISPConfig.<\/p>\n<h4>Generowanie klucza SSH na serwerze Master:<\/h4>\n<pre><code>ssh-keygen -t rsa -b 4096 -C \"ispconfig_master_key\"<\/code><\/pre>\n<p>Naci\u015bnij Enter dla domy\u015blnej lokalizacji i bez has\u0142a (je\u015bli planujesz automatyzacj\u0119, bez has\u0142a jest wygodniejsze, ale mniej bezpieczne; z has\u0142em b\u0119dzie wymaga\u0142o agenta SSH).<\/p>\n<h4>Kopiowanie klucza publicznego na serwery Slave:<\/h4>\n<pre><code>ssh-copy-id -i ~\/.ssh\/id_rsa.pub your_user@web1.example.com\r\nssh-copy-id -i ~\/.ssh\/id_rsa.pub your_user@mail.example.com<\/code><\/pre>\n<p>Zast\u0105p `your_user` nazw\u0105 u\u017cytkownika z uprawnieniami sudo na serwerach slave. Zostaniesz poproszony o has\u0142o tego u\u017cytkownika.<\/p>\n<p>Przetestuj po\u0142\u0105czenie SSH bez has\u0142a:<\/p>\n<pre><code>ssh your_user@web1.example.com<\/code><\/pre>\n<p>Powiniene\u015b zalogowa\u0107 si\u0119 bez podawania has\u0142a. Powt\u00f3rz dla wszystkich serwer\u00f3w slave.<\/p>\n<p>&#8212;<\/p>\n<h2 id=\"firewall-config\">4. Konfiguracja Zapory Sieciowej (UFW)<\/h2>\n<p>**UFW (Uncomplicated Firewall)** to prosty w obs\u0142udze firewall dla Linuksa. Zainstaluj i skonfiguruj go na **wszystkich serwerach**.<\/p>\n<h3>Instalacja UFW<\/h3>\n<pre><code>sudo apt install ufw -y<\/code><\/pre>\n<h3>Domy\u015blne Regu\u0142y<\/h3>\n<p>UFW domy\u015blnie blokuje po\u0142\u0105czenia przychodz\u0105ce. Zezw\u00f3l na po\u0142\u0105czenia wychodz\u0105ce.<\/p>\n<pre><code>sudo ufw default deny incoming\r\nsudo ufw default allow outgoing<\/code><\/pre>\n<h3>Zezwolenie na Wymagane Porty<\/h3>\n<p>Poni\u017cej przedstawiono standardowe porty. Dostosuj je do r\u00f3l poszczeg\u00f3lnych serwer\u00f3w. Na serwerze Master MUSI by\u0107 otwarty port 8080.<\/p>\n<h4>Wsp\u00f3lne porty (na ka\u017cdym serwerze):<\/h4>\n<pre><code>sudo ufw allow ssh             # Port 22 - Dost\u0119p SSH\r\nsudo ufw allow http            # Port 80 - HTTP\r\nsudo ufw allow https           # Port 443 - HTTPS\r\nsudo ufw allow 53\/tcp          # Port 53 - DNS TCP (dla stref)\r\nsudo ufw allow 53\/udp          # Port 53 - DNS UDP (dla zapyta\u0144)<\/code><\/pre>\n<h4>Dodatkowe porty dla serwera Master:<\/h4>\n<pre><code>sudo ufw allow 8080\/tcp comment 'ISPConfig Panel' # Panel ISPConfig\r\n# Je\u015bli Master b\u0119dzie mia\u0142 MySQL dla stron WWW:\r\nsudo ufw allow 3306\/tcp comment 'MySQL\/MariaDB'<\/code><\/pre>\n<h4>Dodatkowe porty dla serwera pocztowego (Mail Slave):<\/h4>\n<pre><code>sudo ufw allow 25\/tcp comment 'SMTP'\r\nsudo ufw allow 587\/tcp comment 'Submission'\r\nsudo ufw allow 465\/tcp comment 'SMTPS'\r\nsudo ufw allow 110\/tcp comment 'POP3'\r\nsudo ufw allow 995\/tcp comment 'POP3S'\r\nsudo ufw allow 143\/tcp comment 'IMAP'\r\nsudo ufw allow 993\/tcp comment 'IMAPS'<\/code><\/pre>\n<h4>Dodatkowe porty dla serwera WWW (Web Slave):<\/h4>\n<p>Zwykle wystarcz\u0105 porty 80 i 443, ju\u017c dodane w &#8222;wsp\u00f3lnych portach&#8221;.<\/p>\n<h4>Dodatkowe porty dla serwera baz danych (DB Slave):<\/h4>\n<pre><code>sudo ufw allow 3306\/tcp comment 'MySQL\/MariaDB'<\/code><\/pre>\n<h3>W\u0142\u0105czenie UFW<\/h3>\n<p>Po skonfigurowaniu regu\u0142, w\u0142\u0105cz firewall. Zostaniesz poproszony o potwierdzenie.<\/p>\n<pre><code>sudo ufw enable<\/code><\/pre>\n<p>Potwierd\u017a, wpisuj\u0105c <code>y<\/code>.<\/p>\n<p>Sprawd\u017a status UFW:<\/p>\n<pre><code>sudo ufw status verbose<\/code><\/pre>\n<p>&#8212;<\/p>\n<h2 id=\"master-setup\">5. Konfiguracja Serwera G\u0142\u00f3wnego (Master) ISPConfig<\/h2>\n<p>Te kroki wykonaj tylko na serwerze Master.<\/p>\n<h3 id=\"install-dependencies-master\">5.1 Instalacja Wymaganych Pakiet\u00f3w<\/h3>\n<p>ISPConfig wymaga szeregu pakiet\u00f3w, takich jak serwer WWW, baza danych, PHP, serwer pocztowy (nawet je\u015bli us\u0142ugi pocztowe b\u0119d\u0105 na Slave, Master nadal potrzebuje Postfixa do wysy\u0142ki powiadomie\u0144) i serwer DNS.<\/p>\n<pre><code># Dla Ubuntu 24.04\r\nsudo apt install apache2 apache2-utils php8.3 libapache2-mod-php8.3 php8.3-common php8.3-mysql php8.3-xml php8.3-gd php8.3-imap php8.3-cli php8.3-cgi php8.3-curl php8.3-zip php8.3-mbstring php8.3-soap php8.3-intl php8.3-fpm php8.3-ldap php8.3-dev php-pear php-imagick php-zip php-xmlrpc -y\r\nsudo apt install mariadb-server mariadb-client -y\r\nsudo apt install postfix postfix-mysql postfix-sasl-authd dovecot-imapd dovecot-pop3d dovecot-lmtpd dovecot-mysql opendkim opendkim-tools opendmarc rsyslog -y\r\nsudo apt install bind9 bind9utils bind9-doc dnsutils -y\r\nsudo apt install pure-ftpd -y\r\nsudo apt install clamav clamav-daemon -y\r\nsudo apt install amavisd-new spamassassin -y\r\nsudo apt install unzip bzip2 sudo -y\r\nsudo apt install imagemagick ffmpeg -y\r\nsudo apt install fail2ban -y\r\n\r\n# Dla Debian 12 - Zamiast php8.3 b\u0119dzie php8.2\r\n# sudo apt install apache2 apache2-utils php8.2 libapache2-mod-php8.2 php8.2-common php8.2-mysql php8.2-xml php8.2-gd php8.2-imap php8.2-cli php8.2-cgi php8.2-curl php8.2-zip php8.2-mbstring php8.2-soap php8.2-intl php8.2-fpm php8.2-ldap php8.2-dev php-pear php-imagick php-zip php-xmlrpc -y\r\n# Reszta pakiet\u00f3w jest podobna<\/code><\/pre>\n<p><strong>Uwaga na PHP:<\/strong> Ubuntu 24.04 domy\u015blnie dostarcza PHP 8.3, Debian 12 PHP 8.2. Upewnij si\u0119, \u017ce instalujesz odpowiedni\u0105 wersj\u0119.<\/p>\n<h3>Konfiguracja MariaDB\/MySQL (na serwerze Master)<\/h3>\n<p>Zabezpiecz instalacj\u0119 MariaDB i utw\u00f3rz baz\u0119 danych dla ISPConfig.<\/p>\n<pre><code>sudo mysql_secure_installation<\/code><\/pre>\n<p>Post\u0119puj zgodnie z instrukcjami: ustaw has\u0142o dla roota MariaDB, usu\u0144 anonimowych u\u017cytkownik\u00f3w, zablokuj zdalny dost\u0119p roota i usu\u0144 testow\u0105 baz\u0119 danych.<\/p>\n<p>Zaloguj si\u0119 do MariaDB i utw\u00f3rz u\u017cytkownika dla ISPConfig:<\/p>\n<pre><code>sudo mysql -u root -p<\/code><\/pre>\n<p>Wprowad\u017a swoje has\u0142o roota MariaDB. Nast\u0119pnie wykonaj polecenia SQL:<\/p>\n<pre><code>CREATE DATABASE dbispconfig;\r\nGRANT ALL PRIVILEGES ON dbispconfig.* TO 'ispconfig'@'localhost' IDENTIFIED BY 'TwojeSilneHasloISPConfig';\r\nGRANT ALL PRIVILEGES ON dbispconfig.* TO 'ispconfig'@'master.example.com' IDENTIFIED BY 'TwojeSilneHasloISPConfig'; # Je\u015bli planujesz zdalny dost\u0119p\r\nFLUSH PRIVILEGES;\r\nEXIT;<\/code><\/pre>\n<p>Zast\u0105p `TwojeSilneHasloISPConfig` bezpiecznym has\u0142em.<\/p>\n<h3>Konfiguracja Postfix (na serwerze Master)<\/h3>\n<p>Podczas instalacji Postfixa wybierz &#8222;Internet Site&#8221; i podaj swoj\u0105 nazw\u0119 FQDN (np. <code>master.example.com<\/code>).<\/p>\n<h3 id=\"install-ispconfig-master\">5.2 Instalacja ISPConfig na Serwerze Master<\/h3>\n<p>Pobierz najnowsz\u0105 stabiln\u0105 wersj\u0119 ISPConfig:<\/p>\n<pre><code>cd \/tmp\r\nwget -O ispconfig.tar.gz https:\/\/www.ispconfig.org\/downloads\/ISPConfig-3.2.11.tar.gz # Sprawd\u017a najnowsz\u0105 wersj\u0119 na stronie ispconfig.org\r\ntar xfz ispconfig.tar.gz\r\ncd ispconfig3_install\/install\/<\/code><\/pre>\n<p>Uruchom skrypt instalacyjny:<\/p>\n<pre><code>sudo php -q install.php<\/code><\/pre>\n<p>Post\u0119puj zgodnie z instrukcjami. Wa\u017cne punkty:<\/p>\n<ul>\n<li>Wybierz tryb instalacji: <code>expert<\/code> (dla multiservera).<\/li>\n<li>Wybierz <code>master<\/code> dla typu serwera.<\/li>\n<li>Podaj has\u0142o dla u\u017cytkownika <code>admin<\/code> ISPConfig.<\/li>\n<li>W przypadku konfiguracji MySQL\/MariaDB u\u017cyj utworzonej wcze\u015bniej bazy <code>dbispconfig<\/code> i u\u017cytkownika <code>ispconfig<\/code> z jego has\u0142em.<\/li>\n<li>Dla innych us\u0142ug (Apache, Postfix, Dovecot, Pure-FTPD, BIND) zazwyczaj mo\u017cesz zaakceptowa\u0107 domy\u015blne ustawienia, chyba \u017ce masz specyficzne wymagania.<\/li>\n<\/ul>\n<h3 id=\"master-post-config\">5.3 Post-instalacyjna Konfiguracja Serwera Master<\/h3>\n<p>Po instalacji, panel ISPConfig b\u0119dzie dost\u0119pny pod adresem: <code>https:\/\/master.example.com:8080\/<\/code> (lub `https:\/\/YOUR_MASTER_IP:8080\/`). Zaloguj si\u0119 u\u017cywaj\u0105c u\u017cytkownika `admin` i has\u0142a ustawionego podczas instalacji.<\/p>\n<p>W panelu ISPConfig przejd\u017a do <strong>System &gt; Remote Users<\/strong> i utw\u00f3rz nowego u\u017cytkownika zdalnego. B\u0119dzie to konto, kt\u00f3rego ISPConfig Master u\u017cyje do po\u0142\u0105czenia si\u0119 z serwerami Slave. Zapisz nazw\u0119 u\u017cytkownika i has\u0142o, b\u0119d\u0105 potrzebne p\u00f3\u017aniej.<\/p>\n<p>&#8212;<\/p>\n<h2 id=\"slave-setup\">6. Konfiguracja Serwer\u00f3w Podrz\u0119dnych (Slave) ISPConfig<\/h2>\n<p>Te kroki wykonaj na <strong>ka\u017cdym serwerze Slave<\/strong> (np. `web1.example.com`, `mail.example.com`).<\/p>\n<h3 id=\"install-dependencies-slave\">6.1 Instalacja Wymaganych Pakiet\u00f3w<\/h3>\n<p>Pakiety do zainstalowania na serwerach Slave zale\u017c\u0105 od roli, jak\u0105 b\u0119d\u0105 pe\u0142ni\u0107. Poni\u017cej przedstawiono przyk\u0142ady dla r\u00f3\u017cnych r\u00f3l.<\/p>\n<h4>Dla serwera WWW (Web Slave):<\/h4>\n<pre><code># Dla Ubuntu 24.04\r\nsudo apt install apache2 apache2-utils php8.3 libapache2-mod-php8.3 php8.3-common php8.3-mysql php8.3-xml php8.3-gd php8.3-imap php8.3-cli php8.3-cgi php8.3-curl php8.3-zip php8.3-mbstring php8.3-soap php8.3-intl php8.3-fpm php8.3-ldap php8.3-dev php-pear php-imagick php-zip php-xmlrpc -y\r\nsudo apt install pure-ftpd -y\r\nsudo apt install fail2ban -y\r\n\r\n# Dla Debian 12 (php8.2 zamiast php8.3)\r\n# sudo apt install apache2 apache2-utils php8.2 libapache2-mod-php8.2 php8.2-common php8.2-mysql php8.2-xml php8.2-gd php8.2-imap php8.2-cli php8.2-cgi php8.2-curl php8.2-zip php8.2-mbstring php8.2-soap php8.2-intl php8.2-fpm php8.2-ldap php8.2-dev php-pear php-imagick php-zip php-xmlrpc -y\r\n# sudo apt install pure-ftpd -y\r\n# sudo apt install fail2ban -y<\/code><\/pre>\n<h4>Dla serwera pocztowego (Mail Slave):<\/h4>\n<pre><code>sudo apt install postfix postfix-mysql postfix-sasl-authd dovecot-imapd dovecot-pop3d dovecot-lmtpd dovecot-mysql opendkim opendkim-tools opendmarc rsyslog -y\r\nsudo apt install clamav clamav-daemon -y\r\nsudo apt install amavisd-new spamassassin -y\r\nsudo apt install unzip bzip2 sudo -y\r\nsudo apt install fail2ban -y<\/code><\/pre>\n<p>Podczas instalacji Postfixa, wybierz &#8222;Internet Site&#8221; i podaj nazw\u0119 FQDN swojego serwera pocztowego (np. <code>mail.example.com<\/code>).<\/p>\n<h4>Dla serwera baz danych (DB Slave &#8211; je\u015bli oddzielny):<\/h4>\n<pre><code>sudo apt install mariadb-server mariadb-client -y<\/code><\/pre>\n<p>Zabezpiecz MariaDB:<\/p>\n<pre><code>sudo mysql_secure_installation<\/code><\/pre>\n<p>Dla ISPConfig, nie musisz tworzy\u0107 bazy `dbispconfig` na Slave&#8217;ach DB. ISPConfig b\u0119dzie tworzy\u0142 bazy danych klient\u00f3w bezpo\u015brednio na tym serwerze. Mo\u017cesz utworzy\u0107 u\u017cytkownika `root` dla zdalnego dost\u0119pu z Mastera (zalecana silna polityka hase\u0142).<\/p>\n<pre><code>sudo mysql -u root -p\r\nCREATE USER 'root'@'master.example.com' IDENTIFIED BY 'BardzoSilneHasloDlaRootaDB!';\r\nGRANT ALL PRIVILEGES ON *.* TO 'root'@'master.example.com' WITH GRANT OPTION;\r\nFLUSH PRIVILEGES;\r\nEXIT;<\/code><\/pre>\n<h4>Dla serwera DNS (DNS Slave &#8211; je\u015bli oddzielny):<\/h4>\n<pre><code>sudo apt install bind9 bind9utils bind9-doc dnsutils -y<\/code><\/pre>\n<h3 id=\"install-ispconfig-slave\">6.2 Instalacja ISPConfig na Serwerze Slave<\/h3>\n<p>Pobierz i rozpakuj ISPConfig na serwerze Slave tak samo jak na Masterze:<\/p>\n<pre><code>cd \/tmp\r\nwget -O ispconfig.tar.gz https:\/\/www.ispconfig.org\/downloads\/ISPConfig-3.2.11.tar.gz # Sprawd\u017a najnowsz\u0105 wersj\u0119\r\ntar xfz ispconfig.tar.gz\r\ncd ispconfig3_install\/install\/<\/code><\/pre>\n<p>Uruchom skrypt instalacyjny:<\/p>\n<pre><code>sudo php -q install.php<\/code><\/pre>\n<p>Tym razem wybierz tryb instalacji:<\/p>\n<ul>\n<li>Wybierz tryb instalacji: <code>expert<\/code>.<\/li>\n<li>Wybierz <code>slave<\/code> dla typu serwera.<\/li>\n<li>Podaj **nazw\u0119 hosta serwera Master** (np. `master.example.com`).<\/li>\n<li>Podaj **nazw\u0119 u\u017cytkownika zdalnego** (remote user) i **has\u0142o**, kt\u00f3re utworzy\u0142e\u015b na serwerze Master (sekcja 5.3).<\/li>\n<li>W przypadku konfiguracji us\u0142ug (Apache, Postfix, Dovecot, Pure-FTPD, BIND, MariaDB), wybierz tylko te, kt\u00f3re ten serwer Slave b\u0119dzie obs\u0142ugiwa\u0142. Na przyk\u0142ad, je\u015bli to serwer WWW, wybierz Apache i Pure-FTPD. Je\u015bli to serwer pocztowy, wybierz Postfix i Dovecot.<\/li>\n<li>Dla ka\u017cdej wybranej us\u0142ugi, zazwyczaj mo\u017cesz zaakceptowa\u0107 domy\u015blne ustawienia.<\/li>\n<\/ul>\n<h3 id=\"slave-sync\">6.3 Synchronizacja Serwera Slave z Masterem<\/h3>\n<p>Po zako\u0144czeniu instalacji na serwerze Slave, powr\u00f3\u0107 do panelu ISPConfig na serwerze Master. Przejd\u017a do <strong>System &gt; Servers<\/strong>. Powiniene\u015b zobaczy\u0107 sw\u00f3j nowy serwer Slave na li\u015bcie.<\/p>\n<p>Kliknij na niego i sprawd\u017a, czy wszystkie us\u0142ugi s\u0105 poprawnie wykryte. Status &#8222;green&#8221; (zielony) oznacza, \u017ce us\u0142uga dzia\u0142a i jest synchronizowana. Je\u015bli widzisz b\u0142\u0119dy, sprawd\u017a logi na serwerze Slave i konfiguracj\u0119 firewalla.<\/p>\n<p>&#8212;<\/p>\n<h2 id=\"common-services\">7. Konfiguracja Wsp\u00f3lnych Us\u0142ug w Konfiguracji Multiserverowej<\/h2>\n<p>Po\u0142\u0105czenie us\u0142ug w multiserverze ISPConfig jest zarz\u0105dzane z poziomu panelu Master. Oto jak przypisa\u0107 us\u0142ugi do konkretnych serwer\u00f3w.<\/p>\n<h3 id=\"web-server\">7.1 Serwer WWW (Apache\/Nginx)<\/h3>\n<p>W ISPConfig Master, gdy tworzysz now\u0105 stron\u0119 internetow\u0105 (Sites &gt; Add new website), b\u0119dziesz mie\u0107 opcj\u0119 wyboru **&#8221;Server&#8221;**. Tutaj mo\u017cesz wybra\u0107 serwer (Master lub jeden ze Slave&#8217;\u00f3w Web) na kt\u00f3rym ma by\u0107 hostowana strona. ISPConfig automatycznie skonfiguruje Apache\/Nginx i FTP na wybranym serwerze.<\/p>\n<h3 id=\"database-server\">7.2 Serwer Baz Danych (MySQL\/MariaDB)<\/h3>\n<p>Gdy tworzysz now\u0105 baz\u0119 danych (Sites &gt; Databases &gt; Add new database), r\u00f3wnie\u017c wybierasz **&#8221;Server&#8221;**, na kt\u00f3rym ma znajdowa\u0107 si\u0119 ta baza danych. Mo\u017ce to by\u0107 serwer Master lub dedykowany serwer DB Slave.<\/p>\n<div class=\"note\"><strong>Wa\u017cne:<\/strong> Je\u015bli u\u017cywasz dedykowanego serwera DB Slave, upewnij si\u0119, \u017ce na Masterze skonfigurowa\u0142e\u015b po\u0142\u0105czenie z rootem MariaDB tego Slave&#8217;a (jak pokazano w sekcji 6.1).<\/div>\n<h3 id=\"mail-server\">7.3 Serwer Pocztowy (Postfix, Dovecot)<\/h3>\n<p>Podobnie, podczas tworzenia domeny pocztowej (Email &gt; Domains &gt; Add new domain) lub kont e-mail, wybierasz **&#8221;Server&#8221;**, na kt\u00f3rym maj\u0105 by\u0107 obs\u0142ugiwane us\u0142ugi pocztowe (Master lub Mail Slave).<\/p>\n<h3 id=\"dns-server\">7.4 Serwer DNS (BIND)<\/h3>\n<p>W ISPConfig Master (DNS &gt; Zones &gt; Add new DNS Zone) mo\u017cesz tworzy\u0107 strefy DNS. W sekcji &#8222;Server&#8221; wybierasz, kt\u00f3ry serwer (Master lub DNS Slave) b\u0119dzie podstawowym serwerem DNS dla tej strefy.<\/p>\n<p>Je\u015bli masz wiele serwer\u00f3w DNS (np. Master i DNS Slave), ISPConfig automatycznie zsynchronizuje strefy mi\u0119dzy nimi.<\/p>\n<p>&#8212;<\/p>\n<h2 id=\"testing-verification\">8. Testowanie i Weryfikacja Konfiguracji<\/h2>\n<p>Po zako\u0144czeniu konfiguracji, dok\u0142adnie przetestuj ka\u017cd\u0105 us\u0142ug\u0119:<\/p>\n<ul>\n<li><strong>Panel ISPConfig:<\/strong> Zaloguj si\u0119 do panelu Master.<\/li>\n<li><strong>Dodaj Serwery Slave:<\/strong> Sprawd\u017a, czy wszystkie serwery Slave s\u0105 widoczne i maj\u0105 status &#8222;green&#8221; w <strong>System &gt; Servers<\/strong>.<\/li>\n<li><strong>Strona WWW:<\/strong> Utw\u00f3rz now\u0105 stron\u0119 WWW i przypisz j\u0105 do serwera Master lub Web Slave. Sprawd\u017a, czy strona dzia\u0142a, a pliki FTP mo\u017cna przes\u0142a\u0107.<\/li>\n<li><strong>Baza Danych:<\/strong> Utw\u00f3rz baz\u0119 danych i u\u017cytkownika, przypisuj\u0105c j\u0105 do odpowiedniego serwera. Spr\u00f3buj po\u0142\u0105czy\u0107 si\u0119 z ni\u0105 zdalnie.<\/li>\n<li><strong>Poczta E-mail:<\/strong> Utw\u00f3rz domen\u0119 pocztow\u0105 i konto e-mail. Wy\u015blij i odbierz testowe wiadomo\u015bci.<\/li>\n<li><strong>DNS:<\/strong> Utw\u00f3rz stref\u0119 DNS i sprawd\u017a, czy rekordy s\u0105 propagowane (u\u017cyj `dig` lub `nslookup`).<\/li>\n<\/ul>\n<p>&#8212;<\/p>\n<h2 id=\"advanced-tips\">9. Zaawansowane Wskaz\u00f3wki i Optymalizacja<\/h2>\n<ul>\n<li>**Zabezpieczanie SSH:** Zawsze u\u017cywaj kluczy SSH zamiast hase\u0142. Rozwa\u017c wy\u0142\u0105czenie uwierzytelniania has\u0142em i root-logowania SSH.<\/li>\n<li>**Regularne Aktualizacje:** Regularnie aktualizuj systemy operacyjne i ISPConfig, aby zapewni\u0107 bezpiecze\u0144stwo i stabilno\u015b\u0107.<\/li>\n<li>**Kopie Zapasowe:** Skonfiguruj regularne kopie zapasowe danych i konfiguracji ISPConfig. ISPConfig ma wbudowane narz\u0119dzia do tworzenia kopii zapasowych.<\/li>\n<li>**Monitorowanie:** U\u017cyj narz\u0119dzi monitoruj\u0105cych (np. Prometheus, Grafana, Zabbix) do \u015bledzenia wydajno\u015bci i stanu wszystkich serwer\u00f3w.<\/li>\n<li>**Optymalizacja Us\u0142ug:** Dostosuj konfiguracje Apache\/Nginx, PHP, MySQL\/MariaDB do swoich potrzeb i obci\u0105\u017cenia.<\/li>\n<li>**HTTPS wsz\u0119dzie:** Skonfiguruj Let&#8217;s Encrypt dla wszystkich domen w ISPConfig, aby zapewni\u0107 bezpiecze\u0144stwo komunikacji.<\/li>\n<li>**U\u017cyj Ansible:** Rozwa\u017c wykorzystanie Ansible do automatyzacji instalacji pakiet\u00f3w i pocz\u0105tkowej konfiguracji ka\u017cdego serwera, co znacznie przyspieszy proces i zapewni sp\u00f3jno\u015b\u0107.<\/li>\n<\/ul>\n<p>&#8212;<\/p>\n<h2 id=\"conclusion\">10. Podsumowanie<\/h2>\n<p>Skonfigurowanie multiserwera ISPConfig na Debianie 12 lub Ubuntu 24.04 to pot\u0119\u017cne rozwi\u0105zanie do zarz\u0105dzania hostingiem. Pozwala ono na skalowalno\u015b\u0107, poprawia bezpiecze\u0144stwo i zwi\u0119ksza niezawodno\u015b\u0107, rozk\u0142adaj\u0105c us\u0142ugi na dedykowane maszyny.<\/p>\n<p>Ten przewodnik dostarczy\u0142 solidne podstawy do budowy Twojej w\u0142asnej infrastruktury multiserwerowej. Pami\u0119taj, \u017ce ka\u017cdy przypadek u\u017cycia jest inny, a optymalna konfiguracja zale\u017cy od Twoich specyficznych wymaga\u0144 dotycz\u0105cych wydajno\u015bci i bezpiecze\u0144stwa. Regularne testowanie i monitorowanie s\u0105 kluczowe dla utrzymania zdrowego \u015brodowiska hostingowego.<\/p>\n<footer>\u00a9 2025 Wszystkie prawa zastrze\u017cone.<\/footer>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Wsp\u00f3\u0142czesne rozwi\u0105zania hostingowe cz\u0119sto wymagaj\u0105 elastyczno\u015bci i skalowalno\u015bci. **ISPConfig** to pot\u0119\u017cny panel kontrolny do zarz\u0105dzania serwerami, kt\u00f3ry idealnie nadaje si\u0119 do konfiguracji wielu maszyn\u2026<\/p>\n","protected":false},"author":1,"featured_media":342,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-340","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/posts\/340","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/comments?post=340"}],"version-history":[{"count":2,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/posts\/340\/revisions"}],"predecessor-version":[{"id":343,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/posts\/340\/revisions\/343"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/media\/342"}],"wp:attachment":[{"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/media?parent=340"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/categories?post=340"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/tags?post=340"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}