======================================= WebDAVAdmin installation instructions ======================================= :Author: Jan Dittberner :Contact: jan@dittberner.info :Version: 0.1 :Revision: $Revision$ :Date: $Date$ :Copyright: Copyright (C) 2007 Jan Dittberner .. contents:: Unpack WebDAVAdmin ================== 1. unpack the WebDAVAdmin distribution file somewhere:: cd ~/tmp/ tar xjf webdavadmin-0.1.tar.bz2 ``~/tmp/`` is just an example to be able to reference it in these installation instructions Setup PostgreSQL and your database ================================== 1. Install PostgreSQL by the means of your operating system. For Debian GNU/Linux 4.0 Etch execute:: sudo aptitude install postgresql-8.1 2. Switch to user postgres:: sudo su - postgres and 1) create a user for WebDAVAdmin:: createuser -SDRP myuser when prompted type the password for the database user twice 2) create a database:: createdb --owner=myuser --encoding=UTF-8 mydb 3) exit the postgres shell You may skip theese steps if you want to use an existing database 3. Import the schema for WebDAVAdmin:: psql -h localhost -U myuser mydb < ~/tmp/webdavadmin-0.1/setup/schema.sql when prompted type the password for your database user. Setup Apache ============ 1. Install, enable and configure apache and the apache modules - mod_dav - mod_dav_fs - mod_auth_pgsql - libphp5 by the means of your operating system vendor. For Debian GNU/Linux 4.0 Etch this means [1]_:: sudo aptitude install apache2-mpm-prefork libapache2-mod-php5 libapache2-mod-auth-pgsql sudo a2enmod php5 sudo a2enmod auth_pgsql sudo a2enmod dav sudo a2enmod dav_fs .. [1] if you don't want to use ``sudo`` you may also switch to root. 2. Configure a VirtualHost to use WebDAV and PostgreSQL authentication, this VirtualHost configuration could look like:: ServerName davhost.yourdomain.net DavLockDb /var/run/apache2/davlock/davhost.yourdomain.net DocumentRoot /var/www Options Indexes Order allow,deny allow from all Dav on # Authentication/Authorization AuthType Basic AuthName "WebDAVAdmin example" AuthBasicAuthoritative Off AuthUserFile /etc/apache2/auth/davhost.yourdomain.net.passwd Auth_PG_host localhost Auth_PG_port 5432 Auth_PG_user myuser Auth_PG_pwd secret Auth_PG_database mydb Auth_PG_pwd_table dav_password Auth_PG_uid_field username Auth_PG_pwd_field password Auth_PG_grp_table dav_group Auth_PG_grp_user_field username Auth_PG_grp_group_field groupname Auth_PG_hash_type MD5 #Auth_PG_log_table dav_log #Auth_PG_log_uname_field username #Auth_PG_log_date_field reqdate #Auth_PG_log_uri_field uri #Auth_PG_log_addrs_field ipaddr Auth_PG_authoritative on require group davroot ErrorLog /var/log/apache2/davhost.yourdomain.net_error.log CustomLog /var/log/apache2/davhost.yourdomain.net_access.log combined The directory specified for ``DavLockDb`` must be writable for the user your apache processes run as. The ``AuthUserFile`` is specified as a fallback if your PostgreSQL database is not available. Install required php modules and classes ======================================== WebDAVAdmin needs Smarty and a PostgreSQL PDO driver for PHP5. To install these requirements perform the following step:: sudo aptitude install smarty php5-pgsql on operating systems other then Debian GNU/Linux consult your system documentation. Copy WebDAVAdmin files ====================== 2. create a new document root directory or a subdirectory inside an existing one 3. create a subdirectory which you'll later use for WebDAVAdmin:: mkdir /var/www/dav 4. copy the admin subdirectory of the unpacked webdavadmin distribution file to the directory just created:: cp -R webdavadmin-0.1/admin /var/www/dav/ 5. set the filesystem permissions of the dav directory to allow the user apache is running as to write to the directory Configure WebDAVAdmin ===================== The WebDAVAdmin distribution contains a directory ``config`` with configuration templates that you need to customize for your environment. 1. ``dbsettings.inc.php`` This file contains the settings for your database connection. The file should be placed outside the document root for security reasons. A customized version of this file may look like:: 2. ``config.inc.php`` This file contains the absolute path to your WebDAVAdmin installation and to your ``dbsettings.inc.php``. A customized version of this file could be:: After adapting the contents to your environment put this file into your WebDAVAdmin directory. For example:: cp config.inc.php /var/www/dav/admin/ Be sure to make the subdirectory templates_c of your WebDAVAdmin directory writable for your apache user [2]_. .. [2] you could use chown, chmod and/or ACLs to perform this task Now you should be able to use your installation of WebDAVAdmin by opening the URL http://davhost.yourdomain.net/dav/admin/ (if you just followed this instructions).