Skip to main content
Suchen / Fortgeschritten
14.04.2013 02:26
Jakub Walczak
Tags: serwer
Tak jak pisałem ostatnio instalacja tego rozszerzenia jest prosta. Konfiguracja też. Wystarczy skopiować domyślny plik konfiguracyjny:
cd /usr/share/roundcubemail/plugins/managesieve cp config.inc.php.dist config.inc.php
Zmienić w pliku /usr/share/roundcubemail/plugins/managesieve/config.inc.php port z 2000 na 4190. U mnie wygląda to tak:
$rcmail_config['managesieve_port'] = 4190;
To oczywiście ma związek z plikiem /etc/cyrus.conf w którym mam wpis:
SERVICES { (...) sieve cmd="timsieved" listen="sieve" prefork=0
jeżeli jest wykomentowany to trzeba włączyć.
Wejście w konfigurację filtrów powoduje założenie domyślnego zbioru filtrów o nazwie managesieve oraz link do niego defaultbc i tym samym rozwiązuje problem wpisów w logu typu
lmtpunix[1000]: IOERROR: fstating sieve script /var/lib/imap/sieve/u/user/defaultbc: No such file or directory
ale tylko dla tego konkretnego użytkownika. Jest to łatwiejsze niż posługiwanie się poleceniem interfejsem znakowym sieveshell.
Add comment
16.10.2013 23:38
Tags: serwer , poczta
Wcześniej opisałem jak się pozbyć komunikatu
za pomocą RoundCubeMail z odpowiednią wtyczką. Jednak to rozwiązanie jest dla pojedynczych użytkowników. Rozwiązanie globalne jest następujące.
Trzeba przygotować zwykły plik tekstowy z zawartością np.:
/* empty script */
ważne, żeby był poprawnym skryptem Sieve. Niech się nazywa pusty.sieve. Następnie uruchamiamy konsolę, tu z domyślnym użytkownikiem cyrus:
sieveshell -u cyrus -a cyrus localhost
i wydajemy polecenie załadowania skryptu na serwer oraz ustawiamy go aktywnym:
> put pusty.sieve globalny > activate globalny
dla pewności można to sprawdzić:
> list globalny <- active script
teraz można już wyjść z powłoki (poleceniem quit).
Wykonane zmiany widać również w systemie plikowym:
# ls -l /var/lib/imap/sieve/global/ total 8 lrwxrwxrwx 1 cyrus mail 11 Apr 14 2013 defaultbc -> globalny.bc -rw------- 1 cyrus mail 20 Apr 14 2013 globalny.bc -rw------- 1 cyrus mail 18 Apr 14 2013 globalny.script
Oczywiście nic nie stoi na przeszkodzie, żeby globalny plik nie był pusty, tylko wykonywał jakąś akcję.
Trzeba także zapewnić wpis w /etc/cyrus.conf w sekcji SERVICES wyglądający jakoś tak:
sieve cmd="timsieved" listen="sieve" prefork=0
czy działa najłatwiej sprawdzić sprawdzając czy cyrus-master słucha na porcie 4190:
# netstat -ntlp | grep 4190 tcp 0 0 0.0.0.0:4190 0.0.0.0:* LISTEN 1443/cyrus-master
jak widać u mnie słucha.
02.04.2013 21:52
W CentOS z EPEL (u mnie epel-release-6-8) instalacja jest prosta:
yum install roundcubemail
i już.
Teraz trzeba przygotować bazę. Tu nie ma filozofii tak jak każe plik INSTALL. Zmieniłem nazwę bazy i użytkownika: rcm, to skrót od RoundCubeMail:
create database rcm character set utf8; create user 'rcmuser'@'localhost' identified by 'tajnehaslo'; grant all privileges on rcm.* to 'rcmuser'@'localhost';
Jak widać hasło jest tajne ;-) Teraz trzeba te same nazwy ustawić w pliku:
/etc/roundcubemail/db.inc.php
w linii
$rcmail_config['db_dsnw'] = 'mysql://rcmuser:tajnehaslo@localhost/rcm';
a następnie zainicjować bazę poleceniem
mysql -u rcmuser -p rcm < /usr/share/doc/roundcubemail-0.8.5/SQL/mysql.initial.sql
wystarczy podać hasło i chwilę poczekać.
Dodatkowo w pliku
/etc/httpd/conf.d/roundcubemail.conf
trzeba dodać uprawnienia dla własnego komputera (jeżeli nie instalujemy lokalnie). W oryginale było:
Alias /roundcubemail /usr/share/roundcubemail <Directory /usr/share/roundcubemail/> <IfModule mod_authz_core.c> # Apache 2.4 Require local </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from all Allow from 127.0.0.1 Allow from ::1 </IfModule> </Directory>
ja zmieniłem na:
Alias /roundcubemail /usr/share/roundcubemail <Directory /usr/share/roundcubemail/> <IfModule mod_authz_core.c> # Apache 2.4 Require local </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from all Allow from 127.0.0.1 Allow from 1.2.3.4 Allow from ::1 </IfModule> </Directory>
gdzie 1.2.3.4 to zewnętrzny adres IP z którego konfigurowałem zdalnie serwer.
Teraz już można się zalogować na serwer (gdy IP jest 4.3.2.1):
http://4.3.2.1/roundcubemail/
i używać podając wszystkie dane konta. W teorii za pomocą tak postawionego serwera można sprawdzać pocztę na dowolnym innym.
W przypadku CentOS 6.4 można zamiast wiadomości dostać komunikat: Service Unavailable Error 500, a w pliku logu
tail /var/log/roundcubemail/errors
miałem:
PHP Error: Could not perform encryption; make sure Mcrypt is installed or lib/des.inc is available in /usr/share/roundcubemail/program/include/rcmail.php on line 1474 (POST /roundcubemail/?_task=login&_action=login)
rozwiązaniem jest zamiana w pliku
/etc/php.d/mcrypt.ini
lini
extension=module.so
na
extension=mcrypt.so
i restart serwera.
Ponieważ RoundCubeMail ma aspiracje bycia aplikacją, więc trzeba podać również nazwę serwera. Tutaj zakładam, że serwer powinien być jeden (co najwyżej kilka do wyboru z listy), bo po co obcy ludzie mają mi zapychać łącze.
Podstawową modyfikacją jest ustawienie wartości $rcmail_config['default_host'] na coś sensownego. Ja mam:
$rcmail_config['default_host']='ssl://localhost:993';
oczywiście przy połączeniu lokalnym można nie używać szyfrowania, ale to następnym razem...
14.03.2015 13:52
Tags: server , e-mail
If you want be able to download all attachments at once you have to explicitly enable zipdownload plugin in config.inc.php file:
$config['plugins'] = array( ... , 'zipdownload' ... );
so simple...
10.04.2013 23:12
W poprzednim odcinku pisałem jak zainstalować roundcube z paczki. Teraz opiszę instalację rozszerzeń, tzw. plugin'ów.
Zakładam, że czytający ma przynajmniej podstawową wiedzę z zakresu programowania obiektowego, biegłą znajomość SQL z obsługą triggerów w szczególności oraz potrafi policzyć transkonduktancję czwórnika.
No to do dzieła. Otwieramy w ulubionym edytorze (oczywiście vi) plik /etc/roundcubemail/main.inc.php i poprawiamy linię
$rcmail_config['plugins'] = array();
na np. taką:
$rcmail_config['plugins'] = array('managesieve', 'markasjunk');
właśnie włączyliśmy dwie nowe funkcje: zarządzanie skryptami sieve i przenoszenie wiadomości do katalogu Spam jednym przyciskiem.
W standardowej instalacji RoundCubeMail jest dostarczony z następującymi rozszerzeniami:
acl additional_message_headers archive autologon database_attachments debug_logger emoticons enigma example_addressbook filesystem_attachments help hide_blockquote http_authentication jqueryui managesieve markasjunk newmail_notifier new_user_dialog new_user_identity password redundant_attachments show_additional_headers squirrelmail_usercopy subscriptions_option userinfo vcard_attachments virtuser_file virtuser_query
więcej o nich można przeczytać na specjalnej stronie.