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.