Először is készítsünk ennek a webes alkalmazásnak is egy külön felhasználót a Debian rendszerben:
useradd -b /srv/web/www/ -g www-data -m -N -s /bin/false webmail.comega7.local passwd webmail.comega7.local rm /srv/web/www/webmail.comega7.local/.*
A weboldal konfigurációs fájlja, a /etc/apache2/sites-available/webmail.comega7.local.conf a következő legyen:
<VirtualHost *:443> ServerName webmail.comega7.local ServerAdmin webmaster@comega7.local DocumentRoot /srv/web/www/webmail.comega7.local/ <Directory "/srv/web/www/webmail.comega7.local"> Options +SymLinksIfOwnerMatch AllowOverride AuthConfig FileInfo Indexes Limit Options=Indexes,MultiViews Require all granted </Directory> <FilesMatch \.php$> SetHandler "proxy:unix:/var/run/webmail.comega7.local.php5-fpm.sock|fcgi://localhost" </FilesMatch> SSLEngine On SSLCertificateFile /etc/apache2/cert/webmail.comega7.local.crt SSLCertificateKeyFile /etc/apache2/cert/webmail.comega7.local.key ErrorLog /var/log/webmail.comega7.local.error.log CustomLog /var/log/webmail.comega7.local.access.log combined </VirtualHost>
Engedélyezzük az új oldalt:
a2ensite webmail.comega7.local
Készítsünk tanúsítványt is az új weboldalnak:
mkdir /etc/apache2/cert cd /etc/apache2/cert openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout webmail.comega7.local.key -out webmail.comega7.local.crt
A válaszok ismét:
Country Name: HU State or Province Name: Pest Locality Name: Budapest Organization Name: Comega7 Organizational Unit Name: IT Common Name: webmail.comega7.local Email Address: bolemanyi.attila@comega7.local
Itt ismét figyelj arra, hogy a Common Name után a weboldal címét írd be, ahogyan az megjelenik a böngésző címsorában. Indítsuk újra az Apache szervert:
service apache2 restart
Készítsük el az oldal PHP konfigurációs fájlját is - /etc/php5/fpm/pool.d/webmail.comega7.local.conf - az alábbi tartalommal:
[webmail.comega7.local] user = webmail.comega7.local group = www-data listen = /var/run/webmail.comega7.local.php5-fpm.sock listen.owner = webmail.comega7.local listen.group = www-data listen.mode = 0660 pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3 php_flag[display_errors] = off php_admin_value[error_log] = /var/log/webmail.comega7.local.fpm-php.log php_admin_flag[log_errors] = on php_admin_value[memory_limit] = 128M
Indítsuk újra a PHP-FPM szolgáltatást:
service php5-fpm restart
Töltsük le a Roundcube webes levelezőprogramot és tegyük a helyére:
cd /tmp wget --no-check-certificate https://downloads.sourceforge.net/project/roundcubemail/roundcubemail/1.1.1/roundcubemail-1.1.1-complete.tar.gz tar -xvzf roundcubemail-1.1.1-complete.tar.gz cd roundcubemail-1.1.1 cp -a /tmp/roundcubemail-1.1.1/. /srv/web/www/webmail.comega7.local chown -R webmail.comega7.local:www-data /srv/web/www/webmail.comega7.local
A Roundcube szintén igényel egy MySQL adatbázist, készítsük el:
mysql -u root -p CREATE DATABASE roundcube CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT ALL ON roundcube.* TO roundcube@localhost IDENTIFIED BY 'Pa$$w0rd'; FLUSH PRIVILEGES; exit
Készítsük el az adatbázis tábláit:
cd /srv/web/www/webmail.comega7.local mysql -D roundcube -u roundcube -p <./SQL/mysql.initial.sql
A Roundcube újabb PHP kiegészítőket igényel:
aptitude install php5-mcrypt php5-intl
A /etc/php5/fpm/php.ini fájlban állítsuk be az időzónát (keress rá és vedd ki a kommentet, majd egészítsd ki):
date.timezone = Europe/Budapest
A böngészőben látogasd meg a https://webmail.comega7.local/installer oldalt. Ehhez ki kell egészíteni Linux alatt a /etc/hosts fájlt, Windows alatt pedig a C:\Windows\System32\driver\etc\hosts fájlt (az első sor már benne van):
192.168.100.200 postfixadmin.comega7.local 192.168.100.200 webmail.comega7.local
Az első oldalon a konfiguráció ellenőrzése történik meg (Check environment). Az LDAP és a MySQL-en kívüli komponensek nem elérhetőek (NOT AVAILABLE), de a többinek zöld OK állapotban kell lennie. Ha rendben van, jöhet a lap alján a NEXT gomb.
A második oldalon csak a legfontosabb mezőket töltjük most ki, tulajdonképpen csak a Database setup csoport mezőit, ahol meg kell adni:
- az adatbázis típusát (MySQL),
- a kiszolgáló nevét (localhost),
- az adatbázis nevét (roundcube),
- felhasználóját (roundcube)
- és a jelszót (Pa$$w0rd).
A lap alján kattints a CREATE CONFIG gombra. Egyelőre semmit sem tesztelünk, jöhet a CONTINUE gomb. A Roundcube program Config nevű mappájában elkészült egy config.inc.php nevű fájl, amely csak a Roundcube adatbázisához tartozó beállításokat tartalmazza. Egészítsük ki a fájlt az alábbi tartalom szerint:
<?php $config['db_dsnw'] = 'mysql://roundcube:Pa%24%24w0rd@localhost/roundcube'; $config['default_host'] = 'ssl://localhost'; $config['default_port'] = 993; $config['imap_conn_options'] = array ( 'ssl' => array ( 'verify_peer' => true, 'verify_peer_name' => false, 'allow_self_signed' => true, ), ); $config['smtp_server'] = 'tls://localhost'; $config['smtp_port'] = 587; $config['smtp_user'] = '%u'; $config['smtp_pass'] = '%p'; $config['smtp_timeout'] = 10; $config['smtp_conn_options'] = array ( 'ssl' => array ( 'verify_peer' => true, 'verify_peer_name' => false, 'allow_self_signed' => true, ), ); $config['support_url'] = ''; $config['plugins'] = array(); $config['language'] = 'hu_HU'; $config['create_default_folders'] = false; $config['login_autocomplete'] = 2; $config['des_key'] = 'EYM+mLQ!4nP&sI5%ZpDisCgC'; $config['log_logins'] = true; $config['product_name'] = 'Comega7 - Webmail'; $config['preview_pane'] = true;
A fájlban található 'des_key' értéke a Te telepítésedben ne az legyen, mint ami itt szerepel, hanem amit a telepítés közben kapsz a programtól! Az is látható, hogy az IMAP kapcsolódás titkosított csatornán történik (SSL) a 993-as porton keresztül, illetve a levélküldés szintén titkosítva történik (TLS) az 587-es porton keresztül.
A Roundcube mappájából töröld ki az Installer nevű almappát. A Roundcube konfigurációs paraméterei a Config mappa defaults.inc.php fájljában találhatóak. Amelyik paraméter szerepel a config.inc.php fájlban, ott az lesz érvényben, amelyik nem szerepel, annak az értéke a defaults.inc.php fájlból kerül beolvasásra. Ez utóbbi fájl alaposan el van látva magyarázatokkal, így mindenképpen csak ajánlani tudom az áttanulmányozását. Amelyik paraméterét meg akarod változtatni, azt a config.inc.php fájlban tedd meg.
Eljött az idő, hogy meglátogasd a https://webmail.comega7.local oldalt, és bejelentkezz az előző oldalon létrehozott teszt felhasználóval. A jobb felső sarokban találod a Beállítások menüpontot. Jó felfedezést! :-)