Talk:OwnCloud

From SME Server
Revision as of 14:04, 5 December 2012 by Mmccarn (talk | contribs) (IMAP auth (for optional inclusion on main wiki page))
Jump to navigation Jump to search

Mmccarn 08:14, 2 December 2012 (MST)

Notes: Installing from a git clone generated a blank screen during installation, with the following error in /var/log/messages:

httpd: PHP Fatal error:  Cannot access protected property MDB2_Driver_mysql::$varchar_max_length in /home/e-smith/files/ibays/owncloud/html/3rdparty/MDB2/Driver/Datatype/mysql.php on line 156

This was reported to owncloud and determined to be "not a bug": http://bugs.owncloud.org/thebuggenie/owncloud/issues/oc-1583

However, I suspect that it's related to this change in PEAR: http://pear.php.net/bugs/bug.php?id=19582

As reported, downloaded release v4.5.3 installed fine.

I made the following changes to the settings for the 'owncloud' ibay:

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


  • Shall we include your iBay settings on the front page of the how-to, and why these settings are applied? [HF]
    • Sure. As for the reasoning:
      • AllowOverride: because until I added this, owncloud complained about .htaccess not working, and consequent security issues.
      • FollowSymLinks: well, we may not need this. I was originally trying to set it up symlinked to the git downloads in another location.
      • Group: I *think* this maintains useable file ownership and access rights through an execution of "signal-event ibay-modify" - at least it has been working for me for Wordpress.
      • PHPBaseDir: per your note.
    • I'd suggest adding the other settings that get things going (I've added these to the block above)
      • PublicAccess global
      • UserAccess wr-group-rd-everyone
    • I will test in the coming week whether "FollowSymLinks" is required or not.


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.