Tartalom
Bevezető
Ebben a leírásban elkészítjük a tökéletes szerver újabb, Debian 11 (Bullseye) változatát. A korábbi tökéletes szerver telepítésektől eltérően ezt most nem hosszadalmas csomagtelepítésekkel és konfigurálással fogjuk ezt megtenni, hanem egy automatizáló script segítségével hajtjuk végre, amit az ISPConfig fejlesztői állítottak össze, hogy megkönnyítsék a szerver elkészítését. A script már elérhető egy ideje, aminek segítségével nem csak Debian 11 (Bullseye) operációs rendszeren használható, hanem az alábbi disztribúciók és azok verzióira is telepíthetjük automatizáltam a tökéletes szerver összetevőit:
- Debian 10 (Buster)
- Debian 11 (Bullseye)
- Ubuntu 20.04 (Focal Fossa)
- Ubuntu 22.04 (Jammy Jellyfish)
Ezek közül ebben a leírásban tehát most a Debian 11 (Bullseye) operációs rendszerre készítjük el automatizáltan az ISPConfig-os szerverkörnyezet telepítését.
Előfeltételek
A csomagtár adatbázis és a csomagok frissítése
Legelőször frissítsük csomagtárainkat és a csomagjainkat root-ként:
apt-get update
apt-get upgrade
Az automatikus telepítő első futtatása
Az itt következő részben egy "idegen" forrástól letöltött shell scriptet készülünk root-ként lefuttatni rendszerünkön, ezért ilyenkor mindig kövessünk egy általános érvényű szabályt: Amennyiben nem értjük 100%-ban a futtató parancs működését - hogy mit is csinál a letöltött parancsfájllal a gépünkön -, vagy nem bízunk meg a forrásban, abban az esetben ne futtassuk!
Jelen példában természetesen a forrás megbízható, valamint a futtató parancsot is értelmezni fogjuk, tehát amint megértettük a működését, futtathatjuk.
Mindezt tehát csak emlékeztetésképpen írtam le, hogy általában ilyenkor legyünk mindig óvatosak.
Az automatikus telepítő parancsunk tehát az alábbi, aminek első körben csak a súgó részét tekintjük meg, hogy láthassuk milyen telepítési opciók állnak rendelkezésünkre. A súgót az alábbi wget parancs segítségével tehetjük meg root-ként vagy sudo használatával, természetesen miután értelmeztük a működését:
wget -O - https://get.ispconfig.org | sh -s -- --help
A wget parancs az alábbiakat teszi:
- -O: output. A letöltött tartalom kimenetének megadása.
- - (szimpla kötőjel egymagában): Egy linux egyezmény alapján (amit nem minden program követ) a fájlnév helyén lévő egyedülálló kötőjel a szabványos bemenetre (stdin) vagy a szabványos kimenetre (stdout) utal, a kontextusnak megfelelően. Mivel jelen esetben ez a -O (kimenet) argumentuma, az stdout-ra vonatkozik. Ezzel tehát arra utasítjuk a wget parancsot, hogy a letöltött tartalmat irányítsa át a szabványos kimenetre, azaz jelenjen meg a terminálban.
- https://get.ispconfig.org: Erről az URL címről tölti le a tartalmat.
Ezután a kapott kimenetet (ami egyébként egy shell script) nem jelenítjük meg a képernyőn, hanem egy csővezeték segítségével tovább irányítjuk a rendszer alapértelmezett parancsértelmezőjének (sh) - Ami a Debian 11 esetén a Dash, amennyiben nem állítottuk át - ami pedig a következő paramétereket kapja:
- -s: Ha a -s opció jelen van, vagy ha az opció feldolgozása után nem marad argumentum, akkor a parancsok a szabványos bemenetről kerülnek kiolvasásra. Ez az opció lehetővé teszi a helyzeti paraméterek beállítását interaktív héj meghívásakor vagy a bemenet csövön keresztül történő olvasásakor (részlet a Bash manual oldaláról, ami majdnem mindenben megegyezik a Dash-al).
- --: A dupla kötőjel pedig arról gondoskodik, hogy az utána lévő részeket a rendszerhéj ne további shell opciókként dolgozza fel, hanem a megadott parancsfájl (jelen esetben a csővezetékből kapott script tartalom) saját argumentumaként kezelje.
- --help: Az előző tétel alapján ezt a részt tehát nem a Dash/Bash kapja paraméterként, hanem a letöltött és végrehajtott script fájl paramétere lesz, ami azt eredményezi, hogy megjelenik a program súgója.
Így tehát hogy most már tisztán átlátjuk ezt a parancssort, lássuk mi történik:
Elindul a wget letöltés, majd a kapott kimenetet feldolgozza a shell.
A parancsfájl elején ellenőrzi, hogy van-e telepítve PHP a rendszeren. Mivel a minimális szerverrel dolgozunk, ezért itt még nincs semmi a gépen, így az automatikus telepítő feltelepíti a parancssori PHP-t és még néhány szükséges PHP csomagot.
Ezután beállítgatja a PHP 7.4-et, ami a Debian 11 (Bullseye) alapértelmezett PHP változata:
Itt még konfigurálgat egy kicsit, majd megjelenik a súgó:
************************************************************************************************************************************** ISPConfig 3 Autoinstaller ************************************************************************************************************************************** Usage: ispc3-ai.sh [<argument>] [...] 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 and 8.1 available). --use-php=system disables the sury repository and just installs the system's default PHP version. ommiting the argument (use 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 adviced unless you are migrating from a 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 --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 send 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 wether or not to allow root login. Available options: yes | without-password | no - e.g. --ssh-permit-root=without-password --ssh-password-authentication -> Configure the SSH server wether or not to allow password authentication. Available options: 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 with --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.
Itt kapunk számos opciót. Most nem részletezném ezeket egyesével, de lényegében itt tudjuk be/ki kapcsolgatni az összetevőket, illetve néhány összetevőnél többféle előre beállított séma alapján kérhetjük a telepítést. Például hogy az Apache helyett Nginx webkiszolgálóval kérjük-e a telepítést vagy hogy az SSH esetén hogy engedjük-e a jelszavas belépést, stb.
Tökéletes szerver automatikus telepítése
Az itt következő telepítést az alapértelmezett beállításokkal mutatom be. Ehhez az alábbi parancsot kell futtatnunk:
wget -O - https://get.ispconfig.org | sh -s
Itt tehát lekerül a parancsról a súgó rész, így elindul a telepítés.
A folyamat minden lépésről részletesen tájékoztat, íme a képek:
Először figyelmeztet, hogy ez a script teljesen újrakonfigurálja az egész szervert, valamint hogy egy teljesen friss telepítésen érdemes futtatni, és hogy minden jelenlegi konfiguráció el fog veszni. Majd kéri, hogy írjuk be a "yes" szót, amennyiben biztosak vagyunk a telepítés megkezdésében.
Ezután elindul a telepítő.
Aki már korábban telepítette a tökéletes szervereket kézzel, annak bizonyára ismerősek az itt felkerülő szoftvercsomagok.
Itt éppen feltelepíti az összes elérhető PHP verziót. Korábban a különböző PHP verziók telepítésével is milyen sok munka volt, és a telepített PHP változatokat még anno az ISPConfig panelben is be kellett állítgatni. Régi szép idők...
Itt még masszívan pakolja a PHP csomagokat, majd további - korábbról is ismerős - csomagokat telepít. Régebben az ISPConfig a Let's Encrypt ACME kliensként a CertBot-ot használta, de egy ideje már áttértek az acme.sh használatára, ami modernebb integrációt tesz lehetővé.
És az utolsó képen pedig még feltelepít sok egyéb csomagot, majd újraindítja a szolgáltatásokat.
Végül pedig kiírja a véletlenszerűen generált ISPConfig admin és a MySQL root jelszót, amit egyből tároljunk is el.
A legvégén pedig figyelmeztet, hogy távolítsuk el a /tmp könyvtárból a telepítő naplófájlokat, mivel azokban is benne vannak ezek a jelszavak.
Töröljük is a fájlt:
rm /tmp/ispconfig-ai/var/log/setup-*
A telepítő kimenete egyben:
WARNING! This script will reconfigure your complete server! It should be run on a freshly installed server and all current configuration that you have done will most likely be lost! Type 'yes' if you really want to continue: yes [INFO] Starting perfect server setup for Debian GNU/Linux 11 (bullseye) [INFO] Checking hostname. [INFO] Enabling contrib and non-free repositories. [INFO] Updating packages [INFO] Updated packages [INFO] Installing packages ssh, openssh-server, nano, vim-nox, lsb-release, apt-transport-https, ca-certificates, wget, git, gnupg, software-properties-common, curl, cron, ntp [INFO] Installed packages ssh, openssh-server, nano, vim-nox, lsb-release, apt-transport-https, ca-certificates, wget, git, gnupg, software-properties-common, curl, cron, ntp [INFO] Activating rspamd repository. [INFO] Activating sury php repository. [INFO] Activating GoAccess repository. [INFO] Updating packages (after enabling 3rd party repos). [INFO] Updated packages [INFO] Default shell is currently dash. [INFO] Setting bash as default shell. [INFO] Default shell is now bash. [INFO] Installing packages dbconfig-common, postfix, postfix-mysql, postfix-doc, mariadb-client, mariadb-server, openssl, rkhunter, binutils, sudo, getmail [INFO] Installed packages dbconfig-common, postfix, postfix-mysql, postfix-doc, mariadb-client, mariadb-server, openssl, rkhunter, binutils, sudo, getmail [INFO] Installing packages dovecot-imapd, dovecot-pop3d, dovecot-mysql, dovecot-sieve, dovecot-managesieved, dovecot-lmtpd [INFO] Installed packages dovecot-imapd, dovecot-pop3d, dovecot-mysql, dovecot-sieve, dovecot-managesieved, dovecot-lmtpd [INFO] Generating MySQL password. [INFO] Writing MySQL config files. [INFO] Configuring postfix. [INFO] Restarting postfix [INFO] Installing packages software-properties-common, update-inetd, dnsutils, resolvconf, clamav, clamav-daemon, clamav-docs, zip, unzip, bzip2, xz-utils, lzip, rar, borgbackup, arj, nomarch, lzop, cabextract, apt-listchanges, libnet-ldap-perl, libauthen-sasl-perl, daemon, libio-string-perl, libio-socket-ssl-perl, libnet-ident-perl, libnet-dns-perl, libdbd-mysql-perl, bind9, rspamd, redis-server, postgrey, p7zip, p7zip-full, unrar-free, lrzip [INFO] Installed packages software-properties-common, update-inetd, dnsutils, resolvconf, clamav, clamav-daemon, clamav-docs, zip, unzip, bzip2, xz-utils, lzip, rar, borgbackup, arj, nomarch, lzop, cabextract, apt-listchanges, libnet-ldap-perl, libauthen-sasl-perl, daemon, libio-string-perl, libio-socket-ssl-perl, libnet-ident-perl, libnet-dns-perl, libdbd-mysql-perl, bind9, rspamd, redis-server, postgrey, p7zip, p7zip-full, unrar-free, lrzip [INFO] Stopping Rspamd. [INFO] (Re)starting Bind. [INFO] Disabling spamassassin daemon. [INFO] Checking local dns resolver. [WARN] Unexpected resolver response: Server: 192.168.1.1 (/lib/os/class.ISPConfigDebianOS.inc.php:1584) [INFO] Installing packages apache2, apache2-doc, apache2-utils, libapache2-mod-fcgid, apache2-suexec-pristine, libapache2-mod-python, libapache2-mod-passenger [INFO] Installed packages apache2, apache2-doc, apache2-utils, libapache2-mod-fcgid, apache2-suexec-pristine, libapache2-mod-python, libapache2-mod-passenger [INFO] Installing packages php-pear, php-memcache, php-imagick, mcrypt, imagemagick, libruby, memcached, php-apcu, jailkit, php5.6, php5.6-common, php5.6-gd, php5.6-mysql, php5.6-imap, php5.6-cli, php5.6-mcrypt, 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, php5.6-cgi, php5.6-fpm, php7.0, php7.0-common, php7.0-gd, php7.0-mysql, php7.0-imap, php7.0-cli, php7.0-mcrypt, 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-cgi, php7.0-fpm, php7.1, php7.1-common, php7.1-gd, php7.1-mysql, php7.1-imap, php7.1-cli, php7.1-mcrypt, 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-cgi, php7.1-fpm, php7.2, php7.2-common, php7.2-gd, php7.2-mysql, php7.2-imap, php7.2-cli, 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-cgi, php7.2-fpm, php7.3, php7.3-common, php7.3-gd, php7.3-mysql, php7.3-imap, php7.3-cli, 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-cgi, php7.3-fpm, php7.4, php7.4-common, php7.4-gd, php7.4-mysql, php7.4-imap, php7.4-cli, 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-cgi, php7.4-fpm, php8.0, php8.0-common, php8.0-gd, php8.0-mysql, php8.0-imap, php8.0-cli, 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-cgi, php8.0-fpm, php8.1, php8.1-common, php8.1-gd, php8.1-mysql, php8.1-imap, php8.1-cli, 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-cgi, php8.1-fpm [INFO] Installed packages php-pear, php-memcache, php-imagick, mcrypt, imagemagick, libruby, memcached, php-apcu, jailkit, php5.6, php5.6-common, php5.6-gd, php5.6-mysql, php5.6-imap, php5.6-cli, php5.6-mcrypt, 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, php5.6-cgi, php5.6-fpm, php7.0, php7.0-common, php7.0-gd, php7.0-mysql, php7.0-imap, php7.0-cli, php7.0-mcrypt, 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-cgi, php7.0-fpm, php7.1, php7.1-common, php7.1-gd, php7.1-mysql, php7.1-imap, php7.1-cli, php7.1-mcrypt, 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-cgi, php7.1-fpm, php7.2, php7.2-common, php7.2-gd, php7.2-mysql, php7.2-imap, php7.2-cli, 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-cgi, php7.2-fpm, php7.3, php7.3-common, php7.3-gd, php7.3-mysql, php7.3-imap, php7.3-cli, 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-cgi, php7.3-fpm, php7.4, php7.4-common, php7.4-gd, php7.4-mysql, php7.4-imap, php7.4-cli, 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-cgi, php7.4-fpm, php8.0, php8.0-common, php8.0-gd, php8.0-mysql, php8.0-imap, php8.0-cli, 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-cgi, php8.0-fpm, php8.1, php8.1-common, php8.1-gd, php8.1-mysql, php8.1-imap, php8.1-cli, 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-cgi, php8.1-fpm [INFO] Disabling conflicting apache modules. [INFO] Enabling apache modules. [INFO] Enabling default PHP-FPM config. [INFO] Setting default system PHP version. [INFO] Installing phpMyAdmin [INFO] HTTPoxy config. [INFO] Installing acme.sh (Let's Encrypt). [INFO] acme.sh (Let's Encrypt) installed. [INFO] ISPConfig does not yet support mailman3 and mailman2 is no longer available in Debian 11. [INFO] Installing packages quota, quotatool, haveged, geoip-database, libclass-dbi-mysql-perl, libtimedate-perl, build-essential, autoconf, automake, libtool, flex, bison, debhelper, binutils [INFO] Installed packages quota, quotatool, haveged, geoip-database, libclass-dbi-mysql-perl, libtimedate-perl, build-essential, autoconf, automake, libtool, flex, bison, debhelper, binutils [INFO] Adding quota to fstab. [INFO] Installing packages pure-ftpd-common, pure-ftpd-mysql, awstats, goaccess, awffull [INFO] Installed packages pure-ftpd-common, pure-ftpd-mysql, awstats, goaccess, awffull [INFO] Enabling TLS for pureftpd [INFO] Disabling awstats cron. [INFO] Installing packages fail2ban, ufw [INFO] Installed packages fail2ban, ufw [INFO] Configuring SSHd [INFO] Installing roundcube. [INFO] Installing packages roundcube, roundcube-core, roundcube-mysql, roundcube-plugins [INFO] Installed packages roundcube, roundcube-core, roundcube-mysql, roundcube-plugins [INFO] Installing ISPConfig3. [INFO] Adding PHP version(s) to ISPConfig. [INFO] Checking all services are running. [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] Installation ready. [INFO] Your ISPConfig admin password is: kgurRd51KMRTepk [INFO] Your MySQL root password is: pbBZhgLVEdxvupxF3KkF [INFO] Warning: Please delete the log files in /tmp/ispconfig-ai/var/log/setup-* once you don't need them anymore because they contain your passwords!
Egy darab warning volt, ez pedig a névszerver miatt, mivel virtuális gépen futtattam, így a resolver címe a routerem átjárójának a címe, amivel nem tudott mit kezdeni. De éles környezetben természetesen ezzel sincs gond.
Szerver áttekintése, ellenőrzése
Első körben nézzük át a webes részeket. Kezdjük magával az ISPConfig kezelőpanel áttekintésével.
ISPConfig áttekintése, beállítása
Nyissunk egy böngészőt, majd töltsük be a szerverünk IP-címét, és az ISPConfig portszámát, ami alapértelmezetten a 8080:
https://192.168.1.140:8080
Itt adjuk meg az admin felhasználót és hozzá a telepítés végén kapott jelszót.
Állítsunk be néhány alapvető dolgot.
Nyelv beállítása
Ha az admin felhasználó nyelvét át szeretnénk állítani, akkor Ehhez lépjünk be a "System" főmenü "CP Users" menüjébe, majd itt az űrlap alsó részén állítsuk át a nyelvünket:
Ezután lépjünk ki, majd ismét vissza, és már megjelennek a magyar fordítások. Persze nincs teljesen lefordítva az egész, de egy része igen.
Tűzfal beállítása
A következő lépésben állítsuk be a tűzfalat. Ehhez lépjünk be az immár "Rendszer" főmenübe, majd ott a "Tűzfal" menübe. Majd itt kattintsunk az "Új tűzfal bejegyzés" gombra:
A rendszer automatikusan kitölti a telepített szolgáltatások alapján a nyitott TCP és UDP portok beállításait. Ezek természetesen függenek a telepítéskor kiválasztott portok beállításaitól. Itt ellenőrizzük, hogy a 8080-as TCP port is szerepeljen a listán, különben nem tudunk újra belépni a panelba.
Ha megfelelő a beállítás, akkor mentsük le a tűzfal szabályt. Ekkor az ISPConfig panelben megszokott módon fent megjelenik a piros kör, ami jelzi nekünk hogy folyamatban van egy beállítás:
Ez a szerver konfiguráció az UFW tűzfalat használja, amivel kényelmesen és rugalmasan lehet állítgatni a rendszer hálózati portjait. Érdekességképpen, ha ránézünk parancssorból az UFW tűzfal beállításaira, akkor láthatjuk, hogy először még inaktív állapotban volt, majd miután beállítottuk az első tűzfal szabályunkat, onnantól az állapota aktívvá vált, és felsorolja a beállításunknak megfelelő nyitott portokat:
Természetesen egy éles szerveren ajánlott egyedi port beállításokat használni, hogy a külvilágból érkező esetleges támadások során jobban védve legyen szerverünk például egy port szkennelés esetén. Így tehát célszerű minden olyan szolgáltatás portszámát átállítani egyedi értékre, ami nem publikus feladatokat lát el, hanem adminisztrációs vagy karbantartási célokat szolgál.
Felhasználónevek prefixelésének kikapcsolása
Érdemes még megemlíteni az ISPConfig panel prefixelési funkcióját. Amennyiben két ISPConfig-os szerver között tervezünk weboldalakat szinkronizálni, például az éles szerverünk és az otthoni fejlesztői/biztonsági másolatokat tároló szerver között, akkor sok későbbi fejfájást kerülhetünk el, ha kikapcsoljuk a prefixeléseket. Természetesen ennek csak akkor van értelme, ha magunk használjuk a szervert, és szeretnénk szinkronban tartani a rajta lévő webtárhelyeket és adatbázisaikat.
Ebben az esetben fussuk át az alábbi leírást, amiben pont erről tájékozódhatunk részletesen:
phpMyAdmin ellenőrzése
Ebben a részben a phpMyAdmin webes adatbázis kezelő rendszert ellenőrizzük. Ehhez adjuk meg a szerverünk IP-címe után a /phpmyadmin részt:
http://192.168.1.140/phpmyadmin/
Itt figyeljük meg, hogy nem HTTPS alatt jön be a phpMyAdmin, mivel itt nincs egyedi port beállítás, amihez HTTPS kapcsolat lenne beállítva, mint például az ISPConfig esetén. Viszont amikor majd létrehozunk weboldalakat, és azokhoz már lesz működő (Let's Encrypt) SSL, akkor a weboldalak tartománynevei alatt már HTTPS segítségével lehet elérni az adatbázis kezelőt a /phpmyadmin alkönyvtárak alatt.
Belépéshez adjuk meg a root felhasználót, és a telepítés végén kapott MySQL jelszót:
Belépés után a jól ismert kezdőoldal fogad bennünket:
Roundcube webmail ellenőrzése
Ellenőrizzük a Roundcube webmailt:
http://192.168.1.140/webmail/
Itt alapból nincs hozzáférés, ehhez létre kell hozni egy email címet, amihez pedig kell egy email domain is. A bemutató kedvéért csináltam egy levelező fiókot, így most betekinthetünk a Roundcube belső felületébe is:
Ennyi lenne tehát a gyors áttekintés, természetesen még rengeteg dolog beállításra került, amik a háttérben működnek.
Hogyan tovább?
Miután szerverünk elkészült, és mindent megfelelőnek találtunk, akkor nincs más hátra, mint hogy elkezdjük létrehozni a webtárhelyeinket. Erről az alábbi linken tájékozódhatunk részletesen:
Konklúzió
Az ISPConfig-os szerverkörnyezet automatizált telepítőjének segítségével rengeteg időt spórolhatunk meg - amiért hálás köszönet a script készítőinek -, valamint nullára csökkentjük a hosszú telepítések és konfigurálások során figyelmetlenségből eredő hibalehetőségek számát. Természetesen a szerver csiszolása, tökéletesítése itt még nem ért véget; a korábbi tökéletes szerverek frissített változatait elkészítő leírások ennél a szerver konfigurációnál is kiválóan alkalmazhatjuk.
Remélem ismét sikerült kedvet csinálnom egy kis szerver telepítéshez, használjátok egészséggel!
- Hogyan építhetjük meg és élesíthetjük ISPConfig3 szerverünket, valamint hogyan biztosíthatjuk a Let's Encrypt SSL-el kezelőpanelünket, főbb szolgáltatásainkat és weboldalainkat
- Első webfiók kialakítása az ISPConfig-os szerverkonfiguráción
- Hogyan ellenőrizhetjük Debian vagy Ubuntu Linux operációs rendszerünk használatban lévő, illetve szabad TCP/UDP portjait?
- Enciklopédia - UFW (Uncomplicated Firewall)
- UFW tűzfal telepítése, alapvető beállítása és használata Debian / Ubuntu rendszereken
- Hogyan változtathatjuk meg SSH kiszolgálónk alapértelmezett 22-es tcp portját Debian vagy Ubuntu Linux szerverünkön a nagyobb biztonság érdekében?
- Alapszintű port szkennelés - Avagy hogyan ellenőrizhetjük Linux szerverünk biztonságát az illetéktelen behatolókkal szemben
- Tökéletes szerver: Debian 8 (Jessie) V1.0
- Tökéletes szerver: Debian 9 (stretch) V1.0
- Tökéletes szerver: Debian 10 (Buster) V1.0
- Hogyan állítsuk be ISPConfig szerverünkön az alapértelmezett weboldalt, hogy ne az Apache2 Debian Default oldala kerüljön betöltésre a szerver IP-címének vagy teljes hosztnevének elérésekor
- howtoforge.com/ispconfig-autoinstall-debian-ubuntu
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
- 609 megtekintés