ownCloud workarounds

Considering latest Google Chrome’s bugs with Tweetdeck, which I use a lot, I decided to switch back (until next time) to Mozilla Firefox. That was anyway a move I wanted to do as Google is gaining too much knowledge about me…

While restoring my various logins and passwords on Firefox, I leaned about Firefox Sync, but most of all, about the ability to run my own Sync server.

While there’s a good official documentation on how to achieve this, I heard that ownCloud has a plugin for that. And as I wanted to give that software a serious try for a couple of months, that was the way to go.

ownCloud installation is pretty straightforward, but as soon as I created the first (Admin) user, I’ve been bitten by a bug: The login screen had a redirect loop to itself. Reading many bug reports about this, I finally understood that ownCloud does not cope well with HTTP Basic Authentication. Thing is, my ownCloud instance is running as a subdirectory of a private HTTPS section of my server, protected with a password. The workaround consists in adding:

to ownCloud’s .htaccess file.

Regarding sessions, do not forget to set the session.save_path variable to a directory which is writable by PHP, either apache’s UID if you’re running mod_php or PHP-FPM’s UID.

Another misbehavior I experienced was related to the way my website is hosted. The website you’re reading has an nginx reverse proxy in front of it, and that reverse proxy is actually an SSL termination. i.e. ownCloud has no clue it is visited using HTTPS, and that caused many glitches, especially with Mozilla Sync, which is the reason why I began all of this work.

A simple workaround consists in adding the following directive to ownCloud’s htaccess:

in order to inform PHP that the client is actually using HTTPS.

The last bug is known and (apparently) fixed in ownCloud-6 branch: The admin panel will complain about WebDAV being broken (“Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken”), which is actually untrue, there’s a closed ticket about ownCloud behavior when behind a reverse proxy.

FYI, the ownCloud instance is running on NetBSD, and is rendered by Apache 2.4 and PHP 5.4.