Späť na blog

Inštalácia webmailového klienta s Roundcube na Ubuntu 20.04: Návod

Inštalácia webmailového klienta s Roundcube na Ubuntu 20.04: Návod

Roundcube je open-source e-mailový klient pre prehliadač založený na protokole IMAP. Získal si popularitu vďaka podpore ACL a využívaniu AJAX (Asynchronous JavaScript and XML) technológie. Má vynikajúce funkcie a komplexné (end-to-end) funkcionality, ako je správa e-mailov, MIME podpora a manipulácia s priečinkami, aby sme spomenuli aspoň niektoré. Okrem toho Roundcube bezproblémovo ponúka vyhľadávanie správ, kontrolu pravopisu, kalendáre a správu kontaktov. Predovšetkým má robustný repozitár zásuvných modulov a pridané možnosti prispôsobenia v porovnaní s inými populárnymi klientmi založenými na prehliadači.

Roundcube je MUA. Na rozdiel od MTA budete potrebovať službu, ktorá spravuje váš e-mail, najlepšie pomocou vášho poštového servera. Pozrite si náš Mail Server Configuration tutorial na pridanie poštového servera podľa vášho výberu.

Keď odošlete e-mail, MUA ho prenesie na svoj MTA server pomocou SMTP. Po niekoľkých skokoch prijímajúci MTA dostane e-mail a prenesie ho do svojho MDA pomocou IMAP. Nakoniec si príjemca prezrie e-mail pomocou MUA.

Poďme pochopiť tieto pojmy:

  • MUA: Mail user agent je rozhranie, ktoré umožňuje interakciu používateľa na prezeranie a odosielanie e-mailov.
  • MTA: Mail transfer agent prenáša e-maily od odosielateľa k príjemcovi.
  • SMTP: Simple Mail Transfer Protocol je protokol, ktorý MUA používa na odosielanie e-mailov do MTA.
  • MDA: Všetky e-maily odoslané z MTA sú prijaté a uložené u doručovacieho agenta pošty (mail delivery agent).
  • IMAP: Internet Message Access Protocol je protokol, ktorý MDA používajú na doručovanie pošty do MUA.

V tomto návode vás prevedieme krokmi inštalácie webmailového klienta s Roundcube na Ubuntu 20.04.

Začnime!

Požiadavky

Na sledovanie tohto návodu budete potrebovať nasledovné:

Krok 1: Inštalácia rozšírení a závislostí

Predtým, ako začneme, aktualizujme repozitáre, aby sme predišli konfliktom softvéru:

Ďalej nainštalujeme závislosti Roundcube a nakonfigurujeme PHP. Na inštaláciu rozšírení a knižníc PHP použite nasledujúci príkaz:

Predvolene je niekoľko knižníc PHP zakázaných. Tieto knižnice musíme povoliť prechodom do súboru servera ’s php.ini, ktorý sa nachádza v /etc/php/7.0/apache2/php.ini. Otvorte súbor php.ini pomocou textového editora nano:

Na rozdiel od väčšiny bežne používaných možností komentovania začínajúcich mriežkou ( #), na zakomentovanie a odkomentovanie riadkov používame bodkočiarku ( ;) . Ak chcete riadok zakomentovať, pridajte na začiatok bodkočiarku. Podobne odstráňte bodkočiarku, ak chcete riadok odkomentovať.

Pozrime sa na sekciu obsahujúcu zakomentované riadky začínajúce na extension=. Odstráňte bodkočiarky, aby ste odkomentovali rozšírenia php_mbstring.dll a php_xmlrpc.dll :

Okrem toho pridajte extension=dom.so na koniec bloku rozšírení:

  • Upravte súbory:
    • Zmeňte date.timezone:

Prejdite do možnosti nastavení, prejdite na date.timezone, a odkomentujte ho. Ďalej pridajte svoje časové pásmo pomocou úvodzoviek. Pozrite si stránku s časovými pásmami PHP, aby ste videli, ako vyzerá formátované časové pásmo v súbore php.ini . Napríklad, ak ste z Európy, váš súbor bude vyzerať takto:

    • Upravte upload_max_filesize súbor:

Potom prejdite na nastavenie upload_max_filesize . V predvolenom nastavení uvidíte maximálny limit nastavený na 2 MB. Na základe vašich potrieb môžete maximálnu veľkosť súboru zvýšiť na akúkoľvek hodnotu. Väčšina e-mailových serverov však obmedzuje celkovú veľkosť prílohy do 10 MB. V tejto príručke ponecháme maximálnu veľkosť 13 MB, aby mohlo prílohy pridávať viacero používateľov súčasne:

    • Upravte post_max_size súbor:

Teraz vyhľadajte post_max_size. Na rozdiel od nastavenia upload_max_filesize , ktoré sa vzťahuje na prílohy, sa post_max_size vzťahuje na veľkosť celého e-mailu (vrátane príloh). Nastavme naše post_max_size na vyššiu hodnotu, aby sme predišli zablokovaniu (deadlockom):

    • Nastavte hodnotu func_overload :

Nakoniec vyhľadajte mbstring.func_overload = 0 a odkomentujte ho. Tiež sa uistite, že jeho hodnota je nastavená na null, aby podporoval viacbajtové reťazcové funkcie:

Uložte všetky zmeny a potom súbor zatvorte. Náš server je nastavený s balíkom LAMP, závislosťami Roundcube a požadovanou konfiguráciou PHP. V ďalšom kroku stiahneme softvér Roundcube, nainštalujeme ho a nakonfigurujeme.

Krok 2: Stiahnutie Roundcube

Prejdite na stránku na stiahnutie Roundcube, vyberte sekciu Stabilná verzia a prejdite na Kompletný balík. Potom kliknite pravým tlačidlom myši na tlačidlo Stiahnuť a vyberte Kopírovať adresu odkazu. Pomocou adresy s príkazom wget stiahnite archív Roundcube na server:

Potom budete musieť archív Roundcube dekomprimovať:

Použité argumenty môžu znieť mätúco, najmä ak ste úplný nováčik. Tu je vysvetlenie, čo jednotlivé príznaky znamenajú:

  • x: Znamená extrahovať (extract).
  • v: Znamená podrobný výpis (verbose).
    • Informuje príkaz tar, aby vypísal cestu a názvy extrahovaných súborov.
  • z: Informuje príkaz tar, aby odstránil obal tar a dekomprimoval archív pomocou gzip.
    • Komprimovaný súbor gzip bude mať na konci príponu .gz .
  • f: Znamená súbor (file).

Vynechajte koncovú / v adresári, pretože presúvame a premenovávame celý adresár, nielen jeho obsah. Teraz presuňme dekomprimovaný adresár do /var/www a premenujme ho na roundcube:

Nastavte oprávnenia pre Apache na vytváranie a úpravu konfiguračných súborov a súborov protokolov. Potom zmeňte vlastníka a skupinu na www-data. Tiež sa uistite, že ste povolili oprávnenia na čítanie a zápis pre vlastníka a skupinu:

Hoci sme stiahli kód Roundcube a nastavili potrebné oprávnenia, naša inštalácia je stále neúplná. Pripojenie Roundcube k našej databáze cez GUI Roundcube nás ešte len čaká. Predtým, ako budeme pokračovať, musíme aktualizovať Apache a jeho konfiguráciu, aby sme ho informovali o základnom umiestnení Roundcube.

Step 3: Apache Setup and Configuration

V tomto kroku upravíme súbor virtuálneho hostiteľa na konfiguráciu Apache. Pomocou Apache virtual hosting, budeme hostiť viacero webov na jednom serveri. Aj keď Apache hostí iba jeden web, je menej chaotické a jednoduchšie použiť konfiguračný súbor virtuálneho hostiteľa v porovnaní s úpravou hlavnej konfigurácie Apache. Ak chcete pridať ďalšiu úroveň zabezpečenia, zvážte securing Apache with Let’s Encrypt.

Každý .conf súbor v /etc/apache2/sites-available/ predstavuje iný web. Vytvorme tu súbor virtuálneho hostiteľa pre Roundcube a informujme Apache, aby ho sprístupnil pre prehliadač.

Najprv skopírujte predvolený konfiguračný súbor, ktorý použijete ako východiskový bod pre nový súbor:

Otvorte súbor pomocou textového editora nano:

Je tu niekoľko zmien, ktoré budeme musieť upraviť. Prejdime si každú z nich a potom poskytneme celý súbor na skopírovanie a prilepenie.

Najprv zmeňte nasledujúce direktívy v existujúcom hostiteľovi VirtualBlock:

  • ServerName: Informuje Apache, ktorú doménu má vybrať.
    • Ak používate jeden server, potom tento ServerName bude IP adresa vášho servera alebo názov domény.
  • DocumentRoot: Keď prichádza prevádzka, smeruje ju, kam ju poslať.
    • V našom návode budeme posielať prevádzku do Roundcube na /var/www/roundcube.
  • ServerAdmin: Ak sa vyskytne problém s Apache, ServerAdmin špecifikuje kontaktnú e-mailovú adresu.
  • ErrorLog a CustomLog: Definuje, kam sa majú ukladať protokoly úspešných pripojení a chybové protokoly pre tento web.
    • Použite špecifické názvy na definovanie chybových protokolov, aby sa v prípade akýchkoľvek problémov špecifických pre daný web dali bez námahy zistiť.

Potom pridáte nový blok Directory, ktorý informuje Apache, čo má robiť s adresárom Roundcube. Blok Directory sa skladá z dvoch slov, pričom prvým slovom na každom riadku je názov konfigurácie, za ktorým nasledujú samotné možnosti konfigurácie.

  • Options -Indexes: Informuje Apache, aby zobrazil varovanie, ak zistí, že chýba súbor index.html alebo index.php . V predvolenom nastavení zobrazuje obsah adresára.
  • AllowOverride All: Informuje Apache, že ak sa zistí lokálny súbor .htaccess , musí prepísať globálne nastavenia.
  • Order allow,deny: Inštruuje Apache, aby porovnal prístup klienta k webu a odmietol tie, ktoré sa nezhodujú.
  • allow from all: Definuje typ povolených klientov.

Po vykonaní týchto zmien uvidíte súbor takto:

Uložte všetky zmeny a zatvorte súbor. Teraz požiadajme Apache, aby prestal hostiť predvolenú stránku:

Potom inštruujeme Apache, aby namiesto toho začal hostiť stránku Roundcube. Pri povoľovaní stránky nezahŕňajte .conf  pretože a2ensite vyžaduje názov súboru bez prípony:

Ďalej prepnite do stavu ZAPNUTÉ the mod_rewrite modul Apache:

Nakoniec reštartujte Apache, aby ste povolili prístup k inštalácii Roundcube:

V poslednom kroku musíme nakonfigurovať databázu, aby Roundcube mohol ukladať a spravovať svoje údaje špecifické pre aplikáciu.

Krok 4: Nastavenie a konfigurácia MySQL

Skúste pristúpiť na svoj server pomocou IP adresy alebo názvu domény. Na stránke sa zobrazí chyba konfigurácie. Tu Roundcube kontroluje súbor vygenerovaný počas nastavovania konfigurácie, ale naše nastavenie konfigurácie je neúplné. Pred nastavením našej konfigurácie si pripravme databázu.

  1. Pripojenie k MySQL: Pripojme sa k interaktívnemu shellu MySQL pomocou používateľského mena a hesla:
    Po zadaní vyššie uvedeného príkazu budete požiadaní o overenie pomocou hesla root, ktoré ste vytvorili počas inštalácie MySQL.
  2. Vytvorenie databázy a používateľa: Teraz, keď ste úspešne prihlásení, vytvorme databázu a používateľa databázy. Potom povolíme používateľské oprávnenia na spúšťanie príkazov v našej novej databáze.
  3. Vytvorenie databázy: Pomocou nasledujúceho príkazu vytvorte databázu s názvom roundcubemail. Ďalej zadajte možnosti databázy, ako napríklad znakovú sadu, ktorú chcete použiť utf8:
    MySQL ponúka robustné zabezpečenie a pokročilú bezpečnosť. Definuje používateľa podľa mena a zdroja pripojenia. Vyššie uvedený príkaz vytvorí používateľa s názvom roundcube a definuje používateľa na pripojenie z localhost.
  4. Premenovanie databázy: Premenujme používateľa a upravme naše heslo:
  5. Nastavenie oprávnení: Povoľte používateľom roundcube všetky oprávnenia pre roundcubemail databázu a tabuľky:
    Uložte zmeny a ukončite interaktívny shell MySQL:

Naším ďalším krokom je nastavenie štruktúry databázy, ktorá pomáha Roundcube ukladať všetky informácie. Roundcube sa dodáva s databázovým súborom, ktorý automaticky nastavuje údaje, čo by si inak vyžadovalo namáhavé úsilie na manuálnu konfiguráciu.

Pomocou nasledujúceho príkazu MySQL použije nášho novovytvoreného používateľa na načítanie súboru /var/www/roundcube/SQL/mysql.initial.sql. Taktiež aplikuje konfiguráciu na databázu roundcubemail:

Teraz budete požiadaní o zadanie hesla používateľa roundcube. Naše nastavenie databázy pripraví Roundcube na použitie a umožní nám overiť správne oprávnenia. Ak boli všetky kroky úspešne vykonané, nezobrazí sa žiadna odozva a vrátite sa do príkazového riadku. V ďalšom kroku oznámime Roundcube naše nastavenia e-mailu a dokončíme inštaláciu.

Krok 5: Nastavenie a konfigurácia Roundcube

Ak sa teraz pokúsite o prístup k inštalácii Roundcube, zobrazí sa chybová stránka. Navštívte http://your_server_ip_or_domain/installer na dokončenie inštalácie.

Ak je nastavenie vykonané správne, uvidíte zelené OK napravo od každého riadku. Zelené OK sa však nemusí zobraziť pri voliteľných nastaveniach LDAP v MySQL. Ak uvidíte správu NEDOSTUPNÉ vedľa akéhokoľvek iného riadku, musíte nainštalovať tieto nedostupné závislosti. Ak ste zabudli stiahnuť niektorú zo závislostí, môžete prejsť na danú URL adresu a ihneď ju stiahnuť.

Po dokončení nastavenia prejdite nadol a kliknite na tlačidlo ĎALEJ . Poďme si prejsť generovaním konfiguračného súboru Roundcube. Pozrite si časti formulára, ktoré musíme upraviť.

  • Všeobecná konfigurácia

V sekcii Všeobecná konfigurácia upravíme niekoľko prispôsobení a niektoré všeobecné nastavenia:

  • ip_check: Je to možnosť bezpečnostnej konfigurácie a overuje IP adresu klienta pri autorizácii relácie.
  • product_name: Premenujte názov produktu podľa vlastného uváženia. Tento názov mapuje „Roundcube“ v texte a namiesto neho sa nahradí týmto názvom.
  • support_url: Podpora v inštalácii Roundcube. Ak nemáte vyhradenú stránku helpdesku, radšej použite e-mailovú adresu ako walker:paul@demo.com.
  • skin_logo: Nahraďte logo Roundcube za skin_logo. Ak chcete povoliť HTTPS, vyberte obrázok s URL adresou HTTPS (178px x 47px).

Ostatné nastavenia ponechajte na ich predvolených hodnotách.

  1. Protokolovanie & ladenie: Poďme s predvolenými možnosťami.
  2. Nastavenie databázy: Namiesto explicitného používania vášho e-mailu používa Roundcube na ukladanie informácií pre beh webového klienta databázu MySQL. Tu musíme Roundcube informovať, aby pristúpil k databáze, ktorú sme nastavili v Kroku 4. Použite prihlasovacie údaje k databáze, ktoré sme vytvorili predtým:
    • Databáza: MySQL
    • Server: localhost
    • Názov databázy: roundcubemail
    • Používateľ: roundcube
    • Heslo: demo12345@
      • Použite heslo, ktoré ste definovali a ktoré sme nastavili v Kroku 4.
    • Db_prefix: Toto je voliteľné, pokiaľ nepoužívate zdieľanú databázu s inými aplikáciami.
  3. Úprava IMAP: Nastavme nastavenia IMAP a SMTP pre váš e-mailový server. Keďže sa tento návod zameriava na používanie Gmailu ako príkladu, v našich nastaveniach IMAP použijeme nastavenia Gmailu. Ak sa však rozhodnete pre iných poskytovateľov služieb, ako sú Yahoo alebo Outlook, musíte použiť ich príslušné nastavenia. Mnohí poskytovatelia e-mailu podporujú pripojenia so šifrovaním alebo bez neho. Štandardne používajte SSL IMAP/SMTP URL adresy a porty, aby ste sa vyhli používaniu nezabezpečených pripojení.
    • default_host: ssl://imap.gmail.com
    • default_port: 993
    • auto_create_user: Áno
      • Ak toto políčko nie je začiarknuté, Roundcube nevytvorí používateľa vo svojej vlastnej databáze a zabráni vám v prihlásení.
    • Polia *_mbox: Ponechajte predvolené hodnoty.
      • Toto môžete neskôr aktualizovať v používateľskom rozhraní Roundcube.
  4. Úprava SMTP: SMTP server je neoddeliteľnou súčasťou e-mailu, ktorá sa používa na odosielanie e-mailov. Podobne ako v sekcii IMAP servera, použijeme SSL URL adresu a port. Ak nemáte skúsenosti s používaním SMTP serverov, postupujte podľa najlepších postupov pre SMTP, aby ste sa dozvedeli viac o týchto typoch serverov. Tu používame ako príklad Gmail:
    • pole smtp_server: ssl://smtp.gmail.com
    • pole smtp_port: 465
    • SMTP a IMAP sú dve rôzne služby, preto obe vyžadujú používateľské meno a heslo. Roundcube nám však umožňuje použiť prihlasovacie údaje IMAP, takže ich netreba znova vytvárať. Ponechajte polia pod smtp_user/smtp_pass prázdne a začiarknite políčko vedľa možnosti Použiť aktuálne používateľské meno a heslo IMAP na overenie SMTP.
    • smtp_log: Áno
  5. Úprava nastavení zobrazenia & používateľských predvolieb: Poďme s predvolenými nastaveniami zobrazenia a používateľskými predvoľbami. Ak sa rozhodnete prispôsobiť svoju inštaláciu Roundcube, kliknite na odkaz RFC1766 na konfiguračnej stránke a aktualizujte pole language manuálne.
  6. Doplnky: Roundcube ponúka podporu doplnkov, ktorá pridáva dodatočnú bezpečnosť. Doplnky sú voliteľné, avšak môžete ich využiť na uľahčenie práce. Pozrime sa na zoznam najpoužívanejších doplnkov:
    • archive: Tento doplnok poskytuje tlačidlo Archivovať, ktoré funguje podobne ako v službe Gmail.
    • emoticons: Toto umožňuje používanie emotikonov v e-mailoch.
    • enigma: Uľahčuje používanie šifrovania e-mailov pomocou GPG.
    • filesystem_attachments: Umožňuje dočasne ukladať prílohy na server Roundcube pri ukladaní rozpísaného e-mailu.
    • hide_blockquote: Tento zásuvný modul skrýva citovanú časť odpovedaných e-mailov, aby sa zachovalo čisté používateľské rozhranie.
    • identity_select: Umožňuje používateľovi vybrať viacero e-mailových adries pri písaní e-mailu.
    • markasjunk: Tento zásuvný modul umožňuje označiť e-mail ako spam a presunúť ho do priečinka Spam.
    • newmail_notifier: Upozorňuje vás na nové e-maily pomocou systému oznámení prehliadača.

Kliknite na tlačidlo UPDATE CONFIG na uloženie nastavení. V poslednom kroku otestujeme konfiguráciu Roundcube, aby sme sa uistili, že všetko funguje správne.

Krok 6: Testovanie nastavenia Roundcube

Po aktualizácii konfigurácie sa stránka obnoví a v hornej časti stránky sa zobrazí žlté informačné pole s hlásením, že Konfiguračný súbor bol úspešne uložený do RCMAIL_CONFIG_DIR adresára vašej inštalácie Roundcube.

Potom kliknite na tlačidlo CONTINUE na otestovanie vašej konfigurácie. Podobne ako na stránke kontroly závislostí, uvidíte zelenú OK značku na každom riadku, ak sa nevyskytnú žiadne chyby. Ak uvidíte nejaké chyby, vráťte sa späť a skontrolujte svoje vstupy.

Zadajte svoje používateľské meno a heslo pre IMAP a SMTP do sekcií Test SMTP config a Test IMAP config na otestovanie zvyšku konfigurácie. Podobne kliknite na Send test email a Check login. Ak ste správne postupovali podľa všetkých krokov, stránka sa obnoví a uvidíte zelené OK pod testovanou sekciou.

Poznámka: Ak používate Gmail so zapnutým dvojstupňovým overením, zvážte vygenerovanie hesla špecifického pre aplikáciu, pretože Roundcube nedokáže vyžiadať váš token pre dvojstupňové overenie. Rovnaký postup generovania hesla použite aj pri iných alternatívach e-mailových serverov, ako sú Yahoo alebo Outlook.

Po overení, že pripojenia SMTP aj IMAP fungujú správne, ďalším krokom je odstránenie adresára inštalátora pomocou SSH. Odstránenie adresára inštalátora je bezpečný spôsob, ako zabrániť ostatným v generovaní novej konfigurácie a prepísaní správnych nastavení:

Nakoniec môžete prejsť na inštanciu Roundcube pomocou IP adresy vášho servera a overiť svoj e-mail.

Záver

In v tomto návode sme sa naučili nainštalovať webmailového klienta pomocou Roundcube na Ubuntu 20.04. Okrem vyššie uvedených krokov existujú ďalšie bezpečnostné možnosti, ako je podpora HTTPS a šifrovanie GPG, o ktorých pridanie by ste mali uvažovať. Berte to ako zodpovednosť za ochranu vašich serverov pomocou robustných bezpečnostných opatrení.

Okrem toho existuje mnoho ďalších vzdelávacích materiálov o Redis a PHP, ku ktorým máte prístup z našich blogov:

Príjemnú prácu s počítačom!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev je kreatívny dizajnér v spoločnosti CloudSigma, ktorý sa zameriava na konzistentnú firemnú identitu prostredníctvom tradičných a inovatívnych marketingových kanálov. Dokáže brilantne spájať umeleckú víziu so strategickým marketingom, čím vytvára pôsobivé príbehy značky.

Komentáre

Zatiaľ žiadne komentáre. Buďte prvý.