Vissza a bloghoz

Webmail kliens telepítése Roundcube-bal Ubuntu 20.04-en: Útmutató

Webmail kliens telepítése Roundcube-bal Ubuntu 20.04-en: Útmutató

Roundcube egy nyílt forráskódú, IMAP-alapú, böngészőből használható e-mail kliens. Népszerűségét az ACL-ek támogatásának és az AJAX (Asynchronous JavaScript and XML) technológia használatának köszönheti. Kiváló funkciókkal és végpontok közötti képességekkel rendelkezik, mint például az e-mail kezelés, MIME támogatás és a mappakezelés, hogy csak néhányat említsünk. Emellett a Roundcube zökkenőmentes üzenetkeresést, helyesírás-ellenőrzést, naptárakat és kapcsolatkezelést is kínál. Mindenekelőtt robusztus bővítménytárral és további testreszabási lehetőségekkel rendelkezik a többi népszerű böngészőalapú klienshez képest.

A Roundcube egy MUA. Az MTA-val ellentétben szükséged lesz egy olyan szolgáltatásra, amely az e-maileket kezeli, lehetőleg a saját levelezőszervered használatával. Tekintsd meg a Levelezőszerver konfigurációs útmutatónkat, hogy hozzáadd a választott levelezőszervert.

Amikor e-mailt küldesz, a MUA az SMTP segítségével továbbítja azt az MTA szerverére. Néhány ugrás után a fogadó MTA megkapja az e-mailt, és az IMAP segítségével továbbítja azt az MDA-nak. Végül a címzett a MUA segítségével tekinti meg az e-mailt.

Értsük meg ezeket a kifejezéseket:

  • MUA: A levelező kliens (mail user agent) egy olyan felület, amely lehetővé teszi a felhasználói interakciót az e-mailek megtekintéséhez és küldéséhez.
  • MTA: A levéltovábbító ügynök (mail transfer agent) továbbítja az e-maileket a feladótól a címzettnek.
  • SMTP: Az egyszerű levéltovábbítási protokoll (Simple Mail Transfer Protocol) egy olyan protokoll, amelyet a MUA használ az e-mailek MTA-nak történő elküldésére.
  • MDA: Az MTA-tól küldött összes e-mailt a kézbesítő ügynök (mail delivery agent) fogadja és tárolja.
  • IMAP: Az Internet Message Access Protocol egy olyan protokoll, amelyet az MDA-k használnak a levelek MUA-nak történő kézbesítésére.

Ebben az útmutatóban végigvezetünk a Roundcube webmail kliens Ubuntu 20.04-re történő telepítésének lépésein.

Kezdjük el!

Előfeltételek

Az útmutató követéséhez a következőkre lesz szükséged:

1. lépés: Bővítmények és függőségek telepítése

Mielőtt elkezdenénk, frissítsük a tárolókat a szoftverütközések elkerülése érdekében:

Ezután telepítjük a Roundcube függőségeit és konfiguráljuk a PHP-t. Használd a következő parancsot a PHP bővítmények és könyvtárak telepítéséhez:

Alapértelmezés szerint néhány PHP könyvtár le van tiltva. Engedélyeznünk kell ezeket a könyvtárakat a szerver php.ini fájljában, amely itt található: /etc/php/7.0/apache2/php.ini. Nyisd meg a php.ini fájlt a nano szövegszerkesztővel:

A legtöbb gyakran használt, kettőskereszttel ( #), kezdődő kommentelési lehetőséggel ellentétben mi pontosvesszőt ( ;) használunk a sorok kommentelésére és a kommentelés feloldására. Adj hozzá egy kezdő pontosvesszőt egy sor kommenteléséhez. Hasonlóképpen, távolítsd el a pontosvesszőt a kommentelés feloldásához.

Nézzük meg a extension= kezdetű kommentelt sorokat tartalmazó részt. Távolítsd el a pontosvesszőket a php_mbstring.dll és php_xmlrpc.dll bővítmények kommentelésének feloldásához:

Ezenkívül fűzd hozzá az extension=dom.so sort a bővítményblokk aljára:

  • Fájlok módosítása:
    • Módosítsa a date.timezone:

Lépjen a beállítások opcióhoz, navigáljon a date.timezone részhez, és törölje a kommentjelet. Ezután adja meg az időzónáját idézőjelek között. Tekintse meg a PHP időzóna oldalát, hogy lássa, hogyan néz ki a formázott időzóna a php.ini fájlban. Például, ha Európából származik, a fájlja így fog kinézni:

    • Módosítsa a upload_max_filesize fájlt:

Ezután navigáljon a upload_max_filesize beállításhoz. Alapértelmezés szerint a maximális korlát 2 MB. Az Ön igényei alapján a maximális fájlméretet tetszőleges mértékben növelheti. A legtöbb e-mail szerver azonban 10 MB-ra korlátozza a mellékletek teljes méretét. Ebben az útmutatóban a maximális méretet 13 MB-on tartjuk, hogy egyszerre több felhasználó is hozzáadhasson mellékleteket:

    • Módosítsa a post_max_size fájlt:

Most navigáljon a kereséshez a post_max_size értékre. Ellentétben az upload_max_filesize beállítással, amely a mellékletekre vonatkozik, a post_max_size a teljes e-mail méretére vonatkozik (beleértve a mellékleteket is). Állítsuk be a post_max_size értékét magasabbra a holtpontok elkerülése érdekében:

    • Állítsa be a func_overload értéket:

Végül keresse meg a mbstring.func_overload = 0 sort, és törölje a kommentjelet. Győződjön meg arról is, hogy az értéke nullra van állítva, hogy támogassa a több-bájtos karakterlánc-függvényeket:

Mentse el az összes módosítást, majd zárja be a fájlt. A szerverünk be van állítva a LAMP stackkel, a Roundcube függőségeivel és a szükséges PHP konfigurációval. A következő lépésben letöltjük a Roundcube szoftvert, telepítjük és konfiguráljuk.

2. lépés: A Roundcube letöltése

Menjen a Roundcube letöltési oldalára, válassza a Stabil verzió szekciót, és keresse meg a Teljes csomag elemet. Ezután kattintson a jobb gombbal a Letöltés gombra, és válassza a Link címének másolása lehetőséget. A címet a wget paranccsal használva töltse le a Roundcube tarballt a szerverre:

Ezután ki kell tömörítenie a Roundcube archívumot:

A használt argumentumok zavarónak tűnhetnek, különösen, ha teljesen kezdő vagy. Íme a magyarázat arra, hogy mit jelentenek az egyes flagek:

  • x: Az extrakciót (kicsomagolást) jelenti.
  • v: A részletes (verbose) módot jelenti.
    • Arra utasítja a tar-t, hogy írja ki a kicsomagolt fájlok elérési útját és nevét.
  • z: Arra utasítja a tar-t, hogy távolítsa el a tar burkolót, és tömörítse ki az archívumot gzip segítségével.
    • A tömörített gzip fájl kiterjesztésének a végén .gz lesz.
  • f: A fájlt jelenti.

Hagyja el a záró / karaktert a könyvtárnévben, mert a teljes könyvtárat mozgatjuk és nevezzük át, nem csak a tartalmát. Most mozgassuk a kicsomagolt könyvtárat a /var/www könyvtárba, és nevezzük át erre: roundcube:

Állítsa be a jogosultságokat az Apache számára a konfigurációs és a naplófájlok létrehozásához és szerkesztéséhez. Ezután módosítsa a tulajdonost és a csoportot a következőre: www-data. Emellett győződjön meg arról is, hogy engedélyezi az olvasási és írási jogosultságokat a tulajdonos és a csoport számára:

Bár letöltöttük a Roundcube kódját és beállítottuk a szükséges jogosultságokat, a telepítésünk még nem teljes. A Roundcube adatbázishoz való csatlakoztatása a Roundcube grafikus felületén (GUI) keresztül még hátravan. Mielőtt továbblépnénk, frissítenünk kell az Apache-ot és annak konfigurációját, hogy megadjuk a Roundcube alapértelmezett helyét.

3. lépés: Apache beállítása és konfigurálása

Ebben a lépésben a virtuális gazdagép (virtual host) fájlt fogjuk szerkeszteni az Apache konfigurálásához. A(z) Apache virtuális hosztolás használatával több webhelyet is kiszolgálhatunk egyetlen szerveren. Még ha az Apache csak egyetlen webhelyet is szolgál ki, a virtuális gazdagép konfigurációs fájljának használata tisztább és egyszerűbb, mint az Apache fő konfigurációjának szerkesztése. Egy extra biztonsági réteg hozzáadásához fontolja meg a következőt: az Apache biztosítása a Let’s Encrypt segítségével.

Minden .conf fájl a(z) /etc/apache2/sites-available/ könyvtárban egy-egy különböző webhelyet képvisel. Hozzunk létre itt egy virtuális gazdagép fájlt a Roundcube számára, és utasítsuk az Apache-ot, hogy tegye elérhetővé a böngésző számára.

Először másolja le az alapértelmezett konfigurációs fájlt, hogy azt használja kiindulópontként az új fájlhoz:

Nyissa meg a fájlt a(z) nano szövegszerkesztővel:

Számos módosítást kell elvégeznünk. Menjünk végig mindegyiken, majd megadjuk a teljes fájlt a másoláshoz és beillesztéshez.

Először módosítsa a következő direktívákat a meglévő VirtualBlock gazdagépben:

  • ServerName: Tájékoztatja az Apache-ot a tartomány (domain) kiválasztásáról.
    • Ha egyetlen szervert használ, akkor ez a ServerName a szerver IP-címe vagy tartományneve lesz.
  • DocumentRoot: Amikor a forgalom beérkezik, meghatározza, hogy hová kell irányítani.
    • Az útmutatónkban a forgalmat a Roundcube-hoz irányítjuk a következő helyen: /var/www/roundcube.
  • ServerAdmin: Ha probléma merül fel az Apache-csal, a ServerAdmin megad egy kapcsolattartási e-mail-címet.
  • ErrorLog és CustomLog: Meghatározza, hogy hová kell menteni a sikeres kapcsolatok naplóit és a hibanaplókat ehhez a webhelyhez.
    • Használjon specifikus neveket a hibanaplók meghatározásához, hogy ha bármilyen, kifejezetten a webhelyre jellemző probléma merül fel, az könnyen észlelhető legyen.

Ezután hozzáad egy új Directory blokkot, amely tájékoztatja az Apache-ot, hogy mit tegyen a Roundcube könyvtárral. A Directory két szóból áll, ahol az egyes sorok első szava a konfiguráció neve, amelyet a tényleges konfigurációs beállítások követnek.

  • Options -Indexes: Tájékoztatja az Apache-ot, hogy jelenítsen meg figyelmeztetést, ha hiányzó index.html vagy index.php fájlt talál. Alapértelmezés szerint a könyvtár tartalmát jeleníti meg.
  • AllowOverride All: Tájékoztatja az Apache-ot, hogy ha helyi .htaccess fájlt észlel, annak felül kell bírálnia a globális beállításokat.
  • Order allow,deny: Utasítja az Apache-ot, hogy vesse össze az ügyfél hozzáférését a webhelyhez, és tiltsa meg a nem egyezőket.
  • allow from all: Meghatározza az engedélyezett ügyfelek típusát.

Miután elvégezte ezeket a módosításokat, a fájl így fog kinézni:

Mentse el az összes módosítást, és zárja be a fájlt. Most kérjük meg az Apache-ot, hogy állítsa le az alapértelmezett webhely kiszolgálását:

Ezt követően utasítjuk az Apache-ot, hogy ehelyett a Roundcube webhelyet kezdje el kiszolgálni. A webhely engedélyezésekor ne adja hozzá a .conf  mert az a2ensite kiterjesztés nélkül igényli a fájlnevet:

Ezután kapcsolja BE a mod_rewrite Apache modult:

Végül indítsa újra az Apache-ot a Roundcube telepítés elérhetőségének engedélyezéséhez:

Az utolsó lépésben konfigurálnunk kell az adatbázist, hogy a Roundcube tárolni és kezelni tudja az alkalmazásspecifikus adatait.

4. lépés: MySQL telepítése és konfigurálása

Próbálja meg elérni a szerverét az IP-cím vagy a domain név használatával. Egy konfigurációs hiba fog megjelenni az oldalon. Itt a Roundcube egy olyan fájlt keres, amely a konfiguráció beállítása során jön létre, de a mi konfigurációnk még hiányos. Mielőtt beállítanánk a konfigurációt, készítsük elő az adatbázisunkat.

  1. Csatlakozás a MySQL-hez: Csatlakozzunk a MySQL interaktív parancssorához a felhasználónév és a jelszó használatával:
    A fenti parancs futtatása után meg kell adnia a MySQL telepítése során létrehozott root jelszót a hitelesítéshez.
  2. Adatbázis és felhasználó létrehozása: Most, hogy sikeresen bejelentkezett, hozzunk létre egy adatbázist és egy adatbázis-felhasználót. Ezt követően engedélyeket adunk a felhasználónak, hogy parancsokat futtathasson az új adatbázisunkon.
  3. Adatbázis létrehozása: Használja a következő parancsot a roundcubemail nevű adatbázis létrehozásához. Ezután adja meg az adatbázis opcióit, például a használandó karakterkészletet: utf8:
    A MySQL robusztus biztonságot és fejlett védelmet nyújt. A felhasználót név és a kapcsolat forrása alapján határozza meg. A fenti parancs létrehoz egy roundcube nevű felhasználót, és meghatározza, hogy a felhasználó a localhost.
  4. Adatbázis átnevezése: Nevezzük át a felhasználót és módosítsuk a jelszavunkat:
  5. Engedélyek beállítása: Adjon meg a roundcube felhasználónak minden jogosultságot a roundcubemail adatbázison és táblákon:
    Mentse el a változtatásokat, és lépjen ki a MySQL interaktív parancssorából:

A következő lépés az adatbázis-szerkezet beállítása, amely segít a Roundcube-nak elmenteni az összes információt. A Roundcube tartalmaz egy adatbázisfájlt, amely automatikusan beállítja az adatokat, amelyek kézi konfigurálása fáradságos munkát igényelne.

A következő parancs használatával a MySQL az újonnan létrehozott felhasználónkat fogja használni a /var/www/roundcube/SQL/mysql.initial.sql fájl beolvasásához. Ezenkívül alkalmazni fogja a konfigurációt a roundcubemail:

Most meg kell adnia a roundcube felhasználó jelszavát. Az adatbázis-beállításunk előkészíti a Roundcube használatát, és lehetővé teszi a megfelelő jogosultságok ellenőrzését. Ha minden lépést sikeresen elvégzett, nem kap visszajelzést, és visszatér a parancssorhoz. A következő lépésben megadjuk a Roundcube-nak az e-mail beállításainkat, és befejezzük a telepítést.

5. lépés: A Roundcube telepítése és konfigurálása

Ha most próbálja meg elérni a Roundcube telepítését, egy hibaoldalt fog kapni. Látogasson el a http://your_server_ip_or_domain/installer címre a telepítés befejezéséhez.

Ha a beállítás megfelelően történt, egy zöld OK minden sor jobb oldalán. Azonban előfordulhat, hogy nem látja a zöld OK-t az opcionális LDAP-beállításokban a MySQL-ben. Ha a következő üzenetet látja: NEM ÉRHETŐ EL bármely más sor mellett, akkor telepítenie kell ezeket a nem elérhető függőségeket. Ha lemaradt valamelyik függőség letöltéséről, navigálhat az URL-re, és azonnal letöltheti.

Miután a beállítás befejeződött, görgessen le, és kattintson a KÖVETKEZŐ gombra. Menjünk végig a Roundcube konfigurációs fájl generálásán. Tekintse meg az űrlap azon részeit, amelyeket módosítanunk kell.

  • Általános konfiguráció

Van néhány testreszabás és néhány általános beállítás, amelyeket az Általános konfiguráció részben fogunk módosítani:

  • ip_check: Ez egy biztonsági konfigurációs opció, amely ellenőrzi az ügyfél IP-címét a munkamenet-engedélyezés során.
  • product_name: Nevezze át a termék nevét tetszés szerint. Ez a név helyettesíti a „Roundcube” nevet a szövegben, és ez a név jelenik meg helyette.
  • support_url: Támogatás a Roundcube telepítésben. Ha nincs dedikált ügyfélszolgálati webhelye, használjon inkább egy e-mail-címet, például: walker:paul@demo.com.
  • skin_logo: Cserélje ki a Roundcube logót a következőre: skin_logo. A HTTPS engedélyezéséhez válasszon egy HTTPS URL-címmel rendelkező képet (178px x 47px).

Hagyja a többi beállítást az alapértelmezett értékeken.

  1. Naplózás & hibakeresés: Használjuk az alapértelmezett beállításokat.
  2. Az adatbázis beállítása: Ahelyett, hogy közvetlenül a levelezést használná, a Roundcube a MySQL-t használja a webes kliens futtatásához szükséges információk tárolására. Itt meg kell adnunk a Roundcube számára, hogy férjen hozzá az itt beállított adatbázishoz: 4. lépés. Használja a korábban létrehozott adatbázis-hitelesítő adatokat:
    • Adatbázis: MySQL
    • Szerver: localhost
    • Adatbázis neve: roundcubemail
    • Felhasználó: roundcube
    • Jelszó: demo12345@
      • Használja az itt beállított jelszót: 4. lépés.
    • Db_prefix: Ez opcionális, kivéve, ha megosztott adatbázist használ más alkalmazásokkal.
  3. Az IMAP módosítása: Állítsuk be az IMAP és SMTP beállításokat az e-mail szerveréhez. Mivel ez az útmutató a Gmailt használja példaként, a Gmail beállításait fogjuk használni az IMAP beállításainkban. Ha azonban más szolgáltatókat, például a Yahoo-t vagy az Outlookot választja, az ő megfelelő beállításaikat kell használnia. Sok e-mail szolgáltató támogatja a titkosítással vagy anélkül történő kapcsolatokat. Törekedjen az SSL IMAP/SMTP URL-ek és portok használatára a nem biztonságos kapcsolatok elkerülése érdekében.
    • default_host: ssl://imap.gmail.com
    • default_port: 993
    • auto_create_user: Igen
      • Ha ez nincs bejelölve, a Roundcube nem hoz létre felhasználót a saját adatbázisában, és megakadályozza a bejelentkezést.
    • *_mbox mezők: Tartsa meg az alapértelmezett értékeket.
      • Ezt később is frissítheti a Roundcube felületén.
  4. Az SMTP módosítása: Az SMTP-szerver az e-mail küldéshez használt levelezőrendszer szerves része. Az IMAP-szerver részhez hasonlóan az SSL URL-t és portot fogjuk használni. Ha nincs tapasztalata az SMTP-szerverek használatában, kövesse az SMTP legjobb gyakorlatok útmutatót, hogy többet tudjon meg az ilyen típusú szerverekről. Itt a Gmailt használjuk példaként:
    • smtp_server mező: ssl://smtp.gmail.com
    • smtp_port mező: 465
    • Az SMTP és az IMAP két különböző szolgáltatás, ezért mindkettőhöz felhasználónévre és jelszóra van szükség. A Roundcube azonban lehetővé teszi az IMAP hitelesítő adatok használatát, így nem kell újra létrehozni őket. Hagyja üresen a smtp_user/smtp_pass alatti mezőket, és jelölje be a „Jelenlegi IMAP felhasználónév és jelszó használata az SMTP hitelesítéshez” melletti négyzetet.
    • smtp_log: Igen
  5. A megjelenítési beállítások & felhasználói beállítások módosítása: Használjuk az alapértelmezett megjelenítési és felhasználói beállításokat. Ha szeretné testreszabni a Roundcube telepítését, kattintson az RFC1766 linkre a konfigurációs oldalon, és frissítse a language mezőt manuálisan.
  6. Bővítmények: A Roundcube bővítménytámogatást kínál, amely extra biztonságot nyújt. A bővítmények opcionálisak, azonban kihasználhatja őket a munka megkönnyítésére. Nézzük meg a leggyakrabban használt bővítmények listáját:
    • archive: Ez a bővítmény egy Archiválás gombot biztosít, amely a Gmail működéséhez hasonló.
    • emoticons: Ez lehetővé teszi a hangulatjelek használatát az e-mailekben.
    • enigma: Megkönnyíti a GPG e-mail titkosítás használatát.
    • filesystem_attachments: Lehetővé teszi a mellékletek ideiglenes mentését a Roundcube szerverre a piszkozat e-mail mentésekor.
    • hide_blockquote: Ez a bővítmény elrejti a megválaszolt e-mailek idézett részét, hogy a felhasználói felület tiszta maradjon.
    • identity_select: Lehetővé teszi a felhasználó számára, hogy több e-mail címet válasszon ki e-mail írása közben.
    • markasjunk: Ez a bővítmény lehetővé teszi egy e-mail levélszemétként való megjelölését és a Levélszemét mappába helyezését.
    • newmail_notifier: Értesíti Önt az új e-mailekről a böngésző értesítési rendszerének használatával.

Kattintson az UPDATE CONFIG gombra a beállítások mentéséhez. Az utolsó lépésben tesztelni fogjuk a Roundcube konfigurációt, hogy megbizonyosodjunk arról, hogy minden megfelelően működik.

6. lépés: A Roundcube telepítésének tesztelése

Miután frissítette a konfigurációt, az oldal frissülni fog, és az oldal tetején egy sárga információs doboz jelenik meg, amely azt jelzi, hogy A konfigurációs fájl sikeresen elmentve a következő könyvtárba: RCMAIL_CONFIG_DIR könyvtárába a Roundcube telepítésének.

Ezután kattintson a CONTINUE gombra a konfiguráció teszteléséhez. A függőség-ellenőrző oldalhoz hasonlóan egy zöld OK jelzést fog látni minden sorban, feltéve, hogy nincsenek hibák. Ha hibát lát, lépjen vissza, és ellenőrizze újra a megadott adatokat.

Adja meg az IMAP és SMTP felhasználónevét és jelszavát a Test SMTP config és Test IMAP config részekben a konfiguráció többi részének teszteléséhez. Hasonlóképpen kattintson a Send test email és Check login gombokra. Ha minden lépést helyesen követett, az oldal frissülni fog, és a zöld OK jelzést fogja látni a tesztelt szakasz alatt.

Megjegyzés: Ha kétlépcsős azonosítással engedélyezett Gmailt használ, fontolja meg egy alkalmazásspecifikus jelszó generálását, mivel a Roundcube nem tudja, hogyan kérje be a kétlépcsős azonosítási tokent. Kövesse ugyanezt a jelszógenerálási eljárást más alternatív e-mail szerverek, például a Yahoo vagy az Outlook használatakor is.

Miután ellenőrizte, hogy mind az SMTP, mind az IMAP kapcsolatok megfelelően működnek, a következő lépés a telepítő könyvtár eltávolítása a SSH. A telepítő könyvtár eltávolítása biztonságos módja annak, hogy megakadályozza, hogy mások új konfigurációt hozzanak létre, és felülírják a helyes beállításokat:

Végül a szerver IP-címét használva megnyithatja a Roundcube példányt, és ellenőrizheti az e-mailjeit.

Összegzés

Ebben az útmutatóban megtanultuk, hogyan telepítsünk egy webes levelezőklienst a Roundcube használatával Ubuntu 20.04-en. A fent tárgyalt lépéseken kívül vannak más biztonsági lehetőségek is, mint például a HTTPS-támogatás és a GPG-titkosítás, amelyek hozzáadását érdemes megfontolnia. Tekintse felelősségének, hogy megvédje szervereit robusztus biztonsági intézkedések alkalmazásával.

Ezenkívül számos más Redis és PHP témájú tananyagot is elérhet a blogunkon:

Kellemes számítógépes munkát!

author

Pranay Kapgate

Szerző · CloudSigma

Preslav Dobrev a CloudSigma kreatív tervezője, aki hagyományos és innovatív marketingcsatornák segítségével következetes vállalati identitás kialakítására összpontosít. Kiemelkedően képes ötvözni a művészi látásmódot a stratégiai marketinggel, hogy hatásos márkatörténeteket hozzon létre.

Hozzászólások

Még nincsenek hozzászólások. Legyen Ön az első.