This chapter describes how to configure and use v-q. It includes also part about securing v-q system.
V-q is a highly configurable system. Almost all options can be set at the runtime.
Some programs can be customized using environment variables, below is a list of globally used variables.
VQ_HOME this is the most important variable. It points to a base directory when v-q files are stored. Default value is set during compilation, usually it is /var/vq.
VQ_ETC_DIR points to a directory where configuration files are stored. Default value is set during compilation, usually it is /var/vq/etc.
Configuration files are stored in VQ_ETC_DIR/ivq/qmail/.
Table 3-1. Configuration files for Qmail part
File | Default value | Description |
---|---|---|
autoresp_ttl | 60 | How many minutes autoresp will remeber that it sent a message to specified address. Usually you don't want to automatically answer to every incoming mail from the same address. If you want to answer on every incoming mail set it to 0. |
backup_deleted | 1 |
Backup user's maildir while removing an account if
value larger than 0.
|
iauth_import | name_service#Auth.iauth | Instruction how to find object program should use as a vq::iauth implementation. See corba_utils.pdf. |
maildir | Maildir | Name of a directory that users's mail is stored in. Directory is created when user is added. |
split_dom | 1 | How many times split a path for a domain. You can change this value only if you don't have any domains registered. If you change it in other situation programs won't be able to find domains and users. |
split_user | 3 | How many times split a path for user's directory. Like split_dom you can change it only when you don't have any users. |
fmode | 0640 | Mode of created files. |
mmode | 0750 | Mode of subdirectories in Maildir. |
dmode | 0750 | Mode of other created directories. |
user | _vq | Name of a v-q's user. It is put in qmail/users/assign. |
uid | UID of this process | It is put into qmail/users/assign. |
gid | GID of this process | It is put into qmail/users/assign. |
data | /var/vq | Directory where Virtual Qmail stores domains and users' mailboxes. |
qmail_home | /var/qmail | Qmail's home directory. |
qmode | 0644 | Mode of files created in a qmail's directory. |
dep_mod | fixed_ports_no_imr | Deployment model. You can read more in corba_utils.pdf. |
policy | single_thread_model | Sets CORBA servant policy - using threads, persistency, etc. See corba_utils.pdf. |
Configuration files are stored in VQ_ETC_DIR/iauth/pgsql/.
Table 3-2. Configuration files for PostgreSQL authorization part
File | Default value | Description |
---|---|---|
dep_mod | fixed_ports_no_imr | Deployment model. You can read more in corba_utils.pdf. |
pgsql | dbname=mail password=mail user=mail | String used to connect to a database. Remember to use different password. |
pgsql_pool | 1 | Number of connections to a database server that are created during statup. You can try to use few connections if your CORBA implementation implements threading and policy allows using it. |
policy | single_thread_model | Sets CORBA servant policy - using threads, persistency, etc. See corba_utils.pdf. |
read_by_sql | 1 | If value is different than 0 it's possible to call functions read_by_sql and count_by_sql. Otherwise functions are disabled and calls return with error. |
rm_by_sql | 0 | If value is different than 0 it's possible to call function rm_by_sql. Otherwise function is disabled and calls return with error. |
All options are passed to application through command line arguments, there are no configuration files. Bellow there is a list of supported options. To pass them to program use something like:
-Dcom.foo_baz.v_q.jdbcauthd.jdbc=jdbc:postgresql://localhost/mail
Table 3-3. Configuration files for JDBC authorization part
Property | Default value | Description |
---|---|---|
com.foo_baz.v_q.jdbcauthd.jdbc | no defaults | String used to initialize JDBC driver. |
com.foo_baz.v_q.jdbcauthd.jdbc.user | User used to connect to a database. | |
com.foo_baz.v_q.jdbcauthd.jdbc.pass | Password user for authorization. | |
com.foo_baz.v_q.jdbcauthd.ds | no defaults |
Data source used as a database. If you have
configured JNDI server which includes database
references you can use them directly. This options
is mutually exclusive with com.foo_baz.v_q.jdbcauthd.jdbc.
|
com.foo_baz.v_q.jdbcauthd.dep_mod | fixed_ports_no_imr | Deployment model. You can read more in corba_utils.pdf. |
com.foo_baz.v_q.jdbcauthd.policy | single_thread_model | Sets CORBA servant policy - using threads, persistency, etc. See corba_utils.pdf. |
Configuration files are stored in VQ_ETC_DIR/ilogger/pgsql/.
Table 3-4. Configuration files for PostgreSQL logging part
File | Default value | Description |
---|---|---|
pgsql | dbname=mail password=mail user=mail | String used to connect to a database. |
dep_mod | fixed_ports_no_imr | Deployment model. You can read more in corba_utils.pdf. |
policy | single_thread_model | Sets CORBA servant policy - using threads, persistency, etc. See corba_utils.pdf. |
All options are passed to application through command line arguments, there are no configuration files. Bellow there is a list of supported options. To pass them to program use something like:
-Dcom.foo_baz.v_q.jdbclogd.jdbc=jdbc:postgresql://localhost/mail
Table 3-5. Configuration files for JDBC logging part
Property | Default value | Description |
---|---|---|
com.foo_baz.v_q.jdbclogd.jdbc | no defaults | String used to initialize JDBC driver. |
com.foo_baz.v_q.jdbclogd.jdbc.user | User used to connect to a database. | |
com.foo_baz.v_q.jdbclogd.jdbc.pass | Password user for authorization. | |
com.foo_baz.v_q.jdbclogd.ds | no defaults |
Data source used as a database. If you have
configured JNDI server which includes database
references you can use them directly. This options
is mutually exclusive with com.foo_baz.v_q.jdbclogd.jdbc.
|
com.foo_baz.v_q.jdbclogd.dep_mod | fixed_ports_no_imr | Deployment model. You can read more in corba_utils.pdf. |
com.foo_baz.v_q.jdbclogd.policy | single_thread_model | Sets CORBA servant policy - using threads, persistency, etc. See corba_utils.pdf. |
com.foo_baz.v_q.jdbclogd.rm_by_sql | 0 | If value is different than 0 enable rm_by_sql function. |
com.foo_baz.v_q.jdbclogd.read_by_sql | 0 | If value is different than 0 enable read_by_sql function. |