Natrag na blog

Instalacija Webmail klijenta s Roundcubeom na Ubuntu 20.04: Vodič

Instalacija Webmail klijenta s Roundcubeom na Ubuntu 20.04: Vodič

Roundcube je klijent e-pošte otvorenog koda utemeljen na pregledniku koji koristi IMAP. Postao je popularan zbog podrške za ACL-ove i korištenja AJAX (Asynchronous JavaScript and XML) tehnologije. Ima izvrsne značajke i sveobuhvatne funkcionalnosti poput upravljanja e-poštom, MIME podrške i manipulacije mapama, da spomenemo samo neke. Osim toga, Roundcube besprijekorno nudi pretraživanje poruka, provjeru pravopisa, kalendare i upravljanje kontaktima. Iznad svega, ima robusno spremište dodataka i dodatne mogućnosti prilagodbe u usporedbi s drugim popularnim klijentima utemeljenim na pregledniku.

Roundcube je MUA. Za razliku od MTA, trebat će vam usluga koja upravlja vašom e-poštom, po mogućnosti koristeći vaš poslužitelj e-pošte. Pogledajte naš vodič za konfiguraciju poslužitelja e-pošte kako biste dodali poslužitelj e-pošte po svom izboru.

Kada pošaljete e-poštu, MUA je prenosi na svoj MTA poslužitelj koristeći SMTP. Nakon nekoliko skokova, primateljski MTA prima e-poštu i prenosi je na njihov MDA koristeći IMAP. Na kraju, primatelj pregledava e-poštu koristeći MUA.

Upoznajmo se s ovim pojmovima:

  • MUA: Korisnički agent e-pošte (mail user agent) je sučelje koje omogućuje interakciju korisnika za pregled i slanje e-pošte.
  • MTA: Agent za prijenos e-pošte (mail transfer agent) prenosi e-poštu od pošiljatelja do primatelja.
  • SMTP: Jednostavni protokol za prijenos e-pošte (Simple Mail Transfer Protocol) je protokol koji MUA koristi za slanje e-pošte MTA-u.
  • MDA: Sve e-poruke poslane s MTA-a primaju se i pohranjuju kod agenta za dostavu e-pošte (mail delivery agent).
  • IMAP: Internet Message Access Protocol je protokol koji MDA-ovi koriste za dostavu pošte MUA-u.

In Clipboard, u ovom vodiču ćemo provesti vas kroz korake instalacije webmail klijenta s Roundcubeom na Ubuntu 20.04.

Započnimo!

Preduvjeti

Kako biste pratili ovaj vodič, trebat će vam sljedeće:

Korak 1: Instalirajte proširenja i ovisnosti

Prije nego što počnemo, ažurirajmo spremišta kako bismo izbjegli sukobe softvera:

Zatim ćemo instalirati Roundcube ovisnosti i konfigurirati PHP. Koristite sljedeću naredbu za instalaciju PHP proširenja i biblioteka:

Prema zadanim postavkama, nekoliko PHP biblioteka je onemogućeno. Moramo omogućiti te biblioteke navigacijom do poslužiteljeve php.ini datoteke koja se nalazi na /etc/php/7.0/apache2/php.ini. Otvorite php.ini datoteku pomoću nano uređivača teksta:

Za razliku od najčešće korištenih opcija komentiranja koje počinju s hashtagom ( #), koristimo točku-zarez ( ;) za komentiranje i odkomentiranje redaka. Dodajte vodeću točku-zarez za komentiranje retka. Slično tome, uklonite točku-zarez za odkomentiranje retka.

Pogledajmo odjeljak koji sadrži komentirane retke koji počinju s extension=. Uklonite točke-zareze kako biste odkomentirali php_mbstring.dll i php_xmlrpc.dll proširenja:

Osim toga, dodajte extension=dom.so na dno bloka proširenja:

  • Izmijenite datoteke:
    • Promijenite date.timezone:

Idite na opciju postavki, navigirajte do date.timezone, i odkomentirajte ga. Zatim dodajte svoju vremensku zonu koristeći navodnike. Pogledajte PHP-ovu stranicu s vremenskim zonama kako biste vidjeli kako formatirana vremenska zona izgleda u php.ini datoteci. Na primjer, ako ste iz Europe, vaša će datoteka izgledati ovako:

    • Izmijenite upload_max_filesize datoteku:

Zatim idite na upload_max_filesize postavku. Prema zadanim postavkama, vidjet ćete maksimalno ograničenje postavljeno na 2 MB. Ovisno o vašim potrebama, možete povećati maksimalnu veličinu datoteke na bilo koju vrijednost. Međutim, većina e-mail poslužitelja ograničava ukupnu veličinu privitka do 10 MB. U ovom vodiču zadržat ćemo maksimalnu veličinu od 13 MB kako bi više korisnika moglo dodavati privitke u isto vrijeme:

    • Izmijenite post_max_size datoteku:

Sada idite na pretraživanje za post_max_size. Za razliku od upload_max_filesize postavke koja se primjenjuje na privitke, post_max_size se primjenjuje na veličinu cijele e-pošte (uključujući privitke). Postavimo našu post_max_size na višu vrijednost kako bismo spriječili zastoje:

    • Postavite func_overload vrijednost:

Na kraju, potražite mbstring.func_overload = 0 i odkomentirajte ga. Također, osigurajte da je njegova vrijednost postavljena na null kako bi podržavao višebajtne funkcije nizova znakova:

Spremite sve izmjene i zatim zatvorite datoteku. Naš poslužitelj je postavljen s LAMP stogom, Roundcubeovim ovisnostima i potrebnom PHP konfiguracijom. U sljedećem koraku preuzet ćemo softver Roundcube, instalirati ga i konfigurirati.

Korak 2: Preuzmite Roundcube

Idite na Roundcubeovu stranicu za preuzimanje, odaberite odjeljak Stabilna verzija i potražite Potpuni paket. Zatim desnom tipkom miša kliknite na gumb Preuzmi i odaberite Kopiraj adresu veze. Koristeći adresu s wget, preuzmite Roundcube tarball na poslužitelj:

Nakon toga, morat ćete dekomprimirati arhivu Roundcube:

Korišteni argumenti mogu zvučati zbunjujuće, osobito ako ste potpuno novi. Ovdje je objašnjenje što svaka zastavica znači:

  • x: Označava ekstrakciju.
  • v: Označava opširnost.
    • Informira tar da ispiše putanju i nazive izdvojenih datoteka.
  • z: Informira tar da ukloni tar omot i dekomprimira arhivu koristeći gzip.
    • Komprimirana gzip datoteka imat će ekstenziju .gz na kraju.
  • f: Označava datoteku.

Izostavite završnu / u direktoriju jer premještamo i preimenujemo cijeli direktorij, a ne samo njegov sadržaj. Sada premjestimo dekomprimirani direktorij u /var/www i preimenujmo ga u roundcube:

Postavite dopuštenja za Apache kako bi mogao stvarati i uređivati konfiguracijske datoteke i datoteke zapisnika. Zatim promijenite vlasnika i grupu u www-data. Također, svakako dopustite prava čitanja i pisanja za vlasnika i grupu:

Iako smo preuzeli Roundcubeov kod i postavili potrebna dopuštenja, naša je instalacija još uvijek nepotpuna. Povezivanje Roundcubea s našom bazom podataka putem Roundcubeovog grafičkog sučelja (GUI) tek treba obaviti. Prije nego što nastavimo dalje, moramo ažurirati Apache i njegovu konfiguraciju kako bismo ga obavijestili o osnovnoj lokaciji Roundcubea.

Korak 3: Postavljanje i konfiguracija Apachea

U ovom koraku uredit ćemo datoteku virtualnog domaćina kako bismo konfigurirali Apache. Koristeći Apache virtualno gostovanje, ugostit ćemo više web-mjesta na jednom poslužitelju. Čak i ako Apache ugošćuje samo jedno web-mjesto, manje je neuredno i jednostavnije koristiti konfiguracijsku datoteku virtualnog domaćina u usporedbi s uređivanjem glavne konfiguracije Apachea. Kako biste dodali dodatni sloj sigurnosti, razmislite o osiguravanju Apachea pomoću Let’s Encrypt.

Svaka .conf datoteka u /etc/apache2/sites-available/ predstavlja drugo web-mjesto. Kreirajmo ovdje datoteku virtualnog domaćina za Roundcube i obavijestimo Apache da je učini dostupnom za preglednik.

Prvo kopirajte zadanu konfiguracijsku datoteku kako biste je koristili kao početnu točku za novu datoteku:

Otvorite datoteku pomoću nano uređivača teksta:

Postoji nekoliko izmjena koje ćemo morati napraviti. Prođimo kroz svaku, a zatim ćemo pružiti cijelu datoteku za kopiranje i lijepljenje.

Prvo promijenite sljedeće direktive u postojećem VirtualBlock domaćinu:

  • ServerName: Obavještava Apache da odabere domenu.
    • Ako koristite jedan poslužitelj, onda će ovaj ServerName biti IP adresa vašeg poslužitelja ili naziv domene.
  • DocumentRoot: Kada promet stigne, usmjerava kamo ga poslati.
    • U našem vodiču slat ćemo promet na Roundcube na /var/www/roundcube.
  • ServerAdmin: Ako se pojavi problem s Apacheom, ServerAdmin navodi kontakt e-adresu.
  • ErrorLog i CustomLog: Definira gdje spremati zapisnike uspješnih veza i zapisnike pogrešaka za ovo web-mjesto.
    • Koristite specifične nazive za definiranje zapisnika pogrešaka kako bi se, ako postoje problemi specifični za web-mjesto, oni otkrili bez napora.

Zatim ćete dodati novi Directory blok koji obavještava Apache što učiniti s direktorijem Roundcube. Blok Directory sastoji se od dvije riječi, pri čemu je prva riječ u svakom retku naziv konfiguracije, nakon čega slijede stvarne konfiguracijske opcije.

  • Options -Indexes: Obavještava Apache da prikaže upozorenje ako pronađe da nedostaje datoteka index.html ili index.php . Prema zadanim postavkama, prikazuje se sadržaj direktorija.
  • AllowOverride All: Obavještava Apache da ako se otkrije lokalna datoteka .htaccess , ona mora nadjačati globalne postavke.
  • Order allow,deny: Nalaže Apacheu da uskladi pristup klijenta web-mjestu i odbije one koji se ne podudaraju.
  • allow from all: Definira vrstu dopuštenih klijenata.

Nakon što napravite ove promjene, vidjet ćete datoteku poput:

Spremite sve promjene i zatvorite datoteku. Sada zatražimo od Apachea da prestane posluživati zadanu stranicu:

Nakon toga ćemo uputiti Apache da umjesto toga počne posluživati Roundcube stranicu. Prilikom omogućavanja stranice, nemojte uključiti .conf  jer a2ensite zahtijeva naziv datoteke bez ekstenzije:

Zatim postavite na UKLJUČENO the mod_rewrite Apache modul:

Na kraju, ponovno pokrenite Apache kako biste omogućili pristup instalaciji Roundcubea:

U posljednjem koraku moramo konfigurirati bazu podataka kako bi Roundcube mogao pohranjivati i upravljati podacima specifičnim za aplikaciju.

Korak 4: Postavljanje i konfiguracija MySQL-a

Pokušajte pristupiti svom poslužitelju pomoću IP adrese ili naziva domene. Vidjet ćete da se na stranici pojavljuje pogreška u konfiguraciji. Ovdje Roundcube provjerava datoteku generiranu tijekom postavljanja konfiguracije, ali naše postavljanje konfiguracije je nepotpuno. Prije nego što postavimo našu konfiguraciju, pripremimo našu bazu podataka.

  1. Povežite se s MySQL-om: Povežimo se s interaktivnom ljuskom MySQL-a pomoću korisničkog imena i lozinke:
    Nakon što pokrenete gornju naredbu, od vas će se tražiti da se autentificirate s root lozinkom koju ste izradili prilikom instalacije MySQL-a.
  2. Izrada baze podataka i korisnika: Sada kada ste uspješno prijavljeni, kreirajmo bazu podataka i korisnika baze podataka. Nakon toga ćemo dopustiti korisnička dopuštenja za izvršavanje naredbi na našoj novoj bazi podataka.
  3. Izradite bazu podataka: Koristite sljedeću naredbu za izradu baze podataka pod nazivom roundcubemail. Zatim navedite opcije baze podataka kao što je skup znakova koji će se koristiti utf8:
    MySQL nudi robusnu sigurnost i naprednu zaštitu. Definira korisnika prema imenu i izvoru veze. Gornja naredba stvara korisnika pod nazivom roundcube i definira korisnika za povezivanje s localhost.
  4. Preimenujte bazu podataka: Preimenujmo korisnika i izmijenimo našu lozinku:
  5. Postavite dopuštenja: Dopustite korisnicima roundcube sva dopuštenja na roundcubemail bazi podataka i tablicama:
    Spremite promjene i izađite iz interaktivne ljuske MySQL-a:

Naš sljedeći korak je postavljanje strukture baze podataka koja pomaže Roundcubeu da spremi sve informacije. Roundcube dolazi s datotekom baze podataka koja automatski postavlja podatke, što bi zahtijevalo naporne napore za ručnu konfiguraciju.

Pomoću sljedeće naredbe, MySQL će koristiti našeg novostvorenog korisnika za čitanje datoteke /var/www/roundcube/SQL/mysql.initial.sql. Također, primijenit će konfiguraciju na bazu podataka roundcubemail:

Sada će se od vas tražiti da unesete lozinku korisnika roundcube. Naše postavljanje baze podataka priprema Roundcube za upotrebu i omogućuje nam provjeru ispravnih dopuštenja. Ako su svi koraci uspješno dovršeni, neće biti povratnih informacija i vratit ćete se na naredbeni redak. U sljedećem koraku reći ćemo Roundcubeu naše postavke e-pošte i dovršiti instalaciju.

Korak 5: Postavljanje i konfiguracija Roundcubea

Ako sada pokušate pristupiti svojoj instalaciji Roundcubea, dobit ćete stranicu s pogreškom. Posjetite http://your_server_ip_or_domain/installer kako biste dovršili instalaciju.

Ako je postavljanje ispravno izvedeno, vidjet ćete zeleni OK desno od svake stavke. Međutim, možda nećete vidjeti zeleni OK u neobaveznim LDAP postavkama u MySQL-u. Ako vidite poruku NIJE DOSTUPNO pored bilo kojeg drugog retka, morate instalirati ove nedostupne ovisnosti. Ako ste propustili preuzeti bilo koju od ovisnosti, možete otići na URL i odmah je preuzeti.

Nakon što je postavljanje završeno, pomaknite se prema dolje i kliknite gumb DALJE. Prođimo kroz generiranje Roundcube konfiguracijske datoteke. Pogledajte dijelove obrasca koje moramo izmijeniti.

  • Opća konfiguracija

Postoji nekoliko prilagodbi i neke opće postavke koje ćemo izmijeniti u odjeljku Opća konfiguracija:

  • ip_check: To je sigurnosna konfiguracijska opcija i provjerava IP adresu klijenta u autorizaciji sesije.
  • product_name: Preimenujte naziv proizvoda kako želite. Ovaj naziv mapira „Roundcube” u tekstu i zamjenjuje se ovim nazivom.
  • support_url: Podrška u instalaciji Roundcubea. Ako nemate namjensku stranicu za podršku, radije koristite e-adresu poput walker:paul@demo.com.
  • skin_logo: Zamijenite Roundcube logotip s skin_logo. Da biste omogućili HTTPS, odaberite HTTPS URL sliku (178px sa 47px).

Ostavite ostale postavke na njihovim zadanim vrijednostima.

  1. Zapisivanje & otklanjanje pogrešaka: Idemo sa zadanim opcijama.
  2. Postavljanje baze podataka: Umjesto izravnog korištenja vaše pošte, Roundcube koristi MySQL za pohranu informacija za pokretanje web klijenta. Ovdje moramo obavijestiti Roundcube da pristupi bazi podataka koju smo postavili u Koraku 4. Koristite vjerodajnice baze podataka koje smo prethodno izradili:
    • Baza podataka: MySQL
    • Poslužitelj: localhost
    • Naziv baze podataka: roundcubemail
    • Korisnik: roundcube
    • Lozinka: demo12345@
      • Koristite lozinku koju ste definirali, a koju smo postavili u Koraku 4.
    • Db_prefix: Ovo je neobavezno, osim ako ne koristite zajedničku bazu podataka s drugim aplikacijama.
  3. Izmjena IMAP-a: Postavimo IMAP i SMTP postavke za vaš poslužitelj e-pošte. Budući da se ovaj vodič fokusira na korištenje Gmaila kao primjera, koristit ćemo Gmail postavke u našim IMAP postavkama. Međutim, ako se odlučite za druge pružatelje usluga poput Yahooa ili Outlooka, morate koristiti njihove odgovarajuće postavke. Mnogi pružatelji usluga e-pošte podržavaju veze sa ili bez enkripcije. Uobičajeno koristite SSL IMAP/SMTP URL-ove i priključke kako biste izbjegli korištenje nesigurnih veza.
    • default_host: ssl://imap.gmail.com
    • default_port: 993
    • auto_create_user: Da
      • Ako ovo nije označeno, Roundcube neće stvoriti korisnika u vlastitoj bazi podataka i spriječit će vas da se prijavite.
    • Polja *_mbox: Zadržite zadane vrijednosti.
      • Ovo možete ažurirati kasnije u Roundcube sučelju.
  4. Izmjena SMTP-a: SMTP poslužitelj je sastavni dio e-pošte koji se koristi za slanje e-poruka. Slično odjeljku IMAP poslužitelja, koristit ćemo SSL URL i priključak. Ako nemate iskustva s korištenjem SMTP poslužitelja, slijedite najbolje prakse za SMTP kako biste saznali više o ovim vrstama poslužitelja. Ovdje koristimo Gmail kao naš primjer:
    • polje smtp_server: ssl://smtp.gmail.com
    • polje smtp_port: 465
    • SMTP i IMAP su dvije različite usluge, stoga obje trebaju korisničko ime i lozinku. Međutim, Roundcube nam omogućuje korištenje IMAP vjerodajnica, pa ih nema potrebe ponovno stvarati. Ostavite polja pod smtp_user/smtp_pass praznima i označite okvir pored Koristi trenutno IMAP korisničko ime i lozinku za SMTP autentifikaciju.
    • smtp_log: Da
  5. Izmjena postavki prikaza & korisničkih postavki: Idemo sa zadanim postavkama prikaza i korisničkim postavkama. Ako odlučite prilagoditi svoju instalaciju Roundcubea, kliknite vezu RFC1766 na stranici s konfiguracijom i ručno ažurirajte polje language ručno.
  6. Dodaci: Roundcube nudi podršku za dodatke koja pruža dodatnu sigurnost. Dodaci su neobavezni, međutim, možete ih iskoristiti kako biste si olakšali rad. Pogledajmo popis najčešće korištenih dodataka:
    • archive: Ovaj dodatak pruža gumb Arhiviraj koji radi slično kao u Gmailu.
    • emoticons: Ovo omogućuje korištenje emotikona u e-porukama.
    • enigma: Olakšava korištenje GPG enkripcije e-pošte.
    • filesystem_attachments: Omogućuje privremeno spremanje privitaka na Roundcube poslužitelj prilikom spremanja skice e-pošte.
    • hide_blockquote: Ovaj dodatak skriva citirani dio odgovorenih e-poruka kako bi sučelje ostalo uredno.
    • identity_select: Omogućuje korisniku odabir više adresa e-pošte prilikom sastavljanja e-pošte.
    • markasjunk: Ovaj dodatak omogućuje označavanje e-pošte kao neželjene i njezino premještanje u mapu Neželjena pošta.
    • newmail_notifier: Obavještava vas o novim e-porukama pomoću sustava obavijesti preglednika.

Kliknite na UPDATE CONFIG gumb kako biste spremili svoje postavke. U posljednjem koraku testirat ćemo konfiguraciju Roundcubea kako bismo se uvjerili da sve radi kako treba.

Korak 6: Testiranje postavljanja Roundcubea

Nakon što ažurirate konfiguraciju, stranica će se osvježiti i na vrhu stranice pojavit će se žuti okvir s informacijama u kojem piše da The config file was saved successfully into the RCMAIL_CONFIG_DIR direktorij vaše Roundcube instalacije.

Zatim kliknite na CONTINUE gumb kako biste testirali svoju konfiguraciju. Slično kao i na stranici za provjeru ovisnosti, vidjet ćete zelenu oznaku OK na svakom retku, pod uvjetom da nema pogrešaka. Ako vidite bilo kakve pogreške, vratite se i ponovno provjerite svoje unose.

Unesite svoje IMAP i SMTP korisničko ime i lozinku u odjeljke Test SMTP config i Test IMAP config kako biste testirali ostatak konfiguracije. Slično tome, kliknite na Send test email i Check login. Ako ste ispravno slijedili sve korake, stranica će se osvježiti i vidjet ćete zeleno OK ispod testiranog odjeljka.

Napomena: Ako koristite Gmail s omogućenom dvostupanjskom autentifikacijom, razmislite o generiranju lozinke specifične za aplikaciju jer Roundcube ne zna kako zatražiti vaš token za dvostupanjsku autentifikaciju. Slijedite isti postupak generiranja lozinke kada koristite druge alternative poslužitelja e-pošte poput Yahooa ili Outlooka.

Nakon što potvrdite da i SMTP i IMAP veze rade dobro, sljedeći korak je uklanjanje instalacijskog direktorija pomoću SSH. Uklanjanje instalacijskog direktorija siguran je način da spriječite druge u generiranju nove konfiguracije i prepisivanju ispravnih postavki:

Na kraju, možete otići na Roundcube instancu koristeći IP adresu svog poslužitelja i provjeriti svoju e-poštu.

Zaključak

U ovom smo vodiču naučili kako instalirati webmail klijent koristeći Roundcube na Ubuntu 20.04. Uz gore navedene korake, postoje i druge sigurnosne opcije poput HTTPS podrške i GPG enkripcije koje biste trebali razmotriti. Preuzmite odgovornost za zaštitu svojih poslužitelja koristeći robusne sigurnosne mjere.

Nadalje, postoji mnogo drugih materijala za učenje o Redis-u i PHP-u kojima možete pristupiti s naših blogova:

Sretno računanje!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev je kreativni dizajner u CloudSigma, usredotočen na dosljedan poslovni identitet korištenjem tradicionalnih i inovativnih marketinških kanala. Vješt je u spajanju umjetničke vizije sa strateškim marketingom kako bi stvorio dojmljive brendirane priče.

Komentari

Još nema komentara. Budite prvi.