Soluții

Tailscale: The Easiest way to access your Homelab from Anywhere

If you’ve ever tried to access your homelab, NAS, or Proxmox server from outside your house, you probably know the pain. Open ports on the router, deal with NAT, hope your ISP didn’t throw you behind CG-NAT, and then sit there wondering how exposed your services really are.

On top of that, you have to think about dynamic IPs, firewall rules, and whether you just made your setup visible to the whole internet.

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