How To Install ownCloud 7 Server and Client on OpenSuse 13.1

Want to support HowtoForge? Become a subscriber!
 
Submitted by howtoforge (Contact Author) (Forums) on Wed, 2014-08-20 20:02. :: Linux | SuSE | Web Server | Apache

How To Install ownCloud 7 Server and Client on OpenSuse 13.1

Version 1.0
Author: Srijan Kishore
Last edited 20/Aug/2014

This document describes how to install and configure ownCloud 7 on OpenSuse 13.1. I will also connect to the ownCloud Server's data with OpenSuse 13.1 Desktop, Ubuntu 14.04 desktop and windows 7 machine. ownCloud provides access to your data through a web interface or WebDAV while providing a platform to easily view, sync and share across devices—all under your control. ownCloud’s open architecture is extensible via a simple but powerful API for applications and plugins and works with any storage.

1 Preliminary Note

This tutorial is based on OpenSuse 13.1 server, so you should set up a basic OpenSuse 13.1 server installation before you continue with this tutorial. The system should have a static IP address. I use 192.168.0.100 as my IP address in this tutorial and server1.example.com as the hostname. Again I have  192.168.0.102 as IP address of OpenSuse Desktop and desktop1.example.com as the hostname, further I have  192.168.0.101 as IP address of Ubuntu 14.04 Desktop and desktop2.example.com as the hostname. I will be using the user=srijan for the installation and configuration in both OpenSuse Desktop and Ubuntu Desktop. I will also show the ownCloud sharing options with windows machine, so I have working Windows 7 machine too.

2 Installation of ownCloud 7

ownCloud is a web application that can store and serve content from a centralized location, much like Dropbox. The difference is that ownCloud 7 allows you to host the serving software on your own machines, taking the trust issues out of putting your personal data someone else's server.

We will first download the release key associated with the ownCloud software:

zypper addrepo http://download.opensuse.org/repositories/isv:ownCloud:community/openSUSE_13.1/isv:ownCloud:community.repo
zypper refresh

Finally, update the package database and install ownCloud:

zypper install owncloud

server1:~ # zypper install owncloud
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: owncloud-7.0.1-8.1.noarch requires php5, but this requirement cannot be provided
  uninstallable providers: php5-5.4.20-1.2.x86_64[openSUSE-13.1-1.10]
                   php5-5.4.20-1.2.i586[repo-oss]
                   php5-5.4.20-1.2.x86_64[repo-oss]
                   php5-5.4.20-12.1.i586[repo-update]
                   php5-5.4.20-16.1.i586[repo-update]
                   php5-5.4.20-21.1.i586[repo-update]
                   php5-5.4.20-4.1.i586[repo-update]
                   php5-5.4.20-8.2.i586[repo-update]
                   php5-5.4.20-12.1.x86_64[repo-update]
                   php5-5.4.20-16.1.x86_64[repo-update]
                   php5-5.4.20-21.1.x86_64[repo-update]
                   php5-5.4.20-4.1.x86_64[repo-update]
                   php5-5.4.20-8.2.x86_64[repo-update]
 Solution 1: deinstallation of patterns-openSUSE-minimal_base-conflicts-13.1-13.6.1.x86_64
 Solution 2: do not install owncloud-7.0.1-8.1.noarch
 Solution 3: do not install owncloud-7.0.1-8.1.noarch
 Solution 4: break owncloud-7.0.1-8.1.noarch by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/3/4/c] (c): <--1

ownCloud will install Apache2 with its dependency, if it doesn't get installed automatically manually install apache2:

zypper install apache2

Apache must restart at every boot so we will add it as:

systemctl enable apache2.service
systemctl start apache2.service

Further we need to allow SELINUX with apache at http and https as follows:

yast2

Goto Security and Users --> Firewall Settings:

Click to enlarge


Then goto Allowed Services:

Click to enlarge


Add two services of apache2 in External Zone i.e. HTTP Server and HTTPS Server in the allowed services for firewall:



Click to enlarge


Click to enlarge


After adding the services exit yast2.

3 ownCloud 7 configuration on OpenSuse 13.1

Further we need to install Mariadb to get ownCloud in functionality, usually it gets installed as a dependency of ownCloud. But if it is not installed, then we need to install it as follows:

zypper install mariadb

systemctl enable mysql.service
systemctl start mysql.service

We will be configuring our ownCloud server to take advantage of the more robust MySQL database instead of the SQLite default implementation. To do so, we must configure MySQL first as:

mysql_secure_installation

[
server1:~ # mysql_secure_installation
/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): <--ENTER
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] <--ENTER
New password: <--mariadbpassword
Re-enter new password: <--mariadbpassword
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n]  <--ENTER
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] <--ENTER
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] <--ENTER
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] <--ENTER
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!
server1:~ #

Now moving towards the Mysql prompt:

mysql -u root -p

Put the Mysql password which you selected before, & create a database for ownCloud in Mysql prompt:

CREATE DATABASE owncloud;

Assign privileges to a new MySQL user to handle database operations for ownCloud:

GRANT ALL ON owncloud.* to 'owncloud'@'localhost' IDENTIFIED BY 'database_password';

exit

Now we need to enable php5 for apache2 and following settings  as follows:

 a2enmod php5

vi /srv/www/htdocs/owncloud/.htaccess

Options +FollowSymLinks
[...]

Now, if you go to your IP address or domain name followed by "/owncloud" in your browser, you will see a page that looks like this:

Click to enlarge

Click on Storage & database:

Click to enlarge


Now select MySQL/MariaDB and create an admin account as in my case I have chosen owncloud as my admin account and a desired password for that user:

Click to enlarge


In the lower tab below the MySQL/MariaDB give the entry of the username=owncloud password=database_password databasename=owncloud.

Then press Finish setup.

Click to enlarge


Click to enlarge

4 Mounting the ownCloud 7 share with OpenSuse 13.1 Desktop

We can mount ownCloud-7 share with the OpenSuse 13.1 Desktop through owncloud-client installation. For this run I am running all the commands with the user=srijan in my OpenSuse desktop with desktop1.example.com:

sudo zypper addrepo http://download.opensuse.org/repositories/isv:ownCloud:desktop/openSUSE_13.1/isv:ownCloud:desktop.repo
sudo zypper refresh
sudo zypper install owncloud-client

Check this link if your OpenSuse Desktop version differs and add your appropriate repository.

Next we need to configure the ownCloud-client as per our OpenSuse ownCloud-server share. Open the ownclient-client:

Click to enlarge


Put the Server Address as 192.168.0.100/owncloud:

Click to enlarge


If you have used http then you will get the warning, just press Yes as my connection was not https:

Click to enlarge


Put the credentials as in my case it was Username=owncloud and password=database_password:

Click to enlarge


Press Connect:

Click to enlarge


It will connect your system with the OpneSuse server share and the shared data will get synced.

Click to enlarge



5 Mounting the ownCloud 7 share with Ubuntu 14.04 Desktop

We can mount the shared point with the other machines, here I will show you the way to process to moint it through WebDAV tools in another Ubuntu Desktop machine. There are two methods to use ownCloud 7 as a client in Ubuntu Desktop.

  • Manual mount by giving entries installing davfs2
  • By installing ownCloud 7 client

I will explain both of them, you can use any of them to mount.

5.1 Manual mount through davfs2

I am running the command on my second machine desktop2.example.com:

sudo apt-get update

sudo apt-get install davfs2

We will allow non-root users to mount and unmount the WebDAV shares by typing:

sudo dpkg-reconfigure davfs2

Should unprivileged users be allowed to mount WebDAV resources? <--Yes

Moving ahead I will be adding my username=srijan to WebDAV group:

 sudo usermod -aG davfs2 srijan

We want to make the permanent mount point in desktop2.example.com, so I will give the following entries in the /etc/fstab:

sudo vi /etc/fstab

[...]
192.168.0.100/owncloud/remote.php/webdav /home/srijan/owncloud davfs user,rw,noauto 0 0

Now in user=srijan's home drive I will create directories, one to mount the share point and another to hold the configurations details:

mkdir ~/owncloud

 mkdir ~/.davfs2

Further create a file as:

vi ~/.davfs2/secrets

192.168.0.100/owncloud/remote.php/webdav owncloud database_password

Ensure that the file is writable by only you by using the file manager or by issuing the following command:

chmod 600 ~/.davfs2/secrets

Now we will mount it as follows:

mount owncloud/

srijan@desktop2:~$ sudo mount owncloud/
Please enter the username to authenticate with server
192.168.0.100/owncloud/remote.php/webdav/ or hit enter for none.
  Username: owncloud
Please enter the password to authenticate user owncloud with server
192.168.0.100/owncloud/remote.php/webdav/ or hit enter for none.
  Password:  database_password
srijan@desktop2:~$


Note: The given credentials will be used further, so please take a note of it:

Username: owncloud
Password: database_password


Further if you find any permissions error in the folder then change the folder permission as owner of the user:

chown -R srijan:srijan owncloud/

To automatically mount the folder on login at desktop2.example.com, add the mount ~/owncloud command to the ~/.bashrc file.

vi ~/.bashrc

[...]
mount ~/owncloud

After mounting successfully you can get some error Resource temporarily unavailable and Certificate warnings then it can be removed as follows:

  • For Resource temporarily unavailable:

vi /etc/davfs2/davfs2.conf

[...]
use_locks 0
  • For Certificate warnings:

If you use a self-signed certificate, you will get a warning. If you are willing to take the risk of a man in the middle attack, run this command instead:

echo "y" | mount ~/owncloud > /dev/null 2>&1

5.2 ownCloud 7 client installation by ownCloud 

Open link and select the distribution Ubuntu 14.04, further in your Ubuntu Desktop put the commands:

cd /tmp
wgethttp://download.opensuse.org/repositories/isv:ownCloud:desktop/xUbuntu_14.04/Release.key
sudo apt-key add - < Release.key 

sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/xUbuntu_14.04/ /' >> /etc/apt/sources.list.d/owncloud-client.list"
sudo apt-get update
sudo apt-get install owncloud-client

It will install ownCloud-client in the Ubuntu 14.04 Desktop. Thats it open ownCloud-client

Click to enlarge


Put the server path as 192.168.0.100/owncloud and then put your credentials of username=owncloud  and password=database_password

Click to enlarge


Further if you are using it without https then you can ignore the error and move ahead:

Click to enlarge


Again:

Click to enlarge


Then it will map the ownCloud with your dekstop:

Click to enlarge


And then finally all data will get synced:

Click to enlarge


6 Mounting the ownCloud 7 share with Windows 7

We can access the data from ownCloud 7 server on a window machine also. There are many methods to this, you can check this link for them. I will explain two of them.

  1. I will be using the ownCloud clients for that. Open link and download the windows client from here

Simply install the client and it will work for you.

Click to enlarge

Enter the details http://192.168.0.100/owncloud:

Click to enlarge


Again give your credentials(  user=owncloud and password=database_password) which we have settup while installing the ownCloud 7 and the window will appear:

Click to enlarge

You can open the local folder to access the files locally.

  1. Cyberduck ver 4.5.

There is another method to access the ownCloud 7 server. I will be using Cyberduck for that. For this you need to install it from this URL.

Download the installer and install it simply by doing next --next.

Click to enlarge

Cyberduck has a very nice user interface.

Click to enlarge

Enter the credentials & connect 192.168.0.100/owncloud/remote.php/webdav with user=owncloud and password=database_password:

Click to enlarge

Give the credentials and it will connect.

Click to enlarge

 

7 Links


Please do not use the comment function to ask for help! If you need help, please use our forum.
Comments will be published after administrator approval.