ISPConfig 3.2 telepítése Ubuntu 22.04

A bejegyzésből megtudhatod, hogy hogyan telepítsd a cikk írásakor legfrissebb ISPConfig felületet Ubuntu 22.04 szerverre.

Szerver beállítása

A kiindulási alap egy frissen telepített Ubuntu 22.04 szerver.

Gépnév és hálózat beállítása

Állítsuk be a gépnevet, ip címe(ke)t:

nano /etc/hosts

Beállítás után így fog nálam kinézni:

127.0.0.1       localhost.localadmin localhost
127.0.1.1       bvl.delova.hu bvl

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
173.249.34.114    bvl.delova.hu bvl
2a02:c207:2176:6539::1 bvl.delova.hu bvl

Majd szerkesszük a hostname állományt:

nano /etc/hostname

Nálam így néz ki, szerkesztés után:

bvl

Amint látható ipv6 címet is használok, de jelenleg a rendszerben ez le van tiltva, ezért engedélyeznem kell:

nano /etc/sysctl.conf

Az állomány végéhez adjuk hozzá az alábbi két beállítást, ha ezek nincsenek konfigurálva, vagy módosítsuk a meglévő konfigurációt az alábbira:

net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.all.disable_ipv6 = 0

Mivel az Ubuntu a netplan-t használja a hálózat konfigurációjának kezelésére, nyissuk meg a yaml fájlt:

nano /etc/netplan/01-netcfg.yaml

Szerkesszük ízlésünk szerint, nekem ez a végállapot:

network:
  version: 2
  renderer: networkd
  ethernets:
    ens18:
      match:
        macaddress: 00:50:56:4f:f5:4d
      addresses:
        - 173.249.34.114/24
        - 2a02:c207:2176:6539:0000:0000:0000:0001/64
      routes:
        - to: 0.0.0.0/0
          via: 173.249.34.1
          on-link: true
        - to: ::/0
          via: fe80::1
          on-link: true
      nameservers:
        search: [ invalid ]
        addresses: [8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844]

Érdemes a beállítások előtt korlátozni az állomány jogosultságait, különben a netplan sikítozni fog a konfiguráció ellenőrzésénél, hogy túlságosan engedékeny az állományhoz való hozzáférésünk:

chmod 600 /etc/netplan/01-netcfg.yaml

Először aktualizáljuk az ipv6 beállításait, indítsuk újra a hálózati szolgáltatást:

systemctl restart networkd-dispatcher.service

Majd ellenőrizzük a netplan konfigurációt:

netplan try

Amennyiben nem talált hibát a konfigurációban, üssünk egy entert a beállítások aktualizálásához. Hiba esetén CTRL+C -vel szakítsuk meg a folyamatot, így maradnak a régi beállítások és javítsuk a hibát. Ha jól dolgoztunk, van ipv6 címünk is. Ellenőrizzük le:

ip a

Időzóna, nyelvi beállítások

Elsőként az időzónát konfigurlájuk:

dpkg-reconfigure tzdata

Természetesen Europe/Budapest
Majd honosítsuk a szerverünket:

apt install language-pack-hu

Ezt követően:

dpkg-reconfigure locales

Válasszuk ki a: ‘hu_HU.UTF-8 UTF-8’ karakterkészletet és persze adjuk meg, hogy ez legyen az alapértelmezett.
Indítsuk újra a szervert.

Google Authenticator telepítése

Ebbe külön most nem fojnék bele, egy korábbi cikkemben részleteztem ennek a menetét, melyet itt találsz.

ISPConfig telepítése

Kézi telepítés

Magát az ISPConfigot telepíthetjük kézzel lépésről-lépésre manuálisan is. Ilyen bejegyzésem már volt korábban, tulajdonképpen azonos lépéseket kell most is elvégezni. Annyi változás azért van, hogy például a mailman3-mat még nem támogatja az ISPConfig, csak a 2-őt, viszont az új Ubuntu 22.04 tárolója csak az újat tartalmazza. Amennyiben szeretnéd ezt a szolgáltatást, akkor az Ubuntu 20.04-et érdemes telepíteni. A hosszabb-, és részletesebb telepítést itt olvashatod.

Automatizált telepítés

A gyorsabb- és egyébként a fejlesztők által ajánlott módszer, a telepítő script használata. Ebben a bejegyzésben ezt a megoldást részletezem. Futtassuk az alábbi parancsot, ami egy alapértelmezett szolgáltatásokat magába foglaló ISPConfig rendszert telepít fel.

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

Miutánn végzett a telepítő, kiírja az egyes felületek felhasználói neveit és jelszavait. Érdemes ezt lementeni, persze új jelszavakat is megadhatunk később.
A telepítő script számos paraméterrel indítható, ahol a telepített szolgáltatásokat személyre szabhatjuk. A lehetőségekért futtassuk az alábbi parancsot:

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

A cikk írásakor az alábbi kimenet látható:

************************************************************************************************************************************************************************ISPConfig 3 Autoinstaller
************************************************************************************************************************************************************************

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

This script automatically installs all needed packages for an ISPConfig 3 setup using the guidelines from the "Perfect Server Setup" howtos on www.howtoforge.com.

Possible arguments are:
    --help          Show this help page.
    --debug         Enable verbose logging (logs each command with the exit code).
    --channel       Choose the channel to use for ISPConfig: --channel=<stable|dev>
                    "stable" is the latest ISPConfig release available on www.ispconfig.org
                    "dev" is the latest dev-branch from the ISPConfig git repository: https://git.ispconfig.org/ispconfig/ispconfig3/tree/develop
                    The dev channel might contain bugs and less-tested features and should only be used in production by very experienced users.
    --lang          Use language for ISPConfig installation. Specify with --lang=en|de (only en (English) and de (German) supported currently).
    --interactive   Don't install ISPConfig in non-interactive mode.
                    This is needed if you want to use expert mode, e.g. to install a slave server that shall be integrated into an existing multiserver setup.
    --use-nginx     Use NGINX webserver instead of Apache2.
    --use-amavis    Use Amavis instead of Rspamd for mail filtering.
    --use-unbound   Use unbound instead of bind9 for local resolving. Only allowed if --no-dns is set.
    --use-php       Use specific PHP versions, comma separated, instead of installing multiple PHP, e.g. --use-php=7.4,8.0 (5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2
                    and 8.3 available).
                    --use-php=system disables the sury repository and just installs the system's default PHP version.
                    --use-php while omitting the argument, uses all versions.
    --use-ftp-ports This option sets the passive port range for pure-ftpd. You have to specify the port range separated by hyphen, e.g. --use-ftp-ports=40110-40210.
                    If not provided the passive port range will not be configured.
    --use-certbot   Use Certbot instead of acme.sh for issuing Let's Encrypt certificates. Not advised unless you are migrating from an old server that uses Certbot.
    --no-web        Do not use ISPConfig on this server to manage webserver setting and don't install nginx/apache or pureftpd.
                    This will also prevent installing an ISPConfig UI and implies --no-roundcube as well as --no-pma.
    --no-mail       Do not use ISPConfig on this server to manage mailserver settings.
                    This will install Postfix for sending system mails, but not dovecot and not configure any settings for ISPConfig mail. It implies --no-mailman.
    --no-dns        Do not use ISPConfig on this server to manage DNS entries. Bind will be installed for local DNS caching / resolving only.
    --no-local-dns  Do not install local DNS caching / resolving via bind.
    --no-firewall   Do not install ufw and tell ISPConfig to not manage firewall settings on this server.
    --no-roundcube  Do not install roundcube webmail.
    --roundcube     Install Roundcube even when --no-mail is used. Manual configuration of Roundcube config is needed.
    --no-pma        Do not install phpMyAdmin on this server.
    --no-mailman    Do not install Mailman mailing list manager.
    --no-quota      Disable file system quota.
    --no-ntp        Disable NTP setup.
    --no-jailkit    Do not install jailkit.
    --no-ftp        Do not install Pure-FTPd server.
    --monit         Install Monit and set it up to monitor installed services. Supported services: Apache2, NGINX, MariaDB, pure-ftpd-mysql, php-fpm, ssh, named,
                    Postfix, Dovecot, rspamd.
    --monit-alert-email
                    Set up alerts for Monit to be sent to given e-mail address. e.g. --monit-alert-email=me@example.com.
    --ssh-port      Configure the SSH server to listen on a non-default port. Port number must be between 1 and 65535 and can not be in use by other services. e.g.
                    --ssh-port=64.
    --ssh-permit-root
                    Configure the SSH server whether or not to allow root login: --ssh-permit-root=<yes|without-password|no>, e.g. --ssh-permit-root=without-password.
    --ssh-password-authentication
                    Configure the SSH server whether or not to allow password authentication: --ssh-password-authentication=<yes|no>, e.g.
                    -ssh-password-authentication=no.
    --ssh-harden    Configure the SSH server to have a stronger security config.
    --unattended-upgrades
                    Install UnattendedUpgrades. You can add extra arguments for automatic cleanup and automatic reboots when necessary:
                    --unattended-upgrades=autoclean,reboot (or only one of them).
    --i-know-what-i-am-doing
                    Prevent the autoinstaller to ask for confirmation before continuing to reconfigure the server.

Megjegyzés

Telepítsé után, ha a GoAccess telepítésre került, a tárolót érdemes átállítani 64 bites rendszerre, ha azt használunk. Nyissuk meg a:

nano /etc/apt/sources.list.d/goaccess.list

módítsuk a konfigot az alábbi szerint:

deb [arch=amd64] https://deb.goaccess.io/ jammy main

Nagyjából ennyi, innen nincs más dolgod, mint ismerkedni az ISPConfiggal. A felület támogatja a magyar nyelvet, de alapértelmezés szerit angolul jelenik meg.