• email
  • facebook
  • linkedin
  • google+
  • pinteres

Webmail illesztése

Ez a leírás elavult, újabb változata megtalálható ezen a linken, amely Ubuntu 12.04-es telepítést mutat be.

Az alábbiakban két webes levelező felület illesztésének részleteit írom le. Azért kettő, mert az egyik (Squirrelmail) jól bevált, régi alkalmazás, sok felhasználó esetén ez ajánlott, a másik meg (Roundcubemail) egy új ajaxos levelező, amit érdemes kipróbálni.

1.   Squirrelmail

Csomagok:

  • squirrelmail
  • squirrelmail-locales

Konfigurálás:

A squirrelmail-configure paranccsal elindíthatjuk a kunfiguráló szkriptet, ami a (ha minden igaz) az /etc/squirrelmail/config.php fájl szerkesztése helyett használható.

Beállítjuk IMAP-nak a dovecot-ot: d -> dovecot

A Dompie témát tesszük alapértelmezetté: 5 -> 1 -> m 18 -- épp a 18-as volt a Dompie, a l listázza a témákat, ott ellenőrizheted.

Alapértelmezetté tesszük a magyar nyelvet: 10 -> Default Language: hu_HU; Default Charset: iso-8859-2

A sendmail paranccsal küldünk levelet, nem SMTP-n keresztül: 2 -> 3 -> 1

A /etc/postfix/main.cf fájlba felvesszük:

inet_interfaces = $myhostname.$mydomain, localhost

Következik az apache beállítása a /etc/squirrelmail/apache.conf alapján (csak a fontosabb beállításokat tüntetem fel):

<VirtualHost *>

  ....
  ....
  DocumentRoot /usr/share/squirrelmail

  <Directory /usr/share/squirrelmail>
    php_flag register_globals off
    Options Indexes FollowSymLinks
    <IfModule mod_dir.c>
      DirectoryIndex index.php
    </IfModule>

    # access to configtest is limited by default to prevent information leak
    <Files configtest.php>
      order deny,allow
      deny from all
      allow from 127.0.0.1
    </Files>
  </Directory>

</VirtualHost>

Ha HTTPS-en szereténk futtatni, akkor még készítsük el és telepítsük a tanúsítványt a már ismert módon.

2.   Roundcubemail

Telepítés:

$ cd /tmp
$ wget http://switch.dl.sourceforge.net/sourceforge/roundcubemail/roundcubemail-0.1beta2.tar.gz
$ tar xzvf roundcubemail-0.1beta2.tar.gz
$ mv roundcubemail-0.1beta2 /usr/local/roundcubemail/

$ wget http://ovh.dl.sourceforge.net/sourceforge/roundcubemail/roundcube_hungarian-0.1-beta2.tar.gz
$ tar xzvf roundcube_hungarian-0.1-beta2.tar.gz
$ mv hu /usr/local/roundcubemail/program/localization/

$ chown -R www-data:www-data /usr/local/roundcubemail/temp /usr/local/roundcubemail/logs/
$ cd /usr/local/roundcubemail/logs/config/
$ cp db.inc.php.dist db.inc.php
$ cp main.inc.php.dist main.inc.php

A db.inc.php fájl-ban beállítjuk az adatbázis elérését:

$rcmail_config['db_dsnw'] = 'pgsql://*RCDBUSER*:*RCDBPASS*@localhost/roundcubemail';

A main.inc.php fájlban pedig pár egyéb dolgot:

$rcmail_config['auto_create_user'] = TRUE;
$rcmail_config['default_host'] = 'localhost';
$rcmail_config['smtp_server'] = 'localhost';
$rcmail_config['smtp_user'] = '*RCMAILUSER*';
$rcmail_config['smtp_pass'] = '*RCMAILPASS';
$rcmail_config['locale_string'] = 'hu';
$rcmail_config['date_long'] = 'Y.m.d. H:i';
$rcmail_config['enable_spellcheck'] = FALSE;
$rcmail_config['message_sort_order'] = 'ASC';

Kivettem ugyaninnen a Junk foldert is, nekem nem kellett:

//$rcmail_config['junk_mbox'] = 'Junk';
//$rcmail_config['default_imap_folders'] = array('INBOX', 'Drafts', 'Sent', 'Junk', 'Trash');
$rcmail_config['default_imap_folders'] = array('INBOX', 'Drafts', 'Sent', 'Trash');

A /etc/postgresql/8.1/main/pg_hba.conf beállítjuk az adatbázis elerését (utána persze reload). A lokális elérés ismét azért kell, hogy az inicializáló szkriptet le tudjuk futtatni. Ezt a bejegyzést a következő lépés után már törölhetjük is.

host   roundcubemail   *RCDBUSER*        127.0.0.1/32           md5
local  roundcubemail   *RCDBUSER*                               md5

Az adatbázis létrehozása:

$ psql mail postgres

CREATE USER *RCDBUSER* WITH PASSWORD '*RCDBPASS*';
CREATE DATABASE roundcubemail OWNER *RCDBUSER*;

INSERT INTO users (email, maildir, password) VALUES ('*RCMAILUSER*', '*RCMAILUSER*', crypt('*RCMAILPASS*', gen_salt('des')));
INSERT INTO aliases (email, destination) VALUES ('*RCMAILUSER*', 'root@nir.hu');

\q

cd /usr/local/roundcubemail/SQL
psql -U roundcube -d roundcubemail -f postgres.initial.sql

A insertek azért kellettek, mert a roundcube SMTP-n küld levelet, és ezzel a beszúrással létrehoztunk egy usert, akinek a nevében majd SMTP-zhet a levelező. A második insert egy alias a user nevére, csak hogy ne legyen ez sem elvarratlan.

Az apache beállítása nagyjából ugyanúgy történik, mint a Squirrelmailnél, ezekkel a módosításokkal:

DocumentRoot /usr/local/roundcubemail

<Directory /usr/local/roundcubemail>
  AuthType Basic
  AuthName "NiR webmail"
  AuthUserFile /data/nirhttps/.htpasswd_general
  AuthGroupFile /data/nirhttps/.htpasswd_general_group
  Require group webmail
  Options FollowSymLinks Indexes
  AllowOverride None
  Order allow,deny
  Allow from all
  <IfModule mod_php4.c>
    php_flag magic_quotes_gpc Off
    php_flag track_vars On
  </IfModule>
</Directory>

A befejező részben a készítünk egy kis webes felületet Rubyban a rendszert kiszolgáló mail adatbázishoz.