1513 lines
26 KiB
HTML
1513 lines
26 KiB
HTML
<HTML
|
||
><HEAD
|
||
><TITLE
|
||
>Getting and installing the software</TITLE
|
||
><META
|
||
NAME="GENERATOR"
|
||
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
|
||
REL="HOME"
|
||
TITLE="Postfix-Cyrus-Web-cyradm-HOWTO"
|
||
HREF="index.html"><LINK
|
||
REL="PREVIOUS"
|
||
TITLE="Technologies"
|
||
HREF="tech.html"><LINK
|
||
REL="NEXT"
|
||
TITLE="Configuring MySQL"
|
||
HREF="mysql-config.html"></HEAD
|
||
><BODY
|
||
CLASS="SECT1"
|
||
BGCOLOR="#FFFFFF"
|
||
TEXT="#000000"
|
||
LINK="#0000FF"
|
||
VLINK="#840084"
|
||
ALINK="#0000FF"
|
||
><DIV
|
||
CLASS="NAVHEADER"
|
||
><TABLE
|
||
SUMMARY="Header navigation table"
|
||
WIDTH="100%"
|
||
BORDER="0"
|
||
CELLPADDING="0"
|
||
CELLSPACING="0"
|
||
><TR
|
||
><TH
|
||
COLSPAN="3"
|
||
ALIGN="center"
|
||
>Postfix-Cyrus-Web-cyradm-HOWTO</TH
|
||
></TR
|
||
><TR
|
||
><TD
|
||
WIDTH="10%"
|
||
ALIGN="left"
|
||
VALIGN="bottom"
|
||
><A
|
||
HREF="tech.html"
|
||
ACCESSKEY="P"
|
||
>Prev</A
|
||
></TD
|
||
><TD
|
||
WIDTH="80%"
|
||
ALIGN="center"
|
||
VALIGN="bottom"
|
||
></TD
|
||
><TD
|
||
WIDTH="10%"
|
||
ALIGN="right"
|
||
VALIGN="bottom"
|
||
><A
|
||
HREF="mysql-config.html"
|
||
ACCESSKEY="N"
|
||
>Next</A
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
><HR
|
||
ALIGN="LEFT"
|
||
WIDTH="100%"></DIV
|
||
><DIV
|
||
CLASS="SECT1"
|
||
><H1
|
||
CLASS="SECT1"
|
||
><A
|
||
NAME="INSTALL"
|
||
></A
|
||
>3. Getting and installing the software</H1
|
||
><P
|
||
> Most of the software is included in your Linux distribution. I. e. SuSE is shipping Cyrus as
|
||
far as I know since 7.1.
|
||
Since SuSE 8.1, cyrus-imap 2.1 and sasl2 is included, and works. It is still recommended to compile
|
||
Cyrus by yourself. SuSE does not ship a MySQL enabled Postfix.
|
||
</P
|
||
><DIV
|
||
CLASS="TIP"
|
||
><P
|
||
></P
|
||
><TABLE
|
||
CLASS="TIP"
|
||
WIDTH="100%"
|
||
BORDER="0"
|
||
><TR
|
||
><TD
|
||
WIDTH="25"
|
||
ALIGN="CENTER"
|
||
VALIGN="TOP"
|
||
><IMG
|
||
SRC="../images/tip.gif"
|
||
HSPACE="5"
|
||
ALT="Tip"></TD
|
||
><TH
|
||
ALIGN="LEFT"
|
||
VALIGN="CENTER"
|
||
><B
|
||
>Deprecated packages for Debian stable and testing</B
|
||
></TH
|
||
></TR
|
||
><TR
|
||
><TD
|
||
> </TD
|
||
><TD
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
><P
|
||
>Debian users probably want to install packages provided by Debian. Unfortunately Debian stable (Woody) and testing (sarge) are using the deprecated version of the software used in this HOWTO. I tested the respective packages from Debian unstable (sid) and the are working. Please note, that the maintainers at Debian are very conservative. The software packages <20>postfix-mysql<71>, <20>libsasl2<6C> and <20>cyrus21-imapd<70> are stable, even if they are only available in the <20>unstable<6C> tree.</P
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT2"
|
||
><H2
|
||
CLASS="SECT2"
|
||
><A
|
||
NAME="MYSQL-INSTALL"
|
||
></A
|
||
>3.1. Getting and installing MySQL</H2
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN267"
|
||
></A
|
||
>3.1.1. Download</H3
|
||
><P
|
||
> Origin-Site: <A
|
||
HREF="http://www.mysql.com/downloads/"
|
||
TARGET="_top"
|
||
>http://www.mysql.com/downloads/</A
|
||
>
|
||
</P
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN271"
|
||
></A
|
||
>3.1.2. Building and installing</H3
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>cd /usr/local
|
||
tar -xvzf mysql-4.0.18.tar.gz
|
||
cd mysql-4.0.18
|
||
|
||
./configure \
|
||
--prefix=/usr/local/mysql \
|
||
--enable-assembler \
|
||
--with-innodb \
|
||
--without-debug
|
||
|
||
make
|
||
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</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
><P
|
||
>To improve security, add a mysql-user on your system i.e. <20>mysql<71>, then</P
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>chown -R mysql /usr/local/mysql/var</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
><P
|
||
> If you want to start MySQL automatically at boottime, copy
|
||
<TT
|
||
CLASS="FILENAME"
|
||
>/usr/local/mysql/share/mysql/mysql.server</TT
|
||
> to <TT
|
||
CLASS="FILENAME"
|
||
>/etc/init.d/</TT
|
||
>
|
||
for SuSE, for Redhat it is <TT
|
||
CLASS="FILENAME"
|
||
>/etc/rc.d/init.d</TT
|
||
> instead of <TT
|
||
CLASS="FILENAME"
|
||
>/etc/init.d/</TT
|
||
>.
|
||
Further you need to add symbolic links to <TT
|
||
CLASS="FILENAME"
|
||
>/etc/init.d/rc3.d</TT
|
||
>
|
||
for SuSE and <TT
|
||
CLASS="FILENAME"
|
||
>/etc/rc.d/rc3.d</TT
|
||
> for Redhat.
|
||
</P
|
||
><P
|
||
> The following example is for SuSE Linux and should be easily changed for Redhat and other Linux
|
||
distributions and commercial Unix systems.
|
||
</P
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/
|
||
ln -s /etc/init.d/mysql.server /etc/init.d/rc3.d/S20mysql
|
||
ln -s /etc/init.d/mysql.server /etc/init.d/rc3.d/k08mysql</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT2"
|
||
><H2
|
||
CLASS="SECT2"
|
||
><A
|
||
NAME="BERKELEY-DB"
|
||
></A
|
||
>3.2. Getting and installing Berkeley DB</H2
|
||
><P
|
||
> 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 see if you can install the header files from a package. Usually this package is called bdb-devel.
|
||
</P
|
||
><P
|
||
>The version that comes with GNU/Debian Linux is out of date, you will need to compile the most
|
||
recent version instead. If you already installed Berkeley DB on your Debian Box, please
|
||
uninstall it to prevent conflicts.
|
||
</P
|
||
><P
|
||
>It is also very important, that Cyrus-SASL and Cyrus-IMAP is compiled with the same version of
|
||
Berkeley DB or else you can run into problems.</P
|
||
><DIV
|
||
CLASS="TIP"
|
||
><P
|
||
></P
|
||
><TABLE
|
||
CLASS="TIP"
|
||
WIDTH="100%"
|
||
BORDER="0"
|
||
><TR
|
||
><TD
|
||
WIDTH="25"
|
||
ALIGN="CENTER"
|
||
VALIGN="TOP"
|
||
><IMG
|
||
SRC="../images/tip.gif"
|
||
HSPACE="5"
|
||
ALT="Tip"></TD
|
||
><TH
|
||
ALIGN="LEFT"
|
||
VALIGN="CENTER"
|
||
><B
|
||
>Berkeley DB versions</B
|
||
></TH
|
||
></TR
|
||
><TR
|
||
><TD
|
||
> </TD
|
||
><TD
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
><P
|
||
>I only tested version 4.0.x versions of bdb. Please let me know if you are successful with newer versions.</P
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN293"
|
||
></A
|
||
>3.2.1. Download Berkeley DB</H3
|
||
><P
|
||
> Origin-Site: <A
|
||
HREF="http://www.sleepycat.com/update/snapshot/db-4.0.14.tar.gz"
|
||
TARGET="_top"
|
||
> http://www.sleepycat.com/update/snapshot/db-4.0.14.tar.gz</A
|
||
>
|
||
</P
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN297"
|
||
></A
|
||
>3.2.2. Building and installing Berkeley DB</H3
|
||
><P
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>cd dist
|
||
|
||
./configure --prefix=/usr/local/bdb
|
||
|
||
make
|
||
make install
|
||
|
||
echo /usr/local/bdb/lib >> /etc/ld.so.conf
|
||
ldconfig</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
> </P
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT2"
|
||
><H2
|
||
CLASS="SECT2"
|
||
><A
|
||
NAME="AEN301"
|
||
></A
|
||
>3.3. Getting and installing OpenSSL</H2
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN303"
|
||
></A
|
||
>3.3.1. Download OpenSSL</H3
|
||
><P
|
||
>Origin-Site
|
||
<A
|
||
HREF="http://www.openssl.org"
|
||
TARGET="_top"
|
||
>http://www.openssl.org</A
|
||
></P
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN307"
|
||
></A
|
||
>3.3.2. Building and installing</H3
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>cd /usr/local
|
||
tar -xvzf openssl-0.9.7d.tar.gz
|
||
|
||
cd openssl-0.9.7d
|
||
|
||
./config shared
|
||
|
||
make
|
||
make test
|
||
make install
|
||
|
||
echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
|
||
ldconfig</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
><DIV
|
||
CLASS="TIP"
|
||
><P
|
||
></P
|
||
><TABLE
|
||
CLASS="TIP"
|
||
WIDTH="100%"
|
||
BORDER="0"
|
||
><TR
|
||
><TD
|
||
WIDTH="25"
|
||
ALIGN="CENTER"
|
||
VALIGN="TOP"
|
||
><IMG
|
||
SRC="../images/tip.gif"
|
||
HSPACE="5"
|
||
ALT="Tip"></TD
|
||
><TH
|
||
ALIGN="LEFT"
|
||
VALIGN="CENTER"
|
||
><B
|
||
>Select your CPU to improve speed</B
|
||
></TH
|
||
></TR
|
||
><TR
|
||
><TD
|
||
> </TD
|
||
><TD
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
><P
|
||
>By default the Makefile generates code for the i486 CPU. You can change this by editing the
|
||
<TT
|
||
CLASS="FILENAME"
|
||
>Makefile</TT
|
||
> after running <B
|
||
CLASS="COMMAND"
|
||
>config </B
|
||
><TT
|
||
CLASS="OPTION"
|
||
>shared</TT
|
||
>.
|
||
Search for <TT
|
||
CLASS="OPTION"
|
||
>-m486</TT
|
||
> and replace it i.e with <TT
|
||
CLASS="OPTION"
|
||
>-march=athlon</TT
|
||
></P
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT2"
|
||
><H2
|
||
CLASS="SECT2"
|
||
><A
|
||
NAME="CYRUS-INSTALL"
|
||
></A
|
||
>3.4. Getting and installing Cyrus SASL and IMAP</H2
|
||
><P
|
||
> 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.
|
||
</P
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN321"
|
||
></A
|
||
>3.4.1. Download Cyrus SASL and Cyrus IMAP</H3
|
||
><P
|
||
> Origin-Site: <A
|
||
HREF="ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-2.1.18.tar.gz"
|
||
TARGET="_top"
|
||
> ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-2.1.18.tar.gz</A
|
||
>
|
||
</P
|
||
><P
|
||
>Origin-Site: <A
|
||
HREF="ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-imapd-2.2.3.tar.gz"
|
||
TARGET="_top"
|
||
> ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-imapd-2.2.3.tar.gz</A
|
||
>
|
||
|
||
</P
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN327"
|
||
></A
|
||
>3.4.2. Create the cyrus user</H3
|
||
><P
|
||
>On most systems there is no cyrus user and mailgroup by default. Check for a free UID, usually daemons are running with UIDs less that 100.
|
||
As example I am using UID 96 which is what SuSE has in the default <TT
|
||
CLASS="FILENAME"
|
||
>/etc/passwd</TT
|
||
>.</P
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>groupadd mail
|
||
useradd -u 96 -d /usr/cyrus -g mail cyrus
|
||
passwd cyrus</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN332"
|
||
></A
|
||
>3.4.3. Building and installing Cyrus SASL</H3
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>tar -xvzf cyrus-sasl-2.1.18.tar.gz
|
||
cd cyrus-sasl-2.1.18
|
||
|
||
./configure \
|
||
--enable-anon \
|
||
--enable-plain \
|
||
--enable-login \
|
||
--disable-krb4 \
|
||
--disable-otp \
|
||
--disable-cram \
|
||
--disable-digest \
|
||
--with-saslauthd=/var/run/saslauthd \
|
||
--with-pam=/lib/security \
|
||
--with-dblib=berkeley \
|
||
--with-bdb-libdir=/usr/local/bdb/lib \
|
||
--with-bdb-incdir=/usr/local/bdb/include \
|
||
--with-openssl=/usr/local/ssl \
|
||
--with-plugindir=/usr/local/lib/sasl2
|
||
|
||
|
||
make
|
||
make install
|
||
|
||
mkdir -p /var/run/saslauthd
|
||
|
||
cd saslauthd
|
||
make testsaslauthd
|
||
cp testsaslauthd /usr/local/bin
|
||
|
||
echo /usr/local/lib/sasl2 >> /etc/ld.so.conf
|
||
ldconfig</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
><P
|
||
>The SASL library is installed in <TT
|
||
CLASS="FILENAME"
|
||
>/usr/local/lib/sasl2</TT
|
||
> but some programs are expecting SASL in
|
||
<TT
|
||
CLASS="FILENAME"
|
||
>/usr/lib/sasl2</TT
|
||
>. So it is a good idea to create a symbolic link:
|
||
<B
|
||
CLASS="COMMAND"
|
||
>ln -s /usr/local/lib/sasl2 /usr/lib/sasl2</B
|
||
>.</P
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN339"
|
||
></A
|
||
>3.4.4. Building Cyrus-IMAP</H3
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>tar -xvzf cyrus-imapd-2.2.3.tar.gz
|
||
cd cyrus-imapd-2.2.3
|
||
|
||
export CPPFLAGS="-I/usr/include/et"
|
||
|
||
./configure \
|
||
--with-sasl=/usr/local/lib \
|
||
--with-perl \
|
||
--with-auth=unix \
|
||
--with-dbdir=/usr/local/bdb \
|
||
--with-bdb-libdir=/usr/local/bdb/lib \
|
||
--with-bdb-incdir=/usr/local/bdb/include \
|
||
--with-openssl=/usr/local/ssl \
|
||
--without-ucdsnmp \
|
||
|
||
make depend
|
||
make
|
||
make install</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="STARTUPSCRIPT"
|
||
></A
|
||
>3.4.5. Automatic startup script</H3
|
||
><P
|
||
>If you wish to start the Cyrus IMAP daemon automatically after booting, you need a startup script.
|
||
Place the following script in <TT
|
||
CLASS="FILENAME"
|
||
>/etc/init.d/</TT
|
||
>. For Redhat, it is
|
||
<TT
|
||
CLASS="FILENAME"
|
||
>/etc/rc.d/init.d</TT
|
||
> instead of <TT
|
||
CLASS="FILENAME"
|
||
>/etc/init.d/</TT
|
||
>.</P
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>#!/bin/bash
|
||
#
|
||
# Cyrus startup script
|
||
|
||
case "$1" in
|
||
start)
|
||
# Starting SASL saslauthdaemon
|
||
/usr/local/sbin/saslauthd -c -a pam&
|
||
|
||
# Starting Cyrus IMAP Server
|
||
/usr/cyrus/bin/master &
|
||
;;
|
||
|
||
stop)
|
||
|
||
# Stopping SASL saslauthdaemon
|
||
killall saslauthd
|
||
|
||
# Stopping Cyrus IMAP Server
|
||
killall /usr/cyrus/bin/master
|
||
|
||
;;
|
||
|
||
*)
|
||
echo "Usage: $0 {start|stop}"
|
||
exit 1
|
||
;;
|
||
|
||
esac</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
><P
|
||
>If I get the time, I will provide a more sophisticated script, but this script works.</P
|
||
><P
|
||
>Now create the Symlinks in the runlevel directory (SuSE):</P
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>ln -s /etc/init.d/cyrus /etc/init.d/rc3.d/S20
|
||
ln -s /etc/init.d/cyrus /etc/init.d/rc3.d/K10</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
><P
|
||
>For Redhat:</P
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>ln -s /etc/rc.d/init.d/cyrus /etc/rc.d/rc3.d/S20cyrus
|
||
ln -s /etc/rc.d/init.d/cyrus /etc/rc.d/rc3.d/K10cyrus</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="UPDATE-CYRUS"
|
||
></A
|
||
>3.4.6. Update Cyrus IMAPd</H3
|
||
><P
|
||
>This section describes HOWTO update the IMAPd from version 2.1.x to 2.2.x</P
|
||
><DIV
|
||
CLASS="CAUTION"
|
||
><P
|
||
></P
|
||
><TABLE
|
||
CLASS="CAUTION"
|
||
WIDTH="100%"
|
||
BORDER="0"
|
||
><TR
|
||
><TD
|
||
WIDTH="25"
|
||
ALIGN="CENTER"
|
||
VALIGN="TOP"
|
||
><IMG
|
||
SRC="../images/caution.gif"
|
||
HSPACE="5"
|
||
ALT="Caution"></TD
|
||
><TH
|
||
ALIGN="LEFT"
|
||
VALIGN="CENTER"
|
||
><B
|
||
>Update is critical and can mean complete data loss</B
|
||
></TH
|
||
></TR
|
||
><TR
|
||
><TD
|
||
> </TD
|
||
><TD
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
><P
|
||
>Please test this procedure on a test/pre-production server first. Also have close look to <TT
|
||
CLASS="FILENAME"
|
||
>install-upgrade.html</TT
|
||
> that comes with the cyrus-imapd distribution. Please note, that you shoud plan a downtime for the production server to have the time to solve problems. Also note, that nobody I cannot take responsibility for the update procedure provided here</P
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
><P
|
||
>Cyrus changed the format of the dbd databases used for internal storage of mailboxlist flags etc.</P
|
||
><P
|
||
>A convert script comes with the distribution. The most important database is <TT
|
||
CLASS="FILENAME"
|
||
>/var/imap/mailboxes.db</TT
|
||
>. Without that database cyrus-imapd will NOT run. This requires a backup. Lets do a dump and a backup of the database.</P
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
> /etc/init.d/cyrus stop # be sure no cyrus process is running
|
||
|
||
lsof /var/imap/mailboxes.db # be sure NO process is accessing the mailbox file
|
||
|
||
su - cyrus
|
||
/usr/cyrus/bin/ctl_mboxlist -d > /tmp/mailbox.db.dump
|
||
cp /var/imap/mailboxes.db /var/imap/mailboxes.db.old</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
><P
|
||
>Convert the <TT
|
||
CLASS="FILENAME"
|
||
>/var/imap/mailboxes.db</TT
|
||
>
|
||
|
||
<TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>/usr/cyrus/bin/cvt_cyrusdb /var/imap/mailboxes.db berkeley /var/imap/mailboxes.db.new skiplist
|
||
mv /var/imap/mailboxes.db.new /var/imap/mailboxes.db</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
> </P
|
||
><P
|
||
>Convert all the <20>seen<65> databases:</P
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>find /var/imap/user -name \*.seen -exec /usr/cyrus/bin/cvt_cyrusdb \{\} flat \{\}.new skiplist \; -exec mv \{\}.new \{\} \;</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
><P
|
||
>Converting the sieve scripts</P
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>/usr/local/cyrus-imapd-2.2.3/tools/masssievec /usr/cyrus/bin/sievec</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT2"
|
||
><H2
|
||
CLASS="SECT2"
|
||
><A
|
||
NAME="POSTFIX-INSTALL"
|
||
></A
|
||
>3.5. Getting and installing Postfix</H2
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN374"
|
||
></A
|
||
>3.5.1. Download</H3
|
||
><P
|
||
> Origin-Site: <A
|
||
HREF="http://www.postfix.org/ftp-sites.html"
|
||
TARGET="_top"
|
||
>http://www.postfix.org/ftp-sites.html</A
|
||
>
|
||
</P
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN378"
|
||
></A
|
||
>3.5.2. Creating a User-ID (UID) and Group-ID (GID) for postfix</H3
|
||
><P
|
||
> Before you build and install postfix, be sure to create a <20>postfix<69> and a <20>postdrop<6F> user and group if they do not exist on the system.
|
||
First check for the groups. You can check this by <B
|
||
CLASS="COMMAND"
|
||
>grep postfix /etc/group</B
|
||
> and
|
||
<B
|
||
CLASS="COMMAND"
|
||
>grep maildrop /etc/group</B
|
||
>
|
||
</P
|
||
><P
|
||
> If there are no such groups and users, you just create them. Search for a free numeric UID and GID. In the
|
||
following example I will use UID and GID 33333 for Postfix and 33335 for the maildrop UID and GID. These ID's
|
||
correspond to other documents.
|
||
</P
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>groupadd -g 33333 postfix
|
||
groupadd -g 33335 postdrop
|
||
|
||
useradd -u 33333 -g 33333 -d /dev/null -s /bin/false postfix</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN385"
|
||
></A
|
||
>3.5.3. Building and installing</H3
|
||
><P
|
||
> The following section 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.
|
||
</P
|
||
><DIV
|
||
CLASS="CAUTION"
|
||
><P
|
||
></P
|
||
><TABLE
|
||
CLASS="CAUTION"
|
||
WIDTH="100%"
|
||
BORDER="0"
|
||
><TR
|
||
><TD
|
||
WIDTH="25"
|
||
ALIGN="CENTER"
|
||
VALIGN="TOP"
|
||
><IMG
|
||
SRC="../images/caution.gif"
|
||
HSPACE="5"
|
||
ALT="Caution"></TD
|
||
><TH
|
||
ALIGN="LEFT"
|
||
VALIGN="CENTER"
|
||
><B
|
||
>Old MTA needs to be uninstalled</B
|
||
></TH
|
||
></TR
|
||
><TR
|
||
><TD
|
||
> </TD
|
||
><TD
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
><P
|
||
>It is important that you uninstall any sendmail version from RPM based systems.
|
||
I suggest that you remove sendmail, and install Postfix instead. At least SuSE RPMs need a MTA.
|
||
After installing the Postfix-RPM, just install Postfix over the RPM installation by following the HOWTO.</P
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>tar -xvzf postfix-2.0.19.tar.gz
|
||
|
||
cd postfix-2.0.19
|
||
|
||
make makefiles 'CCARGS=-DHAS_MYSQL \
|
||
-I/usr/local/mysql/include/mysql -DUSE_SASL_AUTH \
|
||
-I/usr/local/include/sasl -I/usr/local/bdb/include' \
|
||
'AUXLIBS=-L/usr/local/mysql/lib/mysql \
|
||
-lmysqlclient -lz -lm -L/usr/local/lib -lsasl2 -L/usr/local/bdb/lib'
|
||
make
|
||
make install</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
><P
|
||
>During <B
|
||
CLASS="COMMAND"
|
||
>make install</B
|
||
> a few question are asked. Just pressing
|
||
<B
|
||
CLASS="KEYCAP"
|
||
>Enter</B
|
||
> should match your needs. For Redhat users it could be useful to
|
||
enter <TT
|
||
CLASS="FILENAME"
|
||
>/usr/local/share/man</TT
|
||
></P
|
||
><P
|
||
>Now you need to create some symbolic links to start Postfix automatically on system startup. The sample is
|
||
for SuSE Linux, please consult your vendors manual for other distributions.</P
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>ln -s /usr/sbin/postfix /etc/init.d/rc3.d/S14postfix
|
||
ln -s /usr/sbin/postfix /etc/init.d/rc3.d/K07postfix</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT2"
|
||
><H2
|
||
CLASS="SECT2"
|
||
><A
|
||
NAME="PAM-INSTALL"
|
||
></A
|
||
>3.6. Getting and installing PAM</H2
|
||
><P
|
||
>PAM is installed by default on almost all Linux distributions. I am not describing how to compile PAM
|
||
by yourself, because it could break your system. Instead, I will describe how to install the package.
|
||
</P
|
||
><P
|
||
> </P
|
||
><P
|
||
>Users of a RPM based distribution can issue the following command:</P
|
||
><P
|
||
> <TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>rpm -i pam-devel.rpm</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
> </P
|
||
><P
|
||
>Debian users can install the devel package with the following command:</P
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>apt-get install libpam0g-dev</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT2"
|
||
><H2
|
||
CLASS="SECT2"
|
||
><A
|
||
NAME="PAM-MYSQL-INSTALL"
|
||
></A
|
||
>3.7. Getting and installing pam_mysql</H2
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN409"
|
||
></A
|
||
>3.7.1. Download</H3
|
||
><P
|
||
>Origin-Site: <A
|
||
HREF="http://sourceforge.net/projects/pam-mysql/"
|
||
TARGET="_top"
|
||
> http://sourceforge.net/projects/pam-mysql/</A
|
||
>
|
||
</P
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN413"
|
||
></A
|
||
>3.7.2. Installing</H3
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>tar -xvzf pam_mysql-0.5.tar.gz
|
||
|
||
cd pam_mysql</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
><P
|
||
>If you have compiled mysql by yourself,
|
||
check the <TT
|
||
CLASS="FILENAME"
|
||
>Makefile</TT
|
||
> and enter the correct path to your mysql libs and add the
|
||
compiler flag <TT
|
||
CLASS="VARNAME"
|
||
>CFLAGS</TT
|
||
> <TT
|
||
CLASS="OPTION"
|
||
>-I/path/to/mysql/include</TT
|
||
>.
|
||
</P
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>ifndef FULL_LINUX_PAM_SOURCE_TREE
|
||
export DYNAMIC=-DPAM_DYNAMIC
|
||
export CC=gcc
|
||
export CFLAGS=-O2 -Dlinux -DLINUX_PAM \
|
||
-ansi -D_POSIX_SOURCE -Wall -Wwrite-strings \
|
||
-Wpointer-arith -Wcast-qual -Wcast-align -Wtraditional \
|
||
-Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline \
|
||
-Wshadow -pedantic -fPIC -I/usr/local/mysql/include
|
||
export MKDIR=mkdir -p
|
||
export LD_D=gcc -shared -Xlinker -x -L/usr/local/mysql/lib/mysql -lz
|
||
endif</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
><P
|
||
>After customizing that file you an go ahead with the pam_mysql compile.</P
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>make
|
||
|
||
cp pam_mysql.so /lib/security
|
||
|
||
[[ ! -d /var/lib/mysql ]] && mkdir /var/lib/mysql
|
||
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT2"
|
||
><H2
|
||
CLASS="SECT2"
|
||
><A
|
||
NAME="WEB-CYRADM-INSTALL"
|
||
></A
|
||
>3.8. Getting and installing Web-cyradm</H2
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN425"
|
||
></A
|
||
>3.8.1. Download</H3
|
||
><P
|
||
> Origin-Site: <A
|
||
HREF="http://www.web-cyradm.org"
|
||
TARGET="_top"
|
||
>http://www.web-cyradm.org</A
|
||
>
|
||
</P
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN429"
|
||
></A
|
||
>3.8.2. Installing</H3
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>cd /usr/local/apache/htdocs
|
||
|
||
tar -xvzf web-cyradm-0.5.4.tar.gz
|
||
|
||
touch /var/log/web-cyradm.log
|
||
chown nobody /var/log/web-cyradm.log</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
><P
|
||
>After unpacking web-cyradm, move it to a place in your webserver's documentroot.</P
|
||
><P
|
||
>Thats all. Now you need to configure the whole bunch of software.</P
|
||
><P
|
||
>Web-cyradm 0.5.4 is considered stable, and was released on 2003-12-05</P
|
||
><P
|
||
>Since web-cyradm uses PEAR for its database abstraction layer, you also need a recent
|
||
copy of PEAR. This is included in recent PHP Versions. I strongly suggest to update PHP
|
||
to 4.3.4, because a lot of important bugs have been fixed.
|
||
</P
|
||
><P
|
||
>A frequent mistake is to forget to touch the logfile and change the owner to the
|
||
Apache UID. This is usually <20>nobody<64> or <20>wwwrun<75>.</P
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="MYSQL-CREATE-DB"
|
||
></A
|
||
>3.8.3. Create the databases and tables</H3
|
||
><P
|
||
>Now we need to create the database and tables for Postfix and Web-cyradm and add a user to the
|
||
database.</P
|
||
><P
|
||
> Web-cyradm comes with several MySQL scripts: <TT
|
||
CLASS="FILENAME"
|
||
>insertuser_mysql.sql</TT
|
||
> and
|
||
<TT
|
||
CLASS="FILENAME"
|
||
>create_mysql.sql</TT
|
||
>.
|
||
The first inserts the Database user to the database <20>mysql<71> and creates the database <20>mail<69>. The
|
||
second creates the required tables and populates the database with an initial admin-user and the
|
||
cyrus user.</P
|
||
><P
|
||
>The other scripts are used for incremental upgrading from older releases.</P
|
||
><P
|
||
>The password for the database user <20>mail<69> in this example is <20>secret<65>. Please insert whatever
|
||
user and password you like.</P
|
||
><P
|
||
>The username for the initial superuser is <20>admin<69> with the password <20>test<73>.</P
|
||
><DIV
|
||
CLASS="CAUTION"
|
||
><P
|
||
></P
|
||
><TABLE
|
||
CLASS="CAUTION"
|
||
WIDTH="100%"
|
||
BORDER="0"
|
||
><TR
|
||
><TD
|
||
WIDTH="25"
|
||
ALIGN="CENTER"
|
||
VALIGN="TOP"
|
||
><IMG
|
||
SRC="../images/caution.gif"
|
||
HSPACE="5"
|
||
ALT="Caution"></TD
|
||
><TH
|
||
ALIGN="LEFT"
|
||
VALIGN="CENTER"
|
||
><B
|
||
>Change the default password!</B
|
||
></TH
|
||
></TR
|
||
><TR
|
||
><TD
|
||
> </TD
|
||
><TD
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
><P
|
||
>If a malicious user wants to gain unauthorized access to a system, the first attempt is always
|
||
the default username and password supplied by the vendor. It is IMPORTANT that you change them
|
||
in the scripts before applying them.</P
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
><P
|
||
>After customizing the username and password, apply the scripts:</P
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>/usr/local/mysql/bin/mysql -u root -p < \
|
||
/usr/local/apache/htdocs/web-cyradm/scripts/insertuser_mysql.sql
|
||
|
||
/usr/local/mysql/bin/mysql mail -u mail -p < \
|
||
/usr/local/apache/htdocs/web-cyradm/scripts/create_mysql.sql</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="WEB-CYRADM-UPDATE"
|
||
></A
|
||
>3.8.4. Upgrading from 0.5.3 to 0.5.4</H3
|
||
><P
|
||
>In version 0.5.4 there is a small database enhancement. You can upgrade your database by
|
||
issuing the MySQL script that comes with the distribution.</P
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>mysql mail -u mail -p < \
|
||
scripts/upgrade-0.5.3-to-0.5.4_mysql.sql</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
><P
|
||
>Since Version 0.5.3 web-cyradm has full support for DES crypted passwords. You can use the php-script
|
||
<TT
|
||
CLASS="FILENAME"
|
||
>migrate.php</TT
|
||
> to convert the users passwords from plain text to unix compatible crypt (DES).</P
|
||
><DIV
|
||
CLASS="CAUTION"
|
||
><P
|
||
></P
|
||
><TABLE
|
||
CLASS="CAUTION"
|
||
WIDTH="100%"
|
||
BORDER="0"
|
||
><TR
|
||
><TD
|
||
WIDTH="25"
|
||
ALIGN="CENTER"
|
||
VALIGN="TOP"
|
||
><IMG
|
||
SRC="../images/caution.gif"
|
||
HSPACE="5"
|
||
ALT="Caution"></TD
|
||
><TH
|
||
ALIGN="LEFT"
|
||
VALIGN="CENTER"
|
||
><B
|
||
>Migration from plain to crypt cannot be undone</B
|
||
></TH
|
||
></TR
|
||
><TR
|
||
><TD
|
||
> </TD
|
||
><TD
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
><P
|
||
>Be sure to have a recent backup of your database before doing anything with the migration script.</P
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="NAVFOOTER"
|
||
><HR
|
||
ALIGN="LEFT"
|
||
WIDTH="100%"><TABLE
|
||
SUMMARY="Footer navigation table"
|
||
WIDTH="100%"
|
||
BORDER="0"
|
||
CELLPADDING="0"
|
||
CELLSPACING="0"
|
||
><TR
|
||
><TD
|
||
WIDTH="33%"
|
||
ALIGN="left"
|
||
VALIGN="top"
|
||
><A
|
||
HREF="tech.html"
|
||
ACCESSKEY="P"
|
||
>Prev</A
|
||
></TD
|
||
><TD
|
||
WIDTH="34%"
|
||
ALIGN="center"
|
||
VALIGN="top"
|
||
><A
|
||
HREF="index.html"
|
||
ACCESSKEY="H"
|
||
>Home</A
|
||
></TD
|
||
><TD
|
||
WIDTH="33%"
|
||
ALIGN="right"
|
||
VALIGN="top"
|
||
><A
|
||
HREF="mysql-config.html"
|
||
ACCESSKEY="N"
|
||
>Next</A
|
||
></TD
|
||
></TR
|
||
><TR
|
||
><TD
|
||
WIDTH="33%"
|
||
ALIGN="left"
|
||
VALIGN="top"
|
||
>Technologies</TD
|
||
><TD
|
||
WIDTH="34%"
|
||
ALIGN="center"
|
||
VALIGN="top"
|
||
> </TD
|
||
><TD
|
||
WIDTH="33%"
|
||
ALIGN="right"
|
||
VALIGN="top"
|
||
>Configuring MySQL</TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
></BODY
|
||
></HTML
|
||
> |