Tartalom
- oldal: Rendszer frissítése és az alapvető kiegészítők telepítése, beállítása
- oldal: Let's Encrypt, FTP, DNS kiszolgáló, webstatisztikák, Jailkit és Fail2Ban telepítése
- oldal: RoundCube webmail kliens és ISPConfig3 kezelőpanel telepítése
Az 1. oldal tartalma
- Bevezető
- Előfeltételek
- A csomagtár adatbázis és a csomagok frissítése
- Szerver telepítésének módja
- Alapértelmezett Shell beállítása
- Rendszeróra szinkronizálása
- Tömörítőprogramok telepítése
- További alapvető programok telepítése
- Levelezőrendszer telepítése
- MariaDB beállítások
- Spam szűrők és vírus irtó programok telepítése
- Apache beállítások
- Lapozó
Bevezető
Ebben a leírásban elkészítjük a tökéletes szerver Debian 10 (Buster) változatát. Ezzel az összeállítással kapunk egy Debian 10 (Buster) alapokon működő komplett webszervert, ami például egy LAMP rendszeren felül sok egyéb szolgáltatást is tartalmaz, így kiválóan alkalmas éles weboldalak üzemeltetésére.
Ezt a szervert 1.0-ás verziószámmal jelölöm meg, így még lehet belőle később több változat is. Hasonló szerver telepítések korábban már készültek az alábbi változatokban:
- Tökéletes szerver: Debian 8 (Jessie) V1.0 (telepítési útmutató | virtuális gép letöltése)
- Tökéletes szerver: Debian 9 (stretch) V1.0 (telepítési útmutató | virtuális gép letöltése)
Elkészült a tökéletes szerver sorozat telepítési útmutatójának újabb változata, amely az alábbi linken tekinthető meg:
Előfeltételek
A csomagtár adatbázis és a csomagok frissítése
Mielőtt nekiállnánk a telepítésnek, első feladatunk, hogy frissítjük a csomagtár adatbázist és a csomagjainkat, hogy a legfrissebb csomagokkal dolgozhassunk. Ehhez adjuk ki az alábbi parancsot:
apt-get update && apt-get upgrade
Szerver telepítésének módja
Mint ahogyan már említettem, ez a telepítés – eltérően a korábbi tökéletes szerver telepítésektől – most nem egy minimális rendszerre fog épülni, hanem az egyel utána következő LAMP szerver állapotra. Így ez a Debian 10 szerver vonal modulárisabb lesz, és a korábbi LAMP gépünk is "újrahasználható" marad. Ennek előnyeként nem kell előröl kezdeni a teljes szerver telepítést, hanem amiért már megszenvedtünk a LAMP rendszer összeállítása során, most azokra fogunk építkezni, így ez a leírás is ennyivel rövidebb lesz, mint az elődei. Tekinthetjük ezt a LAMP szerver "upgrade" -jeként is. Ez a kivitelezés most különösen jól jön, hiszen a Debian 10-en a phpMyAdmin webes adatbáziskezelő felület telepítése és beállítgatása eléggé macerás dolog, mivel nem része a gyári csomagtárnak, ezért kézzel kell mindent elvégezni. Így most ezt a hosszas lépést is letudhatjuk a korábbi LAMP szerver részeként.
Ha készen állunk, lépjünk be root-ként a LAMP szerverünkbe, és lássunk munkához!
Alapértelmezett Shell beállítása
A Debian 10-ben a Dash Shell van beállítva alapértelmezettként, viszont az ISPConfig telepítésénél a Bash Shell-re lesz szükségünk. Ennek átállításához futtassuk a következő parancsot:
dpkg-reconfigure dash
Itt válasszuk a Nem opciót. Ekkor a program elvégzi a szükséges szimbolikus linkek átszervezését.
Rendszeróra szinkronizálása
Nem árt, ha a szerverünknek pontosan jár az órája. Ezt megoldhatjuk automatikusan az NTP protokoll segítségével, ami a háttérben időnként szinkronizálja az órát. Ennek telepítéséhez futtassuk az alábbi parancsot:
apt-get -y install ntp
Tömörítőprogramok telepítése
A későbbiekben szükségünk lesz különböző tömörítőprogramokra, amiknek már a telepítés közben is hasznát vesszük, de főképpen a szerver üzemelése közben lesznek fontosak az ISPConfig rendszerében, vagy például a különböző háttér feladatok elvégzése során. Célszerű egyben telepíteni őket a következő paranccsal:
apt-get install -y \
zip unzip bzip2 arj nomarch lzop cabextract \
p7zip p7zip-full unrar lrzip
További alapvető programok telepítése
Telepítenünk kell még néhány alapvető csomagot, amik a teljes szerver működtetéséhez szükségesek, de nem képezik a nagyobb programcsoportok részeit, ezért telepítésükre itt kerül sor. A következő paranccsal telepíthetjük ezeket:
apt-get -y install \
openssl \
rkhunter \
binutils \
daemon \
patch \
apt-listchanges \
apt-transport-https
Levelezőrendszer telepítése
A szerver kimenő (SMTP) levelezését a Postfix programmal, a bejövő levelek (POP3/IMAP) kezelését pedig a Dovecot programmal oldjuk meg. Ezeknek a telepítése az alábbi paranccsal történik:
apt-get -y install \
postfix \
postfix-mysql \
postfix-doc \
getmail4 \
dovecot-imapd \
dovecot-pop3d \
dovecot-mysql \
dovecot-sieve \
dovecot-lmtpd
A telepítés közben elindul a Postfix konfigurációja:
Itt válasszuk az Internet Site opciót.
A következő panelen a szerver nevét kell beállítanunk:
Itt alapból kitölti a rendszer a szerver nevét, de azért ellenőrizzük, hogy a szerver teljes, FQDN nevé adjuk meg, amit a hostname -f paranccsal is kapunk.
Ezután a telepítő felrakja a többi csomagot, és elvégzi a beállításaikat is.
További Postfix beállítások
A levelezőprogram csomagjainak települése után még be kell állítanunk a Postfix-ben, hogy nyissa meg az SSL/TLS portokat is, hogy rajtuk keresztül működhessen a biztonságos levelezés. Ehhez nyissuk meg a /etc/postfix/master.cf fájlt:
nano /etc/postfix/master.cf
És hajtsuk végre az alábbi pontokat:
- Vegyük ki a kommenteket a submission és az smtps részek elől. Ezek rögtön a fájl első részében vannak.
- Vegyük ki a kommenteket a megfelelő opciós sorok (-o kezdetű sorok) elől, a lentebb látható módon.
- Pótoljuk ki az opciókat szintén az alábbi példában zölddel kiemelt részeknek megfelelően.
Tehát a lényeg, hogy a fájlnak ez a része pontosan így nézzen ki, mint ahogy alább látható:
[...] submission inet n - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING smtps inet n - - - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING [...]
Tehát mindkét részben kivesszük a kommenteket az első 3 opció elől, majd betesszük még hozzá a zölddel kiemelt sorokat. És persze maguk a submission és smtps kezdetű sorok elől se felejtsük el kivenni a kommenteket.
Ha megvan, mentsük le a fájlt, majd indítsuk újra a Postfix-et:
systemctl restart postfix
MariaDB beállítások
A MariaDB adatbázis szervert már a LAMP szerver elkészítése során feltelepítettük, most már csak fel kell készítenünk, hogy egy komolyabb szerver konfiguráció részeként nagyobb forgalom, terhelés mellett is állja a sarat.
Finomhangolás
Nyissuk meg a /etc/mysql/mariadb.conf.d/50-server.cnf fájlt:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Itt végezzük el az alábbi beállításokat:
- Tegyünk kommentet az alábbi sor elé:
bind-address = 127.0.0.1
(Ennek majd az ISPConfigban lesz jelentősége, ahol a létrehozott adatbázisoknál tudjuk majd kapcsolgatni, hogy legyen-e távoli hozzáférés...) - Rögtön az iménti sor alá tegyük be a következő sort:
sql_mode = NO_ENGINE_SUBSTITUTION
(Ennek szerepéről már korábban írtam a A Debian 10 (Buster) operációs rendszer újdonságai, változásai című cikkemben.) - És a max_allowed_packet értékét állítsuk 64M -re, valamint vegyük ki előle a kommentet is.
(Ez pedig arra jó, hogy nagyobb csomagméretet kezeljen a MariaDB. Néhány adatbázisalapú szoftvernek szükséges, például a Matomo-nak is)
Tehát ha mindent elvégeztünk, akkor a MariaDB konfigurációs fájljának ez a része így fog kinézni:
[...] # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. #bind-address = 127.0.0.1 sql-mode = "NO_ENGINE_SUBSTITUTION" [...] max_allowed_packet = 64M [...]
Fájl limitek beállítása
Mentsük le a fájlt, majd nyissuk meg a következőt: /etc/security/limits.conf
nano /etc/security/limits.conf
Ennek a végéhez adjuk hozzá az alábbi két sort:
mysql soft nofile 65535 mysql hard nofile 65535
Mentsük le.
Nyissuk meg szerkesztésre a /etc/systemd/system/mysqld.service fájlt:
nano /etc/systemd/system/mysqld.service
Ebben keressük meg ezt a kikommentezett beállítást:
#LimitNOFILE=16364
Vegyük ki a kommentet a sor elejéről és állítsuk "infinity"-re:
LimitNOFILE=infinity
majd mentsük le.
Szolgáltatások újraindítása és a MariaDB tesztelése
Indítsuk újra a szolgáltatásokat:
systemctl daemon-reload
systemctl restart mariadb
Teszteljük a MariaDB működését:
netstat -tap | grep mysql
A parancs kimenetének valami hasonlónak kell lennie:
tcp6 0 0 [::]:mysql [::]:* LISTEN 2199/mysqld
Spam szűrők és vírus irtó programok telepítése
A most telepítésre kerülő programcsomag a levelezés biztonságát hivatott növelni, ami a bejövő és kimenő levelekben szűri a spam, illetve vírus tartalmakat. A programok csomagjainak telepítéséhez futtassuk az alábbi több sorba tördelt parancsot:
apt-get install -y \
amavisd-new \
spamassassin \
clamav clamav-daemon clamav-docs \
postgrey \
libnet-ldap-perl libauthen-sasl-perl \
libio-string-perl libio-socket-ssl-perl \
libnet-ident-perl libnet-dns-perl libdbd-mysql-perl
Ezután kapcsoljuk ki a Spamassassin programot, mert az ISPConfig fogja ezt is irányítani, így most csak feleslegesen ül a memóriában:
systemctl stop spamassassin
systemctl disable spamassassin
A telepített csomagokkal nincs további dolgunk, az ISPConfig levelező részében a spam szűrő és a különböző levélszabályokat kezelő rendszerek fogják a háttérben használni őket.
Apache beállítások
Az Apache webkiszolgáló is már felkerült a LAMP szerver telepítésekor, így most csak néhány további beállítást végzünk el rajta.
Alapvető modulok bekapcsolása
Elsőként engedélyezzük az alapvető Apache modulokat:
a2enmod \
suexec rewrite ssl actions \
include cgi headers \
proxy_fcgi alias
WebDAV engedélyezése (opcionális)
Ha szeretnénk WebDAV szolgáltatást üzemeltetni a szerveren, akkor engedélyezzük az ehhez szükséges Apache modulokat:
a2enmod dav_fs dav auth_digest
httpoxy biztonsági rés megszűntetése
Egy ismert biztonsági rést (httpoxy) szűntetünk meg a következő beállítással. Hozzunk létre egy új Apache konfigurációs fájlt (/etc/apache2/conf-available/httpoxy.conf):
nano /etc/apache2/conf-available/httpoxy.conf
És tegyük bele ezt a három sort:
<IfModule mod_headers.c>
RequestHeader unset Proxy early
</IfModule>
Engedélyezzük a konfigurációt:
a2enconf httpoxy
Végezetül indítsuk újra az Apache-ot:
systemctl restart apache2
A következő oldalon folytatjuk a Let's Encrypt ingyenes SSL telepítésével.
- Tökéletes szerver: Debian 8 (Jessie) V1.0
- Tökéletes szerver: Debian 9 (stretch) V1.0
- Tökéletes szerver: Debian 11 (Bullseye) v1.0
- 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
- Debian 10 (Buster) LAMP szerver v1.0 telepítése
- Debian 11 (Bullseye) LAMP szerver v1.0 telepítése
- The Perfect Server - Debian 10 (Buster) with Apache, BIND, Dovecot, PureFTPD and ISPConfig 3.1
- Hogyan állíthatunk be egyedi PHP verziókat ISPConfig rendszerű szerverünkön
- Hogyan telepíthetjük fel a PHP 8-at Debian vagy Ubuntu rendszerű szerverünkre
- Tökéletes szerver letöltése: Debian 10 (Buster) v1.1
- 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
- Hogyan frissítsük Debian 10 (Buster) alapú tökéletes szerverünket Debian 11 (Bullseye) rendszerre
Lapozó
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
- 2532 megtekintés