Support for building all the software from source, more web-cyradm related stuff,

lots of small bugs fixed, support for smtp authentication.
This commit is contained in:
delouw 2002-10-16 19:19:47 +00:00
parent 20a53de577
commit d82806cf39
2 changed files with 389 additions and 171 deletions

View File

@ -23,11 +23,21 @@
<revhistory>
<revision>
<revnumber>1.1.7</revnumber>
<date>2002-06-15</date>
<revnumber>1.2.0</revnumber>
<date>2002-10-16</date>
<authorinitials>ldl</authorinitials>
<revremark>
T E S T R E L E A S E ! corrected ca-cert related mistake
The first release of the 1.2 version.
</revremark>
</revision>
<revision>
<revnumber>1.1.7</revnumber>
<date>2002-10-15</date>
<authorinitials>ldl</authorinitials>
<revremark>
Added Michael Muenz' hints for SMTP AUTH, corrected ca-cert related mistake, improved SGML code (more metadata), updated the software mentioned in the document.
</revremark>
</revision>
@ -36,7 +46,7 @@
<date>2002-06-14</date>
<authorinitials>ldl</authorinitials>
<revremark>
T E S T R E L E A S E ! Added sasl_mech_list: PLAIN to imapd.conf, added web-cyradm Mailinglist, added more
Added sasl_mech_list: PLAIN to imapd.conf, added web-cyradm Mailinglist, added more
to web-cyradm
</revremark>
</revision>
@ -47,7 +57,7 @@
<date>2002-06-11</date>
<authorinitials>ldl</authorinitials>
<revremark>
T E S T R E L E A S E ! Added new SQL query to initialize web-cyradm
Added new SQL query to initialize web-cyradm
to have full data integrity in the MySQL Database, mysql-mydestination.cf reported to be operational as
expected.
</revremark>
@ -58,7 +68,7 @@
<date>2002-05-15</date>
<authorinitials>ldl</authorinitials>
<revremark>
T E S T R E L E A S E ! Added description what is needed in /etc/services
Added description what is needed in /etc/services
Another fix for pam_mysql compile, updated software versions.
</revremark>
</revision>
@ -69,7 +79,7 @@
<date>2002-05-08</date>
<authorinitials>ldl</authorinitials>
<revremark>
T E S T R E L E A S E ! Added more description for web-cyradm, fix for wrong path of the saslauthdb-socket, Fix for
Added more description for web-cyradm, fix for wrong path of the saslauthdb-socket, Fix for
wrong place of com_err.h, protection of the TLS/SSL private key.
</revremark>
</revision>
@ -79,7 +89,7 @@
<date>2002-04-29</date>
<authorinitials>ldl</authorinitials>
<revremark>
T E S T R E L E A S E ! Added describtion for Redhat users how to install the init scripts.
Added description for Redhat users how to install the init scripts.
</revremark>
</revision>
@ -88,7 +98,7 @@
<date>2002-04-29</date>
<authorinitials>ldl</authorinitials>
<revremark>
T E S T R E L E A S E ! Fixed bug in configuring cyrus-IMAP (disabled unused kerberos authetication)
Fixed bug in configuring cyrus-IMAP (disabled unused kerberos authentication)
</revremark>
</revision>
@ -97,19 +107,20 @@
<date>2002-04-28</date>
<authorinitials>ldl</authorinitials>
<revremark>
T E S T R E L E A S E ! - Initial support for building cyrus from source, dropped binary installation
Initial support for building cyrus from source, dropped binary installation
for Cyrus, because configuration has changed with Release 2.1.x
</revremark>
</revision>
<revision>
<revnumber>1.0.2-draft-3</revnumber>
<revnumber>1.0.2</revnumber>
<date>2002-04-25</date>
<authorinitials>ldl</authorinitials>
<revremark>
Added basic description for sieve and correct sender handling, minor fixes to db related stuff, Added mysql-lookup for
»mydestination« , fixed bug for building postfix with mysql support
Added basic description for sieve and correct sender handling, minor fixes to db related
stuff, Added mysql-lookup for »mydestination« , fixed bug for building postfix
with mysql support.
</revremark>
</revision>
@ -158,10 +169,10 @@
<para>
The cyrus part is only valid for Cyrus-IMAP 2.1.x and Cyrus-SASL 2.1.x. If you plan to use Cyrus-IMAP 2.0.x
then please consult the depricated version 1.0.x of this HOWTO.</para>
then please consult the deprecated version 1.0.x of this HOWTO.</para>
<para>
I recommand stronly to update to the Cyrus Version 2.1.x. If you do so, you will have chances to get
I recommend strongly to update to the Cyrus Version 2.1.x. If you do so, you will have chances to get
valuable support by the community</para>
<indexterm>
@ -335,11 +346,20 @@
<sect2 id="credits">
<title>Credits</title>
<itemizedlist>
<listitem>
<para>
Michael Muenz <email>m.muenz at maxonline.de</email> for his help with SMTP Authentication
</para>
</listitem>
<listitem>
<para>
I would thank to the nice people at <email> discuss at linuxdoc.org</email> for
supporting me in writing HOWTOs
The nice people at <email> discuss at linuxdoc.org</email> for
supporting me in writing the HOWTOs
</para>
</listitem>
</itemizedlist>
</sect2>
@ -356,7 +376,7 @@
</para>
<para>
Please understand, that I dont want to add Cyrus-IMAP 2.0.x related stuff in this Document anymore
Please understand, that I don't want to add Cyrus-IMAP 2.0.x related stuff in this Document anymore
</para>
</sect2>
@ -368,12 +388,12 @@
<para>
At the moment no translations are available. A german translation is planned and would be
written by myself as soon as the document is valid
written by myself as soon as I get the time.
</para>
<para>
Translations to other languages are always welcome. If you translated this document, please let
me know, so I can set a link here
Translations to other languages are always welcome. If you translated this document, please translate the
SGML source. Please let me know if you begin to translate, so I can set a link here.
</para>
</sect2>
@ -499,7 +519,7 @@
</listitem>
<listitem>
<para>Automatically create username, eigher with a defined prefix, or the domainame as postfix</para>
<para>Automatically create username, either with a defined prefix, or the domainname as postfix</para>
</listitem>
<listitem>
@ -507,19 +527,55 @@
</listitem>
<listitem>
<para>Map useraccounts to emailadresses</para>
<para>Map user-accounts to emailadresses</para>
</listitem>
<listitem>
<para>Support for MySQL and PostgreSQL</para>
</listitem>
<listitem>
<para>i18n (internationalization) support</para>
</listitem>
<listitem>
<para>Chinese translation (Simplified Chinese zh_CN)</para>
</listitem>
<listitem>
<para>Danish translation (da)</para>
</listitem>
<listitem>
<para>German translation (de)</para>
</listitem>
<listitem>
<para>Hungarian translation (hu)</para>
</listitem>
<listitem>
<para>French translation (fr)</para>
</listitem>
<listitem>
<para>Italian translation (it)</para>
</listitem>
<listitem>
<para>Portuguese translation (pt)</para>
</listitem>
<listitem>
<para>Russian translation (ru koi8r)</para>
</listitem>
</itemizedlist>
</para>
<para>At the time being, Web-cyradm does only have experimental support for different roles of its users.
If you plan to use is as a frontend for your powerusers, please notice, that security may be a problem, the rolebased
stuff needs a security rewiev.
<para>Web-cyradm has support for different roles of its users.
If you plan to use is as a frontend for your powerusers, please notice,
that security may be a problem, the role based stuff needs a security review.
</para>
</sect2>
@ -536,13 +592,12 @@
<title>Getting and installing the software</title>
<para>
Most of the software is included in your Linux distribution. SuSE is shipping Cyrus as far as I know since 7.1
and Redhat at least since recent time. </para>
<para>
Unfortunately the distributions contains the depricated Cyrus Version 2.0.x. I suggest to build all stuff
from source.</para>
Most of the software is included in your Linux distribution. SuSE is shipping Cyrus as far as I know since 7.1.
Since SuSE 8.1, cyrus-imap 2.1 and sasl2 is included, but not yet tested for this setup.
</para>
<para>Redhat ships no cyrus-IMAP, but sasl1 is included (useless for this setup)</para>
<!-- Section2: Mysql -->
<sect2 id="MySQL-install">
@ -557,8 +612,8 @@
<sect3><title>Building and installing</title>
<screen>
cd /usr/local
tar -xvzf mysql-3.23.51.tar.gz
cd mysql-3.23.51
tar -xvzf mysql-3.23.53.tar.gz
cd mysql-3.23.53
./configure \
--prefix=/usr/local/mysql \
@ -571,6 +626,9 @@ make install
/usr/local/mysql/bin/mysql_install_db
echo /usr/local/mysql/lib/mysql >> /etc/ld.so.conf
ldconfig
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
</screen>
<para>For security-improvement add a mysql-user on your system i.e. "mysql", then</para>
@ -604,86 +662,65 @@ ln -s /etc/init.d/mysql.server /etc/init.d/rc3.d/k08mysql
</sect2>
<!-- Section2: postfix -->
<sect2 id="postfix-install">
<title>Getting and installing Postfix</title>
<sect3><title>Download</title>
<para>
Origin-Site: <ulink url="http://www.postfix.org/ftp-sites.html">http://www.postfix.org/ftp-sites.html</ulink>
</para>
</sect3>
<sect3> <title>Creating a User-ID (UID) and Group-ID (GID) for postfix</title>
<para>
Before you can build and install postfix you have to be sure a »postfix« and a »postdrop« groups and users
exists on the System. First check for the groups. You can check this
by <command>grep postfix /etc/group</command> and <command>grep maildrop /etc/group</command>
</para>
<sect2 id="berkeley-db">
<title>Getting and installing Berkeley DB</title>
<para>
If there are no such groups and users, you just create them. Search for a free nummeric UID and GID. In the
following example I will use UID and GID 33333 for Postfix and 33335 for the maildrop UID and GID. This ID's
are corresponding to other documents.
The Berkeley DB is a requirement for building Cyrus-SASL and Cyrus-IMAP. Some Systems comes with recent versions but without
the header files installed. Please see your distributors CD/DVD to check if you can install the header files from a package.
</para>
<para>The version that comes with GNU/Debian Linux is out of Date, you will need to compile most recent version instead.
If you already installed Berkely DB on your Debian Box, please fist uninstall the software to prevent conflicts.
</para>
<para>It is also very important, that Cyrus-SASL and Cyrus-IMAP is compiled with the same version of Berkely DB
of else you can run into problems</para>
<sect3><title>Download Berkely DB</title>
<para>
Origin-Site: <ulink url="http://www.sleepycat.com/update/snapshot/db-4.0.14.tar.gz">
http://www.sleepycat.com/update/snapshot/db-4.0.14.tar.gz</ulink>
</para>
</sect3>
<sect3><title>Building and installing Berkeley DB</title>
<para>
<screen>
groupadd -g 33333 postfix
groupadd -g 33335 postdrop
cd dist
useradd -u 33333 -g 33333 -d /dev/null -s /bin/false postfix
</screen>
</sect3>
<sect3><title>Building and installing</title>
<para>
The following screen shows what you have to do, if you installed MySQL from source as described above.
If you installed MySQL from a binary package such as rpm or deb, then you have to change the
include and library-flags to -I/usr/include/mysql and -L/usr/lib/mysql.
</para>
<screen>
tar -xvzf postfix-1.1.11.tar.gz
cd postfix-1.1.11
make -f Makefile.init makefiles \
'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include/mysql' \
'AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm'
./configure --prefix=/usr/local/bdb
make
make install
echo /usr/local/bdb/lib >> /etc/ld.so.conf
ldconfig
</screen>
<para>During <command>make install</command> a few question are asked. Just pressing <keycap>Enter</keycap> should
match your needs. For Redhat users it could be useful to enter <filename>/usr/local/share/man</filename></para>
</sect3>
</sect2>
</sect3>
</sect2>
<!-- Section2: cyrus -->
<sect2 id="cyrus-install">
<title>Getting and installing Cyrus</title>
<title>Getting and installing Cyrus SASL and IMAP</title>
<para>
Building Cyrus from source is not a easy task. There are some prerequisites to be fulfilled, and lots
of difficult authentication related stuff to be considered.
Building Cyrus SASL and IMAP from source is not a easy task. There are some prerequisites to be fulfilled, and lots
of difficult authentication related stuff to be considered.
</para>
<sect3><title>Download Cyrus SASL and Cyrus IMAP</title>
<para>
Origin-Site: <ulink url="ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-2.1.5.tar.gz">ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-2.1.5.tar.gz</ulink>
Origin-Site: <ulink url="ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-2.1.9.tar.gz">ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-2.1.9.tar.gz</ulink>
</para>
<para>Origin-Site: <ulink url="ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-imapd-2.1.4.tar.gz">ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-imapd-2.1.4.tar.gz</ulink>
<para>Origin-Site: <ulink url="ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-imapd-2.1.9.tar.gz">ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-imapd-2.1.9.tar.gz</ulink>
</para>
@ -692,16 +729,22 @@ make install
<sect3><title>Building and installing Cyrus SASL</title>
<screen>
tar -xvzf cyrus-sasl-2.1.5.tar.gz
cd cyrus-sasl-2.1.5
tar -xvzf cyrus-sasl-2.1.9.tar.gz
cd cyrus-sasl-2.1.9
./configure \
--enable-anon \
--enable-plain \
--enable-login \
--disable-krb4 \
--with-saslauthd=/var/run/saslauthd \
--with-pam \
--with-openssl-dir=/usr/local/ssl
--with-dblib=berkeley \
--with-bdb-libdir=/usr/local/bdb/lib \
--with-bdb-incdir=/usr/local/bdb/include \
--with-openssl-dir=/usr/local/ssl \
--with-plugindir=/usr/local/lib/sasl2
make
make install
@ -727,8 +770,8 @@ The SASL library is installed in <filename>/usr/local/lib/sasl2</filename> but s
<sect3><title>Building Cyrus-IMAP</title>
<screen>
tar -xvzf cyrus-imapd-2.1.4.tar.gz
cd cyrus-imapd-2.1.4
tar -xvzf cyrus-imapd-2.1.9.tar.gz
cd cyrus-imapd-2.1.9
export CPPFLAGS="-I/usr/include/et"
@ -736,7 +779,8 @@ export CPPFLAGS="-I/usr/include/et"
--with-sasl=/usr/local/lib \
--with-perl \
--with-auth=unix \
--with-openssl=/usr/local/ssl
--with-openssl=/usr/local/ssl \
--without-ucdsnmp
make depend
make
@ -746,7 +790,7 @@ make install
</sect3>
<sect3 id="atsrtupscript"><title>Automatic startup script</title>
<sect3 id="startupscript"><title>Automatic startup script</title>
<para>
If you wish to start the Cyrus IMAP daemon automatically after booting, you need a startupscript. Place the following script
@ -808,6 +852,77 @@ ln -s /etc/rc.d/init.d/cyrus /etc/rc.d/rc3.d/K10cyrus
</sect2>
<!-- Section2: postfix -->
<sect2 id="postfix-install">
<title>Getting and installing Postfix</title>
<sect3><title>Download</title>
<para>
Origin-Site: <ulink url="http://www.postfix.org/ftp-sites.html">http://www.postfix.org/ftp-sites.html</ulink>
</para>
<para>If you want to use SMTP authentication, you need to download the latest snapshot release, version 1.1.11
does NOT work with sasl2. Use 1.1.11-20020928 or newer.
</sect3>
<sect3> <title>Creating a User-ID (UID) and Group-ID (GID) for postfix</title>
<para>
Before you can build and install postfix you have to be sure a »postfix« and a »postdrop« groups and users
exists on the System. First check for the groups. You can check this
by <command>grep postfix /etc/group</command> and <command>grep maildrop /etc/group</command>
</para>
<para>
If there are no such groups and users, you just create them. Search for a free nummeric UID and GID. In the
following example I will use UID and GID 33333 for Postfix and 33335 for the maildrop UID and GID. This ID's
are corresponding to other documents.
</para>
<screen>
groupadd -g 33333 postfix
groupadd -g 33335 postdrop
useradd -u 33333 -g 33333 -d /dev/null -s /bin/false postfix
</screen>
</sect3>
<sect3><title>Building and installing</title>
<para>
The following screen shows what you have to do, if you installed MySQL from source as described above.
If you installed MySQL from a binary package such as rpm or deb, then you have to change the
include and library-flags to -I/usr/include/mysql and -L/usr/lib/mysql.
</para>
<screen>
tar -xvzf postfix-1.1.11-20020928.tar.gz
cd postfix-1.1.11-20020928
make makefiles 'CCARGS=-DHAS_MYSQL \
-I/usr/local/mysql/include/mysql -DUSE_SASL_AUTH \
-I/usr/local/include/sasl' 'AUXLIBS=-L/usr/local/mysql/lib/mysql \
-lmysqlclient -lz -lm -L/usr/local/lib -lsasl2'
make
make install
</screen>
<para>During <command>make install</command> a few question are asked. Just pressing <keycap>Enter</keycap> should
match your needs. For Redhat users it could be useful to enter <filename>/usr/local/share/man</filename></para>
</sect3>
</sect2>
<sect2 id="pam-mysql-install">
<title>Getting and installing pam_mysql</title>
@ -840,13 +955,6 @@ export LD_D=gcc -shared -Xlinker -x -L/usr/lib/mysql -lz
<para>After customizing that file go ahead with compiling pam_mysql</para>
<screen>
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
</screen>
<screen>
tar -xvzf pam_mysql-0.4.7.tar.gz
@ -868,7 +976,7 @@ ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
<sect3><title>Download</title>
<para>
Origin-Site: <ulink url="http://www.delouw.ch/linux/web-cyradm">http://www.delouw.ch/linux/web-cyradm</ulink>
Origin-Site: <ulink url="http://www.web-cyradm.org">http://www.web-cyradm.org</ulink>
</para>
</sect3>
<sect3><title>Installing</title>
@ -879,12 +987,21 @@ ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
<para>I M P O R T A N T : Since web-cyradm is under heavy development, it maybe does not work properly with
PHP 4.2.1 or newer. Please edit your <filename>/usr/local/lib/php.ini</filename> and set »register_globals=On« to be sure
it works. please report any bugs to web-cyradm@test.delouw.ch (after subscribing the list). </para>
it works. please report any bugs to web-cyradm at test.delouw.ch (after subscribing the list). </para>
<para>Since web-cyradm uses PEAR for its database abstraction, you will also need a recent copy of PEAR. This is included
in recent PHP Versions. I strongly suggest to update PHP anyway to 4.2.3 because a lot of important bugs have been fixed.
</para>
<para>An often error done is to forget to touch the logfile and change the owner to the UID that Apache use. This is
usually »nobody« or »wwwrun«.</para>
<screen>
cd /usr/local/apache/htdocs
tar -xvzf web-cyradm-latest.tar.gz
tar -xvzf web-cyradm-0.5.1.tar.gz
touch /var/log/web-cyradm.log
chown nobody /var/log/web-cyradm.log
@ -1022,9 +1139,17 @@ account sufficient pam_unix_acct.so
<para>If you will use Cyrus also for POP-Service just <command>cp /etc/pam.d/imap /etc/pam.d/pop</command>
For user that like to use also sieve, must also make a pam module for the sieve service with the following
entry: <command>cp /etc/pam.d/imap /etc/pam.d/sieve</command>
entry: <command>cp /etc/pam.d/imap /etc/pam.d/sieve</command> Finally if you want to use SMTP authentication
you need to copy the same file: <command>cp /etc/pam.d/imap /etc/pam.d/smtp</command>
</para>
<screen>
cp /etc/pam.d/imap /etc/pam.d/pop
cp /etc/pam.d/imap /etc/pam.d/sieve
cp /etc/pam.d/imap /etc/pam.d/smtp
</screen>
</sect1>
<!-- Section2: postfix -->
@ -1102,7 +1227,6 @@ if you like to use a webmail interface.
sender_canonical_maps = mysql:/etc/postfix/mysql-canonical.cf
</screen>
<para>Now you need to create the file <filename>/etc/postfix/mysql-virtual.cf</filename>: </para>
<screen>
@ -1176,6 +1300,31 @@ select_field = domain_name
where_field = domain_name
</screen>
<para>SMTP Authentication with SASL and PAM</para>
<para>Put the following in your <filename>/etc/postfix/main.cf</filename></para>
<screen>
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, check_relay_domains
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes
</screen>
<para>You also need to create the file <filename>/usr/local/lib/sasl2/smtpd.conf</filename> with
the following content:</para>
<screen>
pwcheck_method: saslauthd
</screen>
<para>The next step is make the saslauthd socket being found by postfix:</para>
<screen>
mv /var/run/sasl2 /var/run/sasl2-old
ln -s /var/run/saslauthd /var/run/sasl2
</screen>
</sect2>
@ -1196,7 +1345,7 @@ where_field = domain_name
<para>
If you like to use sieve (A Mail Filtering Language), you must change an entry
in <filename>/etc/services</filename>. With SuSE 8.0 take especiall care about the port for sieve, they defined the wrong port.
in <filename>/etc/services</filename>. With SuSE 8.0 take especially care about the port for sieve, they defined the wrong port.
Add or change the following line:
</para>
@ -1361,7 +1510,7 @@ The rest of the directories can be created by the tool <command>mkimap</command>
<screen>
su - cyrus
/usr/local/cyrus-imapd-2.1.4/tools/mkimap
/usr/local/cyrus-imapd-2.1.9/tools/mkimap
</screen>
</sect3>
@ -1370,6 +1519,14 @@ su - cyrus
<sect2 id="ch-attrib"><title>Changing the attributes</title>
<para>This is only needed if your filesystem is ext2. I strongly suggest to switch to
ext3 filesystems.</para>
<para>To check what type of filesystem is used for <filename>/var</filename> issue the
command <command>mount</command> or see your <filename>/etc/fstab</filename>. Please note
that the <filename>/var</filename> could also be a part of the root filesystem.
</para>
<screen>
cd /var/imap
@ -1413,7 +1570,7 @@ for users that what to like to have web-cyradm not on the same server where the
<sect2><title>Database setup</title>
<para>Please note: the database releated code is now being rewritten to use PEAR as a database abstraction. So in future
<para>Please note: the database related code is now being rewritten to use PEAR as a database abstraction. So in future
you will be able to also use PostgreSQL as database engine (with the patch for postfix). In meantime it is needed
to setup the database setup twice (only for the CVS versions, release 2002-05-25_xx will just ignore the unused stuff).
</para>
@ -1441,7 +1598,7 @@ $MYSQL_PASSWD="secret";
o mysql
o pgsql
To operate a mailsystem with postgreSQL you will need a patch for
To operate a mailsystem with PostgreSQL you will need a patch for
Postfix.
Other Databases needs to be supported by PAM and postfix
@ -1475,8 +1632,9 @@ $DSN="$DB_TYPE://$DB_USER:$DB_PASSWD@$DB_HOST/$DB_NAME";
</sect2>
<sect2><title>Crypted passwords</title>
<para>At the moment the handling of crypted passwords is not yet supported and will be implemented in
one of the next major releases. In meantime please leave the value of the Variable $CRYPT=0</para>
<para>At the moment the handling of crypted passwords will be supported beginning at release 0.5.2.
Check the variable $CRYPT in <filename>config.inc.php</filename> value 0 means no encryption, 1 means
Shadow compatible encryption, 2 means MySQL encryption.</para>
</sect2>
@ -1635,8 +1793,8 @@ Login with the credentials defined before.</para>
enter the domain in <filename>/etc/hosts</filename>. The Domain must also be defined as local in
<filename>/etc/postfix/main.cf</filename> (mydestination = domain)</para>
<para>Please be sure that you are providing a unique domainprefix when adding a new domain. I.e. test for the domain
test.org. If you dont provide such a prefix you will get a error-message</para>
<para>Please be sure that you are providing a unique domain prefix when adding a new domain. I.e. test for the domain
test.org. If you don't provide such a prefix you will get a error-message</para>
</sect2>
@ -1692,7 +1850,7 @@ miss-configured <filename>/etc/postfix/main.cf</filename></para>
<title>Testing the IMAP and POP functionality</title>
<para>A lot of users like to test the cyrus-IMAPd with the Command Line Interface (CLI) »cyradm« and they are failing.
To be sucessful with cyradm, you will need to add the cyrus user to <filename>/etc/sasldb2</filename> because »cyradm« always
To be successful with cyradm, you will need to add the cyrus user to <filename>/etc/sasldb2</filename> because »cyradm« always
authenticates against SASL __and__ IMAP.</para>
<para>To add the cyrus user to the sasldb use the command:</para>
@ -1702,8 +1860,8 @@ Password: (enter your passwd)
Again (for verification): (enter your password)
</screen>
<para>To use the »cyradm« CLI please take care that the tool does not recognize standart CLI-options like -u and similar. Please follow
the syntax like descibed in the man page »cyradm 1« like the following example:</para>
<para>To use the »cyradm« CLI please take care that the tool does not recognize standard CLI-options like -u and similar. Please follow
the syntax like described in the man page »cyradm 1« like the following example:</para>
<screen>
bond:~ # cyradm --user cyrus --server localhost --auth plain
@ -1930,83 +2088,143 @@ subscribe web-cyradm</screen> </para>
<sect1 id="faq">
<title>Questions and Answers</title>
<indexterm>
<primary>(your index root)!FAQ</primary>
</indexterm>
<indexterm>
<primary>(your index root)!frequently asked questions</primary>
</indexterm>
<para>
<para>
Here I answer the questions which I got from users. If you don't find an answer feel free to contact me
</para>
<itemizedlist>
<listitem>
<para>
Q: Does web-cyradm only support users like »test0001« ? I'd like to have a more desciptive username
<para>
<qandaset>
<qandadiv><title>FAQ</title>
<qandaentry>
<question>
<para>
Does web-cyradm only support users like »test0001« ? I'd like to have a more descriptive username
</para>
</question>
<answer>
<para>
A: web-cyradm does also support usernames like »user.name.example.com« if you configure it.
web-cyradm does also support usernames like »user.name.example.com« if you configure it.
Your need to change config.inc.php and change the value of DOMAIN_AS_PREFIX to 1. then you need to add
»unixhierarchysep: yes« to your <filename>/etc/imapd.conf</filename>
</para>
</listitem>
</answer>
</qandaentry>
<qandaentry><question>
<listitem>
<para>
Q: Why MySQL and not LDAP?
web-cyradm complains about »Fatal error: Call to undefined function: bindtextdomain()
in /www/web-cyradm-0.5.1/index.php on line 46«, whats wrong?
</para>
</question>
<answer>
<para>
Web-cyradm needs gettext enabled PHP. Please compile PHP with the configure-option --with-gettext.
</para>
<para>
gettext is needed for NLS (Native Language Support) which means
contributors can easily translate web-cyradm to there language. Fill in your Language in the file
<filename>/usr/local/apache/htdocs/web-cyradm/locale/templates/web-cyradm.pot</filename> and send me
the file, then your language will be supported in the next CVS snapshot</para>
</answer>
</qandaentry>
<qandaentry><question>
<para>
I got a error from web-cyradm like this »Fatal error: Call to undefined function: query() in
/usr/local/httpd/htdocs/web-cyradm/auth.inc.php on line 17«
</para>
</question>
<answer>
<para>
Web-cyradm depends on PEAR for database abstraction. PEAR is included in recent PHP versions. Often
PEAR is a separate package, check out the package base of your distribution. I strongly suggest to update
to the most recent version of PHP anyway, because a lot of bugs have been fixed.
<para>
</answer>
</qandaentry>
<qandaentry><question>
<para>
Why MySQL and not LDAP?
</para>
<para>
A: Good question. LDAP is role-based and it would be indeed a better solution for such applications. Unfortunately LDAP
is very hard to set up. You have to make proper schemes etc. MySQL is the way strait ahead, it is very easy to handle and
versatile. There is a PAM module available for LDAP, feel free to use it.
</para>
</listitem>
</question>
<listitem>
<answer>
<para>
Q: Why Postfix and not Qmail?
Good question. LDAP is role-based and it would be indeed a better solution for such applications.
Unfortunately LDAP is very hard to set up. You have to make proper schemes etc. MySQL is the
way strait ahead, it is very easy to handle and versatile. There is a PAM module available
for LDAP, feel free to use it.
</para>
</answer>
</qandaentry>
<qandaentry><question>
<para>
A: Lots of people like to see such a setup with Qmail. The reason why is, Mysql-support is a hack and not in the
Why Postfix and not Qmail?
</para>
</question>
<answer>
<para>
Lots of people like to see such a setup with Qmail. The reason why is, Mysql-support is a hack and not in the
included in the main source-tree. This could end up in a bad situation. Think if a security-hole is found in qmail
and the patch does not work with the corrected version. Postfix is supporting MySQL natively. Another (personal) reason is
that I find Postfix more sympatic (I don't know why)
and the patch does not work with the corrected version. Postfix is supporting MySQL natively.
Another (personal) reason is that I find Postfix more sympatic (I don't know why)
</para>
</listitem>
</answer>
</qandaentry>
<listitem>
<para>
Q: I got a Error: "Temporary lookup failure"
</para>
<qandaentry><question>
<para>
A: Postfix cannot look up the alias table. Must common failure is that MySQL is not running, or there is a authentication
Error. Check <filename>/var/log/mail</filename> and <filename>/usr/local/mysql/var/&lt;hostname&gt;.err</filename>
to track the error
I got a Error: "Temporary lookup failure"
</para>
</listitem>
<listitem>
<para>
Q: Does this HOWTO also work on other platforms?
</para>
</question>
<answer>
<para>
A: Unsure. I personally compiled MySQL and Apache on AIX 4.3 and 5.1L (php does not run properly on AIX),
Solaris 6/7/8 and HP-UX. Cyrus, pam_mysql and cyrus I never tried. On Solaris there is maybe a chance to get pam_mysql
running. On AIX there is no PAM, but a similar mechanism. In short: Try it, and let me know if were successful
Postfix cannot look up the alias table. Must common failure is that MySQL is not running,
or there is a authentication Error. Check <filename>/var/log/mail</filename> and
<filename>/usr/local/mysql/var/&lt;hostname&gt;.err</filename> to track the error.
</para>
</listitem>
</itemizedlist>
</answer>
</qandaentry>
<qandaentry><question>
<para>
Does this HOWTO also work on other platforms?
</para>
</question>
<answer>
<para>
Unsure. I personally compiled MySQL and Apache on AIX 4.3 and 5.1L (php does not run properly on AIX),
Solaris 6/7/8 and HP-UX. Cyrus, pam_mysql and cyrus I never tried. On Solaris there is maybe a
chance to get pam_mysql running. On AIX there is no PAM, but a similar mechanism. In short:
Try it, and let me know if were successful
</para>
</answer>
</qandaentry>
</qandadiv>
</qandaset>
</sect1>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 100 KiB