changeset 5441:9d36800df1ae HEAD

Added documentation to doc/wiki/. autogen.sh downloads them from dovecot.org if they don't exist. Changed wiki links in dovecot-example.conf to point to the doc/wiki/ directory instead.
author Timo Sirainen <tss@iki.fi>
date Wed, 28 Mar 2007 01:50:53 +0300
parents d9b7957a7255
children 041c4185273e
files autogen.sh configure.in doc/Makefile.am doc/USE-WIKI-INSTEAD doc/documentation.txt doc/variables.txt doc/wiki/.cvsignore doc/wiki/Makefile.am.in dovecot-example.conf
diffstat 9 files changed, 196 insertions(+), 116 deletions(-) [+]
line wrap: on
line diff
--- a/autogen.sh	Wed Mar 28 00:56:53 2007 +0300
+++ b/autogen.sh	Wed Mar 28 01:50:53 2007 +0300
@@ -16,4 +16,17 @@
   fi
 done
 
+if ! test -f doc/wiki/Authentication.txt; then
+  cd doc
+  wget http://www.dovecot.org/tmp/wiki-export.tar.gz
+  tar xzf wiki-export.tar.gz
+  mv wiki-export/*.txt wiki/
+  cd wiki
+  cp -f Makefile.am.in Makefile.am
+  echo *.txt | sed 's/ / \\\n	/g' >> Makefile.am
+  cd ..
+  rm -rf wiki-export wiki-export.tar.gz
+  cd ..
+fi
+
 autoreconf -i
--- a/configure.in	Wed Mar 28 00:56:53 2007 +0300
+++ b/configure.in	Wed Mar 28 01:50:53 2007 +0300
@@ -1898,6 +1898,7 @@
 AC_CONFIG_FILES([
 Makefile
 doc/Makefile
+doc/wiki/Makefile
 src/Makefile
 src/lib/Makefile
 src/lib-sql/Makefile
--- a/doc/Makefile.am	Wed Mar 28 00:56:53 2007 +0300
+++ b/doc/Makefile.am	Wed Mar 28 01:50:53 2007 +0300
@@ -1,3 +1,5 @@
+SUBDIRS = wiki
+
 docdir = $(datadir)/doc/dovecot
 
 confdir = $(sysconfdir)
@@ -6,10 +8,9 @@
 	dovecot-sql-example.conf
 
 doc_DATA = \
-	USE-WIKI-INSTEAD \
 	auth-protocol.txt \
-	securecoding.txt \
-	variables.txt
+	documentation.txt \
+	securecoding.txt
 
 EXTRA_DIST = \
 	mkcert.sh \
--- a/doc/USE-WIKI-INSTEAD	Wed Mar 28 00:56:53 2007 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-All the useful documentation is currently only in Dovecot's wiki:
-
-http://wiki.dovecot.org/
-
-Perhaps some day they'll also be included in this directory as .txt files.
-You can speed that up by creating a script which does that.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/documentation.txt	Wed Mar 28 01:50:53 2007 +0300
@@ -0,0 +1,142 @@
+The documentation in wiki/ directory has been imported from
+http://wiki.dovecot.org/. The actual Wiki may contain more up-to-date
+information, so unless this is an old Dovecot release, you may want to use
+the Wiki directly.
+
+Documentation Index
+===================
+
+ * <QuickConfiguration.txt> for people in hurry
+ * <WhyDoesItNotWork.txt> - Why doesn't Dovecot work?
+
+ 1. Welcome to the Dovecot Wiki
+ 2. Dovecot Wiki Contents
+ 3. Generic information about mail servers
+ 4. A simple Dovecot installation
+ 5. Full guide to setting up a new Dovecot installation
+ 6. Examples / Scenarios
+ 7. Migration from existing systems
+ 8. Troubleshooting
+ 9. Tuning
+ 10. Reference
+ 11. Misc
+
+Generic information about mail servers
+======================================
+
+ * Mail protocols: IMAP [http://en.wikipedia.org/wiki/Imap], POP3
+   [http://en.wikipedia.org/wiki/Pop3] and SMTP
+   [http://en.wikipedia.org/wiki/Smtp]
+ * <Mail delivery agents and Sieve> [MDA.txt]
+ * <Mailbox formats> [MailboxFormat.txt]
+ * <User authentication> [Authentication.txt]
+    * <SASL> [Sasl.txt]
+
+A simple Dovecot installation
+=============================
+
+It's a good idea to start with a simple Dovecot installation to see that
+everything works. After that you can start changing things one at a time, so if
+you run into trouble you know immediately where the problem is.
+
+If you're in a hurry and you already know enough about mail servers,
+<QuickConfiguration.txt> may be more helpful to you instead.
+
+ 1. Installing
+     * <Compiling from sources> [CompilingSource.txt]
+     * <Installing prebuilt binaries> [PrebuiltBinaries.txt]
+ 2. <Checking where mail is delivered to> [FindMailLocation.txt]
+ 3. <Configuring Dovecot> [BasicConfiguration.txt]
+ 4. <Running Dovecot> [RunningDovecot.txt]
+ 5. <Logging.txt>
+ 6. <Testing that everything works> [TestInstallation.txt]
+     * <Testing POP3 installation> [TestPop3Installation.txt]
+ 7. <Finishing the test installation> [FinishBasicConfiguration.txt]
+
+Full guide to setting up a new Dovecot installation
+===================================================
+
+This guide assumes that you have already managed to run Dovecot successfully,
+as described in the "A simple Dovecot installation" guide above.
+
+ * Starting guidelines
+    * <System users> [SystemUsers.txt]
+    * <Virtual users> [VirtualUsers.txt]
+    * <UNIX User IDs used by Dovecot> [UserIds.txt]
+ * <Authentication configuration> [Authentication.txt]
+    * <Password databases> [PasswordDatabase.txt]
+    * <User databases> [UserDatabase.txt]
+    * <Multiple authentication databases>
+      [Authentication.MultipleDatabases.txt]
+    * <Kerberos> [Authentication.Kerberos.txt]
+    * <Restricting users' access> [Authentication.RestrictAccess.txt]
+    * <Special authentication features> [PasswordDatabase.ExtraFields.txt]
+    * <Master users> [Authentication.MasterUsers.txt]
+ * <Mailbox location configuration> [MailLocation.txt]
+    * <Mails stored in local disk> [MailLocation.LocalDisk.txt]
+    * <Mails stored in shared filesystem> [MailLocation.SharedDisk.txt]
+      (<NFS.txt>, clustered FS)
+    * <Maildir configuration> [MailLocation.Maildir.txt]
+    * <Mbox configuration> [MailLocation.Mbox.txt]
+    * <Namespaces.txt>
+    * <Shared mailboxes> [SharedMailboxes.txt]
+ * <Login processes and their settings> [LoginProcess.txt]
+ * <SSL.txt> settings and certificate creation
+ * <Plugins.txt>
+    * <Quota.txt>
+    * <Access Control Lists> [ACL.txt] (ACLs)
+ * <Dovecot as a POP3 server> [POP3Server.txt]
+ * <Dovecot's local delivery agent> [LDA.txt]
+ * <Post-login scripting> [PostLoginScripting.txt]
+
+Examples / Scenarios
+====================
+
+See this section in http://wiki.dovecot.org/
+
+ * <Rootless installation> [Rootless.txt]
+ * <POP-before-SMTP> [PopBSMTPAndDovecot.txt]
+    * <Pop Relay Compatibility> [PopRelay.txt]
+
+Migration from existing systems
+===============================
+
+ * <From other IMAP/POP3 servers> [Migration.txt]
+    * <My mailboxes are lost after migrating to Dovecot!>
+      [MissingMailboxes.txt]
+ * <Upgrading from Dovecot 0.99.x to 1.0> [UpgradingDovecot.txt]
+ * <Converting between mailbox formats> [Migration.MailFormat.txt] (mbox <->
+   Maildir, etc.)
+
+Troubleshooting
+===============
+
+ * <Why doesn't Dovecot work?> [WhyDoesItNotWork.txt]
+ * <Finding the error message from logs> [Logging.txt]
+ * <Debugging authentication> [Debugging.Authentication.txt]
+ * <Process tracing> [Debugging.ProcessTracing.txt] is useful when Dovecot
+   seems slow or hangs completely
+ * <mbox errors and crashes> [MboxProblems.txt]
+ * <Client issues and configuration> [Clients.txt]
+    * <Debugging using Thunderbird's logging> [Debugging.Thunderbird.txt]
+ * Sending bug reports [http://dovecot.org/bugreport.html], debugging crashes
+   and sniffing network traffic
+
+Tuning
+======
+
+ * <Performance tuning> [PerformanceTuning.txt]
+ * <Security tuning> [SecurityTuning.txt]
+    * <Chrooting.txt>
+
+Reference
+=========
+
+ * <Command line arguments> [CommandLine.txt]
+ * <Dovecot's design> [Design.txt]
+ * <Client issues and configuration> [Clients.txt]
+
+Misc
+====
+
+ * <Listening on Additional Ports> [Iptables.txt] using IP Tables
--- a/doc/variables.txt	Wed Mar 28 00:56:53 2007 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-You can use special variables in several places:
- - mail_location setting
- - namespace locations
- - static userdb template string
- - LDAP and SQL userdb query strings
- - log prefix for login/imap/pop3 process
-
-The variables are:
-
- %u - username
- %n - user part in user@domain, same as %u if there's no domain
- %d - domain part in user@domain, empty if user there's no domain
- %h - home directory
- %s - service (imap, pop3, smtp, deliver)
- %p - PID of the current process (login or imap/pop3 process)
- %l - local IP address
- %r - remote IP address
- %w - plaintext password from plaintext authentication mechanism
- %i - System UID of the user
-
-You can apply a modifiers for each variable (eg. %Us = POP3):
-
- %L - lowercase
- %U - uppercase
- %E - escape '"', "'" and '\' characters by inserting '\' before them.
-      Note that variables in SQL queries are automatically escaped, you
-      don't need to use this modifier for them.
- %R - reverse the string
- %H - take a 32bit hash of the variable and return it as hex. You can also
-      limit the hash value. For example %256Hu gives values 0..ff. You might
-      want padding also, so %2.256Hu gives 00..ff. This can be useful for
-      example in dividing users automatically to multiple partitions. Note
-      that if you're hashing usernames being in user@domain form, you probably
-      want to reverse the string to get better hash value variety, eg. %3RHu.
- %M - return the string's MD5 sum
- %D - return "sub.domain.org" as "sub,dc=domain,dc=org" (for LDAP queries)
-
-You can take a substring of the variable by giving optional offset followed
-by '.' and width after the '%' character. For example %2u gives first two
-characters of the username. %2.1u gives third character of the username.
-
-If the offset is negative, it counts from the end, for example %-2.2i gives
-the UID mod 100 (last two characters of the UID printed in a string). If a
-positive offset points outside the value, empty string is returned, if a
-negative offset does then the string is taken from the start.
-
-If the width is prefixed with zero, the string isn't truncated, but only
-padded with '0' character if the string is shorter. For example %04i may
-return "0001", "1000" and "12345". %1.04i for the same string would return
-"001", "000" and "2345".
-
-For dovecot-auth there are also these variables:
-
- %m - authentication method (eg. PLAIN)
- %c - "secured" string with SSL, TLS and localhost connections.
-      Otherwise empty.
-
-For login_log_format_elements there are also these variables:
-
- %m - authentication method (eg. PLAIN)
- %a - Local port
- %b - Remote port
- %c - SSL, TLS or empty
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/wiki/.cvsignore	Wed Mar 28 01:50:53 2007 +0300
@@ -0,0 +1,4 @@
+Makefile.am
+Makefile.in
+Makefile
+*.txt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/wiki/Makefile.am.in	Wed Mar 28 01:50:53 2007 +0300
@@ -0,0 +1,3 @@
+wikidir = $(datadir)/doc/dovecot/wiki
+
+wiki_DATA = 
\ No newline at end of file
--- a/dovecot-example.conf	Wed Mar 28 00:56:53 2007 +0300
+++ b/dovecot-example.conf	Wed Mar 28 01:50:53 2007 +0300
@@ -119,7 +119,7 @@
 ## Login processes
 ##
 
-# http://wiki.dovecot.org/LoginProcess
+# <doc/wiki/LoginProcess.txt>
 
 # Directory where authentication process places authentication UNIX sockets
 # which login needs to be able to connect to. The sockets are created when
@@ -128,15 +128,13 @@
 #login_dir = /var/run/dovecot/login
 
 # chroot login process to the login_dir. Only reason not to do this is if you
-# wish to run the whole Dovecot without roots.
-# http://wiki.dovecot.org/Rootless
+# wish to run the whole Dovecot without roots. <doc/wiki/Rootless.txt>
 #login_chroot = yes
 
 # User to use for the login process. Create a completely new user for this,
 # and don't use it anywhere else. The user must also belong to a group where
 # only it has access, it's used to control access for authentication process.
-# Note that this user is NOT used to access mails.
-# http://wiki.dovecot.org/UserIds
+# Note that this user is NOT used to access mails. <doc/wiki/UserIds.txt>
 #login_user = dovecot
 
 # Set max. process size in megabytes. If you don't use
@@ -200,13 +198,13 @@
 #   %d - domain part in user@domain, empty if there's no domain
 #   %h - home directory
 #
-# See doc/variables.txt for full list. Some examples:
+# See doc/wiki/Variables.txt for full list. Some examples:
 #
 #   mail_location = maildir:~/Maildir
 #   mail_location = mbox:~/mail:INBOX=/var/mail/%u
 #   mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n
 #
-# http://wiki.dovecot.org/MailLocation
+# <doc/wiki/MailLocation.txt>
 #
 #mail_location = 
 
@@ -267,8 +265,8 @@
 # isn't finding your mails.
 #mail_debug = no
 
-# Log prefix for mail processes. See doc/variables.txt for list of possible
-# variables you can use.
+# Log prefix for mail processes. See doc/wiki/Variables.txt for list of
+# possible variables you can use.
 #mail_log_prefix = "%Us(%u): "
 
 # Max. number of lines a mail process is allowed to log per second before it's
@@ -344,16 +342,14 @@
 # This setting doesn't affect login_chroot or auth chroot variables.
 # WARNING: Never add directories here which local users can modify, that
 # may lead to root exploit. Usually this should be done only if you don't
-# allow shell access for users.
-# http://wiki.dovecot.org/Chrooting
+# allow shell access for users. <doc/wiki/Chrooting.txt>
 #valid_chroot_dirs = 
 
 # Default chroot directory for mail processes. This can be overridden for
 # specific users in user database by giving /./ in user's home directory
 # (eg. /home/./user chroots into /home). Note that usually there is no real
 # need to do chrooting, Dovecot doesn't allow users to access files outside
-# their mail directory anyway.
-# http://wiki.dovecot.org/Chrooting
+# their mail directory anyway. <doc/wiki/Chrooting.txt>
 #mail_chroot = 
 
 ##
@@ -761,15 +757,13 @@
   # allow both system users (/etc/passwd) and virtual users to login without
   # duplicating the system users into virtual database.
   #
-  # http://wiki.dovecot.org/PasswordDatabase
+  # <doc/wiki/PasswordDatabase.txt>
   #
   # By adding master=yes setting inside a passdb you make the passdb a list
   # of "master users", who can log in as anyone else. Unless you're using PAM,
   # you probably still want the destination user to be looked up from passdb
   # that it really exists. This can be done by adding pass=yes setting to the
-  # master passdb.
-  #
-  # http://wiki.dovecot.org/MasterPassword
+  # master passdb. <doc/wiki/Authentication.MasterUsers.txt>
 
   # Users can be temporarily disabled by adding a passdb with deny=yes.
   # If the user is found from that database, authentication will fail.
@@ -787,8 +781,7 @@
   # so it can't be used as userdb. If you don't want to use a separate user
   # database (passwd usually), you can use static userdb.
   # REMEMBER: You'll need /etc/pam.d/dovecot file created for PAM
-  # authentication to actually work.
-  # http://wiki.dovecot.org/PasswordDatabase/PAM
+  # authentication to actually work. <doc/wiki/PasswordDatabase.PAM.txt>
   passdb pam {
     # [blocking=yes] [session=yes] [setcred=yes]
     # [cache_key=<key>] [<service name>]
@@ -809,7 +802,7 @@
     # because PAM modules can do all kinds of checks besides checking password,
     # such as checking IP address. Dovecot can't know about these checks
     # without some help. cache_key is simply a list of variables (see
-    # doc/variables.txt) which must match for the cached data to be used.
+    # doc/wiki/Variables.txt) which must match for the cached data to be used.
     # Here are some examples:
     #   %u - Username must match. Probably sufficient for most uses.
     #   %u%r - Username and remote IP address must match.
@@ -826,29 +819,28 @@
 
   # /etc/passwd or similar, using getpwnam()
   # In many systems nowadays this uses Name Service Switch, which is
-  # configured in /etc/nsswitch.conf.
-  # http://wiki.dovecot.org/AuthDatabase/Passwd
+  # configured in /etc/nsswitch.conf. <doc/wiki/AuthDatabase.Passwd.txt>
   #passdb passwd {
     # [blocking=yes] - See userdb passwd for explanation
     #args = 
   #}
 
   # /etc/shadow or similiar, using getspnam(). Deprecated by PAM nowadays.
-  # http://wiki.dovecot.org/PasswordDatabase/Shadow
+  # <doc/wiki/PasswordDatabase.Shadow.txt>
   #passdb shadow {
     # [blocking=yes] - See userdb passwd for explanation
     #args = 
   #}
 
   # PAM-like authentication for OpenBSD.
-  # http://wiki.dovecot.org/PasswordDatabase/BSDAuth
+  # <doc/wiki/PasswordDatabase.BSDAuth.txt>
   #passdb bsdauth {
     # [cache_key=<key>] - See cache_key in PAM for explanation.
     #args =
   #}
 
   # passwd-like file with specified location
-  # http://wiki.dovecot.org/AuthDatabase/PasswdFile
+  # <doc/wiki/AuthDatabase.PasswdFile.txt>
   #passdb passwd-file {
     # Path for passwd-file
     #args = 
@@ -856,28 +848,25 @@
 
   # checkpassword executable authentication
   # NOTE: You will probably want to use "userdb prefetch" with this.
-  # http://wiki.dovecot.org/PasswordDatabase/CheckPassword
+  # <doc/wiki/PasswordDatabase.CheckPassword.txt>
   #passdb checkpassword {
     # Path for checkpassword binary
     #args = 
   #}
 
-  # SQL database
-  # http://wiki.dovecot.org/AuthDatabase/SQL
+  # SQL database <doc/wiki/AuthDatabase.SQL.txt>
   #passdb sql {
     # Path for SQL configuration file, see doc/dovecot-sql-example.conf
     #args = 
   #}
 
-  # LDAP database
-  # http://wiki.dovecot.org/AuthDatabase/LDAP
+  # LDAP database <doc/wiki/AuthDatabase.LDAP.txt>
   #passdb ldap {
     # Path for LDAP configuration file, see doc/dovecot-ldap-example.conf
     #args = 
   #}
 
-  # vpopmail authentication
-  # http://wiki.dovecot.org/AuthDatabase/VPopMail
+  # vpopmail authentication <doc/wiki/AuthDatabase.VPopMail.txt>
   #passdb vpopmail {
     # [cache_key=<key>] - See cache_key in PAM for explanation.
     #args =
@@ -887,12 +876,12 @@
   # User database specifies where mails are located and what user/group IDs
   # own them. For single-UID configuration use "static".
   #
-  # http://wiki.dovecot.org/UserDatabase
+  # <doc/wiki/UserDatabase.txt>
   #
 
   # /etc/passwd or similar, using getpwnam(). In many systems nowadays this
   # uses Name Service Switch, which is configured in /etc/nsswitch.conf.
-  # http://wiki.dovecot.org/AuthDatabase/Passwd
+  # <doc/wiki/AuthDatabase.Passwd.txt>
   userdb passwd {
     # [blocking=yes] - By default the lookups are done in the main dovecot-auth
     # process. This setting causes the lookups to be done in auth worker
@@ -903,14 +892,13 @@
   }
 
   # passwd-like file with specified location
-  # http://wiki.dovecot.org/AuthDatabase/PasswdFile
+  # <doc/wiki/AuthDatabase.PasswdFile.txt>
   #userdb passwd-file {
     # Path for passwd-file
     #args =
   #}
 
-  # static settings generated from template
-  # http://wiki.dovecot.org/UserDatabase/Static
+  # static settings generated from template <doc/wiki/UserDatabase.Static.txt>
   #userdb static {
     # Template for the fields. Can return anything a userdb could normally
     # return. For example:
@@ -927,22 +915,19 @@
     #args =
   #}
 
-  # SQL database
-  # http://wiki.dovecot.org/AuthDatabase/SQL
+  # SQL database <doc/wiki/AuthDatabase.SQL.txt>
   #userdb sql {
     # Path for SQL configuration file, see doc/dovecot-sql-example.conf
     #args = 
   #}
 
-  # LDAP database
-  # http://wiki.dovecot.org/AuthDatabase/LDAP
+  # LDAP database <doc/wiki/AuthDatabase.LDAP.txt>
   #userdb ldap {
     # Path for LDAP configuration file, see doc/dovecot-ldap-example.conf
     #args = 
   #}
 
-  # vpopmail
-  # http://wiki.dovecot.org/AuthDatabase/VPopMail
+  # vpopmail <doc/wiki/AuthDatabase.VPopMail.txt>
   #userdb vpopmail {
   #}
 
@@ -950,7 +935,7 @@
   # needed information and there's no need to do a separate userdb lookup.
   # This can be made to work with SQL and LDAP databases, see their example
   # configuration files for more information how to do it.
-  # http://wiki.dovecot.org/UserDatabase/Prefetch
+  # <doc/wiki/UserDatabase.Prefetch.txt>
   #userdb prefetch {
   #}