old-www/HOWTO/Apache-WebDAV-LDAP-HOWTO/x153.html

848 lines
12 KiB
HTML

<HTML
><HEAD
><TITLE
>Installation</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
REL="HOME"
TITLE="Apache based WebDAV Server with LDAP and SSL "
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Requirements"
HREF="x123.html"><LINK
REL="NEXT"
TITLE="Configuring and Setting up the
WebDAV services"
HREF="config-webdav.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"
>Apache based WebDAV Server with LDAP and SSL</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="x123.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="config-webdav.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="sect1"
><H1
CLASS="sect1"
><A
NAME="AEN153"
></A
>3. Installation</H1
><P
>First we hve take care of the few pre-requisites, and then we will get into the main installtion.</P
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="AEN156"
></A
>3.1. Pre-requisites</H2
><P
>The application server as we plan to install, requires the SSL libraries and LDAP libraries. SSL engine is also required for managing the SSL certs for Apache 2.x</P
><DIV
CLASS="sect3"
><H3
CLASS="sect3"
><A
NAME="AEN159"
></A
>3.1.1. iPlanet LDAP SDK</H3
><P
>Become root by using the su command:</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
><B
CLASS="command"
>$ su -</B
></PRE
></FONT
></TD
></TR
></TABLE
><P
>Create the <TT
CLASS="filename"
>/usr/local/iplanet-ldap-sdk.5</TT
> directory. Copy the <TT
CLASS="filename"
>ldapcsdk5.08-Linux2.2_x86_glibc_PTH_OPT.OBJ.tar.gz</TT
> form <TT
CLASS="filename"
>/tmp/downloads</TT
> to <TT
CLASS="filename"
>/usr/local/iplanet-ldap-sdk.5</TT
> directory.</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;<B
CLASS="command"
># mkdir /usr/local/iplanet-ldap-sdk.5</B
>
<B
CLASS="command"
># cp /tmp/downloads/ldapcsdk5.08-Linux2.2_x86_glibc_PTH_OPT.OBJ.tar /usr/local/iplanet-ldap-sdk.5</B
>
<B
CLASS="command"
># cd /usr/local/iplanet-ldap-sdk.5</B
>
<B
CLASS="command"
># tar -xvf ldapcsdk5.08-Linux2.2_x86_glibc_PTH_OPT.OBJ.tar</B
>
</PRE
></FONT
></TD
></TR
></TABLE
><P
>Now you should have all the required iPlanet LDAP lib files in the correct directory</P
></DIV
><DIV
CLASS="sect3"
><H3
CLASS="sect3"
><A
NAME="AEN175"
></A
>3.1.2. OpenSSL Engine</H3
><P
>Next we need to install the OpenSSL Engine</P
><P
>OpenSSL is an open source implementation of the SSL/TLS protocol. It is required to create and manage SSL certificates on the webserver. The installion is also necessary for the lib files that will be used by the SSL module for apache.</P
><P
>Change to the directory where you placed the OpenSSL source code files</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
> <B
CLASS="command"
># cd /tmp/download</B
>
<B
CLASS="command"
># gzip -d openssl.x.x.tar.gz</B
>
<B
CLASS="command"
># tar -xvf openssl.x.x.tar</B
>
<B
CLASS="command"
># cd openssl.x.x</B
>
<B
CLASS="command"
># make</B
>
<B
CLASS="command"
># make test</B
>
<B
CLASS="command"
># make install</B
>
</PRE
></FONT
></TD
></TR
></TABLE
><P
>Upon successful completion of the <B
CLASS="command"
>make install</B
> the openssl binaries should reside in <TT
CLASS="filename"
>/usr/local/ssl</TT
></P
></DIV
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="AEN191"
></A
>3.2. mySQL</H2
><P
>Installaing mySQL is quite simple. The downloaded binaries have to be place in appropriate directory.</P
><P
>We start creating a user:group for mysql daemon, and copying the files to appropriate directories.</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
> <B
CLASS="command"
># groupadd mysql</B
>
<B
CLASS="command"
># useradd -g mysql mysql</B
>
<B
CLASS="command"
># cd /usr/local</B
>
<B
CLASS="command"
># gunzip &#60; /path/to/mysql-VERSION-OS.tar.gz | tar xvf - </B
>
<B
CLASS="command"
># ln -s full-path-to-mysql-VERSION-OS mysql</B
>
</PRE
></FONT
></TD
></TR
></TABLE
><P
>Next run the install_db script, and change permission on the files</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
> <B
CLASS="command"
># cd mysql</B
>
<B
CLASS="command"
># scripts/mysql_install_db</B
>
<B
CLASS="command"
># chown -R mysql .</B
>
</PRE
></FONT
></TD
></TR
></TABLE
><DIV
CLASS="sect3"
><H3
CLASS="sect3"
><A
NAME="AEN206"
></A
>3.2.1. Starting mySQL</H3
><P
>Now start the mySQL server to verify the installation</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
> <B
CLASS="command"
># bin/mysqld_safe --user=mysql &#38;</B
>
</PRE
></FONT
></TD
></TR
></TABLE
><P
>Verify mySQL daemon is running, by using the ps -ef command. You should see the following output:</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
><B
CLASS="command"
># ps -ef | grep mysql</B
>
root 3237 1 0 May29 ? 00:00:00 /bin/sh bin/safe_mysqld
mysql 3256 3237 0 May29 ? 00:06:58 /usr/local/mysql/bin/mysqld --defaults-extra-file=/usr/local/mysql/data/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/data/downloa
</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="sect3"
><H3
CLASS="sect3"
><A
NAME="AEN214"
></A
>3.2.2. Stopping mySQL</H3
><P
>To stop the MySQL server, follow the instructions below</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
><B
CLASS="command"
># cd /usr/local/mysql</B
>
<B
CLASS="command"
># ./bin/mysqladmin -u root -p shutdown</B
>
</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="sect3"
><H3
CLASS="sect3"
><A
NAME="AEN220"
></A
>3.2.3. Locating Data Directory</H3
><P
>mySQL deamon stores all the information in a direcory called "Data Directory". If you followed the installation instructions above, your Data Directory should be located under <TT
CLASS="filename"
>/use/local/mysql/data</TT
>.</P
><P
>To locate where your Data Directory is located, use the <B
CLASS="command"
>mysqladmin</B
> utility as follows:</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;<B
CLASS="command"
># /usr/local/mysql/bin/mysqladmin variables -u root --password={your_password} | grep datadir</B
>
</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="AEN228"
></A
>3.3. Apache 2.0</H2
><P
>Start by setting some FLAGS for the compiler</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
><B
CLASS="command"
># export LDFLAGS="-L/usr/local/iplanet-ldap-sdk.5/lib/ -R/usr/local/iplanet-ldap-sdk.5/lib/:/usr/local/lib"</B
>
<B
CLASS="command"
># export CPPFLAGS="-I/usr/local/iplanet-ldap-sdk.5/include"</B
>
</PRE
></FONT
></TD
></TR
></TABLE
><P
>Next UNTAR the apache 2.0 source files, and execute the <TT
CLASS="filename"
>configure</TT
> script.</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
><B
CLASS="command"
># cd /tmp/download</B
>
<B
CLASS="command"
># gzip -d httpd-2.0.46.tar.gz </B
>
<B
CLASS="command"
># tar -xvf httpd-2.0.46.tar</B
>
<B
CLASS="command"
># cd httpd-2.0.46</B
>
<B
CLASS="command"
>#./configure --enable-so --with-ssl --enable-ssl --enable-rewrite --enable-dav</B
>
</PRE
></FONT
></TD
></TR
></TABLE
><P
>Next run the make command</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
><B
CLASS="command"
># make</B
>
<B
CLASS="command"
># make install</B
>
</PRE
></FONT
></TD
></TR
></TABLE
><DIV
CLASS="sect3"
><H3
CLASS="sect3"
><A
NAME="AEN246"
></A
>3.3.1. Starting Apache</H3
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
><B
CLASS="command"
># /usr/local/apache2/bin/apachectl start</B
>
</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="sect3"
><H3
CLASS="sect3"
><A
NAME="AEN250"
></A
>3.3.2. Stopping Apache</H3
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
><B
CLASS="command"
># /usr/local/apache2/bin/apachectl stop</B
>
</PRE
></FONT
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="AEN254"
></A
>3.4. mod_auth_ldap</H2
><P
>Untar modauthldap_apache2.tar.gz</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
><B
CLASS="command"
>cd /tmp/download</B
>
<B
CLASS="command"
># gzip -d modauthldap_apache2.tar.gz</B
>
<B
CLASS="command"
># tar -xvf modauthldap_apache2.tar</B
>
<B
CLASS="command"
># cd modauthldap_apache2</B
>
</PRE
></FONT
></TD
></TR
></TABLE
><P
>Now configure and install mod_auth_ldap</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
><B
CLASS="command"
># ./configure --with-apxs=/usr/local/apache2/bin/apxs --with-ldap-dir=/usr/local/iplanet-ldap-sdk.5/</B
>
<B
CLASS="command"
># make</B
>
<B
CLASS="command"
># make install</B
>
</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="AEN267"
></A
>3.5. CERT DB for LDAPS://</H2
><P
>You will also need to get the cert7.db and key7.db from <A
HREF="http://www.xml-dev.com/xml/key3.db"
TARGET="_top"
>http://www.xml-dev.com/xml/key3.db</A
> and <A
HREF="http://www.xml-dev.com/xml/cert7.db"
TARGET="_top"
>http://www.xml-dev.com/xml/cert7.db</A
> and place it in the <TT
CLASS="filename"
>/usr/local/apache2/sslcert/</TT
>directory.</P
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="AEN273"
></A
>3.6. PHP</H2
><P
>Unzip the PHP Source Files</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
><B
CLASS="command"
>gzip -d php-xxx.tar.gz</B
>
<B
CLASS="command"
>tar -xvf php-xxx.tar</B
>
</PRE
></FONT
></TD
></TR
></TABLE
><P
>Configure and run the make command</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
><B
CLASS="command"
>cd php-xxx</B
>
<B
CLASS="command"
>./configure --with-mysql --with-apxs=/usr/local/apache2/bin/apxs</B
>
</PRE
></FONT
></TD
></TR
></TABLE
><P
>Compile the source code</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
><B
CLASS="command"
># make </B
>
<B
CLASS="command"
># make install</B
>
</PRE
></FONT
></TD
></TR
></TABLE
><P
>Copy the php.ini file to the appropriate directory</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
><B
CLASS="command"
>cp php.ini-dist /usr/local/lib/php.ini</B
>
</PRE
></FONT
></TD
></TR
></TABLE
></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="x123.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="config-webdav.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Requirements</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Configuring and Setting up the
WebDAV services</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>