[Dovecot] General question for Dovecot under OpenBSD
Hello All,
First of all thanks a lot for providing a quality software such as Dovecot.
I am having troubles for setting up the config files of OpenBSD's binary package of Dovecot, flavor sieve/mysql.
Do you know where some documentation could be found for setting up correctly the .conf (dovecot.conf & dovecot-sql.conf) since it does not even load ("Error in configuration file /etc/dovecot.conf line 871: Unknows setting: args").
I shall understand that the problem lies in dovecot-sql.conf, which is not a file I understand well and can configure correctly, as it seems.
Some more docs/infos about this issue could be helpful.
Thks,
JF
jean-francois wrote:
Hello All,
First of all thanks a lot for providing a quality software such as Dovecot.
I am having troubles for setting up the config files of OpenBSD's binary package of Dovecot, flavor sieve/mysql.
Do you know where some documentation could be found for setting up correctly the .conf (dovecot.conf & dovecot-sql.conf) since it does not even load ("Error in configuration file /etc/dovecot.conf line 871: Unknows setting: args").
I shall understand that the problem lies in dovecot-sql.conf, which is not a file I understand well and can configure correctly, as it seems.
Some more docs/infos about this issue could be helpful.
Thks,
JF
Maybe if you specify output of dovecot -n, your config file content around the error line and the content of your dovecot-sql.conf, we can actually answer your questions :)
Also, maybe this wiki page can help you: http://wiki.dovecot.org/AuthDatabase/SQL
-- Regards, Tom
Hi,
As requested.
$ sudo dovecot -n # 1.0.15: /etc/dovecot.conf Error: Error in configuration file /etc/dovecot.conf line 871: Unknown setting: args Fatal: Invalid configuration in /etc/dovecot.con
Error line in dovecot.conf :
# SQL database
dovecot-sql.conf :
# This file is opened as root, so it should be owned by root and mode 0600. # # http://wiki.dovecot.org/AuthDatabase/SQL # # For the sql passdb module, you'll need a database with a table that # contains fields for at least the userid and password. If you want to # use the user@domain syntax, you might want to have a separate domain # field as well. # # If your users all have the same uig/gid, and have predictable home # directories, you can use the static userdb module to generate the home # dir based on the userid and domain. In this case, you won't need fields # for home, uid, or gid in the database. # # If you prefer to use the sql userdb module, you'll want to add fields # for home, uid, and gid. Here is an example table: # # CREATE TABLE users ( # userid VARCHAR(128) NOT NULL, # password VARCHAR(64) NOT NULL, # home VARCHAR(255) NOT NULL, # uid INTEGER NOT NULL, # gid INTEGER NOT NULL, # active CHAR(1) DEFAULT 'Y' NOT NULL # );
# Database driver: mysql, pgsql, sqlite driver = mysql
# Database connection string. This is driver-specific setting. # # pgsql: # For available options, see the PostgreSQL documention for the # PQconnectdb function of libpq. # # mysql: # Basic options emulate PostgreSQL option names: # host, port, user, password, dbname # # But also adds some new settings: # client_flags - See MySQL manual # ssl_ca, ssl_ca_path - Set either one or both to enable SSL # ssl_cert, ssl_key - For sending client-side certificates to server # ssl_cipher - Set minimum allowed cipher security (default: HIGH) # # You can connect to UNIX sockets by using host: host=/var/run/mysql.sock # Note that currently you can't use spaces in parameters. # # sqlite: # The path to the database file. # # Examples: connect = host=/var/www/htdocs/pro/mysql/mysql.sock dbname=mail user=user password=pass # connect = host=sql.example.com dbname=virtual user=virtual password=blarg # connect = /etc/dovecot/authdb.sqlite # #connect = dbname=virtual user=virtual
# Default password scheme. # # List of supported schemes is in # http://wiki.dovecot.org/Authentication/PasswordSchemes # #default_pass_scheme = PLAIN-MD5
# Query to retrieve the password. # # This query must return only one row with "user" and "password" columns. # The query can also return other fields which have a special meaning, see # http://wiki.dovecot.org/PasswordDatabase/ExtraFields # # The "user" column is needed to make sure the username gets used with exactly # the same casing as it's in the database. Note that if you store username and # domain in separate fields, you most likely want to return a combination of # them as the "user" column, otherwise the domain gets stripped. # # Commonly used available substitutions (see # http://wiki.dovecot.org/Variables for full list): # %u = entire userid # %n = user part of user@domain # %d = domain part of user@domain # # Note that these can be used only as input to SQL query. If the query outputs # any of these substitutions, they're not touched. Otherwise it would be # difficult to have eg. usernames containing '%' characters. # # Example: # password_query = SELECT concat(userid, '@', domain) AS user, password FROM users WHERE userid = '%n' AND domain = '%d' # password_query = SELECT pw AS password FROM users WHERE userid = '%u' AND active = 'Y' # password_query = SELECT userid as user, password FROM users WHERE userid = '%u'
# Query to retrieve the user information. # # The query must return only one row. Commonly returned columns are: # uid - System UID # gid - System GID # home - Home directory # mail - Mail location # # Either home or mail is required. uid and gid are required. If more than one # row is returned or there are missing fields, the login will fail. For a list # of all fields that can be returned, see # http://wiki.dovecot.org/UserDatabase/ExtraFields # # Examples # user_query = SELECT home, uid, gid FROM users WHERE userid = '%n' AND domain = '%d' # user_query = SELECT dir AS home, user AS uid, group AS gid FROM users where userid = '%u' # user_query = SELECT home, 501 AS uid, 501 AS gid FROM users WHERE userid = '%u' # #user_query = SELECT home, uid, gid FROM users WHERE userid = '%u'
# If you wish to avoid two SQL lookups (passdb + userdb), you can use # userdb prefetch instead of userdb sql in dovecot.conf. In that case you'll # also have to return userdb fields in password_query prefixed with "userdb_" # string. For example: #password_query = SELECT userid as user, password, home as userdb_home, uid as userdb_uid, gid as userdb_gid FROM users WHERE userid = '%u'
2009/9/14 Tom Hendrikx tom@whyscream.net
jean-francois wrote:
Hello All,
First of all thanks a lot for providing a quality software such as Dovecot.
I am having troubles for setting up the config files of OpenBSD's binary package of Dovecot, flavor sieve/mysql.
Do you know where some documentation could be found for setting up correctly the .conf (dovecot.conf & dovecot-sql.conf) since it does not even load ("Error in configuration file /etc/dovecot.conf line 871: Unknows setting: args").
I shall understand that the problem lies in dovecot-sql.conf, which is not a file I understand well and can configure correctly, as it seems.
Some more docs/infos about this issue could be helpful.
Thks,
JF
Maybe if you specify output of dovecot -n, your config file content around the error line and the content of your dovecot-sql.conf, we can actually answer your questions :)
Also, maybe this wiki page can help you: http://wiki.dovecot.org/AuthDatabase/SQL
-- Regards, Tom
On 09/14/2009 11:13 PM Jean-François SIMON wrote:
Hi,
As requested.
$ sudo dovecot -n # 1.0.15: /etc/dovecot.conf Error: Error in configuration file /etc/dovecot.conf line 871: Unknown setting: args Fatal: Invalid configuration in /etc/dovecot.con
Error line in dovecot.conf :
# SQL database
#passdb sql { # Path for SQL configuration file, see doc/dovecot-sql-example.conf args = /etc/dovecot-sql.conf #}
Please stop top-posting. Thanks in advance.
If you want to use passdb sql remove the comment hashes:
# SQL database
Regards, Pascal
The trapper recommends today: defaced.0925723@localdomain.org
If you want to use passdb sql remove the comment hashes: # SQL database
passdb sql { # Path for SQL configuration file, see doc/dovecot-sql-example.conf args = /etc/dovecot-sql.conf }
Sorry to bother you however I'm having some troubles and can't understand what is required to adapt here, as now I have this error :
Error: Error in configuration file /etc/dovecot.conf line 1022: Plugin section not allowed here (section changed at line 997) Fatal: Invalid configuration in /etc/dovecot.conf
Line 997 is last line of following :
# It's possible to export the authentication interface to other programs: #socket listen { #master { # Master socket provides access to userdb information. It's typically # used to give Dovecot's local delivery agent access to userdb so it # can find mailbox locations. #path = /var/run/dovecot/auth-master #mode = 0600 # Default user/group is the one who started dovecot-auth (root) #user = #group = #} #client { # The client socket is generally safe to export to everyone. Typical use # is to export it to your SMTP server so it can do SMTP AUTH lookups # using it. #path = /var/run/dovecot/auth-client #mode = 0660 #} #} }
Line 1022 is here :
dict { #quota = mysql:/etc/dovecot-dict-quota.conf #}
On 9/15/2009 1:55 PM, Jean-François SIMON wrote:
Line 997 is last line of following :
# It's possible to export the authentication interface to other programs: #socket listen { #master { # Master socket provides access to userdb information. It's typically # used to give Dovecot's local delivery agent access to userdb so it # can find mailbox locations. #path = /var/run/dovecot/auth-master #mode = 0600 # Default user/group is the one who started dovecot-auth (root) #user = #group = #} #client { # The client socket is generally safe to export to everyone. Typical use # is to export it to your SMTP server so it can do SMTP AUTH lookups # using it. #path = /var/run/dovecot/auth-client #mode = 0660 #} #} }
This last uncommented close bracket appears to be spurious - try commenting or otherwise removing it.
--
Best regards,
Charles
participants (5)
-
Charles Marcus
-
jean-francois
-
Jean-François SIMON
-
Pascal Volk
-
Tom Hendrikx