I want a way to share bookmarks between user accounts across different systems. While I generally achieve this using iCloud for Safari or Sync for Firefox there are some use cases where this is not convenient nor appropriate. ownCloud provides a bookmark sharing service so I thought I would give it a try. This blog post describes my steps setting up ownCloud on a subdomain hosted on Dreamhost. Note the caveats about using ownCloud on Dreamhost in the Dreamhost wiki.
Create The Subdomain
Use the Dreamhost management panel to create a subdomain for the ownCloud site, for example, owncloud.example.com and a Dreamhost user account owncloud-user. The Dreamhost robot creates a web root directory owncloud.example.com in the home directory of owncloud-user.
Set Up The Database
ownCloud can use either SQLite or MySQL as the database. For simple installations you can use SQLite and let ownCloud create the necessary files during installation. However for more complex usage ownCloud can use a MySQL database. I used the Dreamhost MySQL panel to create a database example_owncloud with a database user account example_owncloud_user. The database was given the hostname mysql.owncloud.example.com.
Log into the Dreamhost shared host using ssh:
$ ssh firstname.lastname@example.org
Download the ownCloud tar file into the home directory and check that the calculated md5 hash equals that written in owncloud-5.0.13.tar.bz2.md5.
$ cd ~ $ wget http://download.owncloud.org/community/owncloud-5.0.13.tar.bz2 $ wget http://download.owncloud.org/community/owncloud-5.0.13.tar.bz2.md5 $ md5sum owncloud-5.0.13.tar.bz2 $ cat owncloud-5.0.13.tar.bz2.md5
I then followed the ownCloud installation instructions.
$ tar -xjf owncloud-5.0.13.tar.bz2
Because I wanted my ownCloud site to appear at the URL owncloud.example.com rather than owncloud.example.com/owncloud I deviated from the standard instructions and used the following copy command:
$ cp -r owncloud/* owncloud.systeminterrupt.me/
I did not have to make any changes to the directory permissions.
I then used a browser to access owncloud.example.com and continued the ownCloud setup. As I had created a MySQL database for the ownCloud installation I clicked into the Advanced options after entering the administrator username and password but before clicking Log In.
Customizing The ownCloud Installation
To increase the upload file size and to resolve a warning message about fileinfo.so I created a phprc file. I followed the tips outlined by Evan Tahler and the commenter rpworks and the Dreamhost wiki.
$ cd ~ $ mkdir .php $ mkdir .php/5.3 $ nano ~/.php/5.3/phprc
In the phprc file write:
upload_max_filesize = 100M
post_max_size = 100M
Then I ran:
$ killall -9 php53.cgi
I then logged back into the ownCloud site and checked the administration page to make sure the upload file size had changed and the warning had gone.
Setting Secure Hosting
Using the Dreamhost management panel I enabled the free secure hosting feature for owncloud.example.com. Then I logged back into the admin page for owncloud.example.com and set the Enforce HTTPS option. Use the URL https://owncloud.example.com when you log in. It may take a few minutes for the Dreamhost robot to set up the security certificate. Remember if you use the free secure hosting option you will initially get a browser warning and need to accept the certificate.
Setting Up Users
Once the ownCloud site was functioning I created a standard user account. Initially I could only give the new user administrator permissions. So I logged into that ownCloud standard user account and used the administrator page to create a standard user permission group. I then logged out of the standard user and back into the administrator account and removed administrator permissions from the standard user.
Local ownCloud Client
I then downloaded the ownCloud desktop sync client for Mac and installed it on my Mac.