OwnCloud is a file sharing platform like DropBox or similar services. They have paid enterprise solutions and free open source offerings. Go to https://owncloud.org/ to learn more about the open source choices. They let you install the system on your own server giving you complete and total control over the files. This is especially good if security is a concern or privacy is needed. I was exploring this solution for a file sharing solution that I didn't have to upload out of the building to send large files to clients.
Server Setup
Install Debian with at least Web Server selected. I installed everything on the list except Print Server and DNS Server.
After getting Debian up and running, (for Debian 7.0) run the following as root:
echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/Debian_7.0/ /' >> /etc/apt/sources.list.d/owncloud.list
apt-get update
apt-get install owncloud
To add the key to apt, do this (not manditory).
wget http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_7.0/Release.key
apt-key add - < Release.key
By default, the files for OwnCloud are placed in /var/www/owncloud. So, if your site was example.com, you would access it through example.com/owncloud.
Not Recommended:
I like to not have the /owncloud in the URL, so I move all the files ../ (don't forget .htaccess!).
Installation Wizard and Configuration
Navigate to the setup wizard web page (example.com/owncloud) of your OwnCloud installation. You will be prompted for username, password and database options.
Some other config happens in the admin menus of OwnCloud. Go to settings/personal to set your admin email address. Next, setup other admin stuff at settings/admin. Here I get an error message about default_charset in php.ini, you can edit the file here /etc/php5/apache2/php.ini. Uncomment the default_charset line to look like this:
; PHP's default character set is set to empty.
; http://php.net/default-charset
default_charset = "UTF-8"
Next, setup the mail server. Its also on the settings/admin page. Populate it with your SMTP settings you use for email. I found it was easier to use another server's SMTP (like gmail) to work easily. (One thing I did not like was the password for your SMTP server is saved as plain text in /var/www/owncloud/config/config.php!!!)
Changing file upload limits. My default install limited uploads to 2Mb. That's not super useful... So, there are 2 things we need to change. First is /etc/php5/apache2/php.ini and the other is /var/www/owncloud/.htaccess. I changed mine to 16G.
Default parameters in /etc/php5/apache2/php.ini
php_value upload_max_filesize 2M
php_value post_max_size 8M
php_value memory_limit 128M
php_value max_input_time 3600
php_value max_execution_time 3600
upload_tmp_dir = /var/big_temp_file/
Default parameters in /var/www/owncloud/.htaccess
php_value upload_max_filesize 513M
php_value post_max_size 513M
php_value memory_limit 512M
Output Buffering must be turned off in .htaccess or .user.ini or php.ini, or PHP will return memory-related errors:
output_buffering = 0
2M
changed /etc/php5/apache2/php.ini to upload_max_filesize=16G
8M
changed /etc/php5/apache2/php.ini to post_max_size=16G
13.7GB
not sure why it isn't 513M?...?
You may distribute a set of default files and folders to all users by placing them in the owncloud/core/skeleton directory on your ownCloud server. These files appear only to new users after their initial login, and existing users will not see files that are added to this directory after their first login. The files in the skeleton directory are copied into the users’ data directories, so they may change and delete the files without affecting the originals.
To integrate with dropbox, log in to your developer page and create a new app with the DropBox API. Add the keys to the admin page on OwnCloud.
https://doc.owncloud.org/server/8.0/admin_manual/installation/linux_installation.html
Apache config file to /etc/apache2/conf.d/owncloud.conf
which contains an Alias
to the owncloud installation directory as well as some more needed configuration options.
because i changed owncloud to the root folder
# Alias /owncloud "/var/www/owncloud/"
<Directory "/var/www">
Options +FollowSymLinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www
SetEnv HTTP_HOME /var/www
</Directory>
<Directory "/var/www/data/">
# just in case if .htaccess gets disabled
Require all denied
</Directory>
todo:
webdav
curl