1. Introduction

The Objective of this document in to Setup a Apache + mySQL + PHP + WebDAV based Web Application Server, that uses LDAP for Authentication. The documentation will also provide details on the encrypting LDAP transactions.

NoteNote:
 

If you encounter any problems installing Apache or any of the modules please feel free to contact me @

1.1. About this document

This document was originally written in 2001. Since then many updates and new additions have been made. Thanks to all the people who submitted updates and corrections.

The XML source of this document is available at http://www.xml-dev.com:8080/cocoon/mount/docbook/Apache-WebDAV-LDAP-HOWTO.xml.

The latest version of the document is available at http://www.xml-dev.com:8080/cocoon/mount/docbook/Apache-WebDAV-LDAP-HOWTO.html.

1.2. Contributions to the document

If you like to contribute to the HOWTO, you can d/l the XML source from http://www.xml-dev.com:8080/cocoon/mount/docbook/Apache-WebDAV-LDAP-HOWTO.xml , and send in the updated source to saqib@seagate.com ALONG WITH YOUR NAME IN THE LIST OF AUTHORS AND REVISION HISTORY :). That makes it easier for me contact the person if there are any updates/corrections. Thanks.

1.3. What is Apache?

The Apache HTTP Server is an open-source HTTP server for modern operating systems including UNIX and Windows NT. It provides HTTP services in sync with the current HTTP standards.

Thei Apache WebServer is available for free download from http://httpd.apache.org/

1.4. What is WebDAV?

WebDAV stands for Web enabled Distributed Authoring and Versioning. It provides a collaborative environment for users to edit/manage files on web-servers. Technically DAV is an extension to the http protocol.

Here is a brief description of the extensions provided by DAV:

Overwrite Protection: Lock and Unlock mechanism to prevent the "lost update problem". DAV protocol support both shared and exclusive locks.

Properties: Metadata (title, subject, creater, etc)

Name-space management: Copy, Rename, Move and Deletion of files

Access Control: Limit access to various resources. Currently DAV assumes access control is already in place, and does not provide strong authentication mechanism.

Versioning: Revision control for the documents. Versioning is not implemented yet.

1.5. What is PHP?

PHP (recursive acronym for "PHP: Hypertext Preprocessor") is a widely-used Open Source general-purpose scripting language that is especially suited for Web development and can be embedded into HTML.

PHP is available from http://www.php.net

1.6. What is mySQL?

MySQL, the most popular Open Source SQL database, is developed, distributed, and supported by MySQL AB

mySQL DB Engine can be downloaded from http://www.mysql.com/

1.7. What do we need?

The tools needed to achieve this objective are:

  1. C Compiler e.g. GCC

  2. Apache 2 Web Server

  3. LDAP Module for Apache

  4. iPlanet LDAP lib files

  5. SSL engine

  6. PHP

  7. mySQL DB Engine

NoteNote:
 

All of these packages are free and are available for download on the net.

1.8. Assumptions

This document assumes that you have the following already installed on your system.

  1. gzip or gunzip - available from http://www.gnu.org

  2. gcc and GNU make - available from http://www.gnu.org