This article has been long due from our side since OwnCloud 8 has been released, the product is pretty stable and popular now with the latest stable release of version 8.1.1
Like previous iterations, keeping in mind the small footprint and power of Raspberry Pi we would be using following components:
- Nginx (as Webserver instead of Apache, as it would be faster)
- MySql
- Php 5
So without much ado, let get straight into Business...
Step 1.
Update the repositories
sudo apt-get update
Step 2.
Install MySql
sudo apt-get install mysql-server
Enter a password for root account when prompted, and do remember it :)
Step 3.
Let's now configure the mysql so that it runs better on our tiny resource tight Raspberry Pi
Backup existing config
sudo mv /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
Use a suitable config for Raspberry Pi
sudo cp /usr/share/doc/mysql-server-5.5/examples/my-small.cnf /etc/mysql/my.cnf
Edit the config file
sudo nano /etc/mysql/my.cnf
Find the [mysqld] section of the file and place the following line in it:
query_cache_size = 8M
Step 4.
Now we will connect to the database and created required db objects and users
mysql -u root -p
Execute the following at MySql prompt (change the fields in
red as per your setup)
CREATE DATABASE owncloud;
CREATE USER techjawab@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON owncloud.* TO techjawab@localhost;
FLUSH PRIVILEGES;
exit;
Step 5.
Install Php5 and related libraries
sudo apt-get install php5-mysql openssl ssl-cert php5-cli php5-common php5-cgi php-pear php-apc curl libapr1 libtool php5-curl libcurl4-openssl-dev php-xml-parser php5-dev php5-gd memcached php5-memcache
Step 6.
Install Nginx
sudo apt-get install php5-fpm nginx
Step 7.
Install and configure OwnCloud
Create directories required for owncloud
sudo mkdir -p /var/www/owncloud
cd /var/www/
Download OwnCloud and set permissions
sudo wget https://download.owncloud.org/community/owncloud-8.1.1.tar.bz2
sudo tar -xvf owncloud-8.1.1.tar.bz2
sudo chown -R www-data:www-data /var/www
Create SSL certificates for https connection
sudo mkdir -p /etc/nginx/ssl
sudo openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout /etc/nginx/ssl/owncloud.key -out /etc/nginx/ssl/owncloud.crt
Configure owncloud
Edit the below file and copy - paste the config given below
Note: Remember to edit your domain name or ip under "server_name" field both for http and https
sudo nano /etc/nginx/sites-available/owncloud
Enabling owncloud settings
sudo ln -s /etc/nginx/sites-available/owncloud /etc/nginx/sites-enabled/owncloud
sudo unlink /etc/nginx/sites-enabled/default
Configure Php
FastCGI Process Manager
sudo nano /etc/php5/fpm/php.ini
Set the following values accordingly in the config file, change value for upload directory according to your setup
default_charset = "UTF-8"
upload_max_filesize = 10G
post_max_size = 10G
upload_tmp_dir = /mnt/usbstorage/owncloud/tmp
max_input_time = 360000
#The maximum time in seconds a script is allowed to parse input data.
max_execution_time = 360000
memory_limit = 512M
extension=memcached.so
extension=memcache.so
Restart the services
sudo service nginx restart
sudo service php5-fpm restart
Create directories for owncloud on your mounted external storage
sudo mkdir -p /media/NASDRIVE/owncloud
sudo chown -R www-data:www-data /media/NASDRIVE/owncloud
sudo mkdir -p /media/NASDRIVE/owncloud/tmp
sudo chown -R www-data:www-data /media/NASDRIVE/owncloud/tmp
Step 8.
Open Browser and browse to your domain name or ip address
You would need to setup the following:
- setup admin username / password
- Provide the owncloud storage path created above
- Provide database name, username and password created in step 4, and click "Finish setup"
Viola, you have your "own"cloud up and running now...