[Pkg-owncloud-commits] [owncloud] 36/42: Imported Upstream version 6.0.1+dfsg

David Prévot taffit at moszumanska.debian.org
Wed Jan 22 21:21:50 UTC 2014


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository owncloud.

commit db5ff38993a3f4db2a91b2646f2c1fdebe612c79
Merge: 31c1dad d41b2c5
Author: David Prévot <taffit at debian.org>
Date:   Wed Jan 22 08:45:48 2014 -0400

    Imported Upstream version 6.0.1+dfsg

 apps/files/ajax/upload.php                         |   1 +
 apps/files/js/filelist.js                          |   2 +
 apps/files/js/files.js                             |   5 ++-
 apps/files/triggerupdate.php                       |   1 +
 apps/files_encryption/appinfo/info.xml             |   2 +-
 apps/files_encryption/tests/crypt.php              |  34 ++++++++--------
 apps/files_encryption/tests/keymanager.php         |   4 +-
 apps/files_encryption/tests/proxy.php              |   2 +-
 apps/files_encryption/tests/stream.php             |   8 ++--
 apps/files_encryption/tests/trashbin.php           |   4 +-
 apps/files_encryption/tests/util.php               |   8 ++--
 apps/files_encryption/tests/webdav.php             |   2 +-
 apps/files_external/lib/webdav.php                 |   2 +-
 apps/files_sharing/ajax/publicpreview.php          |   3 +-
 apps/files_sharing/appinfo/update.php              |   1 +
 apps/files_sharing/css/public.css                  |  17 ++++----
 apps/files_sharing/js/public.js                    |   3 +-
 apps/files_sharing/public.php                      |   8 ++--
 apps/files_sharing/templates/public.php            |  26 ++++--------
 apps/files_trashbin/lib/trashbin.php               |   2 +-
 apps/files_versions/ajax/getVersions.php           |   3 +-
 apps/files_versions/ajax/preview.php               |  10 +----
 apps/files_versions/lib/versions.php               |  33 ++++++++-------
 apps/files_videoviewer/js/flashmediaelement.swf    | Bin 28644 -> 0 bytes
 .../js/silverlightmediaelement.xap                 | Bin 12461 -> 0 bytes
 apps/gallery/ajax/getimages.php                    |   1 +
 apps/gallery/ajax/image.php                        |   2 +
 apps/gallery/ajax/thumbnail.php                    |   2 +
 apps/gallery/public.php                            |   2 +-
 apps/user_ldap/lib/helper.php                      |  15 +++++--
 .../_sources/installation/installation_source.txt  |  19 +++++----
 .../admin/installation/installation_source.html    |  19 +++++----
 core/doc/user/_sources/files/versioncontrol.txt    |   4 +-
 core/doc/user/files/versioncontrol.html            |   3 +-
 core/skeleton/ownCloudUserManual.pdf               | Bin 1558533 -> 1558473 bytes
 lib/private/files.php                              |   2 +-
 lib/private/files/storage/home.php                 |  10 +++++
 lib/private/files/storage/wrapper/quota.php        |   2 +-
 lib/private/json.php                               |  14 +++++++
 lib/private/util.php                               |   4 ++
 lib/public/backgroundjob.php                       |   6 ++-
 lib/public/json.php                                |  10 ++++-
 lib/public/share.php                               |  45 +++++++++++++++++++--
 version.php                                        |   8 ++--
 44 files changed, 216 insertions(+), 133 deletions(-)

diff --cc apps/files_encryption/tests/crypt.php
index ca14e3e,388980a..388980a
mode 100644,100755..100644
--- a/apps/files_encryption/tests/crypt.php
+++ b/apps/files_encryption/tests/crypt.php
diff --cc apps/files_encryption/tests/trashbin.php
index 2a41ace,2f9ecfd..2f9ecfd
mode 100644,100755..100644
--- a/apps/files_encryption/tests/trashbin.php
+++ b/apps/files_encryption/tests/trashbin.php
diff --cc apps/files_encryption/tests/util.php
index c83c383,ae7b003..ae7b003
mode 100644,100755..100644
--- a/apps/files_encryption/tests/util.php
+++ b/apps/files_encryption/tests/util.php
diff --cc apps/files_encryption/tests/webdav.php
index a2a8ce6,8e8b9c5..8e8b9c5
mode 100644,100755..100644
--- a/apps/files_encryption/tests/webdav.php
+++ b/apps/files_encryption/tests/webdav.php
diff --cc apps/gallery/ajax/getimages.php
index 0179063,0000000..1a14129
mode 100644,000000..100644
--- a/apps/gallery/ajax/getimages.php
+++ b/apps/gallery/ajax/getimages.php
@@@ -1,91 -1,0 +1,92 @@@
 +<?php
 +/**
 + * Copyright (c) 2012 Robin Appelman <icewind at owncloud.com>
 + * This file is licensed under the Affero General Public License version 3 or
 + * later.
 + * See the COPYING-README file.
 + */
 +
 +OCP\JSON::checkAppEnabled('gallery');
 +
 +if (isset($_GET['token'])) {
 +	$token = $_GET['token'];
 +	$linkItem = \OCP\Share::getShareByToken($token);
 +	if (is_array($linkItem) && isset($linkItem['uid_owner'])) {
 +		// seems to be a valid share
 +		$type = $linkItem['item_type'];
 +		$fileSource = $linkItem['file_source'];
 +		$shareOwner = $linkItem['uid_owner'];
 +		$path = null;
 +		$rootLinkItem = \OCP\Share::resolveReShare($linkItem);
 +		$fileOwner = $rootLinkItem['uid_owner'];
 +
 +		// Setup FS with owner
++		OCP\JSON::checkUserExists($fileOwner);
 +		OC_Util::tearDownFS();
 +		OC_Util::setupFS($fileOwner);
 +
 +		// The token defines the target directory (security reasons)
 +		$path = \OC\Files\Filesystem::getPath($linkItem['file_source']);
 +
 +		$view = new \OC\Files\View(\OC\Files\Filesystem::getView()->getAbsolutePath($path));
 +		$images = $view->searchByMime('image');
 +
 +		foreach ($images as &$image) {
 +			$image['path'] = $token . $image['path'];
 +		}
 +
 +		OCP\JSON::setContentTypeHeader();
 +		echo json_encode(array('images' => $images, 'users' => array(), 'displayNames' => array()));
 +
 +		exit;
 +	}
 +}
 +
 +OCP\JSON::checkLoggedIn();
 +OCP\JSON::checkAppEnabled('gallery');
 +
 +$images = \OCP\Files::searchByMime('image');
 +$user = \OCP\User::getUser();
 +
 +foreach ($images as &$image) {
 +	$path = $user . $image['path'];
 +	if (strpos($path, DIRECTORY_SEPARATOR . ".")) {
 +		continue;
 +	}
 +	$image['path'] = $user . $image['path'];
 +}
 +
 +$shared = array();
 +$sharedSources = OCP\Share::getItemsSharedWith('file');
 +$users = array();
 +foreach ($sharedSources as $sharedSource) {
 +	$owner = $sharedSource['uid_owner'];
 +	if (array_search($owner, $users) === false) {
 +		$users[] = $owner;
 +	}
 +	\OC\Files\Filesystem::initMountPoints($owner);
 +	$ownerView = new \OC\Files\View('/' . $owner . '/files');
 +	$path = $ownerView->getPath($sharedSource['item_source']);
 +	if ($path) {
 +		$shareName = basename($path);
 +		$shareView = new \OC\Files\View('/' . $owner . '/files' . $path);
 +		$sharedImages = $shareView->searchByMime('image');
 +		foreach ($sharedImages as $sharedImage) {
 +			// set the file_source in the path so we can get the original shared folder later
 +			$sharedImage['path'] = $owner . '/' . $sharedSource['file_source'] . '/' . $shareName . $sharedImage['path'];
 +			$images[] = $sharedImage;
 +		}
 +	}
 +}
 +
 +$displayNames = array();
 +foreach ($users as $user) {
 +	$displayNames[$user] = \OCP\User::getDisplayName($user);
 +}
 +
 +function startsWith($haystack, $needle) {
 +	return !strncmp($haystack, $needle, strlen($needle));
 +}
 +
 +OCP\JSON::setContentTypeHeader();
 +echo json_encode(array('images' => $images, 'users' => $users, 'displayNames' => $displayNames));
diff --cc apps/gallery/ajax/image.php
index af098fd,0000000..67e9391
mode 100644,000000..100644
--- a/apps/gallery/ajax/image.php
+++ b/apps/gallery/ajax/image.php
@@@ -1,63 -1,0 +1,65 @@@
 +<?php
 +/**
 + * Copyright (c) 2012 Robin Appelman <icewind at owncloud.com>
 + * This file is licensed under the Affero General Public License version 3 or
 + * later.
 + * See the COPYING-README file.
 + */
 +
 +OCP\JSON::checkAppEnabled('gallery');
 +
 +list($token, $img) = explode('/', $_GET['file'], 2);
 +$linkItem = \OCP\Share::getShareByToken($token);
 +if (is_array($linkItem) && isset($linkItem['uid_owner'])) {
 +	// seems to be a valid share
 +	$rootLinkItem = \OCP\Share::resolveReShare($linkItem);
 +	$owner = $rootLinkItem['uid_owner'];
++	OCP\JSON::checkUserExists($owner);
 +	OC_Util::tearDownFS();
 +	OC_Util::setupFS($owner);
 +	\OC_User::setIncognitoMode(true);
 +} else {
 +	OCP\JSON::checkLoggedIn();
 +
 +	list($owner, $img) = explode('/', $_GET['file'], 2);
 +	if ($owner !== OCP\User::getUser()) {
++		OCP\JSON::checkUserExists($owner);
 +		OC_Util::setupFS($owner);
 +		$view = new \OC\Files\View('/' . $owner . '/files');
 +		// second part is the (duplicated) share name
 +		list($folderId, , $img) = explode('/', $img, 3);
 +		$sharedFolder = $view->getPath($folderId);
 +		$img = $sharedFolder . '/' . $img;
 +	}
 +}
 +
 +session_write_close();
 +
 +$ownerView = new \OC\Files\View('/' . $owner . '/files');
 +
 +if (is_array($linkItem) && isset($linkItem['uid_owner'])) {
 +	// prepend path to share
 +	$path = $ownerView->getPath($linkItem['file_source']);
 +	$img = $path.'/'.$img;
 +}
 +
 +$mime = $ownerView->getMimeType($img);
 +list($mimePart,) = explode('/', $mime);
 +if ($mimePart === 'image') {
 +	$local = $ownerView->getLocalFile($img);
 +	$rotate = false;
 +	if (is_callable('exif_read_data')) { //don't use OCP\Image here, using OCP\Image will always cause parsing the image file
 +		$exif = @exif_read_data($local, 'IFD0');
 +		if (isset($exif['Orientation'])) {
 +			$rotate = ($exif['Orientation'] > 1);
 +		}
 +	}
 +	if ($rotate) {
 +		$image = new OCP\Image($local);
 +		$image->fixOrientation();
 +		$image->show();
 +	} else { //use the original file if we dont need to rotate, saves having to re-encode the image
 +		header('Content-Type: ' . $mime);
 +		$ownerView->readfile($img);
 +	}
 +}
diff --cc apps/gallery/ajax/thumbnail.php
index 7c885dc,0000000..2420dde
mode 100644,000000..100644
--- a/apps/gallery/ajax/thumbnail.php
+++ b/apps/gallery/ajax/thumbnail.php
@@@ -1,45 -1,0 +1,47 @@@
 +<?php
 +/**
 + * Copyright (c) 2012 Robin Appelman <icewind at owncloud.com>
 + * This file is licensed under the Affero General Public License version 3 or
 + * later.
 + * See the COPYING-README file.
 + */
 +
 +OCP\JSON::checkAppEnabled('gallery');
 +
 +list($token, $img) = explode('/', $_GET['file'], 2);
 +$linkItem = \OCP\Share::getShareByToken($token);
 +if (is_array($linkItem) && isset($linkItem['uid_owner'])) {
 +	// seems to be a valid share
 +	$rootLinkItem = \OCP\Share::resolveReShare($linkItem);
 +	$owner = $rootLinkItem['uid_owner'];
++	OCP\JSON::checkUserExists($owner);
 +	OC_Util::tearDownFS();
 +	OC_Util::setupFS($owner);
 +} else {
 +	OCP\JSON::checkLoggedIn();
 +
 +	list($owner, $img) = explode('/', $_GET['file'], 2);
 +	if ($owner !== OCP\User::getUser()) {
++		OCP\JSON::checkUserExists($owner);
 +		OC_Util::setupFS($owner);
 +		$view = new \OC\Files\View('/' . $owner . '/files');
 +		// second part is the (duplicated) share name
 +		list($folderId,, $img) = explode('/', $img, 3);
 +		$sharedFolder = $view->getPath($folderId);
 +		$img = $sharedFolder . '/' . $img;
 +	}
 +}
 +
 +session_write_close();
 +
 +if (is_array($linkItem) && isset($linkItem['uid_owner'])) {
 +	// prepend path to share
 +	$ownerView = new \OC\Files\View('/' . $owner . '/files');
 +	$path = $ownerView->getPath($linkItem['file_source']);
 +	$img = $path . '/' . $img;
 +}
 +
 +$square = isset($_GET['square']) ? (bool)$_GET['square'] : false;
 +
 +$image = new \OCA\Gallery\Thumbnail('/' . $img, $owner, $square);
 +$image->show();
diff --cc apps/gallery/public.php
index 930ea2e,0000000..29445b9
mode 100644,000000..100644
--- a/apps/gallery/public.php
+++ b/apps/gallery/public.php
@@@ -1,110 -1,0 +1,110 @@@
 +<?php
 + /**
 + * ownCloud
 + *
 + * @author Thomas Müller
 + * @copyright 2013 Thomas Müller deepdiver at owncloud.com
 + *
 + * This library is free software; you can redistribute it and/or
 + * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
 + * License as published by the Free Software Foundation; either
 + * version 3 of the License, or any later version.
 + *
 + * This library is distributed in the hope that it will be useful,
 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 + * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
 + *
 + * You should have received a copy of the GNU Affero General Public
 + * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
 + *
 + */
 +
 +\OCP\JSON::checkAppEnabled('gallery');
 +
 +OCP\Util::addStyle('gallery', 'styles');
 +
 +if (isset($_GET['t'])) {
 +	$token = $_GET['t'];
- 	$linkItem = \OCP\Share::getShareByToken($token);
++	$linkItem = \OCP\Share::getShareByToken($token, false);
 +	if (is_array($linkItem) && isset($linkItem['uid_owner'])) {
 +		// seems to be a valid share
 +		$type = $linkItem['item_type'];
 +		$fileSource = $linkItem['file_source'];
 +		$shareOwner = $linkItem['uid_owner'];
 +		$path = null;
 +		$rootLinkItem = \OCP\Share::resolveReShare($linkItem);
 +		$fileOwner = $rootLinkItem['uid_owner'];
 +		$albumName = trim($linkItem['file_target'], '//');
 +		$ownerDisplayName = \OC_User::getDisplayName($fileOwner);
 +
 +		// stupid copy and paste job
 +		if (isset($linkItem['share_with'])) {
 +			// Authenticate share_with
 +			$url = OCP\Util::linkToPublic('gallery') . '&t=' . $token;
 +			if (isset($_GET['file'])) {
 +				$url .= '&file=' . urlencode($_GET['file']);
 +			} else {
 +				if (isset($_GET['dir'])) {
 +					$url .= '&dir=' . urlencode($_GET['dir']);
 +				}
 +			}
 +			if (isset($_POST['password'])) {
 +				$password = $_POST['password'];
 +				if ($linkItem['share_type'] == OCP\Share::SHARE_TYPE_LINK) {
 +					// Check Password
 +					$forcePortable = (CRYPT_BLOWFISH != 1);
 +					$hasher = new PasswordHash(8, $forcePortable);
 +					if (!($hasher->CheckPassword($password.OC_Config::getValue('passwordsalt', ''),
 +						$linkItem['share_with']))) {
 +						OCP\Util::addStyle('files_sharing', 'authenticate');
 +						$tmpl = new OCP\Template('files_sharing', 'authenticate', 'guest');
 +						$tmpl->assign('URL', $url);
 +						$tmpl->assign('wrongpw', true);
 +						$tmpl->printPage();
 +						exit();
 +					} else {
 +						// Save item id in session for future requests
 +						\OC::$session->set('public_link_authenticated', $linkItem['id']);
 +					}
 +				} else {
 +					OCP\Util::writeLog('share', 'Unknown share type '.$linkItem['share_type']
 +						.' for share id '.$linkItem['id'], \OCP\Util::ERROR);
 +					header('HTTP/1.0 404 Not Found');
 +					$tmpl = new OCP\Template('', '404', 'guest');
 +					$tmpl->printPage();
 +					exit();
 +				}
 +
 +			} else {
 +				// Check if item id is set in session
 +				if ( ! \OC::$session->exists('public_link_authenticated')
 +					|| \OC::$session->get('public_link_authenticated') !== $linkItem['id']
 +				) {
 +					// Prompt for password
 +					OCP\Util::addStyle('files_sharing', 'authenticate');
 +					$tmpl = new OCP\Template('files_sharing', 'authenticate', 'guest');
 +					$tmpl->assign('URL', $url);
 +					$tmpl->printPage();
 +					exit();
 +				}
 +			}
 +		}
 +
 +
 +		// render template
 +		$tmpl = new \OCP\Template('gallery', 'public', 'base');
 +		OCP\Util::addScript('gallery', 'gallery');
 +		OCP\Util::addScript('gallery', 'thumbnail');
 +		OCP\Util::addStyle('gallery', 'public');
 +		$tmpl->assign('token', $token);
 +		$tmpl->assign('displayName', $ownerDisplayName);
 +		$tmpl->assign('albumName', $albumName);
 +
 +		$tmpl->printPage();
 +		exit;
 +	}
 +}
 +
 +$tmpl = new OCP\Template('', '404', 'guest');
 +$tmpl->printPage();
diff --cc core/doc/admin/_sources/installation/installation_source.txt
index f3d2105,0000000..ac64e40
mode 100644,000000..100644
--- a/core/doc/admin/_sources/installation/installation_source.txt
+++ b/core/doc/admin/_sources/installation/installation_source.txt
@@@ -1,340 -1,0 +1,339 @@@
 +Manual Installation
 +-------------------
 +
 +If you do not want to use packages, here is how you setup ownCloud on from scratch
 +using a classic :abbr:`LAMP (Linux, Apache, MySQL, PHP)` setup:
 +
 +Prerequisites
 +~~~~~~~~~~~~~
 +
 +To run ownCloud, your web server must have the following installed:
 +
- * php5 (>= 5.3.3, minimum recommended 5.4)
++* PHP (>= 5.3.3, minimum recommended 5.4)
 +* PHP module ctype
 +* PHP module dom
 +* PHP module GD
 +* PHP module iconv
 +* PHP module JSON
 +* PHP module libxml
 +* PHP module mb multibyte
 +* PHP module SimpleXML
 +* PHP module zip
 +* PHP module zlib
 +
 +Database connectors (pick at least one):
 +
 +* PHP module sqlite (>= 3)
 +* PHP module mysql
 +* PHP module pgsql (requires PostgreSQL >= 9.0)
 +
 +And as *optional* dependencies:
 +
- * PHP module bz2
- * PHP module curl
++* PHP module bz2 (recommended, required for extraction of apps)
++* PHP module curl (highly recommended, some functionality depends on this)
 +* PHP module exif (for image rotation in pictures app)
- * PHP module intl
++* PHP module fileinfo (highly recommended, increases file analysis performance)
++* PHP module intl (increases language translation performance)
 +* PHP module ldap (for ldap integration)
- * PHP module mcrypt
- * PHP module openssl
- * curl
- * libcurl3
++* PHP module mcrypt (increases file encryption performance)
++* PHP module openssl (required for accessing HTTPS resources)
 +
 +For performance increase (*optional* / select one of the following):
 +
 +* PHP module apc
 +* PHP module apcu
 +* PHP module xcache
 +
 +For preview generation (*optional*):
 +
 +* PHP module imagick
 +* avconv or ffmpeg
 +* OpenOffice or libreOffice
 +
 +For external storage (*optional*):
 +
 +* smbclient (for SMB storage)
- * php5-ftp (for FTP storage)
++* PHP module ftp (for FTP storage)
 +
 +Please check your distribution, operating system or hosting partner documentation on how to install/enable
 +these modules.
 +
- The curl packages are needed for some apps (e.g. http user authentication)
++The curl PHP module is required for some apps (e.g. http user authentication).
 +
 +If you are running Ubuntu 10.04 LTS you will need to update your PHP from
 +this `PHP PPA`_:
 +
 +::
 +
 +  sudo add-apt-repository ppa:ondrej/php5
 +  sudo apt-get update
 +  sudo apt-get install php5
 +
 +
 +You don’t need any WebDAV support of your web server (i.e. apache’s mod_webdav)
 +to access your ownCloud data via WebDAV, ownCloud has a WebDAV server built in.
 +In fact, you should make sure that any built-in WebDAV module of your web server
 +is disabled (at least for the ownCloud directory), as it can interfere with
 +ownCloud's built-in WebDAV support.
 +
 +Extract ownCloud and Copy to Your Web Server
 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 +
 +::
 +
 +  tar -xjf path/to/downloaded/owncloud-x.x.x.tar.bz2
 +  cp -r owncloud /path/to/your/webserver
 +
 +Set the Directory Permissions
 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 +
 +The owner of your web server must own the apps/, data/ and config/ directories
 +in your ownCloud install. You can do this by running the following command for
 +the apps, data and config directories.
 +
 +For Debian based distributions like Ubuntu, Debian or Linux Mint and Gentoo use::
 +
 +  chown -R www-data:www-data /path/to/your/owncloud/install/data
 +
 +For ArchLinux use::
 +
 +  chown -R http:http /path/to/your/owncloud/install/data
 +
 +Fedora users should use::
 +
 +  chown -R apache:apache /path/to/your/owncloud/install/data
 +
 +.. note:: The **data/** directory will only be created after setup has run (see below) and is not present by default in the tarballs.
 +
 +Web Server Configuration
 +~~~~~~~~~~~~~~~~~~~~~~~~
 +
 +Apache is the recommended web server.
 +
 +Apache Configuration
 +********************
 +
 +Example Apache 2.2:
 +
 +.. code-block:: xml
 +
 +    <Directory /path/to/your/owncloud/install>
 +        Options Indexes FollowSymLinks MultiViews
 +        AllowOverride All
 +        Order allow,deny
 +        allow from all
 +    </Directory>
 +
 +
 +Example Apache 2.4:
 +
 +.. code-block:: xml
 +
 +    <Directory /path/to/your/owncloud/install>
 +        Options Indexes FollowSymLinks MultiViews
 +        AllowOverride All
 +        Require all granted
 +    </Directory>
 +
 +
 +Enable mod_rewrite::
 +
 +	a2enmod rewrite
 +
 +In distributions that do not come with a2enmod the :file:`/etc/httpd/httpd.conf` needs to be changed to enable **mod_rewrite**
 +
 +Then restart apache. For Ubuntu systems (or distributions using upstartd) use::
 +
 +	service apache2 restart
 +
 +For systemd systems (Fedora, ArchLinux, OpenSUSE) use::
 +
 +	systemctl restart httpd.service
 +
 +In order for the maximum upload size to be configurable, the .htaccess file in the ownCloud folder needs to be made writable by the server.
 +
 +
 +
 +Nginx Configuration
 +*******************
 +
 +-  You need to insert the following code into **your nginx config file.**
 +-  Adjust **server_name**, **root**, **ssl_certificate** and **ssl_certificate_key** to suit your needs.
 +-  Make sure your SSL certificates are readable by the server (see `http://wiki.nginx.org/HttpSslModule`_).
 +
 +.. code-block:: python
 +
 +    upstream php-handler {
 +            server 127.0.0.1:9000; 
 +            #server unix:/var/run/php5-fpm.sock;
 +    }
 +
 +    server {
 +            listen 80;
 +            server_name cloud.example.com;
 +            return 301 https://$server_name$request_uri;  # enforce https
 +    }
 +
 +    server {
 +            listen 443 ssl;
 +            server_name cloud.example.com;
 +
 +            ssl_certificate /etc/ssl/nginx/cloud.example.com.crt;
 +            ssl_certificate_key /etc/ssl/nginx/cloud.example.com.key;
 +
 +            # Path to the root of your installation
 +            root /var/www/;
 +
 +            client_max_body_size 10G; # set max upload size
 +            fastcgi_buffers 64 4K;
 +
 +            rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
 +            rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
 +            rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;
 +
 +            index index.php;
 +            error_page 403 /core/templates/403.php;
 +            error_page 404 /core/templates/404.php;
 +
 +            location = /robots.txt {
 +                allow all;
 +                log_not_found off;
 +                access_log off;
 +            }
 +
 +            location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
 +                    deny all;
 +            }
 +
 +            location / {
 +                    # The following 2 rules are only needed with webfinger
 +                    rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
 +                    rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
 +
 +                    rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
 +                    rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;
 +
 +                    rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;
 +
 +                    try_files $uri $uri/ index.php;
 +            }
 +
 +            location ~ ^(.+?\.php)(/.*)?$ {
 +                    try_files $1 = 404;
 +
 +                    include fastcgi_params;
 +                    fastcgi_param SCRIPT_FILENAME $document_root$1;
 +                    fastcgi_param PATH_INFO $2;
 +                    fastcgi_param HTTPS on;
 +                    fastcgi_pass php-handler;
 +            }
 +
 +            # Optional: set long EXPIRES header on static assets
 +            location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
 +                    expires 30d;
 +                    # Optional: Don't log access to assets
 +                    access_log off;
 +            }
 +
 +    }
 +
 +.. note:: You can use ownCloud without SSL/TLS support, but we strongly encourage you not to do that:
 +
 +-  Remove the server block containing the redirect
 +-  Change **listen 443 ssl** to **listen 80;**
 +-  Remove **ssl_certificate** and **ssl_certificate_key**.
 +-  Remove **fastcgi_params HTTPS on;**
 +
 +.. note:: If you want to effectively increase maximum upload size you will also have to modify your **php-fpm configuration** (**usually at
 +          /etc/php5/fpm/php.ini**) and increase **upload_max_filesize** and
 +          **post_max_size** values. You’ll need to restart php5-fpm and nginx
 +	  services in order these changes to be applied.
 +
 +Lighttpd Configuration
 +**********************
 +
 +This assumes that you are familiar with installing PHP application on
 +lighttpd.
 +
 +It is important to note that the **.htaccess** files used by ownCloud to protect the **data** folder are ignored by
 +lighttpd, so you have to secure it by yourself, otherwise your **owncloud.db** database and user data are publicly
 +readable even if directory listing is off. You need to add two snippets to your lighttpd configuration file:
 +
 +Disable access to data folder::
 +
 +    $HTTP["url"] =~ "^/owncloud/data/" {
 +         url.access-deny = ("")
 +       }
 +
 +Disable directory listing::
 +
 +    $HTTP["url"] =~ "^/owncloud($|/)" {
 +         dir-listing.activate = "disable"
 +       }
 +
 +Yaws Configuration
 +******************
 +
 +This should be in your **yaws_server.conf**. In the configuration file, the
 +**dir_listings = false** is important and also the redirect from **/data**
 +to somewhere else, because files will be saved in this directory and it
 +should not be accessible from the outside. A configuration file would look
 +like this
 +
 +.. code-block:: xml
 +
 +    <server owncloud.myserver.com/>
 +            port = 80
 +            listen = 0.0.0.0
 +            docroot = /var/www/owncloud/src
 +            allowed_scripts = php
 +            php_handler = <cgi, /usr/local/bin/php-cgi>
 +            errormod_404 = yaws_404_to_index_php
 +            access_log = false
 +            dir_listings = false
 +            <redirect>
 +                    /data == /
 +            </redirect>
 +    </server>
 +
 +
 +The apache **.htaccess** file that comes with ownCloud is configured to
 +redirect requests to nonexistent pages. To emulate that behaviour, you
 +need a custom error handler for yaws. See this `github gist for further instructions`_ on how to create and compile that error handler.
 +
 +Hiawatha Configuration
 +**********************
 +
 +Add **WebDAVapp = yes** to the ownCloud virtual host. Users accessing
 +WebDAV from MacOS will also need to add **AllowDotFiles = yes**.
 +
 +Disable access to data folder::
 +
 +    UrlToolkit {
 +        ToolkitID = denyData
 +        Match ^/data DenyAccess
 +    }
 +
 +
 +
 +Microsoft Internet Information Server (IIS)
 +*******************************************
 +
 +See :doc:`installation_windows` for further instructions.
 +
 +Follow the Install Wizard
 +~~~~~~~~~~~~~~~~~~~~~~~~~
 +Open your web browser and navigate to your ownCloud instance. If you are
 +installing ownCloud on the same machine as you will access the install wizard
 +from, the url will be: http://localhost/ (or http://localhost/owncloud).
 +
 +For basic installs we recommend SQLite as it is easy to setup (ownCloud will do it for you). For larger installs you
 +should use MySQL or PostgreSQL. Click on the Advanced options to show the configuration options. You may enter admin
 +credentials and let ownCloud create its own database user, or enter a preconfigured user.  If you are not using apache
 +as the web server, please set the data directory to a location outside of the document root. See the advanced
 +install settings.
 +
 +
 +.. _PHP PPA: https://launchpad.net/~ondrej/+archive/php5
 +.. _github gist for further instructions: https://gist.github.com/2200407
 +.. _`http://wiki.nginx.org/HttpSslModule`: http://wiki.nginx.org/HttpSslModule
diff --cc core/doc/admin/installation/installation_source.html
index a15b651,0000000..0335ab8
mode 100644,000000..100644
--- a/core/doc/admin/installation/installation_source.html
+++ b/core/doc/admin/installation/installation_source.html
@@@ -1,458 -1,0 +1,457 @@@
 +
 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 +  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 +
 +
 +<html xmlns="http://www.w3.org/1999/xhtml">
 +  <head>
 +    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 +    
 +    <title>Manual Installation — ownCloud Administrators Manual 6.0 documentation</title>
 +    
 +    <link rel="stylesheet" href="../_static/style.css" type="text/css" />
 +    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
 +    <link rel="stylesheet" href="../_static/style.css" type="text/css" />
 +    <link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
 +    
 +    <script type="text/javascript">
 +      var DOCUMENTATION_OPTIONS = {
 +        URL_ROOT:    '../',
 +        VERSION:     '6.0',
 +        COLLAPSE_INDEX: false,
 +        FILE_SUFFIX: '.html',
 +        HAS_SOURCE:  true
 +      };
 +    </script>
 +    <script type="text/javascript" src="../_static/jquery.js"></script>
 +    <script type="text/javascript" src="../_static/underscore.js"></script>
 +    <script type="text/javascript" src="../_static/doctools.js"></script>
 +    <script type="text/javascript" src="../_static/bootstrap.js"></script>
 +    <link rel="top" title="ownCloud Administrators Manual 6.0 documentation" href="../index.html" />
 +    <link rel="up" title="Installation" href="index.html" />
 +    <link rel="next" title="PageKite Configuration" href="installation_others.html" />
 +    <link rel="prev" title="Univention Corporate Server" href="installation_ucs.html" />
 +<script type="text/javascript">
 +(function () {
 +  /**
 +   * Patch TOC list.
 +   *
 +   * Will mutate the underlying span to have a correct ul for nav.
 +   *
 +   * @param $span: Span containing nested UL's to mutate.
 +   * @param minLevel: Starting level for nested lists. (1: global, 2: local).
 +   */
 +  var patchToc = function ($ul, minLevel) {
 +    var findA;
 +
 +    // Find all a "internal" tags, traversing recursively.
 +    findA = function ($elem, level) {
 +      var level = level || 0,
 +        $items = $elem.find("> li > a.internal, > ul, > li > ul");
 +
 +      // Iterate everything in order.
 +      $items.each(function (index, item) {
 +        var $item = $(item),
 +          tag = item.tagName.toLowerCase(),
 +          pad = 15 + ((level - minLevel) * 10);
 +
 +        if (tag === 'a' && level >= minLevel) {
 +          // Add to existing padding.
 +          $item.css('padding-left', pad + "px");
 +          console.log(level, $item, 'padding-left', pad + "px");
 +        } else if (tag === 'ul') {
 +          // Recurse.
 +          findA($item, level + 1);
 +        }
 +      });
 +    };
 +
 +    console.log("HERE");
 +    findA($ul);
 +  };
 +
 +  $(document).ready(function () {
 +    // Add styling, structure to TOC's.
 +    $(".dropdown-menu").each(function () {
 +      $(this).find("ul").each(function (index, item){
 +        var $item = $(item);
 +        $item.addClass('unstyled');
 +      });
 +      $(this).find("li").each(function () {
 +        $(this).parent().append(this);
 +      });
 +    });
 +
 +    // Patch in level.
 +    patchToc($("ul.globaltoc"), 2);
 +    patchToc($("ul.localtoc"), 2);
 +
 +    // Enable dropdown.
 +    $('.dropdown-toggle').dropdown();
 +  });
 +}());
 +</script>
 +
 +  </head>
 +  <body>
 +  
 +
 +<div class="container">
 +  <div class="content">
 +    <div class="page-header">
 +      <h1><a href="../contents.html">ownCloud Administrators Manual</a></h1>
 +
 +    </div>
 +    
 +			<div class="row">
 +				<div class="span3">
 +					<div class="sidebar">
 +						<div class="well">
 +							<div class="menu-support-container">
 +								<ul id="menu-support" class="menu">
 +									<ul>
 +										<li><a href="../contents.html">Overview</a></li>
 +									</ul>
 +                  <ul>
 +<li class="toctree-l1"><a class="reference internal" href="../index.html">Admin Documentation</a></li>
 +</ul>
 +<ul class="current">
 +<li class="toctree-l1 current"><a class="reference internal" href="index.html">Installation</a><ul class="current">
 +<li class="toctree-l2"><a class="reference internal" href="installation_appliance.html">Appliances</a></li>
 +<li class="toctree-l2"><a class="reference internal" href="installation_linux.html">Linux Distributions</a></li>
 +<li class="toctree-l2"><a class="reference internal" href="installation_macos.html">Mac OS X</a></li>
 +<li class="toctree-l2"><a class="reference internal" href="installation_windows.html">Windows 7 and Windows Server 2008</a></li>
 +<li class="toctree-l2"><a class="reference internal" href="installation_ucs.html">Univention Corporate Server</a></li>
 +<li class="toctree-l2 current"><a class="current reference internal" href="">Manual Installation</a><ul>
 +<li class="toctree-l3"><a class="reference internal" href="#prerequisites">Prerequisites</a></li>
 +<li class="toctree-l3"><a class="reference internal" href="#extract-owncloud-and-copy-to-your-web-server">Extract ownCloud and Copy to Your Web Server</a></li>
 +<li class="toctree-l3"><a class="reference internal" href="#set-the-directory-permissions">Set the Directory Permissions</a></li>
 +<li class="toctree-l3"><a class="reference internal" href="#web-server-configuration">Web Server Configuration</a></li>
 +<li class="toctree-l3"><a class="reference internal" href="#follow-the-install-wizard">Follow the Install Wizard</a></li>
 +</ul>
 +</li>
 +<li class="toctree-l2"><a class="reference internal" href="installation_others.html">PageKite Configuration</a></li>
 +<li class="toctree-l2"><a class="reference internal" href="installation_others.html#open-wrt">Open Wrt</a></li>
 +</ul>
 +</li>
 +<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuration</a></li>
 +<li class="toctree-l1"><a class="reference internal" href="../maintenance/index.html">Maintenance</a></li>
 +<li class="toctree-l1"><a class="reference internal" href="../issues/index.html">Issues</a></li>
 +</ul>
 +
 +								</ul>
 +							</div>
 +						</div>
 +					</div>
 +				</div>
 +        
 +
 +				<div class="span9">
 +					<div class="page-content">
 +						
 +  <div class="section" id="manual-installation">
 +<h1>Manual Installation<a class="headerlink" href="#manual-installation" title="Permalink to this headline">¶</a></h1>
 +<p>If you do not want to use packages, here is how you setup ownCloud on from scratch
 +using a classic <abbr title="Linux, Apache, MySQL, PHP">LAMP</abbr> setup:</p>
 +<div class="section" id="prerequisites">
 +<h2>Prerequisites<a class="headerlink" href="#prerequisites" title="Permalink to this headline">¶</a></h2>
 +<p>To run ownCloud, your web server must have the following installed:</p>
 +<ul class="simple">
- <li>php5 (>= 5.3.3, minimum recommended 5.4)</li>
++<li>PHP (>= 5.3.3, minimum recommended 5.4)</li>
 +<li>PHP module ctype</li>
 +<li>PHP module dom</li>
 +<li>PHP module GD</li>
 +<li>PHP module iconv</li>
 +<li>PHP module JSON</li>
 +<li>PHP module libxml</li>
 +<li>PHP module mb multibyte</li>
 +<li>PHP module SimpleXML</li>
 +<li>PHP module zip</li>
 +<li>PHP module zlib</li>
 +</ul>
 +<p>Database connectors (pick at least one):</p>
 +<ul class="simple">
 +<li>PHP module sqlite (>= 3)</li>
 +<li>PHP module mysql</li>
 +<li>PHP module pgsql (requires PostgreSQL >= 9.0)</li>
 +</ul>
 +<p>And as <em>optional</em> dependencies:</p>
 +<ul class="simple">
- <li>PHP module bz2</li>
- <li>PHP module curl</li>
++<li>PHP module bz2 (recommended, required for extraction of apps)</li>
++<li>PHP module curl (highly recommended, some functionality depends on this)</li>
 +<li>PHP module exif (for image rotation in pictures app)</li>
- <li>PHP module intl</li>
++<li>PHP module fileinfo (highly recommended, increases file analysis performance)</li>
++<li>PHP module intl (increases language translation performance)</li>
 +<li>PHP module ldap (for ldap integration)</li>
- <li>PHP module mcrypt</li>
- <li>PHP module openssl</li>
- <li>curl</li>
- <li>libcurl3</li>
++<li>PHP module mcrypt (increases file encryption performance)</li>
++<li>PHP module openssl (required for accessing HTTPS resources)</li>
 +</ul>
 +<p>For performance increase (<em>optional</em> / select one of the following):</p>
 +<ul class="simple">
 +<li>PHP module apc</li>
 +<li>PHP module apcu</li>
 +<li>PHP module xcache</li>
 +</ul>
 +<p>For preview generation (<em>optional</em>):</p>
 +<ul class="simple">
 +<li>PHP module imagick</li>
 +<li>avconv or ffmpeg</li>
 +<li>OpenOffice or libreOffice</li>
 +</ul>
 +<p>For external storage (<em>optional</em>):</p>
 +<ul class="simple">
 +<li>smbclient (for SMB storage)</li>
- <li>php5-ftp (for FTP storage)</li>
++<li>PHP module ftp (for FTP storage)</li>
 +</ul>
 +<p>Please check your distribution, operating system or hosting partner documentation on how to install/enable
 +these modules.</p>
- <p>The curl packages are needed for some apps (e.g. http user authentication)</p>
++<p>The curl PHP module is required for some apps (e.g. http user authentication).</p>
 +<p>If you are running Ubuntu 10.04 LTS you will need to update your PHP from
 +this <a class="reference external" href="https://launchpad.net/~ondrej/+archive/php5">PHP PPA</a>:</p>
 +<div class="highlight-python"><pre>sudo add-apt-repository ppa:ondrej/php5
 +sudo apt-get update
 +sudo apt-get install php5</pre>
 +</div>
 +<p>You don’t need any WebDAV support of your web server (i.e. apache’s mod_webdav)
 +to access your ownCloud data via WebDAV, ownCloud has a WebDAV server built in.
 +In fact, you should make sure that any built-in WebDAV module of your web server
 +is disabled (at least for the ownCloud directory), as it can interfere with
 +ownCloud’s built-in WebDAV support.</p>
 +</div>
 +<div class="section" id="extract-owncloud-and-copy-to-your-web-server">
 +<h2>Extract ownCloud and Copy to Your Web Server<a class="headerlink" href="#extract-owncloud-and-copy-to-your-web-server" title="Permalink to this headline">¶</a></h2>
 +<div class="highlight-python"><pre>tar -xjf path/to/downloaded/owncloud-x.x.x.tar.bz2
 +cp -r owncloud /path/to/your/webserver</pre>
 +</div>
 +</div>
 +<div class="section" id="set-the-directory-permissions">
 +<h2>Set the Directory Permissions<a class="headerlink" href="#set-the-directory-permissions" title="Permalink to this headline">¶</a></h2>
 +<p>The owner of your web server must own the apps/, data/ and config/ directories
 +in your ownCloud install. You can do this by running the following command for
 +the apps, data and config directories.</p>
 +<p>For Debian based distributions like Ubuntu, Debian or Linux Mint and Gentoo use:</p>
 +<div class="highlight-python"><pre>chown -R www-data:www-data /path/to/your/owncloud/install/data</pre>
 +</div>
 +<p>For ArchLinux use:</p>
 +<div class="highlight-python"><pre>chown -R http:http /path/to/your/owncloud/install/data</pre>
 +</div>
 +<p>Fedora users should use:</p>
 +<div class="highlight-python"><pre>chown -R apache:apache /path/to/your/owncloud/install/data</pre>
 +</div>
 +<div class="admonition note">
 +<p class="first admonition-title">Note</p>
 +<p class="last">The <strong>data/</strong> directory will only be created after setup has run (see below) and is not present by default in the tarballs.</p>
 +</div>
 +</div>
 +<div class="section" id="web-server-configuration">
 +<h2>Web Server Configuration<a class="headerlink" href="#web-server-configuration" title="Permalink to this headline">¶</a></h2>
 +<p>Apache is the recommended web server.</p>
 +<div class="section" id="apache-configuration">
 +<h3>Apache Configuration<a class="headerlink" href="#apache-configuration" title="Permalink to this headline">¶</a></h3>
 +<p>Example Apache 2.2:</p>
 +<div class="highlight-xml"><pre><Directory /path/to/your/owncloud/install>
 +    Options Indexes FollowSymLinks MultiViews
 +    AllowOverride All
 +    Order allow,deny
 +    allow from all
 +</Directory></pre>
 +</div>
 +<p>Example Apache 2.4:</p>
 +<div class="highlight-xml"><pre><Directory /path/to/your/owncloud/install>
 +    Options Indexes FollowSymLinks MultiViews
 +    AllowOverride All
 +    Require all granted
 +</Directory></pre>
 +</div>
 +<p>Enable mod_rewrite:</p>
 +<div class="highlight-python"><pre>a2enmod rewrite</pre>
 +</div>
 +<p>In distributions that do not come with a2enmod the <tt class="file docutils literal"><span class="pre">/etc/httpd/httpd.conf</span></tt> needs to be changed to enable <strong>mod_rewrite</strong></p>
 +<p>Then restart apache. For Ubuntu systems (or distributions using upstartd) use:</p>
 +<div class="highlight-python"><pre>service apache2 restart</pre>
 +</div>
 +<p>For systemd systems (Fedora, ArchLinux, OpenSUSE) use:</p>
 +<div class="highlight-python"><pre>systemctl restart httpd.service</pre>
 +</div>
 +<p>In order for the maximum upload size to be configurable, the .htaccess file in the ownCloud folder needs to be made writable by the server.</p>
 +</div>
 +<div class="section" id="nginx-configuration">
 +<h3>Nginx Configuration<a class="headerlink" href="#nginx-configuration" title="Permalink to this headline">¶</a></h3>
 +<ul class="simple">
 +<li>You need to insert the following code into <strong>your nginx config file.</strong></li>
 +<li>Adjust <strong>server_name</strong>, <strong>root</strong>, <strong>ssl_certificate</strong> and <strong>ssl_certificate_key</strong> to suit your needs.</li>
 +<li>Make sure your SSL certificates are readable by the server (see <a class="reference external" href="http://wiki.nginx.org/HttpSslModule">http://wiki.nginx.org/HttpSslModule</a>).</li>
 +</ul>
 +<div class="highlight-python"><pre>upstream php-handler {
 +        server 127.0.0.1:9000;
 +        #server unix:/var/run/php5-fpm.sock;
 +}
 +
 +server {
 +        listen 80;
 +        server_name cloud.example.com;
 +        return 301 https://$server_name$request_uri;  # enforce https
 +}
 +
 +server {
 +        listen 443 ssl;
 +        server_name cloud.example.com;
 +
 +        ssl_certificate /etc/ssl/nginx/cloud.example.com.crt;
 +        ssl_certificate_key /etc/ssl/nginx/cloud.example.com.key;
 +
 +        # Path to the root of your installation
 +        root /var/www/;
 +
 +        client_max_body_size 10G; # set max upload size
 +        fastcgi_buffers 64 4K;
 +
 +        rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
 +        rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
 +        rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;
 +
 +        index index.php;
 +        error_page 403 /core/templates/403.php;
 +        error_page 404 /core/templates/404.php;
 +
 +        location = /robots.txt {
 +            allow all;
 +            log_not_found off;
 +            access_log off;
 +        }
 +
 +        location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
 +                deny all;
 +        }
 +
 +        location / {
 +                # The following 2 rules are only needed with webfinger
 +                rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
 +                rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
 +
 +                rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
 +                rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;
 +
 +                rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;
 +
 +                try_files $uri $uri/ index.php;
 +        }
 +
 +        location ~ ^(.+?\.php)(/.*)?$ {
 +                try_files $1 = 404;
 +
 +                include fastcgi_params;
 +                fastcgi_param SCRIPT_FILENAME $document_root$1;
 +                fastcgi_param PATH_INFO $2;
 +                fastcgi_param HTTPS on;
 +                fastcgi_pass php-handler;
 +        }
 +
 +        # Optional: set long EXPIRES header on static assets
 +        location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
 +                expires 30d;
 +                # Optional: Don't log access to assets
 +                access_log off;
 +        }
 +
 +}</pre>
 +</div>
 +<div class="admonition note">
 +<p class="first admonition-title">Note</p>
 +<p class="last">You can use ownCloud without SSL/TLS support, but we strongly encourage you not to do that:</p>
 +</div>
 +<ul class="simple">
 +<li>Remove the server block containing the redirect</li>
 +<li>Change <strong>listen 443 ssl</strong> to <strong>listen 80;</strong></li>
 +<li>Remove <strong>ssl_certificate</strong> and <strong>ssl_certificate_key</strong>.</li>
 +<li>Remove <strong>fastcgi_params HTTPS on;</strong></li>
 +</ul>
 +<div class="admonition note">
 +<p class="first admonition-title">Note</p>
 +<p class="last">If you want to effectively increase maximum upload size you will also have to modify your <strong>php-fpm configuration</strong> (<strong>usually at
 +/etc/php5/fpm/php.ini</strong>) and increase <strong>upload_max_filesize</strong> and
 +<strong>post_max_size</strong> values. You’ll need to restart php5-fpm and nginx
 +services in order these changes to be applied.</p>
 +</div>
 +</div>
 +<div class="section" id="lighttpd-configuration">
 +<h3>Lighttpd Configuration<a class="headerlink" href="#lighttpd-configuration" title="Permalink to this headline">¶</a></h3>
 +<p>This assumes that you are familiar with installing PHP application on
 +lighttpd.</p>
 +<p>It is important to note that the <strong>.htaccess</strong> files used by ownCloud to protect the <strong>data</strong> folder are ignored by
 +lighttpd, so you have to secure it by yourself, otherwise your <strong>owncloud.db</strong> database and user data are publicly
 +readable even if directory listing is off. You need to add two snippets to your lighttpd configuration file:</p>
 +<p>Disable access to data folder:</p>
 +<div class="highlight-python"><pre>$HTTP["url"] =~ "^/owncloud/data/" {
 +     url.access-deny = ("")
 +   }</pre>
 +</div>
 +<p>Disable directory listing:</p>
 +<div class="highlight-python"><pre>$HTTP["url"] =~ "^/owncloud($|/)" {
 +     dir-listing.activate = "disable"
 +   }</pre>
 +</div>
 +</div>
 +<div class="section" id="yaws-configuration">
 +<h3>Yaws Configuration<a class="headerlink" href="#yaws-configuration" title="Permalink to this headline">¶</a></h3>
 +<p>This should be in your <strong>yaws_server.conf</strong>. In the configuration file, the
 +<strong>dir_listings = false</strong> is important and also the redirect from <strong>/data</strong>
 +to somewhere else, because files will be saved in this directory and it
 +should not be accessible from the outside. A configuration file would look
 +like this</p>
 +<div class="highlight-xml"><pre><server owncloud.myserver.com/>
 +        port = 80
 +        listen = 0.0.0.0
 +        docroot = /var/www/owncloud/src
 +        allowed_scripts = php
 +        php_handler = <cgi, /usr/local/bin/php-cgi>
 +        errormod_404 = yaws_404_to_index_php
 +        access_log = false
 +        dir_listings = false
 +        <redirect>
 +                /data == /
 +        </redirect>
 +</server></pre>
 +</div>
 +<p>The apache <strong>.htaccess</strong> file that comes with ownCloud is configured to
 +redirect requests to nonexistent pages. To emulate that behaviour, you
 +need a custom error handler for yaws. See this <a class="reference external" href="https://gist.github.com/2200407">github gist for further instructions</a> on how to create and compile that error handler.</p>
 +</div>
 +<div class="section" id="hiawatha-configuration">
 +<h3>Hiawatha Configuration<a class="headerlink" href="#hiawatha-configuration" title="Permalink to this headline">¶</a></h3>
 +<p>Add <strong>WebDAVapp = yes</strong> to the ownCloud virtual host. Users accessing
 +WebDAV from MacOS will also need to add <strong>AllowDotFiles = yes</strong>.</p>
 +<p>Disable access to data folder:</p>
 +<div class="highlight-python"><pre>UrlToolkit {
 +    ToolkitID = denyData
 +    Match ^/data DenyAccess
 +}</pre>
 +</div>
 +</div>
 +<div class="section" id="microsoft-internet-information-server-iis">
 +<h3>Microsoft Internet Information Server (IIS)<a class="headerlink" href="#microsoft-internet-information-server-iis" title="Permalink to this headline">¶</a></h3>
 +<p>See <a class="reference internal" href="installation_windows.html"><em>Windows 7 and Windows Server 2008</em></a> for further instructions.</p>
 +</div>
 +</div>
 +<div class="section" id="follow-the-install-wizard">
 +<h2>Follow the Install Wizard<a class="headerlink" href="#follow-the-install-wizard" title="Permalink to this headline">¶</a></h2>
 +<p>Open your web browser and navigate to your ownCloud instance. If you are
 +installing ownCloud on the same machine as you will access the install wizard
 +from, the url will be: <a class="reference external" href="http://localhost/">http://localhost/</a> (or <a class="reference external" href="http://localhost/owncloud">http://localhost/owncloud</a>).</p>
 +<p>For basic installs we recommend SQLite as it is easy to setup (ownCloud will do it for you). For larger installs you
 +should use MySQL or PostgreSQL. Click on the Advanced options to show the configuration options. You may enter admin
 +credentials and let ownCloud create its own database user, or enter a preconfigured user.  If you are not using apache
 +as the web server, please set the data directory to a location outside of the document root. See the advanced
 +install settings.</p>
 +</div>
 +</div>
 +
 +
 +					</div>
 +				</div>
 +			</div>
 +    
 +  </div>
 +</div>
 +  </body>
 +</html>
diff --cc core/doc/user/_sources/files/versioncontrol.txt
index 26e91a0,0000000..cd668d6
mode 100644,000000..100644
--- a/core/doc/user/_sources/files/versioncontrol.txt
+++ b/core/doc/user/_sources/files/versioncontrol.txt
@@@ -1,37 -1,0 +1,35 @@@
 +Version Control
 +===============
 +
 +ownCloud supports simple version control for files. Versioning creates backups
 +of files which are accessible via the Versions link. This link contains the
 +history of the file where you can roll back a file to any previous version. Changes
 +made at intervals greater than two minutes are saved in data/[user]/versions,
 +and made accessible using the above pages.
 +
- Versioning is **not** enabled by default and needs to be enabled by administrator
- using App management page.
- 
 +To restore a specific version of a file, hover your cursor on a file and click
 +*Versions* link. If any version is available, you should see a list like the image
 +below:
 +
 +.. figure:: ../images/files_versioning.png
 +
 +Clicking on *Restore* next to any version will revert the file to that
 +version back.
 +
 +The versioning app expires old versions automatically to make sure that
 +the user doesn't run out of space. Following pattern is used to delete
 +old versions:
 +
 +* For the first 10 seconds ownCloud keeps one version every 2 seconds
++* For the first minute ownCloud keeps one version every 10 seconds
 +* For the first hour ownCloud keeps one version every minute
 +* For the first 24 hours ownCloud keeps one version every hour
 +* For the first 30 days ownCloud keeps one version every day
 +* After the first 30 days ownCloud keeps one version every week
 +
 +The versions are adjusted along this pattern every time a new version gets
 +created.
 +
 +Beside that the version app takes care to never use more that 50% of the users
 +currently available free space. If the stored versions exceed this limit ownCloud
 +delete the oldest versions until it meets the memory usage limit again.
diff --cc core/doc/user/files/versioncontrol.html
index 046cb25,0000000..8ac6708
mode 100644,000000..100644
--- a/core/doc/user/files/versioncontrol.html
+++ b/core/doc/user/files/versioncontrol.html
@@@ -1,191 -1,0 +1,190 @@@
 +
 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 +  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 +
 +
 +<html xmlns="http://www.w3.org/1999/xhtml">
 +  <head>
 +    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 +    
 +    <title>Version Control — ownCloud User Manual 6.0 documentation</title>
 +    
 +    <link rel="stylesheet" href="../_static/style.css" type="text/css" />
 +    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
 +    <link rel="stylesheet" href="../_static/style.css" type="text/css" />
 +    <link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
 +    
 +    <script type="text/javascript">
 +      var DOCUMENTATION_OPTIONS = {
 +        URL_ROOT:    '../',
 +        VERSION:     '6.0',
 +        COLLAPSE_INDEX: false,
 +        FILE_SUFFIX: '.html',
 +        HAS_SOURCE:  true
 +      };
 +    </script>
 +    <script type="text/javascript" src="../_static/jquery.js"></script>
 +    <script type="text/javascript" src="../_static/underscore.js"></script>
 +    <script type="text/javascript" src="../_static/doctools.js"></script>
 +    <script type="text/javascript" src="../_static/bootstrap.js"></script>
 +    <link rel="top" title="ownCloud User Manual 6.0 documentation" href="../index.html" />
 +    <link rel="up" title="Files & Synchronization" href="index.html" />
 +    <link rel="next" title="Deleted Files" href="deletedfiles.html" />
 +    <link rel="prev" title="Accessing your Files (WebDAV)" href="files.html" />
 +<script type="text/javascript">
 +(function () {
 +  /**
 +   * Patch TOC list.
 +   *
 +   * Will mutate the underlying span to have a correct ul for nav.
 +   *
 +   * @param $span: Span containing nested UL's to mutate.
 +   * @param minLevel: Starting level for nested lists. (1: global, 2: local).
 +   */
 +  var patchToc = function ($ul, minLevel) {
 +    var findA;
 +
 +    // Find all a "internal" tags, traversing recursively.
 +    findA = function ($elem, level) {
 +      var level = level || 0,
 +        $items = $elem.find("> li > a.internal, > ul, > li > ul");
 +
 +      // Iterate everything in order.
 +      $items.each(function (index, item) {
 +        var $item = $(item),
 +          tag = item.tagName.toLowerCase(),
 +          pad = 15 + ((level - minLevel) * 10);
 +
 +        if (tag === 'a' && level >= minLevel) {
 +          // Add to existing padding.
 +          $item.css('padding-left', pad + "px");
 +          console.log(level, $item, 'padding-left', pad + "px");
 +        } else if (tag === 'ul') {
 +          // Recurse.
 +          findA($item, level + 1);
 +        }
 +      });
 +    };
 +
 +    console.log("HERE");
 +    findA($ul);
 +  };
 +
 +  $(document).ready(function () {
 +    // Add styling, structure to TOC's.
 +    $(".dropdown-menu").each(function () {
 +      $(this).find("ul").each(function (index, item){
 +        var $item = $(item);
 +        $item.addClass('unstyled');
 +      });
 +      $(this).find("li").each(function () {
 +        $(this).parent().append(this);
 +      });
 +    });
 +
 +    // Patch in level.
 +    patchToc($("ul.globaltoc"), 2);
 +    patchToc($("ul.localtoc"), 2);
 +
 +    // Enable dropdown.
 +    $('.dropdown-toggle').dropdown();
 +  });
 +}());
 +</script>
 +
 +  </head>
 +  <body>
 +  
 +
 +<div class="container">
 +  <div class="content">
 +    <div class="page-header">
 +      <h1><a href="../contents.html">ownCloud User Manual</a></h1>
 +
 +    </div>
 +    
 +			<div class="row">
 +				<div class="span3">
 +					<div class="sidebar">
 +						<div class="well">
 +							<div class="menu-support-container">
 +								<ul id="menu-support" class="menu">
 +									<ul>
 +										<li><a href="../contents.html">Overview</a></li>
 +									</ul>
 +                  <ul>
 +<li class="toctree-l1"><a class="reference internal" href="../index.html">User Documentation</a></li>
 +</ul>
 +<ul class="current">
 +<li class="toctree-l1"><a class="reference internal" href="../webinterface.html">The ownCloud Web Interface</a></li>
 +<li class="toctree-l1 current"><a class="reference internal" href="index.html">Files & Synchronization</a><ul class="current">
 +<li class="toctree-l2"><a class="reference internal" href="filesweb.html">Accessing your Files (Web Interface)</a></li>
 +<li class="toctree-l2"><a class="reference internal" href="files.html">Accessing your Files (WebDAV)</a></li>
 +<li class="toctree-l2 current"><a class="current reference internal" href="">Version Control</a></li>
 +<li class="toctree-l2"><a class="reference internal" href="deletedfiles.html">Deleted Files</a></li>
 +<li class="toctree-l2"><a class="reference internal" href="sync.html">Desktop Synchronization</a></li>
 +<li class="toctree-l2"><a class="reference internal" href="encryption.html">Files Encryption</a></li>
 +<li class="toctree-l2"><a class="reference internal" href="quota.html">Storage Quota</a></li>
 +<li class="toctree-l2"><a class="reference internal" href="configuring_big_file_upload.html">Big Files</a></li>
 +</ul>
 +</li>
 +<li class="toctree-l1"><a class="reference internal" href="../pim/index.html">Contacts & Calendar</a></li>
 +<li class="toctree-l1"><a class="reference internal" href="../bookmarks.html">Using the Bookmarks App</a></li>
 +<li class="toctree-l1"><a class="reference internal" href="../documents.html">Documents</a></li>
 +<li class="toctree-l1"><a class="reference internal" href="../migration.html">User Account Migration</a></li>
 +<li class="toctree-l1"><a class="reference internal" href="../userpreferences.html">Changing Preferences</a></li>
 +<li class="toctree-l1"><a class="reference internal" href="../external_storage/google_drive.html">External storage</a></li>
 +</ul>
 +
 +								</ul>
 +							</div>
 +						</div>
 +					</div>
 +				</div>
 +        
 +
 +				<div class="span9">
 +					<div class="page-content">
 +						
 +  <div class="section" id="version-control">
 +<h1>Version Control<a class="headerlink" href="#version-control" title="Permalink to this headline">¶</a></h1>
 +<p>ownCloud supports simple version control for files. Versioning creates backups
 +of files which are accessible via the Versions link. This link contains the
 +history of the file where you can roll back a file to any previous version. Changes
 +made at intervals greater than two minutes are saved in data/[user]/versions,
 +and made accessible using the above pages.</p>
- <p>Versioning is <strong>not</strong> enabled by default and needs to be enabled by administrator
- using App management page.</p>
 +<p>To restore a specific version of a file, hover your cursor on a file and click
 +<em>Versions</em> link. If any version is available, you should see a list like the image
 +below:</p>
 +<div class="figure">
 +<img alt="../_images/files_versioning.png" src="../_images/files_versioning.png" />
 +</div>
 +<p>Clicking on <em>Restore</em> next to any version will revert the file to that
 +version back.</p>
 +<p>The versioning app expires old versions automatically to make sure that
 +the user doesn’t run out of space. Following pattern is used to delete
 +old versions:</p>
 +<ul class="simple">
 +<li>For the first 10 seconds ownCloud keeps one version every 2 seconds</li>
++<li>For the first minute ownCloud keeps one version every 10 seconds</li>
 +<li>For the first hour ownCloud keeps one version every minute</li>
 +<li>For the first 24 hours ownCloud keeps one version every hour</li>
 +<li>For the first 30 days ownCloud keeps one version every day</li>
 +<li>After the first 30 days ownCloud keeps one version every week</li>
 +</ul>
 +<p>The versions are adjusted along this pattern every time a new version gets
 +created.</p>
 +<p>Beside that the version app takes care to never use more that 50% of the users
 +currently available free space. If the stored versions exceed this limit ownCloud
 +delete the oldest versions until it meets the memory usage limit again.</p>
 +</div>
 +
 +
 +					</div>
 +				</div>
 +			</div>
 +    
 +  </div>
 +</div>
 +  </body>
 +</html>
diff --cc core/skeleton/ownCloudUserManual.pdf
index 8e8a1d1,0000000..f2a58e8
mode 100644,000000..100644
Binary files differ
diff --cc lib/private/util.php
index a4b3761,7b9d223..7b9d223
mode 100644,100755..100644
--- a/lib/private/util.php
+++ b/lib/private/util.php
diff --cc version.php
index 7864e62,1f53f30..b36b317
--- a/version.php
+++ b/version.php
@@@ -1,6 -1,17 +1,6 @@@
 -<?php
 -
 -// We only can count up. The 4. digit is only for the internal patchlevel to trigger DB upgrades between betas, final and RCs. This is _not_ the public version number. Reset minor/patchlevel when updating major/minor version number.
 -$OC_Version=array(6, 00, 0, 16);
 -
 -// The human readable string
 -$OC_VersionString='6.0.1';
 -
 -// The ownCloud edition
 -$OC_Edition='';
 -
 -// The ownCloud channel
 -$OC_Channel='git';
 -
 -// The build number
 -$OC_Build='';
 -
 +<?php 
- $OC_Version = array(6,0,0,15);
- $OC_VersionString = '6.0.1 RC1';
++$OC_Version = array(6,0,0,16);
++$OC_VersionString = '6.0.1';
 +$OC_Edition = '';
- $OC_Channel = 'testing';
- $OC_Build = '2014-01-16T17:11:41+00:00';
++$OC_Channel = 'stable';
++$OC_Build = '2014-01-22T11:26:13+00:00';

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git



More information about the Pkg-owncloud-commits mailing list