Mainly for future reference here is a short summary of what to do for setting up owncloud on Debian with the (awesome) Hiawatha webserver instead of Apache. This is work in progress, since some adjustments needed to be made to Hiawatha and the new version is just a beta. So far everything is working quite nice, except the mirall syncing client, which connects, but doesnt sync.
/*setting up the testserver */
# dpkg-reconfigure tzdata
/* seems like the mirall client doesnt like to sync across timezones */
# vi /etc/apt/sources.list
deb http://ftp.de.debian.org/debian/ squeeze main
deb http://security.debian.org/ squeeze/updates main
deb http://ftp.de.debian.org/debian/ squeeze-proposed-updates main
# hiawatha from source needs newer cmake than provided by squeeze
deb http://backports.debian.org/debian-backports squeeze-backports main
# apt-get update
# apt-get purge apache2* bind9 sendmail samba xinetd
/* although installing Debian minimal I tend to find stuff I dont want on the vserver */
# apt-get install nano rcconf elinks
/* replace standard editor, optional; gui for runlevel config */
# apt-get dist-upgrade
tl,dr: apt-get update && apt-get install nano rcconf elinks && apt-get purge apache2* bind9 sendmail samba xinetd && apt-get dist-upgrade
/* setting up hiawatha from source */
# cd /tmp
# apt-get install -t squeeze-backports cmake
# apt-get install gcc libc6-dev dpkg-dev debhelper fakeroot libxml2-dev libxslt1-dev zlib1g-dev
# wget http://www.leisink.org/hiawatha-8.2.tar.gz
# tar xfv hiawatha-8.2.tar.gz
# sh ./hiawatha-8.2/extra/make_debian_package
# dpkg -i hiawatha-8.2/hiawatha_8.2_i386.deb
tl,dr: cd /tmp && apt-get install -t squeeze-backports cmake && apt-get install gcc libc6-dev dpkg-dev debhelper fakeroot libxml2-dev libxslt1-dev zlib1g-dev && wget http://www.leisink.org/hiawatha-8.2.tar.gz && tar xfv hiawatha-8.2.tar.gz && sh ./hiawatha-8.2/extra/make_debian_package && dpkg -i hiawatha-8.2/hiawatha_8.2_i386.deb
/* configuring hiawatha */
# apt-get install php5-cgi fcgiwrap
# nano /etc/hiawatha/hiawatha.conf
/* only changed lines listed */
ServerId = www-data
Binding {
MaxRequestSize = 1000000 #replaces upload_max_filesize in .htaccess
}
CGIhandler = /usr/bin/php-cgi:php
FastCGIserver {
FastCGIid = PHP5
ConnectTo = 127.0.0.1:2005
Extension = php
}
VirtualHost {
Hostname = owncloud.example.org
WebsiteRoot = /var/www/owncloud
StartFile = index.php
AccessLogfile = /var/log/hiawatha/oc.access.log
ErrorLogfile = /var/log/hiawatha/oc.error.log
ExecuteCGI = yes
WebDAVapp = yes
ErrorHandler = 404:/core/templates/404.php
TimeForCGI = 864000 #prevents download timeout
}
Directory {
Path = /var/www/owncloud/data
AccessList = deny all
ShowIndex = no
}
# nano /etc/hiawatha/php-fcgi.conf
/* only changed lines listed */
Server = /usr/bin/php5-cgi ; 3 ; 127.0.0.1:2005 ; www-data ; /etc/php5/cgi/php.ini
# nano /etc/php5/cgi/php.ini
cgi.fix_pathinfo=0
cgi.rfc2616_headers = 1
# echo “<?php phpinfo( ); ?>” > /var/www/hiawatha/test.php
/* optional /etc/init.d/hiawatha restart && elinks http://example.org/test.php */
/* setting up owncloud */
# wget http://owncloud.org/releases/owncloud-3.0.2.tar.bz2
# tar xfv owncloud-3.0.2.tar.bz2
# cp -r owncloud /var/www
# nano /var/www/owncloud/3rdparty/Sabre/HTTP/Response.php
/* line 93 needs to be changed */
return header(“Status: “.$this->getStatusMessage($code));
# chown -R www-data:www-data /var/www/owncloud/
# apt-get install php5 php5-sqlite php5-json php5-gd curl libcurl3 libcurl3-dev php5-curl zip
tl,dr: wget http://owncloud.org/releases/owncloud-3.0.2.tar.bz2 && tar xfv owncloud-3.0.2.tar.bz2 && cp -r owncloud /var/www && chown -R www-data:www-data /var/www/owncloud/ && apt-get install php5 php5-sqlite php5-json php5-gd curl libcurl3 libcurl3-dev php5-curl zip
# /etc/init.d/hiawatha restart
Now the basics should be set up and one might continue with finetuning, testing and bugreporting.