OwnCloud
ownCloud is WedDAV-based solution for storing and sharing on-line your data, files, images, video, music, calendars and contacts. You can have your ownCloud instance up and running in 5 minutes with Alpine!
Installation
ownCloud is available from Alpine 2.5 and greater.
Before you start installing anything, make sure you have latest packages available. Make sure you are using a 'http' repository in your /etc/apk/repositories and then run:
apk update
Database
First you have to decide which database to use. Follow one of the below database alternatives.
sqlite
All you need to do is to install the package
apk add owncloud-sqlite
(Still a problem at 2012-11-15)
postgresql
Install the package
apk add owncloud-pgsql
Next thing is to configure and start the database
/etc/init.d/postgresql setup /etc/init.d/postgresql start
Next you need to create a user, and temporary grant CREATEDB privilege.
psql -U postgres CREATE USER mycloud WITH PASSWORD 'test123'; ALTER ROLE mycloud CREATEDB; \q
mysql
Install the package
apk add owncloud-mysql mysql-client
Now configure and start mysql
/etc/init.d/mysql setup /etc/init.d/mysql start /usr/bin/mysql_secure_installation
Follow the wizard to setup passwords etc.
Next you need to create a user, database and set permissions.
mysql -u root -p CREATE DATABASE owncloud; GRANT ALL ON owncloud.* TO 'mycloud'@'localhost' IDENTIFIED BY 'test123'; GRANT ALL ON owncloud.* TO 'mycloud'@'localhost.localdomain' IDENTIFIED BY 'test123'; FLUSH PRIVILEGES; EXIT
mysql-client is not needed anymore. Let's uninstall it:
apk del mysql-client
Webserver
Next thing is to choose, install and configure a webserver. Choose one alternative from below (or setup a webserver of your choise)
lighttpd
Install the package
apk add lighttpd
Make sure you have FastCGI enabled in lighttpd:
Contents of /etc/lighttpd/lighttpd.conf
Start up the webserver
/etc/init.d/lighttpd start
XYZ webserver
You could try installing some other webserver and document it here
- Apache2
- cherokee
- other...
Other
Link owncloud installation to web server directory:
ln -s /usr/share/webapps/owncloud /var/www/localhost/htdocs/owncloud
Other settings
Hardening
Consider adding the following line for additional security to the owncloud configuration file, where the password database is stored:
Contents of /etc/lighttpd/lighttpd.conf
Additional packages
Some large apps, such as texteditor and videoviewer are in separate package:
apk add owncloud-texteditor owncloud-videoviewer
Folder permissions
The web server user needs to have ownership on some dirs. This is fixed by running the following commands:
chown -R lighttpd.lighttpd /etc/owncloud chown -R lighttpd.lighttpd /usr/share/webapps/owncloud/apps chown -R lighttpd.lighttpd /var/lib/owncloud/data
Configure and use ownCloud
Configure
Point your browser at http://<%MY_SERVER_IP%>/owncloud
and follow the on-screen instructions to complete the installation, supplying the database user and password created before.
Hardening postgresql
If you have chosen PGSQL backend, revoke CREATEDB privilege from 'mycloud' user:
psql -U postgres ALTER ROLE mycloud NOCREATEDB; \q
Increase upload size
Default configuration for php is limited to 2Mb file size. You might want to increase that size by editing the /etc/php/php.ini and change the following values to something that suits you:
upload_max_filesize = ?M post_max_size = ?M
Clients
There are clients available for many platforms, Android included:
- http://owncloud.org/sync-clients/ (ownCloud Sync clients)
- http://owncloud.org/support/android/ (Android client)