Owncloud
References
Tools:
- DAVDroid — paid sync app on Android
- Outlook CalDav Synchronizer — Sync Outlook with Google, SOGo, Horde or any other CalDAV server
- Also on GitHub.
- CardDAV-Sync — Another CardDAV sync app for Android (free / paid).
Install
Install packages
From Owncloud page, on Ubuntu:
wget -nv https://download.owncloud.org/download/repositories/stable/xUbuntu_14.04/Release.key -O Release.key
apt-key add - < Release.key
sh -c "echo 'deb http://download.owncloud.org/download/repositories/stable/xUbuntu_14.04/ /' >> /etc/apt/sources.list.d/owncloud.list"
apt-get update
apt-get install owncloud
On Debian 8:
wget -nv https://download.owncloud.org/download/repositories/9.0/Debian_8.0/Release.key -O Release.key
apt-key add - < Release.key
sh -c "echo 'deb http://download.owncloud.org/download/repositories/9.0/Debian_8.0/ /' >> /etc/apt/sources.list.d/owncloud.list"
apt-get update
apt-get install owncloud
Note:
- Installing owncloud-files was not enough. Not sure what are the missing dependencies.
Optional:
- Install php5-imagick to get image preview (but beware of recent vulnerabilities. See Linux security).
Configuration
When installed, Owncloud is available at URL http://localhost/owncloud/. This is configured in apache2 file /etc/apache2/conf-available/owncloud.conf:
Alias /owncloud "/var/www/owncloud/"
<Directory "/var/www/owncloud">
Options +FollowSymLinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/owncloud
SetEnv HTTP_HOME /var/www/owncloud
</Directory>
<Directory "/var/www/owncloud/data/">
# just in case if .htaccess gets disabled
Require all denied
</Directory>
Note that owncloud files /var/www/owncloud are outside the regular http root (i.e. /var/www/html).
Before completing the installation, we first setup a virtual access to allow accessing Owncloud via HTTPS. This is also recommended for remote installs. For this create the file /etc/apache2/sites-available/owncloud.immie.org.conf, with content:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName owncloud.immie.org
DocumentRoot /var/www/html
# Owncloud configuration: see conf-available/owncloud.conf
SSLCertificateFile /etc/ssl/certs/ssl-cert-owncloud.immie.org.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-owncloud.immie.org.key
# ...
</VirtualHost>
</IfModule>
We only list the most relevant settings. Basically we only setup the server name and give the SSL certificates. For now, we leave File:/owncloud as a global alias.
Enable the site:
a2ensite owncloud.immie.org
service apache2 reload
We also need to create a new MySQL user and database for owncloud. This way owncloud will not use MySQL root access.
MYSQL_HISTFILE=/dev/null mysql --user=root -p mysql # You'll need MySQL root user password
CREATE DATABASE owncloud_immie;
GRANT ALL PRIVILEGES ON owncloud_immie.* TO owncloud_immie@localhost IDENTIFIED BY '********************';
quit
Of course, replace ********************
with your own password.
Proceed to the URL https://owncloud.immie.org/owncloud:
- Enter a new admin account user name and password.
- Click on Storage & database
- Keep data folder as is (
/var/www/owncloud/data
). Make sure it is outside web server root. - Select MySQL / MariaDB.
- Enter MySQL user name, password, database name. Keep
localhost
for the DB server name. - Click Finish setup.
Maintenance or Upgrade
When upgrading with apt-get dist-upgrade
, we get the message:
Leaving server in maintenance mode. Please run occ upgrade manually.
See https://doc.owncloud.org/server/9.0/admin_manual/maintenance/upgrade.html
ownCloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Maintenance mode enabled
To upgrade:
cd /var/www/owncloud
sudo -u www-data php occ upgrade
sudo -u www-data php occ status
sudo -u www-data php occ maintenance:mode --off
sudo -u www-data php occ status # Check that server is no longer in maintenance mode
Hardening
See Linux Security.
Contacts App
Contacts is an application that must be installed via the admin account.
To synchronize with other applications, you often require the DAV URL on Owncloud:
- Open your Owncloud account, and go to Contacts application.
- In the bottom left corner, click Settings
- Then click on the chain link icon labelled show URL, and copy the URL.
- The URL is something like
https://owncloud.immie.org/owncloud/remote.php/dav/addressbooks/users/xyz/default/
.
Sync with Thunderbird
Reference: Thunderbird - Synchronize Addressbook
To synchronize with Thunderbird, first install the following extensions:
- SOGO Connector
- Lightning (calendar extension)
Then, in TB,
- click on Address Book to show up the address book window;
- click on File → New → Remote Address Book;
- enter a name;
- enter your DAV URL; and
- select other options as desired (for instance sync period).
Sync with Android
I use the (non-free) application DAVDroid.
To ease setup of the DAVDroid account with Owncloud [1], I configure the well-known URL in Apache. This require that the server responds to addresses
To setup these addresses, add to /etc/apache2/sites-available/owncloud.immie.org.conf:
Redirect 301 /.well-known/carddav /owncloud/remote.php/dav
Redirect 301 /.well-known/caldav /owncloud/remote.php/dav
Now, in DAVDroid, setup the account with:
- Server:
https://owncloud.immie.org
- Owncloud username
- Owncloud password
Sync with Outlook
Use Outlook CalDav Synchronizer to synchronize Outlook contacts with Owncloud.
- In Outlook, go to People pane, and create a new contact folder, for instance named
Owncloud
. - Open menu CalDav Synchronizer → Synchronization profiles.
- Click Add new profile. For Owncloud, we enter the following settings:
- Select profile type Generic CalDAV/CardDAV.
- Enter DAV Url, something like
https://owncloud.immie.org/owncloud/remote.php/dav/addressbooks/users/XYZ/default/
. - Enter username and password.
- Select Synchronize items immediately after change.