Difference between revisions of "OwnCloud"

From SME Server
Jump to navigationJump to search
m (LDAP page change)
(Added user feedback and reformat page)
Line 1: Line 1:
ownCloud ( http://owncloud.org/ ) let's you create your own cloud-server, heavily based on WebDAV which is included. No need to follow any other How-to.
 
 
 
{{Level|Medium}}
 
{{Level|Medium}}
  
Version 4.5.4. works out of the box on SME8
+
==About==
 +
ownCloud ( http://owncloud.org )gives you universal access to your files through a web interface or WebDAV. It also provides a platform to easily view & sync your contacts, calendars and bookmarks across all your devices and enables basic editing right on the web. Installation has minimal server requirements, doesn’t need special permissions and is quick. ownCloud is extendable via a simple but powerful API for applications and plugins. Version 4.5.4. works out of the box on SME8
  
  
Quick test install:
+
==Quick install==
 
 
 
1. Download the latest version from here http://owncloud.org/releases/
 
1. Download the latest version from here http://owncloud.org/releases/
  
2. Create an iBay and extract ownCloud into the html directory of the new iBay
+
2. Create an iBay and extract ownCloud into the html directory of the new iBay (in this example called 'owncloud')
  
3. Set the openbasedir for the iBay to include /tmp
+
3. Set proper iBay settings through console:
 +
<nowiki>db accounts owncloud setprop \
 +
AllowOverride All \
 +
FollowSymLinks enabled \
 +
Group www \
 +
PHPBaseDir /home/e-smith/files/ibays/owncloud/:/tmp/ \
 +
PublicAccess global \
 +
UserAccess wr-group-rd-everyone
 +
</nowiki>
  
 
4. Create a new database in MySQL, grant persmissions, set password and flush  
 
4. Create a new database in MySQL, grant persmissions, set password and flush  
Line 19: Line 25:
  
  
For ldap authentication (tested with ownCloud v4.5.4):
 
 
1. log in as admin who installed owncloud
 
 
2. go to apps and enable ldap authentication backend
 
  
3. go to admin, ldap section
+
==Optional==
 +
===User login and permissions===
 +
owncloud provides several ways for users to login/authenticate. Next to the internal user authentication of owncloud, you can authenticate SME users:
  
4. use below settings:
 
  
 +
====LDAP Authentication====
 +
Configure owncloud to authenticate against the internal SME OpenLDAP server (all SME users)
  
Host: localhost
+
* log into your owncloud webapp as admin who installed owncloud
 +
* go to apps and enable ldap authentication backend
 +
* go to admin, ldap section and use below settings
  
 +
<nowiki>Host: localhost
 
Base DN: dc=[yourdomain],dc=[com] (as seen in the 'domains' section in SME server manager)
 
Base DN: dc=[yourdomain],dc=[com] (as seen in the 'domains' section in SME server manager)
 
 
User DN: uid=admin,ou=Users,dc=[yourdomain],dc=[com]
 
User DN: uid=admin,ou=Users,dc=[yourdomain],dc=[com]
 
 
Password: [SME admin password]
 
Password: [SME admin password]
 
 
User Login Filter: uid=%uid
 
User Login Filter: uid=%uid
 +
User List Filter: objectClass=person</nowiki>
  
User List Filter: objectClass=person
+
For the variables between brackets [], use your specific settings. Test creating a specific user and use that username password opposed to using the admin's credentials.
 +
For more info on using SME OpenLDAP for authentication please see: http://wiki.contribs.org/LDAP_Authentication
  
For the variables between brackets [], use your specific settings. Test creating a specific user and use that username password opposed to using the admin's credentials.
 
  
 +
====IMAP Authentication====
 +
Configure owncloud to authenticate against an IMAP server
 +
=====Enable and Configure IMAP Authentication=====
 +
# Login to your running owncloud configuration as an administrator
 +
# Enable the app named "External user support" <br />Note: "External user support" is included with owncloud as an "Internal app".  There is an older add-on app named "IMAP user backend" that did not work for me.
 +
# Edit <owncloud>/config/config.php and insert the text below inside the $CONFIG array
 +
#* in front of the last closing parenthesis in the file (make sure there's a comma at the end of the preceding entry)
 +
#* Replace "mail.mydomain.tld" with your mail server name or IP address
 +
#* Remove "/novalidate-cert" if your chosen mail server uses a signed SSL certificate):
 +
<nowiki>  'user_backends' =>
 +
  array (
 +
    0 =>
 +
    array (
 +
      'class' => 'OC_User_IMAP',
 +
      'arguments' =>
 +
      array (
 +
        0 => '{mail.mydomain.tld:993/imap/ssl/novalidate-cert}',
 +
      ),
 +
    ),
 +
  ),</nowiki>
  
For more info on using SME OpenLDAP for authentication please see: http://wiki.contribs.org/LDAP_Authentication
+
When done, users will be able to login to your owncloud web interface using their mail server username and password. 
 +
More information can be found here: http://owncloud.org/support/custom-user-configuration/
  
 +
=====Problems=====
 +
* Users who login using IMAP Authentication are not automatically added to the owncloud "oc_users" table.  Consequently, they are not offered as options when other users want to share files with them.
 +
*  IMAP authenticated users will be unable to connect using the owncloud client sync program.
 +
* If your IMAP server allows alternative username syntax, owncloud will create a separate account for each username format that allows successful authentication. That is, if your IMAP server allows users to optionally include or omit the domain name, you might create a user account entry for "xyzuser@mail.mydomain.tld", then find that the user always logs in using simply "xyzuser", which succeeds during the IMAP authentication, but is a different account within owncloud.
  
 +
=====Allow Sharing with IMAP Users=====
 +
To allow sharing with your IMAP users, you need to manually add the each IMAP user account to the oc_users table using commands like those below at a shell prompt on your SME server:
 +
mysql owncloud
 +
insert into oc_users (uid,password) values ('xyzuser@mail.mydomain.tld','*');
 +
* '''owncloud''': replace with the name of the database you created for owncloud
 +
* '''xyzuser@mail.mydomain.tld''': replace with the exact login string used by the user when they login
  
Note 1: ownCloud may complain about not able to access iBay. 'chown -R www:www html' within the iBay (see: http://wiki.contribs.org/Talk:OwnCloud )
+
=====Using the Owncloud Client=====
 +
In order for an IMAP-authenticated user to configure the owncloud client sync program, s/he must:
 +
* login to the web interface
 +
* open his/her personal settings
 +
* "change" the password in owncloud to match the password on the IMAP server.
  
 
----
 
----

Revision as of 03:58, 7 December 2012

PythonIcon.png Skill level: Medium
The instructions on this page require a basic knowledge of linux.


About

ownCloud ( http://owncloud.org )gives you universal access to your files through a web interface or WebDAV. It also provides a platform to easily view & sync your contacts, calendars and bookmarks across all your devices and enables basic editing right on the web. Installation has minimal server requirements, doesn’t need special permissions and is quick. ownCloud is extendable via a simple but powerful API for applications and plugins. Version 4.5.4. works out of the box on SME8


Quick install

1. Download the latest version from here http://owncloud.org/releases/

2. Create an iBay and extract ownCloud into the html directory of the new iBay (in this example called 'owncloud')

3. Set proper iBay settings through console:

db accounts owncloud setprop \
AllowOverride All \
FollowSymLinks enabled \
Group www \
PHPBaseDir /home/e-smith/files/ibays/owncloud/:/tmp/ \
PublicAccess global \
UserAccess wr-group-rd-everyone

4. Create a new database in MySQL, grant persmissions, set password and flush

5. Browse to http://yourserver/youriBay and follow install script


Optional

User login and permissions

owncloud provides several ways for users to login/authenticate. Next to the internal user authentication of owncloud, you can authenticate SME users:


LDAP Authentication

Configure owncloud to authenticate against the internal SME OpenLDAP server (all SME users)

  • log into your owncloud webapp as admin who installed owncloud
  • go to apps and enable ldap authentication backend
  • go to admin, ldap section and use below settings
Host: localhost
Base DN: dc=[yourdomain],dc=[com] (as seen in the 'domains' section in SME server manager)
User DN: uid=admin,ou=Users,dc=[yourdomain],dc=[com]
Password: [SME admin password]
User Login Filter: uid=%uid
User List Filter: objectClass=person

For the variables between brackets [], use your specific settings. Test creating a specific user and use that username password opposed to using the admin's credentials. For more info on using SME OpenLDAP for authentication please see: http://wiki.contribs.org/LDAP_Authentication


IMAP Authentication

Configure owncloud to authenticate against an IMAP server

Enable and Configure IMAP Authentication
  1. Login to your running owncloud configuration as an administrator
  2. Enable the app named "External user support"
    Note: "External user support" is included with owncloud as an "Internal app". There is an older add-on app named "IMAP user backend" that did not work for me.
  3. Edit <owncloud>/config/config.php and insert the text below inside the $CONFIG array
    • in front of the last closing parenthesis in the file (make sure there's a comma at the end of the preceding entry)
    • Replace "mail.mydomain.tld" with your mail server name or IP address
    • Remove "/novalidate-cert" if your chosen mail server uses a signed SSL certificate):
  'user_backends' => 
  array (
    0 => 
    array (
      'class' => 'OC_User_IMAP',
      'arguments' => 
      array (
        0 => '{mail.mydomain.tld:993/imap/ssl/novalidate-cert}',
      ),
    ),
  ),

When done, users will be able to login to your owncloud web interface using their mail server username and password. More information can be found here: http://owncloud.org/support/custom-user-configuration/

Problems
  • Users who login using IMAP Authentication are not automatically added to the owncloud "oc_users" table. Consequently, they are not offered as options when other users want to share files with them.
  • IMAP authenticated users will be unable to connect using the owncloud client sync program.
  • If your IMAP server allows alternative username syntax, owncloud will create a separate account for each username format that allows successful authentication. That is, if your IMAP server allows users to optionally include or omit the domain name, you might create a user account entry for "xyzuser@mail.mydomain.tld", then find that the user always logs in using simply "xyzuser", which succeeds during the IMAP authentication, but is a different account within owncloud.
Allow Sharing with IMAP Users

To allow sharing with your IMAP users, you need to manually add the each IMAP user account to the oc_users table using commands like those below at a shell prompt on your SME server:

mysql owncloud
insert into oc_users (uid,password) values ('xyzuser@mail.mydomain.tld','*');
  • owncloud: replace with the name of the database you created for owncloud
  • xyzuser@mail.mydomain.tld: replace with the exact login string used by the user when they login
Using the Owncloud Client

In order for an IMAP-authenticated user to configure the owncloud client sync program, s/he must:

  • login to the web interface
  • open his/her personal settings
  • "change" the password in owncloud to match the password on the IMAP server.