A 3. oldal tartalma
- oldal: Alaprendszer és az ISPConfig feltelepítése, és a telepített szolgáltatások ellenőrzése
- oldal: Elsődleges webfiók, email fiók, DNS zóna létrehozása, beállítása, domain név átirányítása
- oldal: Webes felületek ellenőrzése, PTR rekord és az SSL-ek kikérése és telepítése, hibaelhárítás
Tartalom
Folytatás
Az előző oldalon létrehoztuk a szerver elsődleges webfiókját, email fiókját és DNS zónáját, majd igénybe vettünk egy külső névszerver szolgáltatást, végül átirányítottuk a domain névszervereit a saját szerverünkre. Ezen az oldalon pedig ellenőrizzük a szerveren működő webes szolgáltatásokat és egyéb összetevőket, ezután beállítjuk a Let's Encrypt SSL-tanúsítványokat a kezelőpanelre és a szükséges szolgáltatásokra, valamint a weboldalakra. Végül elvégzünk még néhány finomhangolási feladatot, illetve elhárítjuk az esetlegesen felmerülő problémákat is.
Hosts fájl visszaállítása
Ha meggyőződtünk róla, hogy valóban átfrissült mindenhol a domain nevünk névszervereinek IP-címe - amit akár még mobiltelefonunkkal is ellenőrizhetünk különböző hálózati alkalmazások segítségével a saját wifi illetve mobil internet hálózatainkról is, hogy nálunk is biztosan így van-e - akkor visszaállíthatjuk hosts fájlunkat. Akár törölhetjük a leírás elején beállított sorokat, vagy # karakterekkel átmenetileg kommentelhetjük is őket, majd mentsük le.
Webes felületek ellenőrzése
Kezdeti esetleges DNS hibák
Ha kivettük a hosts fájlból a sorokat, akkor elsőre előfordulhatnak átmeneti hibák:
Ezt a hibát adja:
DNS_PROBE_FINISHED_NXDOMAIN
Ha ilyen fordul elő, ettől nem kell megijedni, hanem csak meg kell várni, amíg a számítógépünk DNS gyorsítótára is újraépül a friss adatokkal. Ezt meggyorsíthatjuk a DNS gyorsítótár ürítésével. Windows rendszereken például az ipconfig /flushdns parancsot érdemes többször kiadni, így hamarabb átveszi a Windows is a frissebb adatokat.
De mire ezt leírtam, ezzel éppen eltelt annyi idő, hogy most újra rápróbálva ezekre a felületekre, már működnek is:
ISPConfig
Az ISPConfig rendben.
phpMyAdmin
A phpMyAdmin is működik. Bár dob egy hibaüzenetet:
A $cfg ['TempDir'] (/var/lib/phpmyadmin/tmp 1) nem elérhető. A phpMyAdmin nem képes a sablonok elrejtésére és lassú lesz.
Ez természetesen nem ide kapcsolódó hiba, ezt az alábbi root-ként kiadott chown paranccsal javíthatjuk:
chown -R www-data:www-data /var/lib/phpmyadmin
Majd frissítés:
Ez a fenti chown parancs most csak egy ideiglenes "foltozás", mert később újra visszaállítja az ISPConfig, és újra meg fog jelenni ez a hibaüzenet, ezért erre a problémára majd külön visszatérünk, és tartós megoldással orvosoljuk.
Roundcube Webmail
A Roundcube Webmail is működik. Most már viszont van egy működő email címünk is, amivel ki is tudjuk próbálni a webmail programot:
Itt ami külön jó hír, hogy egyszerre több dolog is sikeresen átment a teszten a kép alapján:
- Működik a webmail
- Működik a Monit, ezen belül az értesítési funkciója is
- Működik a szerveren a levélküldés (SMTP)
- Működik a szerveren a levél fogadás is, azaz a Dovecot IMAP kiszolgálónk is köszöni, jól érzi magát.
Amint látható, ez a szerver már megy nekem vasárnap óta (4 napja), ezalatt volt ideje a Monit-nak is begyűjteni néhány adatot.
Monit
A monit is működik.
Weboldal
És a "weboldal" is működik.
PTR rekord beállítása
Ha már átfrissült minden névszerver, tehát a külvilág felől is elérhető szerverünk, és a rajta lévő szolgáltatások, akkor állítsuk be a PTR rekordot. Ez elsősorban arra szolgál, hogy a levelezés zökkenőmentesen működjön, és ne kerüljenek a spam mappákba a szerverünkről kiküldött levelek.
Ennek beállításához keressük fel szolgáltatónkat, és kérjük meg, hogy állítsák be nekünk a teljes hosztnevünket (FQDN) az IP-címünk PTR rekordjaként. Ebben a példában nálam ez a vps.linuxportal.eu. Ehhez korábban már beállítottuk a szükséges "A" rekordot a DNS részben, ezért ezzel más teendőnk nincsen, csak kérjük meg ennek a beállítását szolgáltatónktól. Vannak hoszting szolgáltatók, ahol erre külön felületet is biztosítanak, így magunk is be tudjuk végezni ezt a beállítást. Ha valami hiba merülne fel ezzel kapcsolatban, vagy elakadunk ennek beállításával, kérjük ki szolgáltatónk tanácsát.
SSL tanúsítványok beállítása
Az SSL tanúsítványok segítségével a biztonságos HTTPS protokoll segítségével érhetjük el weboldalainkat és egyéb webes szolgáltatásainkat. Az ingyenes SSL tanúsítványokat a Let's Encrypt CA (Certificate Authority) fogja nekünk kiállítani, aminek automatikus lekérését és beállítását pedig az acme.sh ACME kliens fogja elvégezni.
Szerverünkön most kettő tanúsítványt fogunk beállítani, lássuk ezeknek a folyamatát!
SSL beállítása az ISPConfig kezelőpanelre és a fő szolgáltatásokra
Első körben ISPConfig kezelőpanelünket védjük le SSL tanúsítvánnyal, és ezt a tanúsítványt fogjuk átláncolni egyéb szolgáltatásokra is.
Korábban már készítettem erről egy leírást, ami kimondottan erről a részről szólt:
Azonban ennek a feladatnak a kivitelezése ma már nem igényel kézi beavatkozást, hanem az ISPConfig frissítő scriptje fogja ezt elvégezni helyettünk, így ezt a korábbi leírást tekintsük inkább csak amolyan tanulmánynak, hogy a mostani frissítő script nagyjából miket csinál a háttérben.
ISPConfig kezelőpanel frissítése a --force kapcsolóval
Az ISPConfig kezelőpanel frissítéséről is készítettem már korábban leírásokat, ezeket itt találhatjuk:
A panel frissítéséről tehát már korábban értekeztünk, most lényegében ugyanezt fogjuk elvégezni, csak a --force kapcsoló használatával.
Futtassuk tehát továbbra is root-ként az alábbi parancsot:
ispconfig_update.sh --force
A script futtatása közben egy másik terminál ablakban a tail paranccsal követem az acme.sh naplóját a /var/log/ispconfig/acme.log fájlt is, hogy élőben láthassam hogy mi zajlik a háttérben az SSL lekérése körül:
tail -f /var/log/ispconfig/acme.log
Ennek annyi haszna van, hogy akármilyen hiba keletkezik a tanúsítvány kiállításával és konfigurálásával kapcsolatban, itt elsőkézből kapunk információt róla. Illetve normális esetben a sikerességről is innen tájékozódhatunk először.
Akkor jöjjenek tehát a frissítő script kérdései:
Select update method (stable,nightly,git-develop) [stable]:
Itt nyomjunk ENTER-t.
A következő pár kérdést egybe rakom, a végén zölddel kiemelve a kitöltendő dolgokkal / műveletekkel, így nem nyújtjuk hosszúra ezt a részt, majd a fontosabb SSL részeknél részletezem újra:
Shall the script create a ISPConfig backup in /var/backup/ now? (yes,no) [yes]: [ENTER] Reconfigure Permissions in master database? (yes,no) [no]: [ENTER] Reconfigure Services? (yes,no,selected) [yes]: [ENTER] ISPConfig Port [8080]: Itt célszerű egyedi portszámot beállítani a nagyobb biztonság érdekében, de ebben a leírásban én most ezen hagyom, tehát [ENTER] Create new ISPConfig SSL certificate (yes,no) [no]: yes [ENTER]
És itt jön a lényeg, tehát itt új SSL tanúsítványt fog kikérni az ISPConfig, amit első körben a Let's Encrypt-nél fog megtenni, és ha ott nem sikerül valami oknál fogva, akkor fallback-ként gerelál egy self-signed példányt. De most mivel eddigre mindent beállítottunk, így most ennek nem lehet akadálya. Itt tehát írjuk be a "yes"-t.
És el is indult az SSL kikérési folyamat. Itt persze kicsit hosszabban "tekerte" a naplót, itt csak az alja látszik, de ami így is kiderül belőle, hogy sikerült kiállítania a tanúsítványt a vps.linuxportal.eu FQDN névre, és be is másolta a /usr/local/ispconfig/interface/ssl/ könyvtárba, ahonnan az ISPConfig és több egyéb szolgáltatás is fogja használni.
Közben egy harmadik ablakban megtekintve szépen betette a fájlokat a helyükre, és a korábbi, self-signed tanúsítványról pedig biztonsági másolatot készített:
Persze a kezelőpanelünk még a memóriában lévő self-signed tanúsítvánnyal megy, még kell neki egy Apache újraindítás, hogy a friss fájlok lépjenek érvénybe. De ezzel nem kell foglalkoznunk, a frissítő script elvégzi ezt is a végén, így haladjunk tovább.
Jöjjön a következő telepítő kérdés:
Symlink ISPConfig SSL certs to Postfix? (y,n) [y]: [ENTER] Symlink ISPConfig SSL certs to Pure-FTPd? Creating dhparam file may take some time. (y,n) [y]: [ENTER] Reconfigure Crontab? (yes,no) [yes]: [ENTER]
Itt az elsőnél a Postfix-re láncolja át az SSL-t, utána pedig a Pure-FTPd-re. Majd a frissítés el is készült:
A kiállított SSL tanúsítványok listáját az acme.sh paranccsal kérdezhetjük le:
acme.sh --list
Itt tehát látható, hogy már van egy vps.linuxportal.eu névre kiállított tanúsítványunk. De ezen kívül még nincs sem a www-s sem az anélküli sima domain neves változatra. Így tehát most még csak a teljes hosztneves (FQDN) elérésű dolgokat érhetjük el HTTPS kapcsolaton keresztül.
Ha ezzel megvagyunk, ellenőrizhetjük is a webes dolgainkat.
SSL tanúsítvány ellenőrzése a webes alkalmazásokon
A Chrome makacsul "megjegyzi" az SSL állapotot, ezért a piros jelzés megmarad egy ideig. És ezen sokszor még az SSL cache törlés sem segít, sem a böngésző újraindítása. Hanem egyszer csak gondol egyet, és eltűnik. Ez valami bug lehet a Chrome-ban. Viszont ha megnyitjuk a tanúsítvány részleteit, akkor már jól mutatja, tehát már az új tanúsítvánnyal töltődnek be az oldalak, de a piros jelzés megmarad.
Hogy elkerüljük ezt az apró és átmeneti szépséghibát, én most inkognitó ablakból nyitom meg ezeket a webes felületeket, ahol teljesen tiszta lappal indul minden. De természetesen akár másik böngészőből is meg lehet nyitni, csak a Chrome-ban szépen látszik egyben a megnyitott oldal, és a tanúsítvány adatai is.
ISPConfig
Amint láthatjuk, a panel bejön szépen a friss és ropogós SSL-el. Még a jelszót is eltárolta a böngésző hozzá (persze az más kérdés, hogy az inkognitó ablak bezárása után töröl mindent).
phpMyAdmin
Itt még két apróságra érdemes kitérni:
Az ISPConfig kezelőpanel a 8080-as porton érhető el alapból, a webes alkalmazások - így a phpMyAdmin is - pedig a 8081-es porton, amennyiben a teljes hosztnévvel kívánjuk elérni (pl. vps.linuxportal.eu:8081/phpmyadmin). Valamint később elérhető lesz még bármelyik weboldal alól is www-vel kezdődően, ha már azokhoz is ki van kérve és be van állítva az SSL. De jelenleg még www-s aldomainhez nincs tanúsítvány, az majd később kerül beállításra. A 8081-es port használatát pedig az Apache apps nevű konfigurációja biztosítja, hogy ezen keresztül HTTPS-el lehessen elérni a webes alkalmazásokat, függetlenül attól, hogy például weboldalakhoz még nincs kiállítva semmilyen tanúsítvány, mint például ahogy most is. De erről majd egy másik leírásban értekezünk részletesebben.
A másik apróság pedig a fentebb már korrigált apró phpMyAdmin hiba, ami most újra megjelent. Ezt majd egy másik leírásban tartósan orvosoljuk, ahogy fentebb már említettem. Amint elkészült ez a leírás, ide is belinkelem.
Postfix Webmail
Ez is rendben, a 8081-es porton működik szépen az új SSL-el. Itt közben a Monit küldözgeti az értesítőket. Amint láthatjuk, a Fail2Ban már gyűjti is az IP-címeket. Még ezt is beállítjuk majd egy másik leírásban.
Monit
A Monit webes felülete jelenleg nem érhető el, "ERR_SSL_PROTOCOL_ERROR" hibát dob. Ez azért van, mert a teljes hosztneves (FQDN) elérésre (vps.linuxportal.eu) már be van állítva az SSL, tehát az azzal működne alapból, a Monit viszont egy saját, 2812-es egyedi porton működik, ahol pedig sima HTTP kapcsolat van beállítva. Így ez a két protokoll irányelv ütközik egymással. Ennek a beállítását a végén a hibaelhárítás és finomhangolás részben tekinthetjük meg.
Reméljük idővel ez az SSL beállítás/átláncolás is bekerül majd az ISPConfig frissítő scriptjébe is, és akkor egy macerával kevesebb lesz.
Weboldal
Végül pedig a weboldalnak titulált kis zöld üdvözlőpanelünk jön:
Természetesen ez sem működik még, mivel ahogy fentebb is említettem, a weboldalhoz külön kell kikérni az SSL-t, függetlenül attól, hogy ez az elsődleges weboldalunk vagy webtárhelyünk, ezt mindegyik weboldalhoz külön be kell állítani. Ezzel folytatjuk a következő részt.
SSL beállítása az első weboldalra
Ahogy az imént említettem, itt most mindegy, hogy melyik weboldalról van szó, tehát első/elsődleges, vagy sokadik, ugyanúgy kell mindegyiknél elvégezni a beállítást, de mivel még tényleg ez az első weboldalunk, ezért adtam ezt a címet ennek a résznek.
Az SSL beállításához lépjünk be az ISPConfig kezelőpanelükbe adminként, majd lépjünk a Webhelyek főmenübe, itt rögtön a Weboldalak almenü jön be a weboldalak listájával:
Lépjünk a beállítani kívánt weboldalra, majd itt jelöljük be az SSL és a Let's Encrypt checkboxokat együtt:
Majd mentsük le, és várjuk meg, amíg eltűnik a piros kör fentről.
Valamint állítsuk még be a rewrite to HTTPS funkciót is, hogy már csak HTTPS-el töltse be az oldalt. Ehhez nyissuk meg ismét a weboldal beállításait, majd lépjünk az átirányítás fülre. Itt megjelenik egy új opció, ami korábban még nem volt: "Rewrite HTTP to HTTPS". Ezt jelöljük be:
Majd ha belenézünk az acme.sh naplójába is:
és az SSL-ek listáját is lekérdezzük, akkor itt most két tanúsítványunk van:
- linuxportal.eu, www.linuxportal.eu, vps.linuxportal.eu
- vps.linuxportal.eu
Itt annyi a lényeg, hogy a vps.linuxportal.eu mindkét tanúsítványban szerepel. Amit korábban kértünk ki, az hitelesíti az ISPConfig kezelőpanelt a 8080-as porton (vagy amit beállítottunk a frissítéskor telepítéskor), valamint a webes alkalmazásokat hitelesíti a 8081-es porton (ez ugye helyi Apache konfigurációja a szervernek, és nem a tanúsítvány tartalmazza a portokat, tehát ez nem összetévesztendő). A most kikért tanúsítvány pedig magára a weboldalra van, tehát linuxportal.eu, www.linuxportal.eu és vps.linuxportal.eu.
És ahogy láthatjuk, a kiállítás ideje is más, mint az először kikért tanúsítványnak. Persze ez a terminálban lekért listában is jól látszik.
Így tehát most már teljeskörű az SSL védelem a szerveren.
Hibaelhárítás és finomhangolás
Ebben a fejezetben átnézünk néhány hibát, annak javítását, illetve finomhangolási beállítást, amiket külön leírásokban készítek el, mert témájuk miatt megérdemelnek egy-egy külön leírást és nem ezt nyújtják túl hosszúra.
Ezt a részt később is bővíteni fogom, amikor elkészülök egy-egy újabb kiegészítővel.
Alapértelmezett weboldal beállítása
A szerver néhány URL elérésre nem úgy reagál, ahogy azt elvárnánk. Így például ha a szervert az IP-címével próbáljuk elérni a webböngészőben, akkor nem a várt tartalom jelenik meg, hanem például az Apache2 Debian Default Page, vagy éppen HTTPS esetén a névsorban legelöl lévő weboldal. Ezek az URL címek az alábbiak:
https://vps.linuxportal.eu/ http://178.238.208.205/ https://178.238.208.205/
Természetesen itt helyettesítsük be saját hosztnevünket, domain nevünket, illetve IP-címünket.
Az alábbi leírásban oldjuk meg ezt a problémát:
Monit beállítása, finomhangolása
A Monit szolgáltatás figyelő rendszerben még be kell állítani az SSL használatát, valamint még elvégzünk benne néhány beállítást, finomhangolást.
Az alábbi leírásban végezzük el ezeket a beállításokat
phpMyAdmin hiba javítása, optimalizálása
A phpMyadmin még tartalmaz egy apró hibát, ezt a hamarosan elkészülő leírásban javítjuk.
Konklúzió
Ez volna tehát egy Debian 11 (Bullseye) tökéletes szerver telepítés elejétől a végéig, mindezt egy éles szerveren kivitelezve. Így remélem mindazoknak tudtam hasznos és érdekes információkkal szolgálni, akik hasonló szervert szeretnének telepíteni maguknak.
- Hogyan biztosíthatjuk az ingyenes Let's Encrypt SSL-el az ISPConfig3 kezelőpanelünket és a főbb szolgáltatásainkat
- 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
- Szerver monitorozása a Monit segítségével Debian és Ubuntu rendszereken
- Enciklopédia - DNS (Domain Name System)
- Enciklopédia - ISPConfig
- Enciklopédia - Web hoszting kezelőpanel
- Enciklopédia - phpMyAdmin
- Enciklopédia - Roundcube
- Enciklopédia - PTR rekord
- Enciklopédia - SSL (Secure Sockets Layer)
- Manual oldal - acme.sh
Lapozó
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
- 110 megtekintés