ownCloud 8.1 update - SMB shares broken

I’ve been an avid user of ownCloud for some time now currently running 3 instances, and it’s a great platform, especially as I’m somewhat draconian about privacy and allowing 3rd-parties access to my data.

On one of my home instances, I also have my desktop box running various SMB shares so that I can access the likes of video and music via my Raspberry Pi media streaming systems, and also my ebooks and applications repository for easy network installs or reading in various rooms… ownCloud has performed great for accessing these and I’ve been able to share those SMB shares via the external storage feature so that I can access things on the go too from the likes of my iPhone.

So, like many others, when ownCloud 8.1 was released, I upgraded. Whilst the main upgrade itself went smoothly (2 of my instances are installed via Debian packages, the other via ownCloud / manually on a CentOS box), I found that I was unable to login to 2 of my instances from the official iOS ownCloud app with a It is not possible to connect to the server at this time error message.

I tried many things on the server and delved deep into the logs but nothing seemed a simple fix. Further digging into the logs led me to what appeared to be the culprit: External storage app. I disabled this and things worked! Re-enabled it again and the error persisted. I then checked the external storage shares within ownCloud and 3 of the 4 I had enabled were displaying a red square – ie: error! and I couldn’t access these even within the ownCloud web interface, I found the SMB shares broken!

I tried over and over to remove and re-share these, both within ownCloud and on my windows box itself and nothing seemed to work. I also noted thanks to a couple of links by RealRancor on the ownCloud forums, that others were having a similar issue over on ownCloud’s GitHub page. I read through the conversation for this issue and someone suggested a couple of extra libraries, so I figured it was worth a shot. Low-n-behold, I now have the shares working again. The iOS app still complains, but it seems it continues and can access the shares regardless of the error message.

The steps I took eventually to fix the issue are as follows (this was done on a Debian box, so some things will be different for other distros / OSes):

Install libsmbclient-dev:

# apt-get update # apt-get install libsmbclient-dev

Install libsmbclient-php wrapper PHP module:

# cd /tmp
# git clone git://github.com/eduardok/libsmbclient-php.git
# cd libsmbclient-php
# phpize
# ./configure
# make && make install

Add the PHP module to PHP:

# cd /etc/php5/mods-available
# vim libsmbclient.ini

Add the following to libsmbclient.ini:

extension=libsmbclient.so

Create the module symlink:

# cd /etc/php5/apache2/conf.d
# ln -s ../../mods-available/libsmbclient.ini 20-libsmbclient.ini

Restart Apache:

# /etc/init.d/apache2 restart

And job done!

All in all, this took around 5 mins to complete.

Hopefully some use to other ownClouders out there that have had similar problems.