- initial import
This commit is contained in:
commit
5e60bf4a9a
37 changed files with 2204 additions and 0 deletions
211
INSTALL
Normal file
211
INSTALL
Normal file
|
@ -0,0 +1,211 @@
|
|||
=======================================
|
||||
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::
|
||||
|
||||
<VirtualHost *:80>
|
||||
ServerName davhost.yourdomain.net
|
||||
|
||||
DavLockDb /var/run/apache2/davlock/davhost.yourdomain.net
|
||||
DocumentRoot /var/www
|
||||
|
||||
<Directory /var/www/dav>
|
||||
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
|
||||
</Directory>
|
||||
|
||||
ErrorLog /var/log/apache2/davhost.yourdomain.net_error.log
|
||||
CustomLog /var/log/apache2/davhost.yourdomain.net_access.log combined
|
||||
</VirtualHost>
|
||||
|
||||
|
||||
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::
|
||||
|
||||
<?php
|
||||
/** Data source name. */
|
||||
$dsn = "pgsql:host=localhost port=5432 dbname=mydb";
|
||||
/** Database user. */
|
||||
$dbuser = "myuser";
|
||||
/** Database password. */
|
||||
$dbpass = "secret";
|
||||
?>
|
||||
|
||||
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::
|
||||
|
||||
<?php
|
||||
/** DAV area root directory. */
|
||||
define(DAV_ROOT, '/var/www/dav');
|
||||
|
||||
/** Include the database settings. */
|
||||
include_once('/etc/webdavadmin/dbsettings.inc.php');
|
||||
?>
|
||||
|
||||
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).
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue