Cum se instalează PHP 5.6 și 7.0 – 8.4 cu PHP-FPM și modul FastCGI pentru ISPConfig 3.2 cu apt pe Debian 11 până la 12

1 Notă preliminară

În acest ghid, veți adăuga repozitoriul SURY suplimentar pentru a instala pachetele PHP cu apt. Deoarece și alte pachete, precum OpenSSL, sunt actualizate, pachetele instalate de pe sury.org nu pot fi eliminate pur și simplu după instalare. Așadar, nu eliminați SURY ca sursă de repozitoriu ulterior.

Rețineți că PHP-FPM poate fi utilizat pe serverele Apache și Nginx, în timp ce FastCGI este disponibil doar pentru serverele Apache.

2 Adăugați depozitul SURY

Mai întâi instalați aceste pachete necesare:

apt-get install -y apt-transport-https lsb-release ca-certificates

Acum adăugați cheia repozitoriului rulând această comandă:

wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg >/dev/null 2>&1

și depozitul în sine:

echo „deb https://packages.sury.org/php/ $(lsb_release -c -s) main” > /etc/apt/sources.list.d/php.list

Acum actualizați lista de pachete:

apt-get update

Pentru a actualiza pachetele deja instalate din noul depozit, utilizați această comandă:

apt-get upgrade

3 Instalați versiuni suplimentare de PHP

Nu trebuie să instalați toate versiunile listate aici, instalați-le pe cele de care aveți nevoie.

3.1 Instalați PHP 5.6

Pentru a instala PHP, utilizați această comandă:

apt-get install php5.6 php5.6-cli php5.6-cgi php5.6-fpm php5.6-gd php5.6-mysql php5.6-imap php5.6-curl php5.6-intl php5.6-pspell php5.6-recode php5.6-sqlite3 php5.6-tidy php5.6-xmlrpc php5.6-xsl php5.6-zip php5.6-mbstring php5.6-soap php5.6-opcache libicu65 php5.6-common php5.6-json php5.6-readline php5.6-xml

3.2 Instalați PHP 7.0

Pentru a instala PHP, utilizați această comandă:

apt-get install php7.0 php7.0-cli php7.0-cgi php7.0-fpm php7.0-gd php7.0-mysql php7.0-imap php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-zip php7.0-mbstring php7.0-soap php7.0-opcache php7.0-common php7.0-json php7.0-readline php7.0-xml

3.3 Instalați PHP 7.1

Pentru a instala PHP, utilizați această comandă:

apt-get install php7.1 php7.1-cli php7.1-cgi php7.1-fpm php7.1-gd php7.1-mysql php7.1-imap php7.1-curl php7.1-intl php7.1-pspell php7.1-recode php7.1-sqlite3 php7.1-tidy php7.1-xmlrpc php7.1-xsl php7.1-zip php7.1-mbstring php7.1-soap php7.1-opcache php7.1-common php7.1-json php7.1-readline php7.1-xml

3.4 Instalați PHP 7.2

Pentru a instala PHP, utilizați această comandă:

apt-get install php7.2 php7.2-cli php7.2-cgi php7.2-fpm php7.2-gd php7.2-mysql php7.2-imap php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl php7.2-zip php7.2-mbstring php7.2-soap php7.2-opcache php7.2-common php7.2-json php7.2-readline php7.2-xml

3.5 Instalați PHP 7.3

Pentru a instala PHP, utilizați această comandă:

apt-get install php7.3 php7.3-cli php7.3-cgi php7.3-fpm php7.3-gd php7.3-mysql php7.3-imap php7.3-curl php7.3-intl php7.3-pspell php7.3-recode php7.3-sqlite3 php7.3-tidy php7.3-xmlrpc php7.3-xsl php7.3-zip php7.3-mbstring php7.3-soap php7.3-opcache php7.3-common php7.3-json php7.3-readline php7.3-xml

3.6 Instalați PHP 7.4

Pentru a instala PHP 7.4 folosiți această comandă:

apt-get install php7.4 php7.4-cli php7.4-cgi php7.4-fpm php7.4-gd php7.4-mysql php7.4-imap php7.4-curl php7.4-intl php7.4-pspell php7.4-sqlite3 php7.4-tidy php7.4-xmlrpc php7.4-xsl php7.4-zip php7.4-mbstring php7.4-soap php7.4-opcache php7.4-common php7.4-json php7.4-readline php7.4-xml

3.7 Instalați PHP 8.0

Pentru a instala PHP 8.0 folosiți această comandă:

apt-get install php8.0 php8.0-cli php8.0-cgi php8.0-fpm php8.0-gd php8.0-mysql php8.0-imap php8.0-curl php8.0-intl php8.0-pspell php8.0-sqlite3 php8.0-tidy php8.0-xsl php8.0-zip php8.0-mbstring php8.0-soap php8.0-opcache php8.0-common php8.0-readline php8.0-xml

3.8 Instalați PHP 8.1

Pentru a instala PHP 8.1 folosiți această comandă:

apt-get install php8.1 php8.1-cli php8.1-cgi php8.1-fpm php8.1-gd php8.1-mysql php8.1-imap php8.1-curl php8.1-intl php8.1-pspell php8.1-sqlite3 php8.1-tidy php8.1-xsl php8.1-zip php8.1-mbstring php8.1-soap php8.1-opcache php8.1-common php8.1-readline php8.1-xml

3.9 Instalați PHP 8.2

Pentru a instala PHP 8.2, folosiți această comandă:

apt-get install php8.2 php8.2-cli php8.2-cgi php8.2-fpm php8.2-gd php8.2-mysql php8.2-imap php8.2-curl php8.2-intl php8.2-pspell php8.2-sqlite3 php8.2-tidy php8.2-xsl php8.2-zip php8.2-mbstring php8.2-soap php8.2-opcache php8.2-common php8.2-readline php8.2-xml

3.10 Instalați PHP 8.3

Pentru a instala PHP 8.3 folosiți această comandă:

apt-get install php8.3 php8.3-cli php8.3-cgi php8.3-fpm php8.3-gd php8.3-mysql php8.3-imap php8.3-curl php8.3-intl php8.3-pspell php8.3-sqlite3 php8.3-tidy php8.3-xsl php8.3-zip php8.3-mbstring php8.3-soap php8.3-opcache php8.3-common php8.3-readline php8.3-xml

3.11 Instalați PHP 8.4

Pentru a instala PHP 8.4 folosiți această comandă:

apt-get install php8.4 php8.4-cli php8.4-cgi php8.4-fpm php8.4-gd php8.4-mysql php8.4-imap php8.4-curl php8.4-intl php8.4-pspell php8.4-sqlite3 php8.4-tidy php8.4-xsl php8.4-zip php8.4-mbstring php8.4-soap php8.4-opcache php8.4-common php8.4-readline php8.4-xml

4. Resetați versiunea implicită a PHP-ului sistemului de operare la versiunea corectă

PHP-ul implicit al sistemului de operare trebuie să rămână la versiunea originală. Pentru a remedia acest lucru, executați aceste comenzi una câte una:

update-alternative --config php 
update-alternative --config php-cgi 
update-alternative --config php-fpm.sock

Pe Debian 12, alegeți 8.2; pe Debian 11, alegeți 7.4; pe Debian 10, alegeți 7.3.

5 Adăugați versiuni PHP la ISPConfig

În ISPConfig 3, puteți configura noile versiuni PHP în System > Additional PHP Versions > Add new PHP version .

Mai întâi, trebuie să adăugați o nouă versiune pentru versiunea PHP deja instalată. Versiunea implicită depinde de versiunea pe care o utilizați:

Debian 10: PHP 7.3
Debian 11: PHP 7.4
Debian 12: PHP 8.2

Vedeți mai jos configurația pentru versiunea dvs.

Configurarea pentru versiunile suplimentare de PHP

PHP 5.6

Setări CGI rapide:

Calea către fișierul binar PHP FastCGI: /usr/bin/php-cgi5.6 
Calea către directorul php.ini: /etc/php/5.6/cgi/

Setări PHP-FPM:

Calea către scriptul de inițializare PHP-FPM:  php5.6-fpm 
Calea către directorul php.ini: /etc/php/5.6/fpm/ 
Calea către directorul pool PHP-FPM: /etc/php/5.6/fpm/pool.d/

Setări PHP-CLI:

Calea către fișierul binar CLI PHP: /usr/bin/php5.6 
Secțiunea Jailkit PHP: php5_6

Versiunea CLI pentru, de exemplu, cron jobs se numește php5.6

PHP 7.0

Setări CGI rapide:

Calea către fișierul binar PHP FastCGI: /usr/bin/php-cgi7.0 
Calea către directorul php.ini: /etc/php/7.0/cgi/

Setări PHP-FPM:

Calea către scriptul de inițializare PHP-FPM:  php7.0-fpm 
Calea către directorul php.ini: /etc/php/7.0/fpm/ 
Calea către directorul pool PHP-FPM: /etc/php/7.0/fpm/pool.d/

Setări PHP-CLI:

Calea către fișierul binar CLI PHP: /usr/bin/php7.0 
Secțiunea Jailkit PHP: php7_0

Versiunea CLI pentru, de exemplu, cron jobs se numește php7.0

PHP 7.1

Setări CGI rapide:

Calea către fișierul binar PHP FastCGI: /usr/bin/php-cgi7.1 
Calea către directorul php.ini: /etc/php/7.1/cgi/

Setări PHP-FPM:

Calea către scriptul de inițializare PHP-FPM: php7.1-fpm 
Calea către directorul php.ini: /etc/php/7.1/fpm/ 
Calea către directorul pool PHP-FPM: /etc/php/7.1/fpm/pool.d/

Setări PHP-CLI:

Calea către fișierul binar CLI PHP: /usr/bin/php7.1 
Secțiunea Jailkit PHP: php7_1

Versiunea CLI pentru, de exemplu, cron jobs se numește php7.1

PHP 7.2

Setări CGI rapide:

Calea către fișierul binar PHP FastCGI: /usr/bin/php-cgi7.2 
Calea către directorul php.ini: /etc/php/7.2/cgi/

Setări PHP-FPM:

Calea către scriptul de inițializare PHP-FPM: php7.2-fpm 
Calea către directorul php.ini: /etc/php/7.2/fpm/ 
Calea către directorul pool PHP-FPM: /etc/php/7.2/fpm/pool.d/

Setări PHP-CLI:

Calea către fișierul binar CLI PHP: /usr/bin/php7.2 
Secțiunea Jailkit PHP: php7_2

Versiunea CLI pentru, de exemplu, cron jobs se numește php7.2

PHP 7.3

Setări CGI rapide:

Calea către fișierul binar PHP FastCGI: /usr/bin/php-cgi7.3 
Calea către directorul php.ini: /etc/php/7.3/cgi/

Setări PHP-FPM:

Calea către scriptul de inițializare PHP-FPM: php7.3-fpm 
Calea către directorul php.ini: /etc/php/7.3/fpm/ 
Calea către directorul pool PHP-FPM: /etc/php/7.3/fpm/pool.d/

Setări PHP-CLI:

Calea către fișierul binar CLI PHP: /usr/bin/php7.3 
Secțiunea Jailkit PHP: php7_3

Versiunea CLI pentru, de exemplu, cron jobs se numește php7.3.

PHP 7.4

Setări CGI rapide:

Calea către fișierul binar PHP FastCGI: /usr/bin/php-cgi7.4 
Calea către directorul php.ini: /etc/php/7.4/cgi/

Setări PHP-FPM:

Calea către scriptul de inițializare PHP-FPM: php7.4-fpm 
Calea către directorul php.ini: /etc/php/7.4/fpm/ 
Calea către directorul pool PHP-FPM: /etc/php/7.4/fpm/pool.d/

Setări PHP-CLI:

Calea către fișierul binar CLI PHP: /usr/bin/php7.4 
Secțiunea Jailkit PHP: php7_4

Versiunea CLI pentru, de exemplu, cron jobs se numește php7.4

PHP 8.0

Setări CGI rapide:

Calea către fișierul binar PHP FastCGI: /usr/bin/php-cgi8.0 
Calea către directorul php.ini: /etc/php/8.0/cgi/

Setări PHP-FPM:

Calea către scriptul de inițializare PHP-FPM: php8.0-fpm 
Calea către directorul php.ini: /etc/php/8.0/fpm/ 
Calea către directorul pool PHP-FPM: /etc/php/8.0/fpm/pool.d/

Setări PHP-CLI:

Calea către fișierul binar CLI PHP: /usr/bin/php8.0 
Secțiunea Jailkit PHP: php8_0

Versiunea CLI pentru, de exemplu, cron jobs se numește php8.0

PHP 8.1

Setări CGI rapide:

Calea către fișierul binar PHP FastCGI: /usr/bin/php-cgi8.1 
Calea către directorul php.ini: /etc/php/8.1/cgi/

Setări PHP-FPM:

Calea către scriptul de inițializare PHP-FPM: php8.1-fpm 
Calea către directorul php.ini: /etc/php/8.1/fpm/ 
Calea către directorul pool PHP-FPM: /etc/php/8.1/fpm/pool.d/

Setări PHP-CLI:

Calea către fișierul binar CLI PHP: /usr/bin/php8.1 
Secțiunea Jailkit PHP: php8_1

Versiunea CLI pentru, de exemplu, cron jobs se numește php8.1

PHP 8.2

Setări CGI rapide:

Calea către fișierul binar PHP FastCGI: /usr/bin/php-cgi8.2 
Calea către directorul php.ini: /etc/php/8.2/cgi/

Setări PHP-FPM:

Calea către scriptul de inițializare PHP-FPM: php8.2-fpm 
Calea către directorul php.ini: /etc/php/8.2/fpm/ 
Calea către directorul pool PHP-FPM: /etc/php/8.2/fpm/pool.d/

Setări PHP-CLI:

Calea către fișierul binar CLI PHP: /usr/bin/php8.2 
Secțiunea Jailkit PHP: php8_2

Versiunea CLI pentru, de exemplu, cron jobs se numește php8.2

PHP 8.3

Setări CGI rapide:

Calea către fișierul binar PHP FastCGI: /usr/bin/php-cgi8.3 
Calea către directorul php.ini: /etc/php/8.3/cgi/

Setări PHP-FPM:

Calea către scriptul de inițializare PHP-FPM: php8.3-fpm 
Calea către directorul php.ini: /etc/php/8.3/fpm/ 
Calea către directorul pool PHP-FPM: /etc/php/8.3/fpm/pool.d/

Setări PHP-CLI:

Calea către fișierul binar CLI PHP: /usr/bin/php8.3 
Secțiunea Jailkit PHP: php8_3

Versiunea CLI pentru, de exemplu, cron jobs se numește php8.3

PHP 8.4

Setări CGI rapide:

Calea către fișierul binar PHP FastCGI: /usr/bin/php-cgi8.4 
Calea către directorul php.ini: /etc/php/8.4/cgi/

Setări PHP-FPM:

Calea către scriptul de inițializare PHP-FPM: php8.4-fpm 
Calea către directorul php.ini: /etc/php/8.4/fpm/ 
Calea către directorul pool PHP-FPM: /etc/php/8.4/fpm/pool.d/

Setări PHP-CLI:

Calea către fișierul binar CLI PHP: /usr/bin/php8.4 
Secțiunea Jailkit PHP: php8_4

Versiunea CLI pentru, de exemplu, cron jobs se numește php8.4.

[mai mult...]

Instalare automată perfectă a serverului ISPConfig 3 pe Debian 12 și Debian 13, Ubuntu 22.04 și Ubuntu 24.04

Acest tutorial vă va ajuta să instalați configurația ISPConfig 3 pe un singur server folosind programul de instalare automată ISPConfig.

Cerințe preliminare

  • Sistem de operare: Debian 12 și Debian 13, Ubuntu 22.04 sau Ubuntu 24.04.
  • Arhitectură CPU Intel sau AMD pe 64 de biți (x86_64, cunoscută și sub numele de AMD64) sau arhitectură CPU ARM (ARM64).
  • Sistemul trebuie să aibă acces la internet pentru a descărca și instala software-ul cu apt.
  • Începeți cu o instalare de bază a sistemului de operare curată și goală. Sistemul trebuie să fie complet accesibil de pe internet; nu blocați accesul cu un firewall, în special portul 80 pentru emiterea certificatelor LE și portul 8080 pentru accesul ISPConfig, plus porturile pentru toate serviciile pe care le utilizați pe acel sistem. Serverul trebuie să aibă, de asemenea, acces la internet pentru a descărca și instala software în timpul instalării și pentru a rezolva numele de domeniu prin DNS.

1. Conectați-vă la server

Conectați-vă ca root sau executați

su --login

pe Debian pentru a deveni utilizatorul root pe server înainte de a continua. IMPORTANT : Trebuie să utilizați „su –login” sau „su -” și nu doar „su”. Altfel, Debian va seta incorect variabila PATH.

Pe Ubuntu, utilizați comanda:

sudo -s

pentru a deveni utilizator root.

2. Configurați numele de gazdă și gazdele

Numele de gazdă al serverului dvs. ar trebui să fie un subdomeniu, cum ar fi „server1.example.com”. Nu utilizați un nume de domeniu fără o parte de subdomeniu, cum ar fi „example.com”, deoarece acest lucru va cauza probleme ulterioare la configurare. Mai întâi, ar trebui să verificați numele de gazdă în /etc/hosts și să îl modificați atunci când este necesar. Linia ar trebui să fie: „IP Address – space – full hostname incl. domain – space – subdomain part”. Pentru numele nostru de gazdă server1.example.com, fișierul ar trebui să arate astfel (unele linii pot fi diferite; poate diferi în funcție de furnizorul de găzduire):

nano /etc/hosts
127.0.0.1 localhost.localdomain localhost 
# Această linie ar trebui schimbată cu numele serverului corect: 
127.0.1.1 server1.example.com server1

# Următoarele linii sunt de dorit pentru gazdele compatibile cu IPv6
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Apoi editați fișierul /etc/hostname:

nano /etc/hostname

Va conține doar partea de subdomeniu, în cazul nostru:

server1

În final, reporniți serverul pentru a aplica modificarea:

restart systemctl

Conectați-vă din nou și verificați dacă numele de gazdă este corect acum cu aceste comenzi:

hostname 
hostane -f

Rezultatul va fi astfel:

root@server1:~$ hostname
server1 
root@server1:~$ hostname -f 
server1.exemplu.com

De asemenea, va trebui să configurați o înregistrare DNS la furnizorul dvs. DNS care să indice către serverul dvs. Ar trebui să existe o înregistrare A (și/sau AAAA) pentru subdomeniu care să indice către adresa dvs. IP publică.

3. Actualizați sistemul

Pentru a actualiza pachetele de sistem, executați comanda:

update apt și upgrade apt

4. Rulați programul de instalare automată

Acum putem rula programul de instalare automată. Configurarea de bază conține următoarele pachete software (plus dependențele acestora, desigur): Apache2, PHP (versiunile 5.6 – 8.3), MariaDB, Postfix, Dovecot, Rspamd, BIND, Jailkit, Roundcube, PHPMyAdmin, Mailman, Webalizer, AWStats și GoAccess. Puteți alege cu ușurință să nu utilizați anumite funcții sau să instalați servicii suplimentare prin transmiterea de argumente către programul de instalare. Consultați Capitolul 6 pentru opțiunile disponibile din linia de comandă.

Instalați ISPConfig cu serverul web Apache

Acum puteți rula scriptul cu argumente. De exemplu, dacă doriți o instalare normală cu serverul web Apache și un interval de porturi pentru FTP pasiv + actualizări nesupravegheate, rulați:

wget -O - https://get.ispconfig.org | sh -s -- --use-ftp-ports=40110-40210 --unattended-upgrades

Următorii pași sunt descriși în capitolul „Rularea programului de instalare automată”.

Instalați ISPConfig cu serverul web Nginx

Acum puteți rula scriptul cu argumente. De exemplu, dacă doriți o instalare normală cu serverul web Nginx și un interval de porturi pentru FTP pasiv + actualizări nesupravegheate, rulați:

wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --use-ftp-ports=40110-40210 --unattended-upgrades

Rularea programului de instalare automată

După un timp, veți vedea:

AVERTISMENT! Acest script va reconfigura întregul server! 
Ar trebui rulat pe un server proaspăt instalat și, cel mai probabil, toate configurațiile curente pe care le-ați făcut se vor pierde! 
Tastați „yes” dacă doriți cu adevărat să continuați:

Răspundeți cu „da” și apăsați Enter. Programul de instalare va porni acum.

Când programul de instalare este finalizat, acesta vă va afișa parola de administrator ISPConfig și parola de root MySQL, astfel:

[INFO] Parola dvs. de administrator ISPConfig este: 5GvfSSSYsdfdYC 
[INFO] Parola dvs. de root MySQL este: kkAkft82d!kafMwqxdtYs

Asigurați-vă că notați aceste informații, deoarece veți avea nevoie de ele mai târziu.

5. Configurarea firewall-ului

Ultimul lucru de făcut este să configurăm firewall-ul.

Conectați-vă la interfața ISPConfig și accesați Sistem -> Firewall. Apoi faceți clic pe „Adăugați o nouă înregistrare firewall”.

Pentru o configurație normală, ar arăta astfel:

TCP:

20,21,22,25,80,443,40110:40210,110,143,465,587,993,995,53,8080,8081

UDP:

53

Porturile necesare pentru fiecare serviciu sunt:

Web: 20, 21, 22, 80, 443 și 40110:40210 (Toate TCP, fără UDP)

E-mail: 25, 110, 143, 465, 587, 993 și 995 (Toate TCP, fără UDP)

DNS: 53 (TCP și UDP)

Panou: 8080 și 8081 (Toate TCP, fără UDP)

Serverul dvs. este acum configurat și gata de utilizare. Vă puteți conecta la https://server1.example.com:8080

6. Opțiuni avansate

Programul de instalare automată are diverse opțiuni din linia de comandă pentru reglarea fină a configurării.

Puteți vizualiza toate argumentele cu:

wget -O - https://get.ispconfig.org | sh -s -- --help

De exemplu, puteți alege între serverul web Apache și Nginx și ce servicii vor fi instalate pe sistem. Argumentele din linia de comandă sunt:

Utilizare: ispc3-ai.sh [] [...]

Acest script instalează automat toate pachetele necesare pentru o configurare ISPConfig 3 folosind instrucțiunile din ghidul „Perfect Server Setup” de pe www.howtoforge.com.

Argumentele posibile sunt:
    --help Afișează această pagină de ajutor.
    --debug Activează înregistrarea detaliată a înregistrării (înregistrează fiecare comandă cu codul de ieșire).
    --channel Alegeți canalul de utilizat pentru ISPConfig: --channel=<stable|dev>
                    „stable” este cea mai recentă versiune ISPConfig disponibilă pe www.ispconfig.org
                    „dev” este cea mai recentă ramură dev din depozitul git ISPConfig: https://git.ispconfig.org/ispconfig/ispconfig3/tree/develop
                    Canalul de dezvoltare ar putea conține erori și funcții mai puțin testate și ar trebui utilizat în producție doar de către utilizatori foarte experimentați.
    --lang Folosește limba pentru instalarea ISPConfig. Specifică cu --lang=en|de (în prezent sunt acceptate doar en (engleză) și de (germană).
    --interactive Nu instalați ISPConfig în modul neinteractiv.
                    Acest lucru este necesar dacă doriți să utilizați modul expert, de exemplu, pentru a instala un server slave care va fi integrat într-o configurație multiserver existentă.
    --use-nginx Folosește serverul web nginx în loc de apache2.
    --use-amavis Folosește amavis în loc de rspamd pentru filtrarea e-mailurilor.
    --use-unbound Folosește unbound în loc de bind9 pentru rezolvarea locală. Permis doar dacă este setat --no-dns.
    --use-php Folosește versiuni specifice de PHP, separate prin virgulă, în loc să instalezi mai multe versiuni PHP, de exemplu --use-php=7.4,8.0 (5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2 și 8.3 disponibile).
                    --use-php=system dezactivează depozitul sury și instalează doar versiunea implicită de PHP a sistemului. Nu utilizați opțiunea system pe Debian 13, deoarece îi lipsește pachetul PHP imap.
                    --use-php, omițând argumentul, folosește toate versiunile.
    --use-ftp-ports Această opțiune setează intervalul de porturi pasive pentru pure-ftpd. Trebuie să specificați intervalul de porturi separat prin cratimă, de exemplu --use-ftp-ports=40110-40210.
                    Dacă nu este furnizat, intervalul de porturi pasive nu va fi configurat.
    --use-certbot Folosește Certbot în loc de acme.sh pentru emiterea certificatelor Let's Encrypt. Nu este recomandat decât dacă migrezi de pe un server vechi care folosește Certbot.
    --no-web Nu utilizați ISPConfig pe acest server pentru a gestiona setările serverului web și nu instalați nginx/apache sau pureftpd.
                    Acest lucru va împiedica, de asemenea, instalarea unei interfețe utilizator ISPConfig și implică atât --no-roundcube, cât și --no-pma.
    --no-mail Nu utilizați ISPConfig pe acest server pentru a gestiona setările serverului de mail.
                    Aceasta va instala postfix pentru trimiterea de e-mailuri de sistem, dar nu și dovecot și nu va configura nicio setare pentru e-mailurile ISPConfig. Aceasta implică --no-mailman.
    --no-dns Nu utilizați ISPConfig pe acest server pentru a gestiona intrările DNS. Bind va fi instalat doar pentru memorarea în cache / rezolvarea DNS locală.
    --no-local-dns Nu instalează cache-ul DNS local / rezolvarea prin bind.
    --no-firewall Nu instalați ufw și spuneți-i lui ISPConfig să nu gestioneze setările firewall pe acest server.
    --no-roundcube Nu instalați webmail-ul Roundcube.
    --roundcube Instalează Roundcube chiar și atunci când se folosește --no-mail. Este necesară configurarea manuală a configurației Roundcube.
    --no-pma Nu instalați PHPMyAdmin pe acest server.
    --no-mailman Nu instalează managerul de liste de discuții Mailman.
    --no-quota Dezactivează cota sistemului de fișiere.
    --no-ntp Dezactivează configurarea NTP.
    --no-jailkit Nu instalați jailkit.
    --no-ftp Nu instalează serverul pure-ftpd.
    --monit Instalează Monit și configurează-l să monitorizeze serviciile instalate. Servicii suportate: Apache2, NGINX, MariaDB, pure-ftpd-mysql, php-fpm, ssh, named, Postfix, Dovecot, rspamd.
    --monit-alert-email
                    Configurați alerte pentru ca Monit să fie trimis la adresa de e-mail dată. de exemplu --monit-alert-email=me@example.com .
    --ssh-port Configurați serverul SSH să asculte pe un port diferit de cel implicit. Numărul portului trebuie să fie între 1 și 65535 și nu poate fi utilizat de alte servicii. de exemplu --ssh-port=64.
    --ssh-permis-root
                    Configurați serverul SSH dacă permite sau nu autentificarea ca root: --ssh-permit-root=<da|fără-parolă|nu>, de exemplu --ssh-permit-root=fără-parolă.
    --ssh-parolă-autentificare
                    Configurați serverul SSH dacă permite sau nu autentificarea prin parolă: --ssh-password-authentication=<yes|no>, de exemplu -ssh-password-authentication=no.
    --ssh-harden Configurați serverul SSH pentru a avea o configurație de securitate mai puternică.
    --upgrade-nesupravegheate
                    Instalați UnattendedUpgrades. Puteți adăuga argumente suplimentare pentru curățarea automată și repornirile automate atunci când este necesar: --unattended-upgrades=autoclean,reboot (sau doar unul)
                    dintre ei).
    --știu-ce-fac
                    Împiedicați programul de instalare automată să solicite confirmare înainte de a continua reconfigurarea serverului.

De exemplu, pentru a instala o configurație de tip „Perfect Server” cu Nginx în loc de Apache, utilizați această comandă:

wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --use-ftp-ports=40110-40210 --unattended-upgrades

Sau pentru a instala un server web Nginx fără servicii de e-mail și DNS:

wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --no-dns --no-mail --use-ftp-ports=40110-40210 --unattended-upgrades

8. Depanare în caz de eroare

Dacă ceva nu merge bine în timpul instalării, puteți depana procesul adăugând indicatorul de linie de comandă –debug la comanda de instalare. Aceasta va scrie un fișier jurnal.

/tmp/ispconfig-ai/var/log/ispconfig.log

De asemenea, opțiunea –interactive din linia de comandă poate ajuta la dezvăluirea motivului unei erori de instalare.

9. Descărcați ca mașină virtuală

Această configurare este disponibilă ca descărcare de mașină virtuală în format ova/ovf (compatibil cu VMWare și Virtualbox) pentru abonații howtoforge. Mașina virtuală este bazată pe Debian 12 și folosește Apache ca server web.

Detalii de conectare pentru mașina virtuală

  • Parola de root este: howtoforge
  • Parola utilizatorului ISPConfig „admin” este: howtoforge
  • Există un alt utilizator shell cu numele „administrator” și parola: howtoforge
  • Parola de root MySQL este: 7s8EtDL1QhorSaeHhnRh

Vă rugăm să schimbați toate parolele la prima autentificare.

  • Adresa IP a mașinii virtuale este 192.168.0.100
[mai mult...]

Instalare Pure-FTPd pe Ubuntu 24.04

Pure-FTPd este un software gratuit, open-source, pentru servere FTP, disponibil pentru Ubuntu și alte distribuții Linux. Conceput cu accent pe securitate, performanță și ușurință în utilizare, Pure-FTPd oferă funcții robuste, cum ar fi suport pentru utilizatori virtuali, conexiuni criptate folosind TLS/SSL și diverse mecanisme de autentificare. De asemenea, oferă funcții precum limitarea lățimii de bandă,restricționarea permisiunilor utilizatorilor și activarea accesului FTP anonim. Pure-FTPd este adesea ales pentru simplitatea sa în configurare în comparație cu alte servere FTP, ceea ce îl face o alegere populară atât pentru implementări mici, cât și pentru cele la scară largă pe sistemele Ubuntu.

Protocolul de transfer de fișiere (FTP) este un protocol de rețea standard utilizat pentru transferul de fișiere între un client și un server printr-o rețea, cum ar fi internetul. Dezvoltat la începutul anilor 1970, FTP permite utilizatorilor să încarce, să descarce și să gestioneze fișiere pe un server la distanță. Acesta funcționează folosind două canale: un canal de comandă pentru controlul conexiunii și un canal de date pentru transferul de fișiere.

Cerințe preliminare pentru instalarea Pure-FTPd

Înainte de a continua instalarea, asigurați-vă că aveți:

  • Configurarea unui server Ubuntu
  • Accesul la un cont de utilizator cu sudoprivilegii

Instalarea pas cu pas a Pure-FTPd

Actualizarea pachetelor de sistem

Mai întâi, actualizați lista de pachete a sistemului:

sudo apt update

Instalarea Pure-FTPd

Apoi, instalați Pure-FTPd folosind următoarea comandă:

sudo apt install pure-ftpd

Configurarea Pure-FTPd pentru securitate îmbunătățită

Configurarea unui mediu securizat

Creați un grup dedicat utilizatorilor FTP:

sudo groupadd ftpgroup

Creați un utilizator pentru Pure-FTPd:

sudo useradd -g ftpgroup -d /dev/null -s /etc ftpuser

Gestionarea accesului utilizatorilor

Pentru a adăuga un utilizator la serverul FTP:

sudo pure-pw useradd [username] -u ftpuser -g ftpgroup -d /home/ftpusers/[username]
sudo pure-pw mkdb

Înlocuiți [username]cu numele de utilizator dorit.

Configurarea TLS pentru transfer securizat de date

Generați un certificat autosemnat:

sudo openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Modificați configurația Pure-FTPd pentru a activa TLS:

echo 1 | sudo tee /etc/pure-ftpd/conf/TLS
sudo service pure-ftpd restart

Opțiuni avansate de configurare

Iată o listă de setări comune care pot fi configurate pentru Pure-FTPd în directorul /etc/pure-ftpd/conf/ pe Ubuntu. Numele fișierului de configurare este scris cu caractere aldine.

  • AltLog : Specifică metode alternative de înregistrare în jurnal. De exemplu, AltLog clf:/var/log/pureftpd.log va înregistra transferurile în format W3C.
  • AnonymousOnly : Când este activată (prin crearea unui fișier numit AnonymousOnly), restricționează serverul să permită doar conectări anonime.
  • AntiWarez : Dacă acest fișier există, utilizatorilor le este interzis să încarce fișiere care există deja pe server.
  • Redenumire automată : Redenumește automat fișierele încărcate dacă există un fișier cu același nume.
  • Bind : Leagă serverul la o anumită adresă IP și un port. De exemplu, Bind 21 se leagă la portul 21 pe toate adresele disponibile.
  • BrokenClientsCompatibility : Permite compatibilitatea cu clienții FTP care nu respectă strict standardele FTP.
  • ChrootEveryone : Dacă este activat, restricționează toți utilizatorii la directorul lor principal.
  • CreateHomeDir : Creează automat directoarele principale dacă acestea nu există atunci când un utilizator se conectează.
  • Rezistență la clienți : Crește rezistența împotriva greșelilor frecvente făcute în configurațiile și comenzile clientului.
  • Daemonizare : Când acest fișier există, Pure-FTPd va rula ca un daemon.
  • DisplayDotFiles : Controlează dacă fișierele cu puncte (fișiere ascunse) sunt afișate sau nu.
  • DontResolve : Împiedică rezoluția DNS pentru înregistrarea în jurnal și controlul lățimii de bandă, ceea ce poate îmbunătăți performanța.
  • ExtAuth : Specifică un program extern pentru autentificarea utilizatorului.
  • ForcePassiveIP : Forțează serverul să raporteze o anumită adresă IP clienților în mod pasiv.
  • FSCharset : Setează setul de caractere al sistemului de fișiere, util pentru numele de fișiere non-ASCII.
  • IPv4Only sau IPv6Only : Restricționează serverul să asculte doar adresele IPv4 sau IPv6.
  • KeepAllFiles : Previne ștergerea oricăror fișiere de pe server.
  • LDAPConfigFile : Specifică calea către fișierul de configurare LDAP pentru autentificare.
  • LimitRecursion : Limitează adâncimea recursivității și numărul de fișiere afișate în listele de directoare.
  • MaxClientsNumber : Limitează numărul maxim de clienți simultani.
  • MaxClientsPerIP : Restricționează numărul de conexiuni simultane de la o singură adresă IP.
  • MaxDiskUsage : Limitează procentul de utilizare a discului.
  • MaxIdleTime : Setează timpul maxim de inactivitate în minute înainte de deconectarea unui client.
  • MaxLoad : Deconectează clienții sau refuză conexiuni noi peste o anumită sarcină de sistem.
  • MinUID : Setează UID-ul minim pentru autentificare. Utilizatorii cu un UID mai mic nu se pot autentifica.
  • MySQLConfigFile : Specifică calea către fișierul de configurare MySQL pentru autentificarea bazată pe baze de date.
  • NoAnonymous : Dezactivează autentificările anonime dacă acest fișier există.
  • NoChmod : Dezactivează comanda CHMOD pe server.
  • NoRename : Împiedică utilizatorii să redenumească fișierele.
  • PassivePortRange : Definește un interval de porturi pentru conexiuni pasive (de exemplu, 30000 35000).
  • PerUserLimits : Setează limite pentru fiecare utilizator în parte.
  • PureDB : Specifică calea către fișierul bazei de date de utilizatori PureDB.
  • Cotă : Setează limitele cotei pentru utilizatori.
  • SyslogFacility : Definește facilitatea syslog pentru înregistrare în jurnal.
  • TLSCipherSuite : Specifică cifrurile TLS permise pentru conexiunile criptate.
  • TrustedGID : Specifică o listă de ID-uri de grup de încredere pentru autentificare.
  • UMask : Setează umaska ​​implicită pentru crearea fișierelor.
  • UnixAuthentication : Activează autentificarea în baza de date de parole UNIX.
  • UploadScript : Specifică un script care va fi rulat după o încărcare reușită.

Această listă acoperă cele mai utilizate opțiuni de configurare, dar nu este exhaustivă. Consultați întotdeauna documentația oficială Pure-FTPd sau utilizați

pure-ftpd-wrapper --help

comandă pentru cele mai precise și complete informații.

Exemple

Iată o listă de setări Pure-FTPd în /etc/pure-ftpd/conf/ cu exemple pentru a ilustra tipurile de valori pe care le acceptă:

  • AltLog :AltLog clf:/var/log/pureftpd.log
    • Exemplu:clf:/var/log/pureftpd.log
  • AnonymousOnly : Activați prin crearea unui fișier numit AnonymousOnly.
    • Nu este nevoie de valoare.
  • AntiWarez : Activați prin crearea unui fișier numit AntiWarez.
    • Nu este nevoie de valoare.
  • Redenumire automată : Activați prin crearea unui fișier numit AutoRename.
    • Nu este nevoie de valoare.
  • Legătură :Bind 21
    • Exemplu:192.168.0.1,21
  • BrokenClientsCompatibility : Activați prin crearea unui fișier numit BrokenClientsCompatibility.
    • Nu este nevoie de valoare.
  • ChrootEveryone : Activați prin crearea unui fișier numit ChrootEveryone.
    • Nu este nevoie de valoare.
  • CreateHomeDir : Activare prin crearea unui fișier numit CreateHomeDir.
    • Nu este nevoie de valoare.
  • CustomerProof : Activați prin crearea unui fișier numit CustomerProof.
    • Nu este nevoie de valoare.
  • Daemonizare : Activați prin crearea unui fișier numit Daemonize.
    • Nu este nevoie de valoare.
  • DisplayDotFiles : Activați prin crearea unui fișier numit DisplayDotFiles.
    • Nu este nevoie de valoare.
  • DontResolve : Activați prin crearea unui fișier numit DontResolve.
    • Nu este nevoie de valoare.
  • ExtAuth :ExtAuth /path/to/authenticator
    • Exemplu:/usr/local/bin/myauth
  • ForcePassiveIP :ForcePassiveIP 192.168.0.1
    • Exemplu:192.168.0.1
  • Set de caractere FSCharset :FSCharset utf-8
    • Exemplu:utf-8
  • IPv4Only sau IPv6Only : Activați prin crearea unui fișier numit IPv4Onlysau IPv6Only.
    • Nu este nevoie de valoare.
  • KeepAllFiles : Activați prin crearea unui fișier numit KeepAllFiles.
    • Nu este nevoie de valoare.
  • Fișier de configurare LDAP :LDAPConfigFile /etc/pure-ftpd/ldap.conf
    • Exemplu:/etc/pure-ftpd/ldap.conf
  • LimitRecursivitate :LimitRecursion 10000 8
    • Exemplu: 10000 8(10000 de fișiere, 8 niveluri de adâncime)
  • Număr maxim de clienți :MaxClientsNumber 50
    • Exemplu:50
  • CliențiMaximiPerIP :MaxClientsPerIP 8
    • Exemplu:8
  • UtilizareMaxDisk :MaxDiskUsage 95
    • Exemplu: 95(95%)
  • Timp maxim de inactivitate :MaxIdleTime 15
    • Exemplu: 15(15 minute)
  • Încărcare maximă :MaxLoad 4.0
    • Exemplu:4.0
  • UID minim :MinUID 1000
    • Exemplu:1000
  • Fișier de configurare MySQL :MySQLConfigFile /etc/pure-ftpd/mysql.conf
    • Exemplu:/etc/pure-ftpd/mysql.conf
  • NoAnonymous : Activați prin crearea unui fișier numit NoAnonymous.
    • Nu este nevoie de valoare.
  • NoChmod : Activați prin crearea unui fișier numit NoChmod.
    • Nu este nevoie de valoare.
  • NoRename : Activați prin crearea unui fișier numit NoRename.
    • Nu este nevoie de valoare.
  • IntervalPortPasiv :PassivePortRange 30000 35000
    • Exemplu:30000 35000
  • Limite per utilizator :PerUserLimits 8
    • Exemplu: 8(8 conexiuni simultane per utilizator)
  • PureDB :PureDB /etc/pure-ftpd/pureftpd.pdb
    • Exemplu:/etc/pure-ftpd/pureftpd.pdb
  • Cotă :Quota 1000M
    • Exemplu: 1000M(1000 megaocteți)
  • Facilitatea Syslog :SyslogFacility ftp
    • Exemplu:ftp
  • TLSCipherSuite :TLSCipherSuite HIGH:MEDIUM:+TLSv1:!SSLv2:+SSLv3
    • Exemplu:HIGH:MEDIUM:+TLSv1:!SSLv2:+SSLv3
  • IDG de încredere :TrustedGID 1000
    • Exemplu:1000
  • Mască U :UMask 133:022
    • Exemplu: 133:022(Fișiere: 133, Directoare: 022)
  • UnixAuthentication : Activați prin crearea unui fișier numit UnixAuthentication.
    • Nu este nevoie de valoare.
  • ÎncărcareScript :UploadScript /path/to/script
    • Exemplu:/usr/local/bin/uploadscript

Aceste exemple ar trebui să clarifice modul de configurare a diverselor opțiuni în Pure-FTPd.

Monitorizare și întreținere

Verificați periodic jurnalele /var/log/pure-ftpd/pentru a depista orice activități neobișnuite sau erori.

[mai mult...]

Rezolvarea numelor de domeniu DNS folosind comanda dig pe Linux

Comanda dig din Linux, prescurtare de la „Domain Information Groper”, este un instrument de administrare a rețelei utilizat pentru interogarea serverelor DNS (Domain Name System) . Permite utilizatorilor să recupereze informații despre nume de domeniu, cum ar fi adrese IP, servere de mail (înregistrări MX) și alte înregistrări de resurse DNS. Utilizată în principal pentru depanarea problemelor DNS, dig oferă rezultate detaliate, inclusiv timpul de răspuns al interogărilor și serverul DNS care a furnizat informațiile.

Flexibilitatea și precizia sa îl fac un instrument preferat de administratorii de rețea pentru diagnosticarea problemelor DNS, testarea configurațiilor de domeniu și efectuarea de căutări DNS, comparativ cu comenzi mai simple, cum ar fi nslookup.

Folosește comanda dig pentru a rezolva un nume de domeniu

Rezolvarea problemei domeniului example.com:

dig example.com

Dacă domeniul poate fi rezolvat, rezultatul va fi similar cu acesta:

root@server1:~# dig howtoforge.com 

; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> howtoforge.com 
;; opțiuni globale: +cmd 
;; Răspuns primit: 
;; ->>ANTET<<- cod de operare: INTEROGARE, stare: NOERROR, id: 50297 
;; flags: qr rd ra; INTEROGARE: 1, RĂSPUNS: 2, AUTORITATE: 0, SUPLIMENTAR: 1 

;; PSEUDOSECȚIE OPT: 
; EDNS: versiune: 0, flags:; udp: 512 
;; SECȚIUNE DE ÎNTREBĂRI: 
;howtoforge.com. ÎNTR-O 

;; SECȚIUNE DE RĂSPUNSURI: 
howtoforge.com. 299 ÎNTR-O 104.24.0.68 
howtoforge.com. 299 ÎNTR-O 104.24.1.68 

;; Timp de interogare: 233 msec 
;; SERVER: 8.8.8.8#53(8.8.8.8) 
;; CÂND: Miercuri, 8 august 2024, ora 12:35:15 CEST 
;; DIMENSIUNE MSG primit: 75

Cum se interoghează serverul DNS local cu dig

Pentru a verifica dacă serverul web local este responsabil pentru acest domeniu, utilizați următoarea comandă:

dig @localhost example.com

Obțineți numele serverului de mail cu dig

Dacă vrei să știi care server de mail este responsabil pentru gestionarea mailurilor de pe example.com, poți folosi comanda:

dig MX example.com

Rezultatul va fi similar cu acesta:

root@server1:~# dig MX howtoforge.com 

; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> MX howtoforge.com 
;; opțiuni globale: +cmd 
;; Răspuns primit: 
;; ->>ANTET<<- cod de operare: INTEROGARE, stare: NOERROR, id: 14115 
;; flags: qr rd ra; INTEROGARE: 1, RĂSPUNS: 1, AUTORITATE: 0, SUPLIMENTAR: 1 

;; PSEUDOSECȚIE OPT: 
; EDNS: versiune: 0, flags:; udp: 512 
;; SECȚIUNE ÎNTREBĂRI: 
;howtoforge.com. ÎN MX 

;; SECȚIUNE RĂSPUNS: 
howtoforge.com. 299 ÎN MX 10 mail.howtoforge.com. 

;; Timp de interogare: 205 msec 
;; SERVER: 8.8.4.4#53(8.8.4.4) 
;; CÂND: Miercuri, 8 august 2024, ora 10:36:30 CEST 
;; DIMENSIUNEA MESAJULUI PRIVAT: 64

Obțineți mai multe opțiuni ale comenzii dig

Pentru a obține toate opțiunile disponibile pentru comanda dig, puteți rula:

dig --help

O descriere mai detaliată veți găsi în pagina de manual a comenzii dig:

man dig

Iată un fragment din pagina de manual a instrumentului care explică din plin cum se utilizează dig:

O invocare tipică a comenzii dig arată astfel: 

dig @server name type 

unde: 

  server 
     este numele sau adresa IP a serverului de nume care urmează să fie interogat. Aceasta poate fi o adresă IPv4 în 
     notație zecimală punctată sau o adresă IPv6 în notație delimitată prin două puncte. Când 
     argumentul server furnizat este un nume de gazdă, dig rezolvă acel nume înainte de a interoga serverul de nume respectiv. 

     Dacă nu este furnizat niciun argument server, dig consultă /etc/resolv.conf; dacă se găsește o adresă 
     acolo, interoghează serverul de nume la acea adresă. Dacă oricare dintre opțiunile -4 sau -6 este 
     utilizată, atunci se vor încerca doar adresele pentru transportul corespunzător. Dacă nu 
     se găsesc adrese utilizabile, dig va trimite interogarea către gazda locală. 
     Se afișează răspunsul de la serverul de nume care răspunde. 

  name 
     este numele înregistrării resursei care urmează să fie căutată. 

  type 
     indică ce tip de interogare este necesar - ANY, A, MX, SIG etc. type poate fi orice 
     tip de interogare valid. Dacă nu este furnizat niciun argument type, dig va efectua o căutare pentru o înregistrare A.

Dacă doriți, puteți forța comanda dig să elimine anumite secțiuni din afișajul rezultatului. De exemplu, pentru a comuta afișarea liniilor de comentarii în rezultat sau în secțiunea de întrebări a unei interogări atunci când este returnat un răspuns, utilizați opțiunile +nocomments și +noquestion.

Următoarea captură de ecran prezintă aceste opțiuni în acțiune:

Obțineți serverele de nume ale unui domeniu

Continuând, puteți interoga înregistrări NS precum înregistrări MX prin comanda dig. Iată cum puteți face acest lucru:

dig NS example.com

Următorul este rezultatul pe care l-a produs această comandă în cazul nostru:

Obțineți adresa IP a unui nume de domeniu cu comanda dig

Dacă doriți ca dig să afișeze doar adresa IP a serverului, utilizați opțiunea +short.

De exemplu:

dig example.com +short

Dacă doriți să interogați mai multe site-uri web/servere simultan, puteți crea o listă de nume într-un fișier și puteți transmite numele fișierului respectiv ca intrare pentru opțiunea -f a comenzii dig.

-f fișier 

Mod batch: dig citește o listă de cereri de căutare pentru a fi procesate din fișierul dat. Fiecare linie din 
fișier ar trebui să fie organizată în același mod în care ar fi prezentată ca interogări către dig folosind 
interfața din linia de comandă.

Iată un exemplu:

[mai mult...]

Tutorial pentru comanda chmod în Linux pentru începători

Comanda chmod din Linux este utilizată pentru a modifica permisiunile fișierelor și directoarelor într-un sistem de operare bazat pe Linux. Aceasta permite utilizatorilor să definească cine poate citi, scrie sau executa un fișier prin modificarea setărilor de permisiuni. Permisiunile sunt de obicei atribuite la trei categorii: proprietarul fișierului, grupul căruia îi aparține fișierul și alții (toți ceilalți).

Comanda chmod poate fi utilizată cu notație simbolică (de exemplu, chmod u+x nume_fișier pentru a adăuga permisiunea de execuție pentru utilizator) sau cu notație numerică (de exemplu, chmod 755 nume_fișier pentru a seta permisiuni specifice de citire, scriere și execuție pentru fiecare categorie). Această comandă este esențială pentru gestionarea controlului accesului pe un sistem, asigurându-se că fișierele și directoarele au setările de securitate corespunzătoare.

Vă rugăm să rețineți că toate exemplele și instrucțiunile menționate în acest tutorial au fost testate pe Ubuntu 24.04, iar versiunea chmod pe care am folosit-o este 8.25.

Noțiuni de bază despre Chmod

Luați în considerare următorul  exemplu de comandă ls :

Prima coloană din rezultat este de interes pentru noi. Lăsați deoparte semnul „-” inițial (care indică tipul de fișier). Câmpurile rămase din coloană pot fi defalcate în continuare astfel: rw- , rw- și r–. Acestea sunt permisiunile pe care le au proprietarul fișierului, grupul căruia îi aparține fișierul și alte persoane asupra acestui fișier.

Aceasta înseamnă că proprietarul are atât permisiuni de citire (r), cât și permisiuni de scriere (w), la fel ca și grupul. Alții, însă, au doar permisiuni de citire pentru fișier. Rețineți că presupunem că utilizatorul curent deține fișierul.

Acum, să presupunem că cerința este de a acorda tuturor dreptul de a executa acest fișier. Iată cum se poate face acest lucru:

chmod +x script.sh

Iată permisiunile acum:

„X”-ul suplimentar din permisiunile pentru proprietar, grup și alte persoane semnifică faptul că toată lumea are acum acces de execuție pentru acest fișier.

Totuși, cel mai probabil este să nu doriți ca toată lumea să aibă acces de execuție pentru un fișier. Ce se întâmplă dacă cerința este de a acorda acces de execuție la script.sh doar proprietarului/utilizatorului curent. Ei bine, pentru aceasta, primul pas acum ar fi să retrageți accesul de execuție de la toată lumea, lucru pe care îl puteți face folosind următoarea comandă:

chmod -x script.sh

Și apoi acordă-l explicit proprietarului:

chmod u+x script.sh

După cum ați fi ghicit, „u+x” spune să acorde (+) proprietarului/utilizatorului curent (u) acces de execuție (x) la fișier. În mod similar, pentru grup, puteți folosi „g”, iar pentru alții puteți folosi „o”.

Rețineți că ori de câte ori doriți să acordați/revocați un set comun de permisiuni către/de la toți, puteți folosi „a” în loc de „ugo”. Ceea ce vreau să spun este:

chmod ugo-x script.sh

poate fi înlocuit cu acesta:

chmod ax script.sh

De asemenea, rețineți că, dacă niciuna dintre acestea („u”, „g”, „o” și „a”) nu este specificată explicit, atunci se presupune că și valoarea implicită este „a”. Continuând, dacă doriți, puteți, de asemenea, să copiați pur și simplu permisiunile acordate, de exemplu, proprietarului/utilizatorului curent și să le păstrați pentru grup sau pentru alții. Pentru aceasta, utilizați semnul „=”.

De exemplu, pentru a copia permisiunile de proprietar/utilizator într-un grup, utilizați următoarea comandă:

chmod g=u script.sh

Un alt scenariu ar putea fi copierea permisiunilor pentru un anumit fișier și păstrarea acestora pentru fișierul dvs. Pentru aceasta, utilizați opțiunea de linie de comandă –reference . Iată șablonul general pentru utilizarea acestei opțiuni de linie de comandă:

chmod --reference=[fișier-sursă] [fișier destinație]

În comanda de mai sus, fișier-sursă este fișierul ai cărui biți de permisiune doriți să îi copiați, iar fișier-destinație este fișierul ai cărui biți de permisiune doriți să îi modificați.

Mergând mai departe, există și o notație numerică (cunoscută și sub numele de reprezentare octală) folosind care poți spune lui chmod să modifice permisiunile. Există trei numere cu care te joci în acest mod: 4, 2 și 1. În timp ce 4 este pentru citire, celelalte două sunt pentru scriere și respectiv executare.

De exemplu, luați în considerare următorul exemplu:

Acum, să presupunem că sarcina este de a adăuga permisiunea de execuție pentru proprietar/utilizator, de a elimina permisiunea de scriere, dar de a adăuga permisiunea de execuție grupului și de a elimina toate permisiunile de la ceilalți. Acest lucru se poate face după cum urmează:

chmod 750 script.sh

În comanda de mai sus, „7” este pentru utilizator, rezultatul a 4+2+1, deoarece cerința pentru utilizator este să dețină toate permisiunile. În mod similar, „5” este pentru grup, rezultatul a 4+0+1, deoarece cerința este de a acorda grupului doar permisiuni de citire și execuție. În cele din urmă, „0” este pentru ceilalți, rezultatul a 0+0+0, deoarece cerința este de a revoca toate permisiunile celorlalți.

Pentru cei care lucrează cu linkuri simbolice, iată câteva lucruri de știut:

chmod nu modifică niciodată permisiunile legăturilor simbolice; apelul de sistem chmod nu poate modifica permisiunile acestora. Aceasta nu este o problemă, deoarece 
permisiunile legăturilor simbolice nu sunt niciodată utilizate. Cu toate acestea, pentru fiecare legătură simbolică listată în linia de comandă, chmod modifică permisiunile 
fișierului indicat. În schimb, chmod ignoră legăturile simbolice întâlnite în timpul traversărilor recursive de directoare.

Referință linie de comandă

Comanda chmod din Linux are mai multe opțiuni în linia de comandă care îi modifică comportamentul. Iată o listă cu cele mai frecvent utilizate opțiuni:

  • -R, –recursive: Această opțiune aplică recursiv modificările permisiunilor tuturor fișierelor și directoarelor din directorul specificat. Este utilă atunci când doriți să modificați permisiunile unui director și ale întregului său conținut dintr-o dată.Exemplu: chmod -R 755 /calea/către/director
  • -c, –changes: Această opțiune raportează doar când se face o modificare. Dacă permisiunile sunt modificate cu succes, afișează un mesaj care indică modificarea.Exemplu: chmod -c 644 numefișier
  • -v, –verbose: Această opțiune oferă informații detaliate despre fiecare fișier procesat, indiferent dacă permisiunile au fost modificate sau nu.Exemplu: chmod -v 755 numefișier
  • -reference=RFILE: În loc să specificați direct permisiunile, această opțiune vă permite să setați permisiunile unui fișier sau director pentru a se potrivi cu un alt fișier sau director (RFILE).Exemplu: chmod –reference=file1 file2
  • -f, –silent, –quiet: Această opțiune suprimă majoritatea mesajelor de eroare, făcând comanda să se execute fără a afișa rezultatul pentru erori.Exemplu: chmod -f 755 numefișier

Aceste opțiuni permit utilizarea flexibilă a chmod în diverse scenarii, de la ajustări ale unui singur fișier până la modificări ale permisiunilor directorului la scară largă.

[mai mult...]

Linux env Command Tutorial For Beginners

Comanda Linux env este utilizată pentru a afișa și gestiona variabilele de mediu într-o sesiune shell. Variabilele de mediu sunt valori dinamice care afectează procesele sau programele care rulează în shell, cum ar fi căile către fișierele executabile, setările specifice utilizatorului și comportamentul sistemului. Prin rularea comenzii env fără argumente, aceasta listează toate variabilele de mediu curente și valorile acestora. În plus, env poate fi utilizat pentru a executa o comandă cu un mediu modificat prin setarea temporară sau suprascrierea anumitor variabile de mediu pe durata comenzii respective. Acest lucru este util pentru testarea sau rularea programelor într-un mediu specific fără a modifica configurația globală.

Dar înainte de a face asta, merită menționat faptul că toate comenzile și instrucțiunile din acest tutorial au fost testate pe Debian 12 și Ubuntu 24.04.

Comandă Linux env

Prin definiție, comanda env vă permite să rulați un program într-un mediu modificat. Sintaxa comenzii, așa cum este menționată pe pagina sa de manual, este următoarea:

mediu [OPȚIUNE]... [-] [NUME=VALOARE]... [COMANDĂ [ARG]...]

Și iată ce spune pagina de manual despre mediu:

Setați fiecare NAME la VALUE în mediu și executați COMMAND.

Următoarele exemple în stil Întrebări și Răspunsuri ar trebui să vă ofere o idee mai bună despre cum funcționează această comandă:

Î1. Cum se accesează toate variabilele de mediu folosind comanda env?

Mediul Bash, după cum probabil știți deja, constă din intrări VARNAME=VALUE. Pentru a accesa toate variabilele de mediu, precum și valorile asociate acestora, executați comanda env fără nicio opțiune.

mediu

Iată rezultatul comenzii de mai sus în cazul nostru:

Î2. Cum se schimbă temporar mediul folosind env?

Caracteristica cheie a programului env este capacitatea de a modifica temporar mediul unui proces. De exemplu, am creat un mic fișier executabil — denumit env — care afișează valoarea variabilei de mediu USER la execuție.

Iată rezultatul în scenariul normal:

Acum, ceea ce am făcut a fost să folosim comanda env pentru a schimba temporar valoarea variabilei de mediu USER de la „himanshu” la „HTF” pentru executabil/proces. Iată comanda pe care am folosit-o în acest caz:

mediu UTILIZATOR=HTF ./mediu

Și iată rezultatul produs în acest caz:

Deci puteți vedea că executabilul a returnat noua valoare.

Notă: Așa cum sugerează sintaxa generică a instrumentului, puteți modifica valorile mai multor variabile de mediu și puteți face ca procesul să utilizeze aceste valori noi.

Î3. Cum se poate face ca un proces să ignore mediul existent folosind env?

Dacă doriți, puteți face ca un proces să ignore mediul existent/moștenit și să înceapă cu unul gol. Acest lucru se poate face folosind opțiunea -i sau –ignore-environment .

De exemplu:

Î4. Cum se face ca env să utilizeze NUL în loc de caracterul newline în ieșire?

În primul exemplu discutat mai sus, liniile de ieșire produse de env sunt separate prin linie nouă. Totuși, dacă doriți, puteți face ca env să utilizeze caracterul NUL ca separator. Această funcție poate fi accesată folosind opțiunea de linie de comandă –null .

mediu --nul

Mai jos este un exemplu de captură de ecran;

Î5. Cum pot afla eroarea pe baza stării de ieșire a comenzii env?

Comanda env produce următoarele coduri de ieșire: 0, 125, 126 și 127. Următoarele sunt descrierile erorilor asociate:

0 dacă nu este specificată nicio COMANDĂ și mediul este afișat 
125 dacă 'env' în sine eșuează 
126 dacă COMMAND este găsită, dar nu poate fi invocată 
127 dacă COMMAND nu poate fi găsită

Dacă primiți un cod de eroare diferit de cele menționate mai sus, aceasta este starea de ieșire returnată de procesul/comanda care a fost executată cu un mediu modificat.

[mai mult...]

Cum se instalează PHP 5.6 și 7.0 – 8.4 cu PHP-FPM și modul FastCGI pentru ISPConfig 3.2 cu apt pe Debian 11 până la 12

1 Notă preliminară

În acest ghid, veți adăuga depozitul suplimentar SURY pentru a instala pachetele PHP cu apt. Deoarece și alte pachete, precum OpenSSL, sunt actualizate, pachetele instalate de pe sury.org nu pot fi pur și simplu eliminate după instalare. Așadar, nu eliminați SURY ca sursă de depozit ulterior.

Vă rugăm să rețineți că PHP-FPM poate fi utilizat pe serverele Apache și Nginx, în timp ce FastCGI este disponibil numai pentru serverele Apache.

2 Add SURY repository

Mai întâi instalați aceste pachete necesare:

apt-get install -y apt-transport-https lsb-release ca-certificates

Acum adăugați cheia depozitului rulând această comandă:

wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg >/dev/null 2>&1

și depozitul în sine:

echo "deb https://packages.sury.org/php/ $(lsb_release -c -s) main" > /etc/apt/sources.list.d/php.list

Acum actualizați lista de pachete:

apt-get update

Pentru a actualiza pachetele deja instalate din noul depozit, utilizați această comandă:

apt-get upgrade

3 Install additional PHP versions

Nu trebuie să instalați toate versiunile listate aici, instalați-le pe cele de care aveți nevoie..

3.1 Install PHP 5.6

Pentru a instala PHP, folosiți această comandă:

apt-get install php5.6 php5.6-cli php5.6-cgi php5.6-fpm php5.6-gd php5.6-mysql php5.6-imap php5.6-curl php5.6-intl php5.6-pspell php5.6-recode php5.6-sqlite3 php5.6-tidy php5.6-xmlrpc php5.6-xsl php5.6-zip php5.6-mbstring php5.6-soap php5.6-opcache libicu65 php5.6-common php5.6-json php5.6-readline php5.6-xml

3.2 Install PHP 7.0

Pentru a instala PHP, folosiți această comandă:

apt-get install php7.0 php7.0-cli php7.0-cgi php7.0-fpm php7.0-gd php7.0-mysql php7.0-imap php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-zip php7.0-mbstring php7.0-soap php7.0-opcache php7.0-common php7.0-json php7.0-readline php7.0-xml

3.3 Install PHP 7.1

Pentru a instala PHP, folosiți această comandă:

apt-get install php7.1 php7.1-cli php7.1-cgi php7.1-fpm php7.1-gd php7.1-mysql php7.1-imap php7.1-curl php7.1-intl php7.1-pspell php7.1-recode php7.1-sqlite3 php7.1-tidy php7.1-xmlrpc php7.1-xsl php7.1-zip php7.1-mbstring php7.1-soap php7.1-opcache php7.1-common php7.1-json php7.1-readline php7.1-xml

3.4 Install PHP 7.2

Pentru a instala PHP, folosiți această comandă:

apt-get install php7.2 php7.2-cli php7.2-cgi php7.2-fpm php7.2-gd php7.2-mysql php7.2-imap php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl php7.2-zip php7.2-mbstring php7.2-soap php7.2-opcache php7.2-common php7.2-json php7.2-readline php7.2-xml

3.5 Install PHP 7.3

Pentru a instala PHP, folosiți această comandă:

apt-get install php7.3 php7.3-cli php7.3-cgi php7.3-fpm php7.3-gd php7.3-mysql php7.3-imap php7.3-curl php7.3-intl php7.3-pspell php7.3-recode php7.3-sqlite3 php7.3-tidy php7.3-xmlrpc php7.3-xsl php7.3-zip php7.3-mbstring php7.3-soap php7.3-opcache php7.3-common php7.3-json php7.3-readline php7.3-xml

3.6 Install PHP 7.4

Pentru a instala PHP, folosiți această comandă:

apt-get install php7.4 php7.4-cli php7.4-cgi php7.4-fpm php7.4-gd php7.4-mysql php7.4-imap php7.4-curl php7.4-intl php7.4-pspell php7.4-sqlite3 php7.4-tidy php7.4-xmlrpc php7.4-xsl php7.4-zip php7.4-mbstring php7.4-soap php7.4-opcache libonig5 php7.4-common php7.4-json php7.4-readline php7.4-xml

3.7 Install PHP 8.0

Pentru a instala PHP, folosiți această comandă:

apt-get install php8.0 php8.0-cli php8.0-cgi php8.0-fpm php8.0-gd php8.0-mysql php8.0-imap php8.0-curl php8.0-intl php8.0-pspell php8.0-sqlite3 php8.0-tidy php8.0-xsl php8.0-zip php8.0-mbstring php8.0-soap php8.0-opcache libonig5 php8.0-common php8.0-readline php8.0-xml

3.8 Install PHP 8.1

Pentru a instala PHP, folosiți această comandă:

apt-get install php8.1 php8.1-cli php8.1-cgi php8.1-fpm php8.1-gd php8.1-mysql php8.1-imap php8.1-curl php8.1-intl php8.1-pspell php8.1-sqlite3 php8.1-tidy php8.1-xsl php8.1-zip php8.1-mbstring php8.1-soap php8.1-opcache libonig5 php8.1-common php8.1-readline php8.1-xml

3.9 Install PHP 8.2

Pentru a instala PHP, folosiți această comandă:

apt-get install php8.2 php8.2-cli php8.2-cgi php8.2-fpm php8.2-gd php8.2-mysql php8.2-imap php8.2-curl php8.2-intl php8.2-pspell php8.2-sqlite3 php8.2-tidy php8.2-xsl php8.2-zip php8.2-mbstring php8.2-soap php8.2-opcache libonig5 php8.2-common php8.2-readline php8.2-xml

3.10 Install PHP 8.3

Pentru a instala PHP, folosiți această comandă:

apt-get install php8.3 php8.3-cli php8.3-cgi php8.3-fpm php8.3-gd php8.3-mysql php8.3-imap php8.3-curl php8.3-intl php8.3-pspell php8.3-sqlite3 php8.3-tidy php8.3-xsl php8.3-zip php8.3-mbstring php8.3-soap php8.3-opcache libonig5 php8.3-common php8.3-readline php8.3-xml

3.11 Install PHP 8.4

Pentru a instala PHP, folosiți această comandă:

apt-get install php8.4 php8.4-cli php8.4-cgi php8.4-fpm php8.4-gd php8.4-mysql php8.4-imap php8.4-curl php8.4-intl php8.4-pspell php8.4-sqlite3 php8.4-tidy php8.4-xsl php8.4-zip php8.4-mbstring php8.4-soap php8.4-opcache libonig5 php8.4-common php8.4-readline php8.4-xml

4 Resetați PHP-ul implicit al sistemului de operare la versiunea corectă

PHP-ul implicit al sistemului de operare trebuie să rămână la versiunea originală. Pentru a remedia acest lucru, executați aceste comenzi una câte una.:

update-alternatives --config php
update-alternatives --config php-cgi
update-alternatives --config php-fpm.sock

On Debian 12, choose 8.2; on Debian 11, choose 7.4; on Debian 10, choose 7.3.

5 Add PHP versions to ISPConfig

În ISPConfig 3, puteți configura noile versiuni PHP în Sistem > Versiuni PHP suplimentare > Adăugați o nouă versiune PHP.

Add the distribution’s default PHP version

Mai întâi, trebuie să adăugați o nouă versiune pentru versiunea PHP deja instalată. Versiunea implicită depinde de versiunea pe care o utilizați.:

Debian 10: PHP 7.3
Debian 11: PHP 7.4
Debian 12: PHP 8.2

Vedeți mai jos configurația pentru versiunea dvs..

Configurarea pentru versiunile suplimentare de PHP

PHP 5.6

Fast-CGI settings:

Path to the PHP FastCGI binary: /usr/bin/php-cgi5.6
Path to the php.ini directory: /etc/php/5.6/cgi/

PHP-FPM settings:

Path to the PHP-FPM init script: php5.6-fpm
Path to the php.ini directory: /etc/php/5.6/fpm/
Path to the PHP-FPM pool directory: /etc/php/5.6/fpm/pool.d/

Versiunea CLI, de exemplu, pentru cron jobs, are numele php5.6

PHP 7.0

Fast-CGI settings:

Path to the PHP FastCGI binary: /usr/bin/php-cgi7.0
Path to the php.ini directory: /etc/php/7.0/cgi/

PHP-FPM settings:

Path to the PHP-FPM init script: php7.0-fpm
Path to the php.ini directory: /etc/php/7.0/fpm/
Path to the PHP-FPM pool directory: /etc/php/7.0/fpm/pool.d/

Versiunea CLI, de exemplu, pentru cron jobs, are numele php7.0

PHP 7.1

Fast-CGI settings:

Path to the PHP FastCGI binary: /usr/bin/php-cgi7.1
Path to the php.ini directory: /etc/php/7.1/cgi/

PHP-FPM settings:

Path to the PHP-FPM init script: php7.1-fpm
Path to the php.ini directory: /etc/php/7.1/fpm/
Path to the PHP-FPM pool directory: /etc/php/7.1/fpm/pool.d/

Versiunea CLI, de exemplu, pentru cron jobs, are numele php7.1

PHP 7.2

Fast-CGI settings:

Path to the PHP FastCGI binary: /usr/bin/php-cgi7.2
Path to the php.ini directory: /etc/php/7.2/cgi/

PHP-FPM settings:

Path to the PHP-FPM init script: php7.2-fpm
Path to the php.ini directory: /etc/php/7.2/fpm/
Path to the PHP-FPM pool directory: /etc/php/7.2/fpm/pool.d/

Versiunea CLI, de exemplu, pentru cron jobs, are numele php7.2

PHP 7.3

Fast-CGI settings:

Path to the PHP FastCGI binary: /usr/bin/php-cgi7.3
Path to the php.ini directory: /etc/php/7.3/cgi/

PHP-FPM settings:

Path to the PHP-FPM init script: php7.3-fpm
Path to the php.ini directory: /etc/php/7.3/fpm/
Path to the PHP-FPM pool directory: /etc/php/7.3/fpm/pool.d/

Versiunea CLI, de exemplu, pentru cron jobs, are numele php7.3

PHP 7.4

Fast-CGI settings:

Path to the PHP FastCGI binary: /usr/bin/php-cgi7.4
Path to the php.ini directory: /etc/php/7.4/cgi/

PHP-FPM settings:

Path to the PHP-FPM init script: php7.4-fpm
Path to the php.ini directory: /etc/php/7.4/fpm/
Path to the PHP-FPM pool directory: /etc/php/7.4/fpm/pool.d/

Versiunea CLI, de exemplu, pentru cron jobs, are numele php7.4

PHP 8.0

Fast-CGI settings:

Path to the PHP FastCGI binary: /usr/bin/php-cgi8.0
Path to the php.ini directory: /etc/php/8.0/cgi/

PHP-FPM settings:

Path to the PHP-FPM init script: php8.0-fpm
Path to the php.ini directory: /etc/php/8.0/fpm/
Path to the PHP-FPM pool directory: /etc/php/8.0/fpm/pool.d/

Versiunea CLI, de exemplu, pentru cron jobs, are numele php8.0

PHP 8.1

Fast-CGI settings:

Path to the PHP FastCGI binary: /usr/bin/php-cgi8.1
Path to the php.ini directory: /etc/php/8.1/cgi/

PHP-FPM settings:

Path to the PHP-FPM init script: php8.1-fpm
Path to the php.ini directory: /etc/php/8.1/fpm/
Path to the PHP-FPM pool directory: /etc/php/8.1/fpm/pool.d/

Versiunea CLI, de exemplu, pentru cron jobs, are numele php8.1

PHP 8.2

Fast-CGI settings:

Path to the PHP FastCGI binary: /usr/bin/php-cgi8.2
Path to the php.ini directory: /etc/php/8.2/cgi/

PHP-FPM settings:

Path to the PHP-FPM init script: php8.2-fpm
Path to the php.ini directory: /etc/php/8.2/fpm/
Path to the PHP-FPM pool directory: /etc/php/8.2/fpm/pool.d/

Versiunea CLI, de exemplu, pentru cron jobs, are numele php8.2

PHP 8.3

Fast-CGI settings:

Path to the PHP FastCGI binary: /usr/bin/php-cgi8.3
Path to the php.ini directory: /etc/php/8.3/cgi/

PHP-FPM settings:

Path to the PHP-FPM init script: php8.3-fpm
Path to the php.ini directory: /etc/php/8.3/fpm/
Path to the PHP-FPM pool directory: /etc/php/8.3/fpm/pool.d/

Versiunea CLI, de exemplu, pentru cron jobs, are numele php8.3

PHP 8.4

Fast-CGI settings:

Path to the PHP FastCGI binary: /usr/bin/php-cgi8.4
Path to the php.ini directory: /etc/php/8.4/cgi/

PHP-FPM settings:

Path to the PHP-FPM init script: php8.4-fpm
Path to the php.ini directory: /etc/php/8.4/fpm/
Path to the PHP-FPM pool directory: /etc/php/8.4/fpm/pool.d/

Versiunea CLI, de exemplu, pentru cron jobs, are numele php8.4.

[mai mult...]

Cum se instalează PHP 5.6 și 7.0 – 8.4 cu PHP-FPM și modul FastCGI pentru ISPConfig 3.2 cu apt pe Ubuntu 22.04 – 24.04

În acest ghid, veți adăuga repozitoriul SURY suplimentar pentru a instala pachetele PHP cu apt. Deoarece și alte pachete, precum OpenSSL, sunt actualizate, pachetele instalate de pe sury.org nu pot fi eliminate pur și simplu după instalare. Așadar, nu eliminați SURY ca sursă de repozitoriu ulterior. Rețineți că PHP-FPM poate fi utilizat pe serverele Apache și Nginx, în timp ce FastCGI este disponibil doar pentru serverele Apache.

Add the repository:

add-apt-repository -y ppa:ondrej/php

Now update the package list:

apt-get update

To upgrade already installed packages from the new repository use this command:

apt-get upgrade

3. Instalați versiuni suplimentare de PHP

Nu trebuie să instalați toate versiunile listate aici, instalați-le pe cele de care aveți nevoie.

3.1 Install PHP 5.6

Pentru a instala PHP 5.6, utilizați această comandă:

apt-get install php5.6 php5.6-cli php5.6-cgi php5.6-fpm php5.6-gd php5.6-mysql php5.6-imap php5.6-curl php5.6-intl php5.6-pspell php5.6-recode php5.6-sqlite3 php5.6-tidy php5.6-xmlrpc php5.6-xsl php5.6-zip php5.6-mbstring php5.6-soap php5.6-opcache libicu65 php5.6-common php5.6-json php5.6-readline php5.6-xml

3.2 Install PHP 7.0

Pentru a instala PHP 7.0, utilizați această comandă:

apt-get install php7.0 php7.0-cli php7.0-cgi php7.0-fpm php7.0-gd php7.0-mysql php7.0-imap php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-zip php7.0-mbstring php7.0-soap php7.0-opcache php7.0-common php7.0-json php7.0-readline php7.0-xml

3.3 Install PHP 7.1

Pentru a instala PHP 7.1, utilizați această comandă:

apt-get install php7.1 php7.1-cli php7.1-cgi php7.1-fpm php7.1-gd php7.1-mysql php7.1-imap php7.1-curl php7.1-intl php7.1-pspell php7.1-recode php7.1-sqlite3 php7.1-tidy php7.1-xmlrpc php7.1-xsl php7.1-zip php7.1-mbstring php7.1-soap php7.1-opcache php7.1-common php7.1-json php7.1-readline php7.1-xml

3.4 Install PHP 7.2

Pentru a instala PHP 7.2, utilizați această comandă:

apt-get install php7.2 php7.2-cli php7.2-cgi php7.2-fpm php7.2-gd php7.2-mysql php7.2-imap php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl php7.2-zip php7.2-mbstring php7.2-soap php7.2-opcache php7.2-common php7.2-json php7.2-readline php7.2-xml

3.5 Install PHP 7.3

Pentru a instala PHP 7.3, utilizați această comandă:

apt-get install php7.3 php7.3-cli php7.3-cgi php7.3-fpm php7.3-gd php7.3-mysql php7.3-imap php7.3-curl php7.3-intl php7.3-pspell php7.3-recode php7.3-sqlite3 php7.3-tidy php7.3-xmlrpc php7.3-xsl php7.3-zip php7.3-mbstring php7.3-soap php7.3-opcache php7.3-common php7.3-json php7.3-readline php7.3-xml

3.6 Install PHP 7.4

Pentru a instala PHP 87.4, utilizați această comandă:

apt-get install php7.4 php7.4-cli php7.4-cgi php7.4-fpm php7.4-gd php7.4-mysql php7.4-imap php7.4-curl php7.4-intl php7.4-pspell php7.4-sqlite3 php7.4-tidy php7.4-xmlrpc php7.4-xsl php7.4-zip php7.4-mbstring php7.4-soap php7.4-opcache libonig5 php7.4-common php7.4-json php7.4-readline php7.4-xml

3.7 Install PHP 8.0

Pentru a instala PHP 8.0, utilizați această comandă:

apt-get install php8.0 php8.0-cli php8.0-cgi php8.0-fpm php8.0-gd php8.0-mysql php8.0-imap php8.0-curl php8.0-intl php8.0-pspell php8.0-sqlite3 php8.0-tidy php8.0-xsl php8.0-zip php8.0-mbstring php8.0-soap php8.0-opcache libonig5 php8.0-common php8.0-readline php8.0-xml

3.8 Install PHP 8.1

Pentru a instala PHP 8.1, utilizați această comandă:

apt-get install php8.1 php8.1-cli php8.1-cgi php8.1-fpm php8.1-gd php8.1-mysql php8.1-imap php8.1-curl php8.1-intl php8.1-pspell php8.1-sqlite3 php8.1-tidy php8.1-xsl php8.1-zip php8.1-mbstring php8.1-soap php8.1-opcache libonig5 php8.1-common php8.1-readline php8.1-xml

3.9 Install PHP 8.2

Pentru a instala PHP 8.2, utilizați această comandă:

apt-get install php8.2 php8.2-cli php8.2-cgi php8.2-fpm php8.2-gd php8.2-mysql php8.2-imap php8.2-curl php8.2-intl php8.2-pspell php8.2-sqlite3 php8.2-tidy php8.2-xsl php8.2-zip php8.2-mbstring php8.2-soap php8.2-opcache libonig5 php8.2-common php8.2-readline php8.2-xml

3.10 Install PHP 8.3

Pentru a instala PHP 8.3, utilizați această comandă:

apt-get install php8.3 php8.3-cli php8.3-cgi php8.3-fpm php8.3-gd php8.3-mysql php8.3-imap php8.3-curl php8.3-intl php8.3-pspell php8.3-sqlite3 php8.3-tidy php8.3-xsl php8.3-zip php8.3-mbstring php8.3-soap php8.3-opcache php8.3-common php8.3-readline php8.3-xml

3.11 Install PHP 8.4

Pentru a instala PHP 8.4, utilizați această comandă:

apt-get install php8.4 php8.4-cli php8.4-cgi php8.4-fpm php8.4-gd php8.4-mysql php8.4-imap php8.4-curl php8.4-intl php8.4-pspell php8.4-sqlite3 php8.4-tidy php8.4-xsl php8.4-zip php8.4-mbstring php8.4-soap php8.4-opcache php8.4-common php8.4-readline php8.4-xml

4.    Resetați PHP-ul implicit al sistemului de operare la versiunea corectă

PHP-ul implicit al sistemului de operare trebuie să rămână la versiunea originală. Pentru a remedia acest lucru, executați aceste comenzi una câte una:

update-alternatives --config php
update-alternatives --config php-cgi
update-alternatives --config php-fpm.sock

Pe Ubuntu 20.04, alegeți 7.4; pe Ubuntu 22.04, alegeți 8.1 și pe Ubuntu 24.04, alegeți 8.3.

 5. Adăugați versiuni PHP în ISPConfig

În ISPConfig 3, puteți configura noile versiuni PHP în Sistem > Versiuni PHP suplimentare > Adăugați o nouă versiune PHP.

Adăugați versiunea PHP implicită a distribuției

Mai întâi, trebuie să adăugați o nouă versiune pentru versiunea PHP deja instalată. Versiunea implicită depinde de versiunea pe care o utilizați:

Ubuntu 20.04: PHP 7.4
Ubuntu 22.04: PHP 8.1
Ubuntu 24.04: PHP 8.3

Consultați mai jos configurația pentru versiunea dvs.

Configurarea pentru versiunile suplimentare de PHP

PHP 5.6

Fast-CGI settings:

Path to the PHP FastCGI binary: /usr/bin/php-cgi5.6
Path to the php.ini directory: /etc/php/5.6/cgi/

PHP-FPM settings:

Path to the PHP-FPM init script: php5.6-fpm
Path to the php.ini directory: /etc/php/5.6/fpm/
Path to the PHP-FPM pool directory: /etc/php/5.6/fpm/pool.d/

Versiunea CLI, de exemplu, pentru cron jobs, are numele php5.6

PHP 7.0

Fast-CGI settings:

Path to the PHP FastCGI binary: /usr/bin/php-cgi7.0
Path to the php.ini directory: /etc/php/7.0/cgi/

PHP-FPM settings:

Path to the PHP-FPM init script: php7.0-fpm
Path to the php.ini directory: /etc/php/7.0/fpm/
Path to the PHP-FPM pool directory: /etc/php/7.0/fpm/pool.d/

Versiunea CLI, de exemplu, pentru cron jobs, are numele php7.0

PHP 7.1

Fast-CGI settings:

Path to the PHP FastCGI binary: /usr/bin/php-cgi7.1
Path to the php.ini directory: /etc/php/7.1/cgi/

PHP-FPM settings:

Path to the PHP-FPM init script: php7.1-fpm
Path to the php.ini directory: /etc/php/7.1/fpm/
Path to the PHP-FPM pool directory: /etc/php/7.1/fpm/pool.d/

Versiunea CLI, de exemplu, pentru cron jobs, are numele php7.1

PHP 7.2

Fast-CGI settings:

Path to the PHP FastCGI binary: /usr/bin/php-cgi7.2
Path to the php.ini directory: /etc/php/7.2/cgi/

PHP-FPM settings:

Path to the PHP-FPM init script: php7.2-fpm
Path to the php.ini directory: /etc/php/7.2/fpm/
Path to the PHP-FPM pool directory: /etc/php/7.2/fpm/pool.d/

Versiunea CLI, de exemplu, pentru cron jobs, are numele php7.2

PHP 7.3

Fast-CGI settings:

Path to the PHP FastCGI binary: /usr/bin/php-cgi7.3
Path to the php.ini directory: /etc/php/7.3/cgi/

PHP-FPM settings:

Path to the PHP-FPM init script: php7.3-fpm
Path to the php.ini directory: /etc/php/7.3/fpm/
Path to the PHP-FPM pool directory: /etc/php/7.3/fpm/pool.d/

Versiunea CLI, de exemplu, pentru cron jobs, are numele php7.3

PHP 7.4

Fast-CGI settings:

Path to the PHP FastCGI binary: /usr/bin/php-cgi7.4
Path to the php.ini directory: /etc/php/7.4/cgi/

PHP-FPM settings:

Path to the PHP-FPM init script: php7.4-fpm
Path to the php.ini directory: /etc/php/7.4/fpm/
Path to the PHP-FPM pool directory: /etc/php/7.4/fpm/pool.d/

Versiunea CLI, de exemplu, pentru cron jobs, are numele php7.4

PHP 8.0

Fast-CGI settings:

Path to the PHP FastCGI binary: /usr/bin/php-cgi8.0
Path to the php.ini directory: /etc/php/8.0/cgi/

PHP-FPM settings:

Path to the PHP-FPM init script: php8.0-fpm
Path to the php.ini directory: /etc/php/8.0/fpm/
Path to the PHP-FPM pool directory: /etc/php/8.0/fpm/pool.d/

Versiunea CLI, de exemplu, pentru cron jobs, are numele php8.0

PHP 8.1

Fast-CGI settings:

Path to the PHP FastCGI binary: /usr/bin/php-cgi8.1
Path to the php.ini directory: /etc/php/8.1/cgi/

PHP-FPM settings:

Path to the PHP-FPM init script: php8.1-fpm
Path to the php.ini directory: /etc/php/8.1/fpm/
Path to the PHP-FPM pool directory: /etc/php/8.1/fpm/pool.d/

Versiunea CLI, de exemplu, pentru cron jobs, are numele php8.1

PHP 8.2

Fast-CGI settings:

Path to the PHP FastCGI binary: /usr/bin/php-cgi8.2
Path to the php.ini directory: /etc/php/8.2/cgi/

PHP-FPM settings:

Path to the PHP-FPM init script: php8.2-fpm
Path to the php.ini directory: /etc/php/8.2/fpm/
Path to the PHP-FPM pool directory: /etc/php/8.2/fpm/pool.d

Versiunea CLI, de exemplu, pentru cron jobs, are numele php8.2

PHP 8.3

Fast-CGI settings:

Path to the PHP FastCGI binary: /usr/bin/php-cgi8.3
Path to the php.ini directory: /etc/php/8.3/cgi/

PHP-FPM settings:

Path to the PHP-FPM init script: php8.3-fpm
Path to the php.ini directory: /etc/php/8.3/fpm/
Path to the PHP-FPM pool directory: /etc/php/8.3/fpm/pool.d

Versiunea CLI, de exemplu, pentru cron jobs, are numele php8.3

PHP 8.4

Fast-CGI settings:

Path to the PHP FastCGI binary: /usr/bin/php-cgi8.4
Path to the php.ini directory: /etc/php/8.4/cgi/

PHP-FPM settings:

Path to the PHP-FPM init script: php8.4-fpm
Path to the php.ini directory: /etc/php/8.4/fpm/
Path to the PHP-FPM pool directory: /etc/php/8.4/fpm/pool.d

Versiunea CLI, de exemplu, pentru cron jobs, are numele php8.4.

[mai mult...]

Cum se instalează CSF (Config Server Firewall) pe Debian 12

CSF sau Config Server Firewall este un firewall Stateful Packet Inspection (SPI) bazat pe IPtables și Perl. Acesta oferă un proces daemon care monitorizează serviciile dvs. pentru erori și autentificare și oferă, de asemenea, integrare cu interfața web pentru gestionarea serverelor bazate pe web, cum ar fi Webmin, cPanel și DirectAdmin.

În acest tutorial, vă vom ghida prin procesul de instalare a CSF (Config Server Firewall) pe serverul Debian 12. Veți învăța, de asemenea, configurația de bază a CSF, blocarea adreselor IP folosind două metode diferite și configurarea interfeței web CSF pentru o gestionare și monitorizare ușoară.

ACTUALIZARE: Firewall-ul CSF a fost închis în august 2025. Puteți utiliza în schimb fork-ul său, Sentinel Firewall:

Cerințe preliminare

Pentru a începe cu acest tutorial, asigură-te că ai următoarele:

  • Un server Debian 12.
  • Un utilizator non-root cu privilegii de administrator.

Pregătirea sistemului

Înainte de a instala CSF, trebuie să vă asigurați că dependențele sunt instalate. Acestea includ pachete precum Perl și iptables. De asemenea, atunci când rulează un alt firewall, cum ar fi UFW (Uncomplicated Firewall), trebuie să îl dezactivați.

Pentru a începe, executați următoarea comandă pentru a actualiza depozitul Debian.

sudo apt update


După ce repozitoriul este actualizat, instalați următoarele dependențe pentru CSF folosind comanda de mai jos.

sudo apt install libio-socket-inet6-perl libsocket6-perl sendmail dnsutils unzip libio-socket-ssl-perl libcrypt-ssleay-perl git perl iptables libnet-libidn-perl libwww-perl liblwp-protocol-https-perl libgd-graph-perl

Tastați Y și apăsați ENTER pentru a continua.


În cele din urmă, trebuie să dezactivați UFW dacă îl aveți pe serverul Debian. CSF folosește implicit iptables ca firewall și filtru de pachete.

sudo ufw disable

Descărcarea și instalarea CSF-ului

În secțiunea următoare, veți descărca și instala manual CSF (Config Server Firewall) din sursă. Așadar, haideți să începem.

Descărcați codul sursă CSF folosind comanda wget de mai jos. Veți vedea fișierul csf.tgz.

wget http://download.configserver.com/csf.tgz

Acum extrageți fișierul csf.tgz folosind comanda tar de mai jos. Codul sursă CSF va fi disponibil în directorul csf.

sudo tar -xvzf csf.tgz

Apoi, mutați-vă în directorul csf și executați scriptul install.sh pentru a porni instalarea.

cd csf; sh install.sh

Când pornește instalarea, ar trebui să obțineți următoarele:

Când procesul este finalizat, ar trebui să primiți mesajul „Instalare finalizată” .

Acum că CSF este instalat, verificați-l folosind comanda de mai jos.

perl /usr/local/csf/bin/csftest.pl

Asigurați-vă că rezultatul fiecărui test de caracteristici este OK 

În cele din urmă, executați următoarea comandă pentru a verifica locația și versiunea fișierului binar CSF.

which csf
csf -v

În următoarea ieșire, puteți vedea că CSF v14.20 este instalat în /usr/sbin/csf .

Configurarea CSF-ului

După ce ați instalat CSF, veți învăța câteva configurații de bază ale CSF (Config Server Firewall). Directorul principal de configurare pentru CSF este directorul /etc/csf , unde veți găsi fișierul principal de configurare CSF, csf.conf .

Folosește următoarea comandă din editorul nano pentru a deschide fișierul de configurare CSF /etc/csf/csf.conf .

sudo nano /etc/csf/csf.conf

Permiteți traficul prin CSF

Găsiți opțiunile TCP_* și UDP_* și adăugați porturile.

# Se permit porturile TCP de intrare 
TCP_IN = "20,21,22,25,53,853,80,110,143,443,465,587,993,995" 

# Se permit porturile TCP de ieșire 
TCP_OUT = "20,21,22,25,53,853,80,110,113,443,587,993,995" 

# Se permit porturile UDP de intrare 
UDP_IN = "20,21,53,853,80,443" 

# Se permit porturile UDP de ieșire 
# Pentru a permite traceroute-ul de ieșire, adăugați 33434:33523 la această listă 
UDP_OUT = "20,21,53,853,113,123"


Opțiuni detaliate:

  • TCP_IN : permite traficul de intrare către porturile TCP.
  • TCP_OUT : permite traficul de ieșire către anumite porturi TCP.
  • UDP_IN : permite traficul de intrare către porturile UDP.
  • UDP_OUT : permite traficul de ieșire către anumite porturi UDP.

Permite/Refuză cererile Ping sau ICMP

Dacă trebuie neapărat să dezactivați Ping sau ICMP „IN și OUT”, utilizați următoarele opțiuni. „ICMP_IN = 1” înseamnă că ping-ul va fi permis, iar „ICMP_OUT = 1” înseamnă că serverul poate face ping către o altă rețea.

# Se permite PING-ul primit. Dezactivarea PING-ului va întrerupe probabil timpul de funcționare extern 
# monitorizare 
ICMP_IN = "1" 
... 
# Se permite PING-ul trimis 
# 
# Dacă nu există un motiv anume, această opțiune NU ar trebui dezactivată, deoarece 
# ar putea întrerupe funcționalitatea sistemului de operare 
ICMP_OUT = "1"


Protecție Synflood

ACTIVAȚI această opțiune DOAR atunci când este necesar, de exemplu împotriva atacurilor DOS asupra serverului dumneavoastră.

############################################################################### 
# SECȚIUNE: Setări Port Flood 
################################################################################ 
# Activează protecția împotriva SYN Flood. Această opțiune configurează iptables pentru a oferi o anumită 
# protecție împotriva încercărilor DOS de trimitere a pachetelor tcp SYN. 
​​... 
SYNFLOOD = "0" 
SYNFLOOD_RATE = "100/s" 
SYNFLOOD_BURST = "150"


Limitarea conexiunilor simultane

Apoi, utilizați opțiunea „CONNLIMIT” pentru a limita conexiunile simultane pentru anumite porturi. Formatul este „ PORT;LIMIT ”, de exemplu, configurația „ 22;5 ” va limita portul SSH la doar 5 conexiuni simultane .

# Protecție la limita conexiunii. Această opțiune configurează iptables pentru a oferi 
o protecție sporită # împotriva atacurilor DOS împotriva anumitor porturi. Poate fi folosită și ca o 
# modalitate de a limita pur și simplu utilizarea resurselor în funcție de adresa IP pentru anumite servicii de server. 
# Notă: Rulați /etc/csf/csftest.pl pentru a verifica dacă această opțiune va funcționa pe 
# acest server 
CONNLIMIT = "22;5,21;10"

Dezactivați modul TESTARE și restricționați accesul la Syslog

Acum, dacă ați configurat totul și ați adăugat porturile, schimbați „ TESTING ” la „ 1 ” și restricționați accesul la socket-urile rsyslog cu „ RESTRICT_SYSLOG= “3” ”.

# lfd nu va porni cât timp această opțiune este activată 
TESTING = "0" 

... 
# 0 = Permite utilizarea și configurarea opțiunilor enumerate mai sus 
# 1 = Dezactivează toate opțiunile enumerate mai sus și împiedică utilizarea lor 
# 2 = Dezactivează doar alertele despre această funcție și nu face nimic altceva 
# 3 = Restricționează accesul syslog/rsyslog la RESTRICT_SYSLOG_GROUP ** RECOMANDAT ** 
RESTRICT_SYSLOG = "3"

Când totul este gata, salvați fișierul și ieșiți din editor.

Testarea și pornirea serviciului CSF

Acum executați comanda csf de mai jos pentru a verifica configurația. Dacă aveți configurația CSF corectă, veți vedea ieșirea CSF. În schimb, veți vedea eroarea detaliată atunci când configurația este incorectă.

csf -v

Apoi, executați comanda systemctl de mai jos pentru a porni serviciile csf și lfd.

sudo systemctl pornește csf lfd


Odată ce serviciul csf rulează, veți fi deconectat automat de la server. Vă puteți conecta din nou la server, apoi puteți verifica atât serviciul csf, cât și serviciul lfd folosind comanda de mai jos.

sudo systemctl status csf lfd

Puteți vedea că serviciul csf rulează.

De asemenea, puteți vedea că serviciul lfd rulează.

Blocare prin CSF

În acest moment, ați învățat configurația de bază pentru CSF (Config Server Firewall). Acum haideți să aruncăm o privire la blocarea adreselor IP prin CSF.

Blocarea adreselor IP prin intermediul listelor de blocare IP

Deschideți configurația implicită a listelor de blocuri IP /etc/csf/csf.blocklists folosind comanda editorului nano de mai jos.

sudo nano /etc/csf/csf.blocklists

Decomentați următoarele linii pentru a bloca adresele IP din baza de date Spamhaus .

# Lista Spamhaus Don't Route Or Peer List (DROP) 
# Detalii: http://www.spamhaus.org/drop/ 
SPAMDROP|86400|0|http://www.spamhaus.org/drop/drop.txt 

# Lista Spamhaus IPv6 Don't Route Or Peer List (DROPv6) 
# Detalii: http://www.spamhaus.org/drop/ 
SPAMDROPV6|86400|0|https://www.spamhaus.org/drop/dropv6.txt 

# Lista Spamhaus extinsă DROP (EDROP) 
# Detalii: http://www.spamhaus.org/drop/ 
SPAMEDROP|86400|0|http://www.spamhaus.org/drop/edrop.txt

Salvați fișierul și ieșiți din editor când ați terminat.

Mai jos sunt câteva opțiuni pentru detalii:

  • SPAMDROP : numele blocului care va fi folosit ca nume pentru canalul iptables. Folosiți doar LITERE MARI, cu maximum 25 de caractere.
  • 86400 : interval de reîmprospătare pentru descărcarea și reînnoirea adreselor IP ale listelor de blocare.
  • MAX : numărul maxim de adrese IP care vor fi utilizate din listă. O valoare de 0 înseamnă că toate adresele IP vor fi incluse.
  • URL : URL-ul de descărcare al adreselor IP din listele de blocare.

Blocarea adreselor IP prin GeoIP

O altă metodă de a bloca o adresă IP este prin GeoIP, care vă permite să blocați traficul primit dintr-o anumită țară.

Folosește următoarea comandă din editorul nano pentru a deschide configurația CSF „ /etc/csf/csf.conf ”.

sudo nano /etc/csf/csf.conf

Găsiți parametrii CC_DENY și CC_ALLOW pentru a configura blocarea pe țări prin GeoIP.

# Fiecare opțiune este o listă de CC-uri separate prin virgulă, de exemplu „US,GB,DE” 
CC_DENY = "RU,CN" 
CC_ALLOW = "US,GB,DE,NL,SG"

În mod implicit, CSF utilizează baza de date GeoIP din db-ip, ipdeny și iptoasn . Dar o puteți modifica și prin intermediul bazei de date GeoIP MaxMind . Pentru a utiliza baza de date MaxMind , schimbați „ CC_SRC ” la „ 1 ”, apoi introduceți cheia de licență MaxMind în opțiunea „ MM_LICENSE_KEY ”.

# Cheie de licență MaxMind: 
MM_LICENSE_KEY = "" 

... 

# Setați următoarele la sursa preferată: 
# 
# "1" - MaxMind 
# "2" - db-ip, ipdeny, iptoasn 
# 
# Implicit este "2" pentru instalările noi de csf sau setați la "1" pentru a utiliza 
# bazele de date MaxMind după obținerea unei chei de licență 
CC_SRC = "1"

Salvați fișierul și ieșiți din editor când ați terminat.

Acum, executați următoarea comandă pentru a verifica configurația CSF. Dacă nu există nicio eroare, ar trebui să obțineți versiunea CSF.

sudo csf -v

Apoi, reporniți ambele servicii, csf și lfd, folosind următoarea comandă.

sudo csf -ra

Ar trebui să vedeți o ieșire ca următoarea:

Pentru a vă asigura că atât csf, cât și lfs rulează, utilizați următoarea comandă pentru a verifica ambele servicii.

sudo systemctl status csf lfd

Activează interfața web CSF

În secțiunea următoare, veți învăța cum să activați interfața web CSF pentru monitorizare prin intermediul unui browser web.

Deschideți configurația CSF folosind următorul editor nano.

sudo nano /etc/csf/csf.conf

Schimbați opțiunea „ UI ” la „ 1 ” și activați interfața web CSF. Apoi, ajustați UI_PORT, UI_IP, UI_USER și UI_PASS cu datele dvs.

# 
# 1 pentru activare, 0 pentru dezactivare 
UI = "1" 

... 

# NU activați accesul la acest port în TCP_IN, ci permiteți accesul doar 
la IP-uri de încredere # utilizând Filtre avansate de permisiune (consultați readme.txt) 
UI_PORT = "1048" 

... 

# Dacă serverul este configurat pentru IPv6, dar adresa IP la care se face legătura este IPv4, atunci 
# adresa IP TREBUIE să utilizeze reprezentarea IPv6. De exemplu, 1.2.3.4 trebuie să utilizeze 
# ::ffff:1.2.3.4 
# 
# Lăsați necompletat pentru a vă conecta la toate adresele IP de pe server 
UI_IP = "127.0.0.1" 

... 

# Acesta ar trebui să fie un nume de utilizator securizat, greu de ghicit 
# 
# Acesta trebuie modificat față de valoarea implicită 
UI_USER = "alice" 
... 
# numere și caractere non-alfanumerice 
# 
# Acesta trebuie modificat față de valoarea implicită 
UI_PASS = "passw0rd"

Salvați fișierul și ieșiți din editor când ați terminat.

Acum găsiți adresa IP publică folosind comanda de mai jos.

curl https://ipinfo.io/

Adăugați adresa IP la configurațiile „ /etc/csf/csf.allow ” și „ /etc/csf/ui/ui.allow ”. Aceasta va include adresa IP publică pe lista albă și vă va permite accesul la interfața web CSF și la server.

# IP unic 
192.168.5.1 

# Subrețea 
192.168.5.0/24

După aceea, executați comanda de mai jos pentru a verifica configurația CSF și a reporni ambele servicii, csf și lfd.

sudo csf -v 
sudo csf -ra

Apoi, verificați lista adreselor IP de pe lista albă de pe CSF folosind comanda de mai jos. Găsiți lanțul iptables ALLOWIN și ALLOWOUT și ar trebui să vedeți adresele IP de pe lista albă.

sudo csf -l

Acum deschideți browserul web și accesați adresa IP a serverului, urmată de portul interfeței web CSF (de exemplu: https://192.168.5.15:1048). Dacă configurarea a avut succes, ar trebui să vedeți pagina de conectare CSF.

Introduceți numele de utilizator și parola de administrator, apoi faceți clic pe ENTER .

Ar trebui să vedeți tabloul de bord CSF astfel:

[mai mult...]

Configurare perfectă ISPConfig Multiserver pe Ubuntu 24.04 și Debian 12

Acest tutorial vă va ghida prin instalarea propriei configurații multiserver ISPConfig 3 cu servere dedicate pentru panel, web, DNS, mail și webmail. Serverul DNS va avea un server oglindă pentru redundanță. Puteți adăuga cu ușurință mai multe servere de un anumit tip ulterior.

Programul oficial de instalare automată al ISPConfig va fi utilizat pentru configurarea serverelor. Debian 12 va fi folosit ca sistem de operare. Ghidul a fost testat și cu Ubuntu 24.04.

Programul de instalare automată are diverse opțiuni din linia de comandă pentru reglarea fină a configurării.

Puteți vizualiza toate argumentele cu:

wget -O - https://get.ispconfig.org | sh -s -- --help

1. Notă preliminară

Acestea vor fi gazdele pe care le vom instala:

gazdă FQDN IP 
panel panel.example.com 10.0.64.12 
web01 web01.example.com 10.0.64.13 
mx1 mx1.example.com 10.0.64.14 
ns1 ns1.example.com 10.0.64.15 
ns2 ns2.example.com 10.0.64.16 
webmail webmail.example.com 10.0.64.17

Vom folosi exemple de nume de gazdă, adrese IP și intervale IP. Asigurați-vă că le modificați în mod corespunzător în comenzi/configurație.

Toate serverele se află în aceeași rețea privată, dar au propria adresă IP publică. Dacă serverele dvs. nu au o rețea locală partajată, utilizați adresele lor IPv4 publice.

Înainte de a începe instalarea unui server, configurați o înregistrare A și eventual o înregistrare AAAA care indică adresa IP publică a serverului dvs. De exemplu, dacă numele de gazdă este panel.example.com și adresa IP publică este 11.22.33.44, ar trebui să configurați o înregistrare A pentru panel.example.com care să indice 11.22.33.44. Fiecare server ar trebui să aibă propria adresă IP publică și propriul nume de gazdă.

2. Instalarea serverului principal

Conectați-vă ca root sau executați

su -

să devii utilizatorul root pe serverul tău înainte de a continua. IMPORTANT : Trebuie să folosești „su -” și nu doar „su”, altfel variabila PATH este setată greșit de Debian.

2.1 Configurați numele de gazdă și gazdele

Numele de gazdă al serverului dvs. ar trebui să fie un subdomeniu, cum ar fi „panel.example.com”. Nu utilizați un nume de domeniu fără o parte de subdomeniu, cum ar fi „example.com”, deoarece acest lucru va cauza probleme ulterioare cu configurarea mailului. Mai întâi, ar trebui să verificați numele de gazdă în  /etc/hosts  și să îl modificați atunci când este necesar. Linia ar trebui să fie: „IP Address – space – full hostname incl. domain – space – subdomain part”. Pentru numele nostru de gazdă panel.example.com, fișierul ar trebui să arate astfel (unele linii pot fi diferite, pot diferi în funcție de furnizorul de găzduire):

nano /etc/hosts
127.0.0.1 localhost.localdomain localhost 
# Această linie ar trebui modificată pe fiecare nod cu numele serverului corect: 
127.0.1.1 panel.example.com panel 
# Aceste linii sunt aceleași pe fiecare nod:
10.0.64.12 panel.exemplu.com panel 
10.0.64.13 web01.exemplu.com web01 
10.0.64.14 mx1.exemplu.com mx1 
10.0.64.15 ns1.exemplu.com ns1 
10.0.64.16 ns2.exemplu.com ns2 
10.0.64.17 webmail.exemplu.com webmail

# Următoarele linii sunt de dorit pentru gazdele compatibile cu IPv6
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

După cum puteți vedea, am adăugat și numele de gazdă ale celorlalte servere ale noastre, astfel încât acestea să poată comunica ulterior prin rețeaua internă.

Apoi editați fișierul /etc/hostname:

nano /etc/numegazdă

Va conține doar partea de subdomeniu, în cazul nostru:

panou

În final, reporniți serverul pentru a aplica modificarea:

repornire systemctl

Conectați-vă din nou și verificați dacă numele de gazdă este corect acum cu aceste comenzi:

nume de gazdă 
nume de gazdă -f

Rezultatul va fi astfel:

root@panel:~$ nume gazdă 
panel 
root@panel:~$ nume gazdă -f 
panel.example.com

Acum putem rula programul de instalare automată pentru a instala toate pachetele necesare și ISPConfig:

wget -O - https://get.ispconfig.org | sh -s -- --no-mail --no-dns --use-php=sistem

După un timp, veți vedea:

AVERTISMENT! Acest script va reconfigura întregul server! 
Ar trebui rulat pe un server proaspăt instalat și, cel mai probabil, toate configurațiile curente pe care le-ați făcut se vor pierde! 
Tastați „yes” dacă doriți cu adevărat să continuați:

Răspundeți cu „da” și apăsați Enter. Programul de instalare va porni acum.

Când programul de instalare este finalizat, vă va afișa parola de administrator ISPConfig și parola de root MySQL, astfel:

[INFO] Parola dvs. de administrator ISPConfig este: 5GvfSSSYsdfdYC 
[INFO] Parola dvs. de root MySQL este: kkAkft82d!kafMwqxdtYs

Asigură-te că notezi aceste informații, împreună cu serverul pentru care sunt, deoarece vei avea nevoie de ele mai târziu.

2.2 Configurarea utilizatorilor MySQL la distanță pentru serverele noastre slave

Ne vom conecta la MySQL pentru a permite celorlalte servere să se conecteze la baza de date ISPConfig de pe acest nod în timpul instalării, adăugând înregistrări de utilizator root MySQL în baza de date master pentru fiecare nume de gazdă și adresă IP a serverului slave.

Pe terminal, executați

mysql -u root -p

Introduceți parola MySQL și apoi executați următoarele comenzi:

CREATE USER 'root'@'10.0.64.13' IDENTIFIED BY 'myrootpassword';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'10.0.64.13' 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'@'10.0.64.14' IDENTIFIED BY 'myrootpassword';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'10.0.64.14' 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'@'10.0.64.15' IDENTIFIED BY 'myrootpassword';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'10.0.64.15' 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'@'10.0.64.15' IDENTIFIED BY 'myrootpassword';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'10.0.64.15' 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'@'10.0.64.16' IDENTIFIED BY 'myrootpassword';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'10.0.64.16' 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'@'web01.example.com' IDENTIFIED BY 'myrootpassword';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'web01.example.com' 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'@'mx1.example.com' IDENTIFIED BY 'myrootpassword';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'mx1.example.com' 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'@'ns1.example.com' IDENTIFIED BY 'myrootpassword';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'ns1.example.com' 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.com' IDENTIFIED BY 'myrootpassword';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'ns2.example.com' 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'@'webmail.example.com' IDENTIFIED BY 'myrootpassword';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'webmail.example.com' 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 ;

În comenzile SQL de mai sus, înlocuiți adresele IP ( 10.0.64.12 – 10.0.64.16 ) cu adresele IP ale serverelor dvs., web01.example.com , mx1.example.com , ns1.example.com , ns2.example.com și webmail.example.com cu numele de gazdă ale serverelor dvs. și myrootpassword cu parola de root dorită (este o practică bună să utilizați o parolă diferită pentru fiecare gazdă. Notați-le, deoarece veți avea nevoie de ele mai târziu, când instalați sau actualizați serverele slave).

După ce ați terminat, puteți ieși din MySQL cu:

EXIT;

Acum vă puteți conecta la ISPConfig pe https://panel.example.com:8080 cu numele de utilizator admin și parola pe care v-a indicat-o programul de instalare.

2.3 Configurarea firewall-ului

Ultimul lucru de făcut este să configurăm firewall-ul.

Conectați-vă la interfața ISPConfig și accesați Sistem -> Firewall. Apoi faceți clic pe „Adăugați o nouă înregistrare firewall”.

Pentru serverul de panouri, trebuie să deschidem următoarele porturi:

TCP:

22,80,443,8080,8081

Nu trebuie deschise porturi UDP prin interfața cu utilizatorul.

De asemenea, vom deschide portul 3306, care este folosit pentru MySQL, dar numai din rețeaua noastră locală din motive de securitate. Pentru a face acest lucru, executați următoarea comandă din CLI, după ce modificarea din panoul ISPConfig este propagată (când punctul roșu a dispărut):

ufw allow from 10.0.64.0/24 to any port 3306 proto tcp

Panoul dvs. este acum configurat și gata de utilizare.

În pasul următor, vom instala serverul web.

3 Instalarea serverului web

Conectați-vă ca root sau executați

su -

să devii utilizator root pe server înainte de a continua. IMPORTANT : Trebuie să folosești „su -” și nu doar „su”, altfel variabila PATH este setată greșit de Debian.

3.1 Configurați numele de gazdă

Numele de gazdă al serverului dvs. ar trebui să fie un subdomeniu, cum ar fi „web01.example.com”. Nu utilizați un nume de domeniu fără o parte de subdomeniu, cum ar fi „example.com”, deoarece acest lucru va cauza probleme ulterioare cu configurarea mailului. Mai întâi, ar trebui să verificați numele de gazdă în  /etc/hosts  și să îl modificați atunci când este necesar. Linia ar trebui să fie: „IP Address – space – full hostname incl. domain – space – subdomain part”. Pentru numele nostru de gazdă web01.example.com, fișierul ar trebui să arate astfel:

nano /etc/hosts
127.0.0.1 localhost.localdomain localhost 
# Această linie ar trebui modificată pe fiecare nod cu numele serverului corect: 
127.0.1.1 web01.example.com web01 
# Aceste linii sunt aceleași pe fiecare nod:
10.0.64.12 panel.exemplu.com panel 
10.0.64.13 web01.exemplu.com web01 
10.0.64.14 mx1.exemplu.com mx1 
10.0.64.15 ns1.exemplu.com ns1 
10.0.64.16 ns2.exemplu.com ns2 
10.0.64.17 webmail.exemplu.com webmail

# Următoarele linii sunt de dorit pentru gazdele compatibile cu IPv6
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

După cum puteți vedea, am adăugat și numele de gazdă ale celorlalte servere ale noastre, astfel încât acestea să poată comunica ulterior prin rețeaua internă.

Apoi editați fișierul /etc/hostname:

nano /etc/numegazdă

Va conține doar partea de subdomeniu, în cazul nostru:

web01

În final, reporniți serverul pentru a aplica modificarea:

repornire systemctl

Conectați-vă din nou și verificați dacă numele de gazdă este corect acum cu aceste comenzi:

nume de gazdă 
nume de gazdă -f

Rezultatul va fi astfel:

root@web01:~$ nume gazdă 
web01 
root@web01:~$ nume gazdă -f 
web01.exemplu.com

3.2 Instalarea ISPConfig

Acum putem rula programul de instalare automată pentru toate pachetele și ISPConfig:

wget -O - https://get.ispconfig.org | sh -s -- --no-mail --no-dns --interactive

După un timp, veți vedea:

AVERTISMENT! Acest script va reconfigura întregul server! 
Ar trebui rulat pe un server proaspăt instalat și, cel mai probabil, toate configurațiile curente pe care le-ați făcut se vor pierde! 
Tastați „yes” dacă doriți cu adevărat să continuați:

Răspundeți cu „da” și apăsați Enter. Programul de instalare va porni acum.

După finalizarea instalării și configurării pachetelor, va fi afișată parola de root pentru MySQL pe web01. Notați-o (împreună cu numele serverului, pentru a preveni orice confuzie ulterioară).

Acum va trebui să răspundem la câteva întrebări, deoarece folosim modul interactiv. Acest lucru este necesar, deoarece acest server va fi adăugat la configurația dvs. multiserver.

[INFO] Se instalează ISPConfig3. 
[INFO] Parola dumneavoastră de root MySQL este: kl3994aMsfkkeE 

-------------------------------------------------------------------------------- 
 _____ ___________ _____ __ _ _ ____ 
|_ _/ ___| ___ \ / __ \ / _(_) /__ \ 
  | | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ / | 
  | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ | 
 _| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \ 
 \___/\____/\_| \____/\___/|_| |_|_|\__, | \____/ __ 
                                              / | 
                                             |___/ 
-------------------------------------------------------------------------------- 


>> Configurare inițială   

Sistem de operare: Debian 10.0 (Buster) sau compatibil 

    Următoarele vor fi câteva întrebări pentru configurația principală, așa că fiți atenți. 
    Valorile implicite sunt între [paranteze] și pot fi acceptate cu <ENTER>. 
    Apăsați „quit” (fără ghilimele) pentru a opri programul de instalare. 


Selectați limba (en,de) [en]: <-- Apăsați enter

 Mod de instalare (standard,expert) [standard]: <-- expert

 Numele complet calificat al gazdei (FQDN) al serverului, de ex. server1.domain.tld [web01.exemplu.com]: <-- Apăsați Enter

 Numele gazdei serverului MySQL [localhost]: <-- Apăsați Enter

 Portul serverului MySQL [3306]: <-- Apăsați Enter

 Nume utilizator root MySQL [root ]: < -- Apăsați Enter

 Parola root MySQL []: <-- Introduceți parola MySQL pe care tocmai v-a dat-o scriptul

 Baza de date MySQL de creat [dbispconfig]: <-- Apăsați Enter

 Set de caractere MySQL [utf8]: <-- Apăsați Enter

 Următoarele două întrebări se referă la utilizatorul și parola bazei de date interne ISPConfig. 
Se recomandă acceptarea valorilor implicite, care sunt „ispconfig” ca nume de utilizator și o parolă aleatorie. 
Dacă utilizați o parolă diferită, utilizați doar numere și caractere pentru parolă. 

Nume utilizator bază de date ISPConfig mysql [ispconfig]: <-- Apăsați Enter

 Parola bazei de date ISPConfig mysql [aakl203920459853sak20284204]: <-- Apăsați Enter

 Trebuie acest server să se alăture unei configurații multiserver ISPConfig existente (y,n) [n]: <-- y

 Nume gazdă server master MySQL []: <-- panel.example.com

 Port server master MySQL []: <-- Apăsați Enter

 Nume utilizator root server master MySQL [root]: <-- Apăsați Enter

 Parola root server master MySQL []: <-- parola pe care ați dat-o utilizatorului root extern pe serverul master.

 Baza de date server master MySQL nume [dbispconfig]: <-- Apăsați Enter

Adăugarea înregistrării serverului ISPConfig la baza de date. 

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

 Configurare Jailkit 
Configurare Pureftpd 
Configurare Server DNS (y,n) [y]: <-- n

 Opțiunea Server Web trebuie activată atunci când doriți să rulați un server web sau când acest nod va găzdui interfața ISPConfig. 
Configurare server web (y,n) [y]: <-- Apăsați Enter

 Configurare Apache 
Configurarea detectării automate vlogger 
[WARN] pentru OpenVZ a eșuat 
Configurare forțată OpenVZ (y,n) [n]: <-- Apăsați Enter

 Omitere OpenVZ 

Configurare server firewall (y,n) [y]: <-- Apăsați Enter

 Configurare server firewall Ubuntu 
[WARN] pentru Metronome XMPP Server a eșuat 
Configurare forțată server Metronome XMPP Server (y,n) [n]: <-- Apăsați Enter

 Omitere server Metronome XMPP 

Configurare Fail2ban 
Instalare interfață web ISPConfig (y,n) [n]: <-- Apăsați Enter

 Doriți să creați certificate SSL pentru serverul dvs.? (y,n) [y]: <-- Apăsați Enter

 Verificare / creare certificat pentru web01.example.com 
Se utilizează calea certificatului /etc/letsencrypt/live/web01.example.com 
Se utilizează apache pentru validarea certificatelor 
Legătură simbolică Certificate SSL ISPConfig către Postfix? (y,n) [y]: <-- Apăsați Enter

 Legătură simbolică ISPConfig certificate SSL către Pure-FTPd? Crearea fișierului dhparam poate dura ceva timp. (y,n) [y]: <-- Apăsați Enter

 Se generează parametri DH, safe prime lung de 2048 biți, generator 2 
Acest lucru va dura mult timp 
......................+...........................................+............... 
Configurarea aplicațiilor vhost 
Configurarea DBServer 
Instalarea ISPConfig crontab 
Detectarea adreselor IP 
Repornirea serviciilor ... 
Instalare finalizată. 
[INFO] Adăugarea versiunilor php la ISPConfig. 
[INFO] Se verifică dacă toate serviciile rulează. 
[INFO] mysql: OK 
[INFO] clamav-daemon: OK 
[INFO] postfix: OK 
[INFO] bind9: OK 
[INFO] pureftpd: OK 
[INFO] apache2: OK 
[INFO] Instalarea este gata. 
[INFO] Parola dvs. de root MySQL este: kl3994aMsfkkeE 
[INFO] Atenție: Vă rugăm să ștergeți fișierele jurnal din /tmp/ispconfig-ai/var/log/setup-* odată ce nu mai aveți nevoie de ele, deoarece acestea conțin parolele dvs.!

Notă: dacă doriți să redirecționați example.com/webmail către webmail.example.com, urmați acest ghid .

Pentru a seta acest server ca implicit pentru site-urile web și bazele de date, conectați-vă la ISPConfig și accesați Sistem -> Configurație principală. Selectați web01.example.com ca server implicit.

3.3 Configurarea firewall-ului

Ultimul lucru de făcut este să configurăm firewall-ul.

Conectați-vă la interfața ISPConfig și accesați Sistem -> Firewall. Apoi faceți clic pe „Adăugați o nouă înregistrare firewall”.

Asigurați-vă că selectați serverul corect. Pentru serverul nostru web, trebuie să deschidem următoarele porturi:

TCP:

20, 21, 22, 80, 443

Nu trebuie deschise porturi UDP prin interfața cu utilizatorul.

Serverul dvs. web este acum gata de utilizare. În pasul următor, vom instala serverul de mail.

4 Instalarea serverului de mail

Conectați-vă ca root sau executați

su -

să devii utilizator root pe server înainte de a continua. IMPORTANT : Trebuie să folosești „su -” și nu doar „su”, altfel variabila PATH este setată greșit de Debian.

4.1 Configurați numele de gazdă

Numele de gazdă al serverului dvs. ar trebui să fie un subdomeniu, cum ar fi „mx1.example.com”. Nu utilizați un nume de domeniu fără o parte de subdomeniu, cum ar fi „example.com”, deoarece acest lucru va cauza probleme ulterioare cu configurarea mailului. Mai întâi, ar trebui să verificați numele de gazdă în  /etc/hosts  și să îl modificați atunci când este necesar. Linia ar trebui să fie: „IP Address – space – full hostname incl. domain – space – subdomain part”. Pentru numele nostru de gazdă mx1.example.com, fișierul va arăta astfel:

nano /etc/hosts
127.0.0.1 localhost.localdomain localhost 
# Această linie ar trebui modificată pe fiecare nod cu numele serverului corect: 
127.0.1.1 mx1.example.com mx1 
# Aceste linii sunt aceleași pe fiecare nod:
10.0.64.12 panel.exemplu.com panel 
10.0.64.13 web01.exemplu.com web01 
10.0.64.14 mx1.exemplu.com mx1 
10.0.64.15 ns1.exemplu.com ns1 
10.0.64.16 ns2.exemplu.com ns2 
10.0.64.17 webmail.exemplu.com webmail

# Următoarele linii sunt de dorit pentru gazdele compatibile cu IPv6
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

După cum puteți vedea, am adăugat și numele de gazdă ale celorlalte servere ale noastre, astfel încât acestea să poată comunica ulterior prin rețeaua internă.

Apoi editați fișierul /etc/hostname:

nano /etc/hostname

Va conține doar partea de subdomeniu, în cazul nostru:

mx1

În final, reporniți serverul pentru a aplica modificarea:

restart systemctl

Conectați-vă din nou și verificați dacă numele de gazdă este corect acum cu aceste comenzi:

hostname 
hostname -f

Rezultatul va fi astfel:

root@mx1:~$ hostname 
mx1 
root@mx1:~$ hostname -f 
mx1.exemplu.com

4.2 Instalarea ISPConfig

Acum putem rula programul de instalare automată pentru toate pachetele și ISPConfig:

wget -O - https://get.ispconfig.org | sh -s -- --no-dns --no-roundcube --no-mailman --use-php=system --use-unbound --interactive

După un timp, veți vedea:

AVERTISMENT! Acest script va reconfigura întregul server! 
Ar trebui rulat pe un server proaspăt instalat și, cel mai probabil, toate configurațiile curente pe care le-ați făcut se vor pierde! 
Tastați „yes” dacă doriți cu adevărat să continuați:

Răspundeți cu „da” și apăsați Enter. Programul de instalare va porni acum.

După finalizarea instalării și configurării pachetelor, va fi afișată parola de root pentru MySQL pe mx1. Notați-o (împreună cu numele serverului, pentru a preveni orice confuzie ulterioară).

Acum va trebui să răspundem la câteva întrebări, deoarece folosim modul interactiv. Acest lucru este necesar, deoarece acest server va fi adăugat la configurația dvs. multiserver.

[INFO] Se instalează ISPConfig3. 
[INFO] Parola dumneavoastră de root MySQL este: kl3994aMsfkkeE 


-------------------------------------------------------------------------------- 
 _____ ___________ _____ __ _ _ ____ 
|_ _/ ___| ___ \ / __ \ / _(_) /__ \ 
  | | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ / | 
  | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ | 
 _| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \ 
 \___/\____/\_| \____/\___/|_| |_|_|\__, | \____/ __ 
                                              / | 
                                             |___/ 
-------------------------------------------------------------------------------- 


>> Configurare inițială   

Sistem de operare: Debian 10.0 (Buster) sau compatibil 

    Următoarele vor fi câteva întrebări pentru configurația principală, așa că fiți atenți. 
    Valorile implicite sunt între [paranteze] și pot fi acceptate cu <ENTER>. 
    Apăsați „quit” (fără ghilimele) pentru a opri programul de instalare. 


Selectați limba (en,de) [en]: <-- Apăsați enter

 Mod de instalare (standard,expert) [standard]: <-- expert

 Numele complet calificat al gazdei (FQDN) al serverului, de ex. server1.domain.tld [mx1.exemplu.com]: <-- Apăsați Enter

 Numele gazdei serverului MySQL [localhost]: <-- Apăsați Enter

 Portul serverului MySQL [3306 ]: <-- Apăsați Enter

 Nume utilizator root MySQL [root ]: < -- Apăsați Enter

 Parola root MySQL []: <-- Introduceți parola MySQL pe care tocmai v-a dat-o scriptul

 Baza de date MySQL de creat [dbispconfig]: <-- Apăsați Enter

 Set de caractere MySQL [utf8]: <-- Apăsați Enter

 Următoarele două întrebări se referă la utilizatorul și parola bazei de date interne ISPConfig. 
Se recomandă acceptarea valorilor implicite, care sunt „ispconfig” ca nume de utilizator și o parolă aleatorie. 
Dacă utilizați o parolă diferită, utilizați doar numere și caractere pentru parolă. 

Nume utilizator bază de date ISPConfig mysql [ispconfig]: <-- Apăsați Enter

 Parola bazei de date ISPConfig mysql [aakl203920459853sak20284204]: <-- Apăsați Enter

 Trebuie acest server să se alăture unei configurații multiserver ISPConfig existente (y,n) [n]: <-- y

 Nume gazdă server master MySQL []: <-- panel.example.com

 Port server master MySQL []: <-- Apăsați Enter

 Nume utilizator root server master MySQL [root]: <-- Apăsați Enter

 Parola root server master MySQL []: <-- parola pe care ați dat-o utilizatorului root extern pe serverul master.

 Baza de date server master MySQL nume [dbispconfig]: <-- Apăsați Enter

Adăugarea înregistrării serverului ISPConfig la baza de date. 

Configurarea Mail (y,n) [y]: <-- Apăsați enter

 Configurarea Postgrey 
Configurarea Postfix 
Generarea unei chei private RSA 
.............................................................................++++ 
....................++++ 
scrierea noii chei private în „smtpd.key” 
----- 
Urmează să vi se solicite să introduceți informații care vor fi încorporate 
în solicitarea dvs. de certificat. 
Ceea ce urmează să introduceți este ceea ce se numește Nume Distins sau DN. 
Există o serie de câmpuri, dar puteți lăsa unele necompletate. 
Pentru unele câmpuri va exista o valoare implicită. 
Dacă introduceți „.”, câmpul va fi lăsat necompletat. 
----- 
Numele țării (cod din 2 litere) [AU]: <-- Introduceți tasta
 Numele statului sau provinciei (numele complet) [Un anumit stat]: <-- Introduceți tasta
 Numele localității (de exemplu, oraș) []: <-- Introduceți
 tasta Numele organizației (de exemplu, companie) [Internet Widgits Pty Ltd]: <-- Introduceți tasta
 Numele unității organizaționale (de exemplu, secțiune) []: <-- Introduceți tasta
 Nume comun (de exemplu, FQDN-ul serverului sau numele DVS.) []: <-- Introduceți tasta
 Adresă de e-mail []: <-- Introduceți tasta 
[WARN] detectarea automată pentru Mailman a eșuat 
Configurarea forțată a Mailman (y,n) [n]: <-- Introduceți tasta

 Omitere Mailman 

Configurare Dovecot 
Se creează un nou fișier DHParams, durează câteva minute. Nu întrerupeți scriptul. 
Configurarea detectării automate Spamassassin 
[WARN] pentru Amavisd a eșuat 
Configurarea forțată a Amavisd (y,n) [n]: <-- Apăsați Enter

 Omitere Amavisd 

Configurare Rspamd 
Configurare Getmail 
Configurare Jailkit 
Configurare Pureftpd 
Configurare server DNS (y,n) [y]: <-- n

 Opțiunea Server web trebuie activată atunci când doriți să rulați un server web sau când acest nod va găzdui interfața ISPConfig. 
Configurare server web (y,n) [y]: <-- Apăsați Enter

 Configurare Apache 
Configurarea detectării automate vlogger 
[WARN] pentru OpenVZ a eșuat 
Configurare forțată OpenVZ (y,n) [n]: <-- Apăsați Enter

 Omitere OpenVZ 

Configurare server firewall (y,n) [y]: <-- Apăsați Enter

 Configurare server firewall Ubuntu 
[WARN] pentru Metronome XMPP Server a eșuat 
Configurare forțată server Metronome XMPP Server (y,n) [n]: <-- Apăsați Enter

 Omitere server Metronome XMPP 

Configurare Fail2ban 
Instalare interfață web ISPConfig (y,n) [n]: <-- Apăsați Enter

 Doriți să creați certificate SSL pentru serverul dvs.? (y,n) [y]: <-- Apăsați Enter

Verificare / creare certificat pentru mx1.example.com 
Se utilizează calea de certificat /etc/letsencrypt/live/mx1.example.com 
Se utilizează apache pentru validarea certificatelor 
Legătură simbolică Certificări SSL ISPConfig către Postfix? (y,n) [y]: <-- Apăsați Enter

 Legătură simbolică Certificări SSL ISPConfig către Pure-FTPd? Crearea fișierului dhparam poate dura ceva timp. (y,n) [y]: <-- Apăsați Enter

 Se generează parametri DH, safe prime lungime 2048 biți, generator 2 
Acest lucru va dura mult timp 
......................+...........................................+............... 
Configurarea aplicațiilor vhost 
Configurarea DBServer 
Instalarea ISPConfig crontab 
no crontab for getmail 
Detectarea adreselor IP 
Repornirea serviciilor ... 
Instalarea finalizată. 
[INFO] Adăugarea versiunilor php la ISPConfig. 
[INFO] Se verifică dacă toate serviciile rulează. 
[INFO] mysql: OK 
[INFO] clamav-daemon: OK 
[INFO] postfix: OK 
[INFO] bind9: OK 
[INFO] pureftpd: OK 
[INFO] apache2: OK 
[INFO] rspamd: OK 
[INFO] redis-server: OK 
[INFO] dovecot: OK 
[INFO] Instalarea este gata. 
[INFO] Parola dvs. de root MySQL este: kl3994aMsfkkeE 
[INFO] Atenție: Vă rugăm să ștergeți fișierele jurnal din /tmp/ispconfig-ai/var/log/setup-* odată ce nu mai aveți nevoie de ele, deoarece acestea conțin parolele dvs.

 

Acum vom adăuga un site web pentru acest server în ISPConfig. Mergeți la Sites -> Add new website și adăugați site-ul web „mx1.example.com”. Asigurați-vă că îl creați pe serverul corect (mx1.example.com). Dezactivați auto-subdomain și activați SSL + Let’s Encrypt. Apoi, mergeți la opțiuni și lipiți acest cod în secțiunea de directive Apache:

RewriteEngine On 
RewriteRule ^/rspamd$ /rspamd/ [R,L] 
RewriteRule ^/rspamd/(.*) http://127.0.0.1:11334/$1 [P]

În cele din urmă, trebuie să activăm câteva module Apache și să repornim serviciile noastre:

a2enmod proxy_balancer proxy_http 
systemctl restart rspamd 
systemctl restart apache2

4.3 Securizarea serverului de mail cu un certificat SSL valid

Pentru o configurare funcțională, trebuie să aveți un certificat SSL valid pentru numele de gazdă utilizate. Acest certificat nu poate fi autosemnat. Dacă intenționați să utilizați nume de gazdă suplimentare pentru acest server, cum ar fi imap.example.com și smtp.example.com, sau dacă programul de instalare nu a putut crea un certificat valid la instalare, urmați acest ghid pentru a configura un certificat valid pentru serverul dvs. de mail

4.4 Configurarea firewall-ului

Ultimul lucru de făcut este să configurăm firewall-ul.

Conectați-vă la interfața ISPConfig și accesați Sistem -> Firewall. Apoi faceți clic pe „Adăugați o nouă înregistrare firewall”.

Asigurați-vă că selectați serverul corect. Pentru serverul nostru de mail, trebuie să deschidem următoarele porturi:

TCP:

22, 25, 80, 110, 143, 443, 465, 587, 993, 995

Nu trebuie deschise porturi UDP prin interfața cu utilizatorul.

În pasul următor, vom instala serverul DNS principal.

6 Instalarea serverului de nume principal

Conectați-vă ca root sau executați

su -

să devii utilizator root pe server înainte de a continua. IMPORTANT : Trebuie să folosești „su -” și nu doar „su”, altfel variabila PATH este setată greșit de Debian.

6.1 Configurați numele de gazdă

Numele de gazdă al serverului dvs. ar trebui să fie un subdomeniu, cum ar fi „panel.example.com”. Nu utilizați un nume de domeniu fără o parte de subdomeniu, cum ar fi „example.com”, deoarece acest lucru va cauza probleme ulterioare cu configurarea mailului. Mai întâi, ar trebui să verificați numele de gazdă în  /etc/hosts  și să îl modificați atunci când este necesar. Linia ar trebui să fie: „IP Address – space – full hostname incl. domain – space – subdomain part”. Pentru numele nostru de gazdă ns1.example.com, fișierul va arăta astfel:

nano /etc/hosts
127.0.0.1 localhost.localdomain localhost 
# Această linie ar trebui modificată pe fiecare nod cu numele serverului corect: 
127.0.1.1 ns1.example.com ns1 
# Aceste linii sunt aceleași pe fiecare nod:
10.0.64.12 panel.exemplu.com panel 
10.0.64.13 web01.exemplu.com web01 
10.0.64.14 mx1.exemplu.com mx1 
10.0.64.15 ns1.exemplu.com ns1 
10.0.64.16 ns2.exemplu.com ns2 
10.0.64.17 webmail.exemplu.com webmail

# Următoarele linii sunt de dorit pentru gazdele compatibile cu IPv6
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

După cum puteți vedea, am adăugat și numele de gazdă ale celorlalte servere ale noastre, astfel încât acestea să poată comunica ulterior prin rețeaua internă.

Apoi editați fișierul /etc/hostname:

nano /etc/hostname

Va conține doar partea de subdomeniu, în cazul nostru:

ns1

În final, reporniți serverul pentru a aplica modificarea:

restart systemctl

Conectați-vă din nou și verificați dacă numele de gazdă este corect acum cu aceste comenzi:

hostname 
hostname -f

Rezultatul va fi astfel:

root@ns1:~$ hostname
ns1 
root@ns1:~$ hostnamed -f 
ns1.exemplu.com

6.2 Instalarea ISPConfig

Acum putem rula programul de instalare automată pentru toate pachetele și ISPConfig:

wget -O - https://get.ispconfig.org | sh -s -- --no-web --no-mail --use-php=system --interactive

După un timp, veți vedea:

AVERTISMENT! Acest script va reconfigura întregul server! 
Ar trebui rulat pe un server proaspăt instalat și, cel mai probabil, toate configurațiile curente pe care le-ați făcut se vor pierde! 
Tastați „yes” dacă doriți cu adevărat să continuați:

Răspundeți cu „da” și apăsați Enter. Programul de instalare va porni acum.

După finalizarea instalării și configurării pachetelor, va fi afișată parola de root pentru MySQL pe ns1. Notați-o (împreună cu numele serverului, pentru a preveni orice confuzie ulterioară).

Acum va trebui să răspundem la câteva întrebări, deoarece folosim modul interactiv. Acest lucru este necesar, deoarece acest server va fi adăugat la configurația dvs. multiserver.

[INFO] Se instalează ISPConfig3. 
[INFO] Parola dumneavoastră de root MySQL este: kl3994aMsfkkeE 

-------------------------------------------------------------------------------- 
 _____ ___________ _____ __ _ _ ____ 
|_ _/ ___| ___ \ / __ \ / _(_) /__ \ 
  | | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ / | 
  | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ | 
 _| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \ 
 \___/\____/\_| \____/\___/|_| |_|_|\__, | \____/ __ 
                                              / | 
                                             |___/ 
-------------------------------------------------------------------------------- 


>> Configurare inițială   

Sistem de operare: Debian 10.0 (Buster) sau compatibil 

    Următoarele vor fi câteva întrebări pentru configurația principală, așa că fiți atenți. 
    Valorile implicite sunt între [paranteze] și pot fi acceptate cu <ENTER>. 
    Apăsați „quit” (fără ghilimele) pentru a opri programul de instalare. 


Selectați limba (en,de) [en]: <-- Apăsați enter

 Mod de instalare (standard,expert) [standard]: <-- expert

 Numele complet calificat al gazdei (FQDN) al serverului, de ex. server1.domain.tld [ns1.example.com]: <-- Apăsați Enter

 Numele gazdei serverului MySQL [localhost]: <-- Apăsați Enter

 Portul serverului MySQL [3306 ]: <-- Apăsați Enter

 Nume utilizator root MySQL [root ]: < -- Apăsați Enter

 Parola root MySQL []: <-- Introduceți parola MySQL pe care scriptul tocmai v-a dat-o

 MySQL baza de date pentru a crea [dbispconfig]: <-- Apăsați Enter

 MySQL charset [utf8]: <-- Apăsați Enter

 Următoarele două întrebări se referă la utilizatorul și parola bazei de date interne ISPConfig. 
Se recomandă acceptarea valorilor implicite, care sunt „ispconfig” ca nume de utilizator și o parolă aleatorie. 
Dacă utilizați o parolă diferită, utilizați doar numere și caractere pentru parolă. 

ISPConfig mysql database username [ispconfig]: <-- Apăsați Enter

 ISPConfig mysql database password [aakl203920459853sak20284204]: <-- Apăsați Enter

 Trebuie acest server să se alăture unei configurații multiserver ISPConfig existente (y,n) [n]: <-- y

 MySQL master server hostname []: <-- panel.example.com

 MySQL master server port []: <-- Apăsați Enter

 MySQL master server root username [root]: <-- Apăsați Enter

 MySQL master server root password []: <-- parola pe care ați dat-o utilizatorului root extern pe serverul master.

 MySQL master server name [dbispconfig]: <-- Apăsați Enter

Adăugarea înregistrării serverului ISPConfig la baza de date. 

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

 [WARN] detectarea automată pentru Jailkit a eșuat 
Configurare forțată Jailkit (y,n) [n]: <-- Apăsați Enter

 Omitere Jailkit 

[WARN] detectarea automată pentru pureftpd a eșuat 
Configurare forțată pureftpd (y,n) [n]: <-- Apăsați Enter

 Omitere pureftpd 

Configurare Server DNS (y,n) [y]: <-- Apăsați Enter

 Configurare BIND 
Opțiunea Server Web trebuie activată atunci când doriți să rulați un server web sau când acest nod va găzdui interfața ISPConfig. 
Configurare server web (y,n) [y]: <-- n

 [WARN] detectarea automată pentru OpenVZ a eșuat 
Configurare forțată OpenVZ (y,n) [n]: <-- Apăsați enter

 Omitere OpenVZ 

Configurare server firewall (y,n) [y]: <-- Apăsați enter

 Configurare firewall Ubuntu 
[WARN] detectarea automată pentru serverul Metronome XMPP a eșuat 
Configurare forțată server Metronome XMPP (y,n) [n]: <-- Apăsați enter

 Omitere server Metronome XMPP 

Configurare Fail2ban 
Instalare interfață web ISPConfig (y,n) [n]: <-- Apăsați enter

 Doriți să creați certificate SSL pentru serverul dvs.? (y,n) [y]: <-- n

 Configurare DBServer 
Instalare ISPConfig crontab 
Detectare adrese IP 
Repornire servicii ... 
Repornirea apache2.service a eșuat: Unitatea apache2.service nu a fost găsită. 
Instalare finalizată. 
[INFO] Se verifică dacă toate serviciile rulează. 
[INFO] mysql: OK 
[INFO] clamav-daemon: OK 
[INFO] postfix: OK 
[INFO] bind9: OK 
[INFO] Instalarea este gata. 
[INFO] Parola dvs. de root MySQL este: kl3994aMsfkkeE 
[INFO] Atenție: Vă rugăm să ștergeți fișierele jurnal din /tmp/ispconfig-ai/var/log/setup-* odată ce nu mai aveți nevoie de ele, deoarece acestea conțin parolele dvs.!

6.3 Configurarea firewall-ului

Ultimul lucru de făcut este să configurăm firewall-ul.

Conectați-vă la interfața ISPConfig și accesați Sistem -> Firewall. Apoi faceți clic pe „Adăugați o nouă înregistrare firewall”.

Asigurați-vă că selectați serverul corect. Pentru serverul nostru de nume, trebuie să deschidem următoarele porturi:

TCP:

22,53

UDP:

53

Primul server de nume este acum adăugat la configurația multiserver. În pasul următor, vom instala serverul de nume secundar.

7 Instalarea serverului de nume secundar

Conectați-vă ca root sau executați

su -

să devii utilizator root pe server înainte de a continua. IMPORTANT : Trebuie să folosești „su -” și nu doar „su”, altfel variabila PATH este setată greșit de Debian.

7.1 Configurați numele de gazdă

Numele de gazdă al serverului dvs. ar trebui să fie un subdomeniu, cum ar fi „panel.example.com”. Nu utilizați un nume de domeniu fără o parte de subdomeniu, cum ar fi „example.com”, deoarece acest lucru va cauza probleme ulterioare cu configurarea mailului. Mai întâi, ar trebui să verificați numele de gazdă în  /etc/hosts  și să îl modificați atunci când este necesar. Linia ar trebui să fie: „IP Address – space – full hostname incl. domain – space – subdomain part”. Pentru numele nostru de gazdă ns2.example.com, fișierul va arăta astfel:

nano /etc/hosts
127.0.0.1 localhost.localdomain localhost 
# Această linie ar trebui modificată pe fiecare nod cu numele serverului corect: 
127.0.1.1 ns2.example.com ns2 
# Aceste linii sunt aceleași pe fiecare nod:
10.0.64.12 panel.exemplu.com panel 
10.0.64.13 web01.exemplu.com web01 
10.0.64.14 mx1.exemplu.com mx1 
10.0.64.15 ns1.exemplu.com ns1 
10.0.64.16 ns2.exemplu.com ns2 
10.0.64.17 webmail.exemplu.com webmail

# Următoarele linii sunt de dorit pentru gazdele compatibile cu IPv6
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

După cum puteți vedea, am adăugat și numele de gazdă ale celorlalte servere ale noastre, astfel încât acestea să poată comunica ulterior prin rețeaua internă.

Apoi editați fișierul /etc/hostname:

nano /etc/hostname

Va conține doar partea de subdomeniu, în cazul nostru:

ns2

În final, reporniți serverul pentru a aplica modificarea:

repornire systemctl

Conectați-vă din nou și verificați dacă numele de gazdă este corect acum cu aceste comenzi:

hostname 
hostname -f

Rezultatul va fi astfel:

root@ns2:~$ hostname 
ns2 
root@ns2:~$ hostname -f 
ns2.exemplu.com

7.2 Instalarea ISPConfig

Acum putem rula programul de instalare automată pentru toate pachetele și ISPConfig:

wget -O - https://get.ispconfig.org | sh -s -- --no-web --no-mail --use-php=system --interactive

După un timp, veți vedea:

AVERTISMENT! Acest script va reconfigura întregul server! 
Ar trebui rulat pe un server proaspăt instalat și, cel mai probabil, toate configurațiile curente pe care le-ați făcut se vor pierde! 
Tastați „yes” dacă doriți cu adevărat să continuați:

Răspundeți cu „da” și apăsați Enter. Programul de instalare va porni acum.

După finalizarea instalării și configurării pachetelor, va fi afișată parola de root pentru MySQL pe ns2. Notați-o (împreună cu numele serverului, pentru a preveni orice confuzie ulterioară).

Acum va trebui să răspundem la câteva întrebări, deoarece folosim modul interactiv. Acest lucru este necesar, deoarece acest server va fi adăugat la configurația dvs. multiserver.

[INFO] Se instalează ISPConfig3. 
[INFO] Parola dumneavoastră de root MySQL este: kl3994aMsfkkeE 


-------------------------------------------------------------------------------- 
 _____ ___________ _____ __ _ _ ____ 
|_ _/ ___| ___ \ / __ \ / _(_) /__ \ 
  | | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ / | 
  | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ | 
 _| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \ 
 \___/\____/\_| \____/\___/|_| |_|_|\__, | \____/ __ 
                                              / | 
                                             |___/ 
-------------------------------------------------------------------------------- 


>> Configurare inițială   

Sistem de operare: Debian 10.0 (Buster) sau compatibil 

    Următoarele vor fi câteva întrebări pentru configurația principală, așa că fiți atenți. 
    Valorile implicite sunt între [paranteze] și pot fi acceptate cu <ENTER>. 
    Apăsați „quit” (fără ghilimele) pentru a opri programul de instalare. 


Selectați limba (en,de) [en]: <-- Apăsați enter

 Mod de instalare (standard,expert) [standard]: <-- expert

 Numele complet calificat al gazdei (FQDN) al serverului, de ex. server1.domain.tld [ns2.example.com]: <-- Apăsați Enter

 Numele gazdei serverului MySQL [localhost]: <-- Apăsați Enter

 Portul serverului MySQL [3306]: <-- Apăsați Enter

 Nume utilizator root MySQL [root ]: < -- Apăsați Enter

 Parola root MySQL []: <-- Introduceți parola MySQL pe care scriptul tocmai v-a dat-o

 MySQL baza de date pentru a crea [dbispconfig]: <-- Apăsați Enter

 MySQL charset [utf8]: <-- Apăsați Enter

 Următoarele două întrebări se referă la utilizatorul și parola bazei de date interne ISPConfig. 
Se recomandă acceptarea valorilor implicite, care sunt „ispconfig” ca nume de utilizator și o parolă aleatorie. 
Dacă utilizați o parolă diferită, utilizați doar numere și caractere pentru parolă. 

ISPConfig mysql database username [ispconfig]: <-- Apăsați Enter

 ISPConfig mysql database password [aakl203920459853sak20284204]: <-- Apăsați Enter

 Trebuie acest server să se alăture unei configurații multiserver ISPConfig existente (y,n) [n]: <-- y

 MySQL master server hostname []: <-- panel.example.com

 MySQL master server port []: <-- Apăsați Enter

 MySQL master server root username [root]: <-- Apăsați Enter

 MySQL master server root password []: <-- parola pe care ați dat-o utilizatorului root extern pe serverul master.

 MySQL master server name [dbispconfig]: <-- Apăsați Enter

Adăugarea înregistrării serverului ISPConfig la baza de date. 

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

 [WARN] detectarea automată pentru Jailkit a eșuat 
Configurare forțată Jailkit (y,n) [n]: <-- Apăsați Enter

 Omitere Jailkit 

[WARN] detectarea automată pentru pureftpd a eșuat 
Configurare forțată pureftpd (y,n) [n]: <-- Apăsați Enter

 Omitere pureftpd 

Configurare Server DNS (y,n) [y]: <-- Apăsați Enter

 Configurare BIND 
Opțiunea Server Web trebuie activată atunci când doriți să rulați un server web sau când acest nod va găzdui interfața ISPConfig. 
Configurare server web (y,n) [y]: <-- n

 [WARN] detectarea automată pentru OpenVZ a eșuat 
Configurare forțată OpenVZ (y,n) [n]: <-- Apăsați enter

 Omitere OpenVZ 

Configurare server firewall (y,n) [y]: <-- Apăsați enter

 Configurare firewall Ubuntu 
[WARN] detectarea automată pentru serverul Metronome XMPP a eșuat 
Configurare forțată server Metronome XMPP (y,n) [n]: <-- Apăsați enter

 Omitere server Metronome XMPP 

Configurare Fail2ban 
Instalare interfață web ISPConfig (y,n) [n]: <-- Apăsați enter

 Doriți să creați certificate SSL pentru serverul dvs.? (y,n) [y]: <-- n

 Configurare DBServer 
Instalare ISPConfig crontab 
Detectare adrese IP 
Repornire servicii ... 
Repornirea apache2.service a eșuat: Unitatea apache2.service nu a fost găsită. 
Instalare finalizată. 
[INFO] Se verifică dacă toate serviciile rulează. 
[INFO] mysql: OK 
[INFO] clamav-daemon: OK 
[INFO] postfix: OK 
[INFO] bind9: OK 
[INFO] Instalarea este gata. 
[INFO] Parola dvs. de root MySQL este: kl3994aMsfkkeE 
[INFO] Atenție: Vă rugăm să ștergeți fișierele jurnal din /tmp/ispconfig-ai/var/log/setup-* odată ce nu mai aveți nevoie de ele, deoarece acestea conțin parolele dvs.!

7.3 Configurarea firewall-ului

Ultimul lucru de făcut este să configurăm firewall-ul.

Conectați-vă la interfața ISPConfig și accesați Sistem -> Firewall. Apoi faceți clic pe „Adăugați o nouă înregistrare firewall”.

Asigurați-vă că selectați serverul corect. Pentru serverul nostru de nume, trebuie să deschidem următoarele porturi:

TCP:

22,53

UDP:

53

Pentru a configura zonele, creați mai întâi zona în DNS ->Zone DNS pe primul server de nume și permiteți transferul + notificați și adresa IP a serverului de nume secundar. Apoi adăugați zona în „Zone DNS secundare” pe al doilea server de nume și permiteți transferul de la adresa IP a primului server de nume. Nu activați oglindirea în ISPConfig pentru serverele DNS, deoarece acest lucru ar întrerupe semnarea zonei DNSSEC; BIND va oglindi automat zona atunci când este modificată, deci nu este nevoie de oglindire internă în ISPConfig aici.

Serverul de nume secundar este acum configurat. Dacă doriți să adăugați un alt server de nume, repetați instrucțiunile de la acest pas și ajustați numele de gazdă și adresa IP în consecință. În pasul următor, vom instala serverul de webmail.

8 Instalarea serverului de webmail

Acesta este un pas opțional; dacă nu doriți un server de webmail separat, treceți la pasul următor.

Conectați-vă ca root sau executați

su -

să devii utilizator root pe server înainte de a continua. IMPORTANT : Trebuie să folosești „su -” și nu doar „su”, altfel variabila PATH este setată greșit de Debian.

8.1 Configurați numele de gazdă

Numele de gazdă al serverului dvs. ar trebui să fie un subdomeniu, cum ar fi „panel.example.com”. Nu utilizați un nume de domeniu fără o parte de subdomeniu, cum ar fi „example.com”, deoarece acest lucru va cauza probleme ulterioare cu configurarea mailului. Mai întâi, ar trebui să verificați numele de gazdă în  /etc/hosts  și să îl modificați atunci când este necesar. Linia ar trebui să fie: „IP Address – space – full hostname incl. domain – space – subdomain part”. Pentru numele nostru de gazdă webmail.example.com, fișierul ar trebui să arate astfel:

nano /etc/hosts
127.0.0.1 localhost.localdomain localhost 
# Această linie ar trebui modificată pe fiecare nod cu numele serverului corect: 
127.0.1.1 webmail.example.com webmail 
# Aceste linii sunt aceleași pe fiecare nod:
10.0.64.12 panel.exemplu.com panel 
10.0.64.13 web01.exemplu.com web01 
10.0.64.14 mx1.exemplu.com mx1 
10.0.64.15 ns1.exemplu.com ns1 
10.0.64.16 ns2.exemplu.com ns2 
10.0.64.17 webmail.exemplu.com webmail

# Următoarele linii sunt de dorit pentru gazdele compatibile cu IPv6
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

După cum puteți vedea, am adăugat și numele de gazdă ale celorlalte servere ale noastre, astfel încât acestea să poată comunica ulterior prin rețeaua internă.

Apoi editați fișierul /etc/hostname:

nano /etc/hostname

Va conține doar partea de subdomeniu, în cazul nostru:

webmail

În final, reporniți serverul pentru a aplica modificarea:

restart systemctl

Conectați-vă din nou și verificați dacă numele de gazdă este corect acum cu aceste comenzi:

hostname 
hostname -f

Rezultatul va fi astfel:

root@webmail:~$ hostname 
webmail 
root@webmail:~$ hostname -f 
webmail.exemplu.com

8.2 Instalarea ISPConfig

Acum putem rula programul de instalare automată pentru toate pachetele și ISPConfig:

wget -O - https://get.ispconfig.org | sh -s -- --no-mail --no-dns --roundcube --use-php=system --interactive

După un timp, veți vedea:

AVERTISMENT! Acest script va reconfigura întregul server! 
Ar trebui rulat pe un server proaspăt instalat și, cel mai probabil, toate configurațiile curente pe care le-ați făcut se vor pierde! 
Tastați „yes” dacă doriți cu adevărat să continuați:

Răspundeți cu „da” și apăsați Enter. Programul de instalare va porni acum.

După instalarea și configurarea pachetelor, va fi afișată parola de root pentru MySQL pe webmail. Notați-o (împreună cu numele serverului, pentru a preveni orice confuzie ulterioară).

Acum va trebui să răspundem la câteva întrebări, deoarece folosim modul interactiv. Acest lucru este necesar, deoarece acest server va fi adăugat la configurația dvs. multiserver.

[INFO] Se instalează ISPConfig3. 
[INFO] Parola dumneavoastră de root MySQL este: kl3994aMsfkkeE 

-------------------------------------------------------------------------------- 
 _____ ___________ _____ __ _ _ ____ 
|_ _/ ___| ___ \ / __ \ / _(_) /__ \ 
  | | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ / | 
  | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ | 
 _| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \ 
 \___/\____/\_| \____/\___/|_| |_|_|\__, | \____/ __ 
                                              / | 
                                             |___/ 
-------------------------------------------------------------------------------- 


>> Configurare inițială   

Sistem de operare: Debian 10.0 (Buster) sau compatibil 

    Următoarele vor fi câteva întrebări pentru configurația principală, așa că fiți atenți. 
    Valorile implicite sunt între [paranteze] și pot fi acceptate cu <ENTER>. 
    Apăsați „quit” (fără ghilimele) pentru a opri programul de instalare. 


Selectați limba (en,de) [en]: <-- Apăsați enter

 Mod de instalare (standard,expert) [standard]: <-- expert

 Numele complet calificat al gazdei (FQDN) al serverului, de ex. server1.domain.tld [webmail.exemplu.com]: <-- Apăsați Enter

 Numele gazdei serverului MySQL [localhost]: <-- Apăsați Enter

 Portul serverului MySQL [3306]: <-- Apăsați Enter

 Nume utilizator root MySQL [root ]: < -- Apăsați Enter

 Parola root MySQL []: <-- Introduceți parola MySQL pe care scriptul tocmai v-a dat-o

 MySQL baza de date pentru a crea [dbispconfig]: <-- Apăsați Enter

 MySQL charset [utf8]: <-- Apăsați Enter

 Următoarele două întrebări se referă la utilizatorul și parola bazei de date interne ISPConfig. 
Se recomandă acceptarea valorilor implicite, care sunt „ispconfig” ca nume de utilizator și o parolă aleatorie. 
Dacă utilizați o parolă diferită, utilizați doar numere și caractere pentru parolă. 

ISPConfig mysql database username [ispconfig]: <-- Apăsați Enter

 ISPConfig mysql database password [aakl203920459853sak20284204]: <-- Apăsați Enter

 Trebuie acest server să se alăture unei configurații multiserver ISPConfig existente (y,n) [n]: <-- y

 MySQL master server hostname []: <-- panel.example.com

 MySQL master server port []: <-- Apăsați Enter

 MySQL master server root username [root]: <-- Apăsați Enter

 MySQL master server root password []: <-- parola pe care ați dat-o utilizatorului root extern pe serverul master.

 MySQL master server name [dbispconfig]: <-- Apăsați Enter

Adăugarea înregistrării serverului ISPConfig la baza de date. 

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

 Configurare Jailkit 
Configurare Pureftpd 
Configurare Server DNS (y,n) [y]: <-- n

 Opțiunea Server Web trebuie activată atunci când doriți să rulați un server web sau când acest nod va găzdui interfața ISPConfig. 
Configurare server web (y,n) [y]: <-- Apăsați enter

 Configurare Apache 
Configurarea detectării automate vlogger 
[WARN] pentru OpenVZ a eșuat 
Configurare forțată OpenVZ (y,n) [n]: <-- Apăsați enter

 Omitere OpenVZ 

Configurare server firewall (y,n) [y]: <-- Apăsați enter

 Configurarea detectării automate Ubuntu Firewall 
[WARN] pentru serverul Metronome XMPP a eșuat 
Configurare forțată server Metronome XMPP (y,n) [n]: <-- Apăsați enter

 Omitere server Metronome XMPP 

Configurare Fail2ban 
Instalare interfață web ISPConfig (y,n) [n]: <-- Apăsați enter

 Doriți să creați certificate SSL pentru serverul dvs.? (y,n) [y]: <-- n

 Configurare aplicații vhost 
Configurare DBServer 
Instalare ISPConfig crontab 
Detectare adrese IP 
Repornire servicii ... 
Instalare finalizată. 
[INFO] Adăugare versiuni php la ISPConfig. 
[INFO] Se verifică dacă toate serviciile rulează. 
[INFO] mysql: OK 
[INFO] clamav-daemon: OK 
[INFO] postfix: OK 
[INFO] bind9: OK 
[INFO] pureftpd: OK 
[INFO] apache2: OK 
[INFO] Instalarea este gata. 
[INFO] Parola dvs. de root MySQL este: kl3994aMsfkkeE 
[INFO] Atenție: Vă rugăm să ștergeți fișierele jurnal din /tmp/ispconfig-ai/var/log/setup-* odată ce nu mai aveți nevoie de ele, deoarece acestea conțin parolele dvs.!

8.3 Configurați site-ul de webmail

Acum vom configura site-ul webmail. Mai întâi, vom dezactiva configurația Apache implicită, deoarece altfel va interfera cu site-ul webmail:

a2dissite 000-default 
systemctl reload apache2

Acum conectați-vă la ISPConfig și accesați Sites -> Add new website.

Introduceți „webmail.example.com” ca domeniu. Dezactivați subdomeniul automat și activați Let’s Encrypt. Activați și PHP.

O conexiune securizată este importantă, așa că accesați fila Redirecționare și activați „Rescrie HTTP în HTTPS”.

Acum, accesați fila de opțiuni și adăugați următorul fragment de directivă Apache:

DocumentRoot "/var/lib/roundcube/public_html" 
Alias ​​"/stats" "{DOCROOT}/stats"

Faceți clic pe Salvare pentru a salva aceste setări.

8.4 Configurarea Roundcube

Vom ajusta configurația astfel încât să utilizeze MX1 ca server IMAP și server SMTP. Puteți modifica acest lucru în funcție de propriile nevoi/idei.

nano /etc/roundcube/config.inc.php

Va trebui să ajustați următoarele setări pentru a arăta astfel:

$config['default_host'] = 'ssl://mx1.example.com';
$config['smtp_server'] = 'tls://mx1.example.com';
`$config['smtp_port'] = 587;`

8.5 Configurarea firewall-ului

Ultimul lucru de făcut este să configurăm firewall-ul.

Conectați-vă la interfața ISPConfig și accesați Sistem -> Firewall. Apoi faceți clic pe „Adăugați o nouă înregistrare firewall”.

Asigurați-vă că selectați serverul corect. Pentru serverul nostru de webmail, trebuie să deschidem următoarele porturi:

TCP:

22.80.443

Nu trebuie deschise porturi UDP prin interfața cu utilizatorul.

Serverul tău de webmail este acum gata de utilizare. Dacă dorești să integrezi Roundcube cu funcția mailuser din ISPConfig, unde orice cont de mail își poate schimba propria parolă, setările filtrului de spam, răspunsul automat și multe altele

[mai mult...]