<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" > <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 < /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 &</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" > <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" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Configuring and Setting up the WebDAV services</TD ></TR ></TABLE ></DIV ></BODY ></HTML >