Go Back   HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials > ISPConfig 3 > Installation/Configuration

Do you like HowtoForge? Please consider supporting us by becoming a subscriber.
Reply
 
Thread Tools Display Modes
  #1  
Old 31st August 2011, 09:40
osterhase osterhase is offline
Member
 
Join Date: Jul 2011
Location: Germany
Posts: 61
Thanks: 6
Thanked 7 Times in 5 Posts
Default Extend require line for dovecot.sieve-files

[Moved from here]

Hi there!

Maybe someone can give me a hand here: Due to the fact that the sieverules-plugin of roundcube allows more complex filtering solutions than ISPConfig we found the require-line which is written by ispconfig insufficient:

Code:
require ["fileinto", "regex", "vacation"];
Because some of our users are utilizing the copy-function for instance the require line would read:

Code:
require ["fileinto","regex","vacation","copy"];
As far as I'm concerned the require line is written statically to the dovecot.sieve-file. In which file is this directive defined so we can simply add more sieve-filter-features?

Best regards
Reply With Quote
Sponsored Links
  #2  
Old 31st August 2011, 10:08
till till is offline
Super Moderator
 
Join Date: Apr 2005
Location: Lüneburg, Germany
Posts: 35,461
Thanks: 813
Thanked 5,240 Times in 4,108 Posts
Default

All config file templates are in the directory /usr/local/ispconfig/server/conf/. Store your modified copy of the file in the conf-custom directory, so that it does not get overwritten on updates.
__________________
Till Brehm
--
Get ISPConfig support and the ISPConfig 3 manual from ispconfig.org.
Reply With Quote
  #3  
Old 31st August 2011, 10:12
osterhase osterhase is offline
Member
 
Join Date: Jul 2011
Location: Germany
Posts: 61
Thanks: 6
Thanked 7 Times in 5 Posts
Default

Thanks for the quick reply and the answer - learned a bit more about ISPConfig today. ;-)
Reply With Quote
  #4  
Old 31st August 2011, 11:20
CSsab CSsab is offline
Senior Member
 
Join Date: Apr 2010
Posts: 174
Thanks: 19
Thanked 32 Times in 27 Posts
Default Dovecot v.2 working.

Hi,

My reason for posting this here is because the next thing I intend to try out is the work you have been doing on roundcube sieve.

I am trying out Dovecot v.2 with a managesieve daemon at the moment. In the testing distribution the managesieve protocol has been changed to a service.


Many BIG thanks to xabbu:
http://www.howtoforge.com/forums/showthread.php?t=53656

This is my dovecot.conf currently:

##
## SSL settings
##

ssl = yes
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem

auth_mechanisms = plain login
disable_plaintext_auth = no
first_valid_gid = 5000
first_valid_uid = 5000
last_valid_gid = 5000
last_valid_uid = 5000
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:/var/vmail/%d/%n/Maildir
passdb {
driver = pam
}
passdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
}
plugin {
quota = maildir
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
}
protocols = imap pop3
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
unix_listener auth-master {
mode = 0600
user = vmail
}
user = root
}
service imap {
executable = /usr/lib/dovecot/rawlog /usr/lib/dovecot/imap
}
service pop3 {
executable = /usr/lib/dovecot/rawlog /usr/lib/dovecot/pop3
}
userdb {
driver = passwd
}
userdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
}
protocol imap {
# mail_plugin_dir = /usr/lib64/dovecot/modules/lib11_imap_quota_plugin.so
mail_plugin_dir = /usr/lib64/dovecot/modules
mail_plugins = quota imap_quota
}
protocol pop3 {
# mail_plugin_dir = /usr/lib64/dovecot/modules/pop3
mail_plugin_dir = /usr/lib64/dovecot/modules
mail_plugins = quota
pop3_uidl_format = %08Xu%08Xv
}
protocol lda {
auth_socket_path = /var/run/dovecot/auth-master
mail_plugin_dir = /usr/lib64/dovecot/modules
mail_plugins = sieve quota
postmaster_address = postmaster@example.com
}


You will note that I am using SSL but it's fine to use
ssl = no instead.

This is the SQL file from dovecot-sql.conf (uncommented):

driver = mysql
connect = host=localhost dbname=xxxxxx user=ispconfig password=xxxxxxxxxxxxxxxx
default_pass_scheme = CRYPT
password_query = SELECT password FROM mail_user WHERE email = '%u' AND disable%Ls = 'n'
user_query = SELECT email as user, maildir as home, CONCAT(maildir, '/Maildir') as mail, uid, gid, concat('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE email = '%u' AND disable%Ls = 'n'

MTA is up and running and ISPConfig is not reporting any problems except with local delivery which I am working on now.
I edited /usr/local/ispconfig/interface/web/mail/mail_user_edit.php and replaced all references to disabledeliver with disablelda and changed the table in the mysql database like xabbu said but I am not sure if I translated from German correctly!


These are the sieve specific settings in Dovecot v.2

##
## Settings for the Sieve interpreter
##

# Do not forget to enable the Sieve plugin in 15-lda.conf and 20-lmtp.conf
# by adding it to the respective mail_plugins= settings.

plugin {
# The path to the user's main active script.
sieve = ~/.dovecot.sieve

# A path to a global sieve script file, which gets executed ONLY
# if user's private Sieve script doesn't exist. Be sure to
# pre-compile this script manually using the sievec command line
# tool.
#sieve_global_path = /var/lib/dovecot/sieve/default.sieve

# Directory for ersonal include scripts for the include extension.
sieve_dir = ~/sieve

# Directory for :global include scripts for the include extension.
#sieve_global_dir =

# Which Sieve language extensions are available to users. By default,
# all supported extensions are available, except for deprecated
# extensions or those that are still under development. Some system
# administrators may want to disable certain Sieve extensions or
# enable those that are not available by default. This setting can
# use '+' and '-' to specify differences relative to the default.
# For example `sieve_extensions = +imapflags' will enable the
# deprecated imapflags extension in addition to all extensions
# enabled by default.
#sieve_extensions = +notify +imapflags

# The separator that is expected between the :user and :detail
# address parts introduced by the subaddress extension. This may
# also be a sequence of characters (e.g. '--'). The current
# implementation looks for the separator from the left of the
# localpart and uses the first one encountered. The :user part is
# left of the separator and the :detail part is right. This setting
# is also used by Dovecot's LMTP service.
#recipient_delimiter = +

# The maximum size of a Sieve script. The compiler will refuse to
# compile any script larger than this limit.
#sieve_max_script_size = 1M

# The maximum number of actions that can be performed during a single
# script execution.
#sieve_max_actions = 32

# The maximum number of redirect actions that can be performed during
# a single script execution.
#sieve_max_redirects = 4

# The maximum number of personal Sieve scripts a single user can have.
# (Currently only relevant for ManageSieve)
#sieve_quota_max_scripts = 0

# The maximum amount of disk storage a single user's scripts may occupy.
# (Currently only relevant for ManageSieve)
#sieve_quota_max_storage = 0
}


These are the managesieve specific settings in Dovecot v.2

##
## ManageSieve specific settings
##

# Service definitions

service managesieve-login {
#inet_listener sieve {
# port = 4190
#}

#inet_listener sieve_deprecated {
# port = 2000
#}

# Number of connections to handle before starting a new process. Typically
# the only useful values are 0 (unlimited) or 1. 1 is more secure, but 0
# is faster. <doc/wiki/LoginProcess.txt>
#service_count = 1

# Number of processes to always keep waiting for more connections.
#process_min_avail = 0

# If you set service_count=0, you probably need to grow this.
#vsz_limit = 64M
}

service managesieve {
# Max. number of ManageSieve processes (connections)
#process_count = 1024
}

# Service configuration

protocol sieve {
# Maximum ManageSieve command line length in bytes. ManageSieve usually does
# not involve overly long command lines, so this setting will not normally need
# adjustment
#managesieve_max_line_length = 65536

# Maximum number of ManageSieve connections allowed for a user from each IP address.
# NOTE: The username is compared case-sensitively.
#mail_max_userip_connections = 10

# Space separated list of plugins to load (none known to be useful so far). Do NOT
# try to load IMAP plugins here.
#mail_plugins =

# MANAGESIEVE logout format string:
# %i - total number of bytes read from client
# %o - total number of bytes sent to client
#managesieve_logout_format = bytes=%i/%o

# To fool ManageSieve clients that are focused on CMU's timesieved you can specify
# the IMPLEMENTATION capability that the dovecot reports to clients.
# For example: 'Cyrus timsieved v2.2.13'
#managesieve_implementation_string = Dovecot Pigeonhole

# Explicitly specify the SIEVE and NOTIFY capability reported by the server before
# login. If left unassigned these will be reported dynamically according to what
# the Sieve interpreter supports by default (after login this may differ depending
# on the user).
#managesieve_sieve_capability =
#managesieve_notify_capability =

# The maximum number of compile errors that are returned to the client upon script
# upload or script verification.
#managesieve_max_compile_errors = 5

# Refer to 90-sieve.conf for script quota configuration and configuration of
# Sieve execution limits.
}


Ultimately I would like the sieve scripts of each client to be stored in their own folder with a quota limit and be able to manage their own webmail client folders and themes manageable entirely from the ISPConfig interface but I am still learning about the sieve protocol so it will take me a while.
Reply With Quote
  #5  
Old 31st August 2011, 11:27
osterhase osterhase is offline
Member
 
Join Date: Jul 2011
Location: Germany
Posts: 61
Thanks: 6
Thanked 7 Times in 5 Posts
Default

So what is actually your problem / question? Sorry if I got lost between the lines...
Reply With Quote
  #6  
Old 31st August 2011, 11:42
CSsab CSsab is offline
Senior Member
 
Join Date: Apr 2010
Posts: 174
Thanks: 19
Thanked 32 Times in 27 Posts
Default

I do not have a question or problem other than my local delivery at the moment.
I am thinking that it would be a better idea to manage sieve as a service rather than a protocol. That is all.
Reply With Quote
  #7  
Old 3rd September 2011, 09:54
osterhase osterhase is offline
Member
 
Join Date: Jul 2011
Location: Germany
Posts: 61
Thanks: 6
Thanked 7 Times in 5 Posts
Default

Sorry - but I needed a while to think of that.

You should have no problem with that because isp_sieverules does not care about how managesieve is run. As far as I'm concerned also managesieve (run as a daemon) utilizes *.sieve files (or am I wrong here?).

So all isp_sieverules does is to catch the script BEFORE it is actually written and pass it on to ISPConfig. The via the api-functions it is integrated. So it does not matter if its a daemon or whatever. You should have not problems actually.
Reply With Quote
The Following User Says Thank You to osterhase For This Useful Post:
CSsab (3rd September 2011)
  #8  
Old 3rd September 2011, 16:33
CSsab CSsab is offline
Senior Member
 
Join Date: Apr 2010
Posts: 174
Thanks: 19
Thanked 32 Times in 27 Posts
 
Default

Quote:
Originally Posted by osterhase View Post
As far as I'm concerned also managesieve (run as a daemon) utilizes *.sieve files (or am I wrong here?).
No you are right - previously when I tried the managesieve plugin for roundcube I had to install pidgeonhole and it was a headache because my libtool was broken - I gave it up in the end. Like yourself and others here I am really only interested in adding functionality to ISPConfig 3 without having to install everything but the kitchen sink

Quote:
So all isp_sieverules does is to catch the script BEFORE it is actually written and pass it on to ISPConfig. The via the api-functions it is integrated. So it does not matter if its a daemon or whatever. You should have not problems actually.
Haven't gotten that far yet - I modified ISPConfig installer slightly to allow me to use Dovecot v2 out of the box (mainly just the SQL file to change the table "disabledeliver" to "disablelda" in dbispconfig and also changed all php references to "disabledeliver" in the installer to read as "disablelda".

Installer runs fine so far but I am still testing.
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Can't Log in to ISPConfig 3 After update and upgrade Ian Wilson Installation/Configuration 8 24th September 2012 21:19
coexistence of php4 and php5 on ISPC3 AceLine Tips/Tricks/Mods 5 5th November 2010 14:56
Newly Installed ISPConfig3 on Ubuntu 8.04 : login redirect fail ? cripperz Installation/Configuration 5 22nd March 2009 12:15
ISP Config hesitation when opening web pages frankb Installation/Configuration 7 15th December 2008 13:06
reoback problems on debian 3.1 Ovidiu Server Operation 12 15th May 2007 22:25


All times are GMT +2. The time now is 21:11.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.