[Pkg-owncloud-commits] [owncloud] 02/05: Imported Upstream version 7.0.13~~rc2~dfsg
David Prévot
taffit at moszumanska.debian.org
Sat Mar 5 16:31:10 UTC 2016
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository owncloud.
commit eb5e3b8d2c1211f2da0e096f32e9af484eaecdc6
Merge: 0655543 3926969
Author: David Prévot <taffit at debian.org>
Date: Sat Mar 5 11:40:15 2016 -0400
Imported Upstream version 7.0.13~~rc2~dfsg
3rdparty/doctrine/dbal/lib/Doctrine/DBAL/README.markdown | 0
apps/files_texteditor/js/vendor/ace/src-noconflict/mode-text.js | 0
.../_sources/configuration/external_storage_configuration.txt | 2 +-
.../_sources/configuration/serving_static_files_configuration.txt | 4 ++--
.../doc/admin/release/_sources/installation/nginx_configuration.txt | 2 +-
.../doc/admin/release/_sources/installation/source_installation.txt | 6 +++---
core/doc/admin/release/_sources/installation/yaws_configuration.txt | 2 +-
.../admin/release/configuration/external_storage_configuration.html | 2 +-
.../release/configuration/serving_static_files_configuration.html | 4 ++--
core/doc/admin/release/installation/source_installation.html | 6 +++---
core/doc/admin/release/installation/yaws_configuration.html | 2 +-
core/doc/user/_sources/pim/contacts.txt | 2 +-
core/doc/user/_sources/pim/troubleshooting.txt | 3 ++-
version.php | 6 +++---
14 files changed, 21 insertions(+), 20 deletions(-)
diff --cc core/doc/admin/release/_sources/configuration/external_storage_configuration.txt
index c8afd09,0000000..9f13dbf
mode 100644,000000..100644
--- a/core/doc/admin/release/_sources/configuration/external_storage_configuration.txt
+++ b/core/doc/admin/release/_sources/configuration/external_storage_configuration.txt
@@@ -1,486 -1,0 +1,486 @@@
+=================================================
+Configuring External Storage (Configuration File)
+=================================================
+
+Since ownCloud 4.0 it is possible to configure the filesystem to mount external
+storage providers into ownCloud's virtual file system. You can configure these
+file systems by creating and editing :file:`data/mount.json`. This file contains
+all settings in JSON (JavaScript Object Notation) format. At the moment two
+different types of entries exist:
+
+- **Group mounts:** each entry configures a mount for each user in group.
+- **User mounts:** each entry configures a mount for a single user or for all
+ users.
+
+For each type, there is a JSON array with the user/group name as key, and an
+array of configuration entries as value. Each entry consist of the class name
+of the storage backend and an array of backend specific options and will be
+replaced by the user login. The template **$user** can be used in the mount
+point or backend options. As of writing the following storage backends are
+available for use:
+
+- Local file system
+- FTP (or FTPS)
+- SFTP
+- SMB
+- WebDAV
+- `Amazon S3`_
+- `Dropbox`_
+- `Google Drive`_
+- `OpenStack Swift`_
+
+.. note:: You need to enable the `External storage support` app first before you
+ can use the examples below. See the section :doc:`external_storage_configuration_gui`
+ how to do this.
+
+.. note:: A non-blocking or correctly configured SELinux setup is needed
+ for these backends to work. Please refer to the :ref:`selinux-config-label`.
+
+Please keep in mind that some formatting has been applied and carriage returns
+have been added for better readability. In the :file:`data/mount.json` all
+values need to be concatenated and written in a row without these modifications!
+
+It is recommended to use the :doc:`Web-GUI <external_storage_configuration_gui>` in the
+administrator panel to add, remove or modify mount options to prevent any problems!
+
+Using self-signed certificates
+------------------------------
+
+When using self-signed certificates for external storage mounts the certificate
+needs to be imported in the personal settings of the user. Please refer to `this <http://ownclouden.blogspot.de/2014/11/owncloud-https-external-mount.html>`_
+blogpost for more informations.
+
+Adding files to external storages
+---------------------------------
+
+In general it is recommended to configure the background job ``Webcron`` or
+``Cron`` as described in :doc:`background_jobs_configuration`
+so ownCloud is able to detect files added to your external storages without the need
+that a users is browsing your ownCloud installation.
+
+Please also be aware that ownCloud might not always be able to find out what has been
+changed remotely (files changes without going through ownCloud), especially
+when it's very deep in the folder hierarchy of the external storage.
+
+You might need to setup a cron job that runs ``sudo -u www-data php occ files:scan --all``
+(or replace "--all" with the user name, see also :doc:`occ_command`)
+to trigger a rescan of the user's files periodically (for example every 15 minutes), which includes
+the mounted external storage.
+
+Example
+-------
+
- .. code-block:: json
++::
+
+ {"group":{
+ "admin":{
+ "\/$user\/files\/Admin_Stuff":{
+ "class":"\\OC\\Files\\Storage\\Local",
+ "options":{ ... },
+ "priority":150
+ }
+ }
+ }
+ "user":{
+ "all":{
+ "\/$user\/files\/Pictures":{
+ "class":"\\OC\\Files\\Storage\\DAV",
+ "options":{ ... },
+ "priority":100
+ }
+ }
+ "someuser":{
+ "\/someuser\/files\/Music":{
+ "class":"\\OC\\Files\\Storage\\FTP",
+ "options":{ ... },
+ "priority":100
+ }
+ }
+ }
+ }
+
+Priorities
+----------
+
+An advanced feature is available, only configurable directly in
+:file:`data/mount.json`, which allows mount configurations to have an associated
+priority. When two or more valid mount configurations exist for the same mount point,
+the one with the highest priority (defined by the largest number) will take precedence
+and become the active mount for the user.
+
+Each backend has a default priority, assigned when a mount configuration with that
+backend is created. The default priority will be shown in the example section for
+each backend below. Should a backend not provide a default priority, a value of 100
+will be used.
+
+There is also a concept of priority types, to preserve compatibility with
+previous mount configuration parsing. Mount configurations are evaluated in the
+following order, with later mount types always overriding a previous mount type:
+
+- user -> all : global mount configurations
+- group : group mount configurations
+- user (not all) : per-user mount configurations
+- :file:`data/$user/mount.json` : personal mount configurations
+
+Backends
+--------
+
+Local Filesystem
+~~~~~~~~~~~~~~~~
+
+The local filesystem backend mounts a folder on the server into the virtual
+filesystem, the class to be used is **\\OC\\Files\\Storage\\Local**\ and
+takes the following options:
+
+- **datadir** : the path to the local directory to be mounted
+
+
+Example
+^^^^^^^
+
+.. code-block:: json
+
+ { "class":"\\OC\\Files\\Storage\\Local",
+ "options":{ "datadir":"\/mnt\/additional_storage" },
+ "priority":150
+ }
+
+.. note:: You must ensure that the web server has sufficient permissions on the folder.
+
+FTP (or FTPS)
+~~~~~~~~~~~~~
+
+The FTP backend mounts a folder on a remote FTP server into the virtual
+filesystem and is part of the ‘External storage support’ app, the class
+to be used is **\\OC\\Files\\Storage\\FTP**\ and takes the following
+options:
+
+- **host**: the hostname of the ftp server, and optionally the port number
+- **user**: the username used to login on the ftp server
+- **password**: the password to login on the ftp server
+- **secure**: whether to use ftps:// (FTP over TLS) to connect to the ftp
+ server instead of ftp:// (optional, defaults to false)
+- **root**: the folder inside the ftp server to mount (optional, defaults
+ to ‘/’)
+
+
+Example
+^^^^^^^
+
+.. code-block:: json
+
+ { "class":"\\OC\\Files\\Storage\\FTP",
+ "options":{
+ "host":"ftp.myhost.com:21",
+ "user":"johndoe",
+ "password":"secret",
+ "root":"\/Videos",
+ "secure":"false"
+ },
+ "priority":100
+ }
+
+.. note:: PHP needs to be build with FTP support for this backend to work.
+
+.. note:: The external storage ``FTP/FTPS/SFTP`` needs the ``allow_url_fopen`` PHP
+ setting to be set to ``1``. When having connection problems make sure that it is
+ not set to ``0`` in your ``php.ini``.
+
+SFTP
+~~~~
+
+The SFTP backend mounts a folder on a remote SSH server into the virtual
+filesystem and is part of the ‘External storage support’ app. The class
+to be used is **\\OC\\Files\\Storage\\SFTP**\ and takes the following
+options:
+
+- **host**: the hostname of the SSH server
+- **user**: the username used to login to the SSH server
+- **password**: the password to login on the SSH server
+- **root**: the folder inside the SSH server to mount (optional, defaults
+ to ‘/’)
+
+
+Example
+^^^^^^^
+
+.. code-block:: json
+
+ { "class":"\\OC\\Files\\Storage\\SFTP",
+ "options":{
+ "host":"ssh.myhost.com",
+ "user":"johndoe",
+ "password":"secret",
+ "root":"\/Books"
+ },
+ "priority":100
+ }
+
+.. note:: PHP needs to be build with SFTP support for this backend to work.
+
+.. note:: The external storage ``FTP/FTPS/SFTP`` needs the ``allow_url_fopen`` PHP
+ setting to be set to ``1``. When having connection problems make sure that it is
+ not set to ``0`` in your ``php.ini``.
+
+SMB
+~~~
+The SMB backend mounts a folder on a remote Samba server, a NAS appliance or
+a Windows machine into the virtual file system. It is part of the ‘External
+storage support’ app, the class to be used is **\\OC\\Files\\Storage\\SMB**\ and
+takes the following options:
+
+- **host**: the host name of the samba server
+- **user**: the username or domain/username to login on the samba server
+- **password**: the password to login on the samba server
+- **share**: the share on the samba server to mount
+- **root**: the folder inside the samba share to mount (optional, defaults
+ to ‘/’) To assign the ownCloud logon username automatically to the subfolder, use ``$user`` instead of a particular subfolder name.
+
+
+.. note:: The SMB backend requires **smbclient** to be installed on the server.
+
+Example
+^^^^^^^
+With username only:
+
+.. code-block:: json
+
+ { "class":"\\OC\\Files\\Storage\\SMB",
+ "options":{
+ "host":"myhost.com",
+ "user":"johndoe",
+ "password":"secret",
+ "share":"\/test",
+ "root":"\/Pictures"
+ },
+ "priority":100
+ }
+
+With domainname and username:
+
+.. code-block:: json
+
+ { "class":"\\OC\\Files\\Storage\\SMB",
+ "options":{
+ "host":"myhost.com",
+ "user":"domain\/johndoe",
+ "password":"secret",
+ "share":"\/test",
+ "root":"\/Pictures"
+ },
+ "priority":100
+ }
+
+WebDAV
+~~~~~~
+
+The WebDAV backend mounts a folder on a remote WebDAV server into the
+virtual filesystem and is part of the ‘External storage support’ app,
+the class to be used is **\\OC\\Files\\Storage\\DAV**\ and takes the
+following options:
+
+- **host**: the hostname of the webdav server.
+- **user**: the username used to login on the webdav server
+- **password**: the password to login on the webdav server
+- **secure**: whether to use https:// to connect to the webdav server
+ instead of http:// (optional, defaults to false)
+- **root**: the folder inside the webdav server to mount (optional,
+ defaults to ‘/’)
+
+
+Example
+^^^^^^^
+
+.. code-block:: json
+
+ { "class":"\\OC\\Files\\Storage\\DAV",
+ "options":{
+ "host":"myhost.com\/webdav.php",
+ "user":"johndoe",
+ "password":"secret",
+ "secure":"true"
+ },
+ "priority":100
+ }
+
+Amazon S3
+~~~~~~~~~
+
+The Amazon S3 backend mounts a bucket in the Amazon cloud into the virtual
+filesystem and is part of the ‘External storage support’ app, the class to
+be used is **\\OC\\Files\\Storage\\AmazonS3**\ and takes the following
+options:
+
+- **key**: the key to login to the Amazon cloud
+- **secret**: the secret to login to the Amazon cloud
+- **bucket**: the bucket in the Amazon cloud to mount
+
+
+Example
+^^^^^^^
+
+.. code-block:: json
+
+ { "class":"\\OC\\Files\\Storage\\AmazonS3",
+ "options":{
+ "key":"key",
+ "secret":"secret",
+ "bucket":"bucket"
+ },
+ "priority":100
+ }
+
+Dropbox
+~~~~~~~
+
+The Dropbox backend mounts a dropbox in the Dropbox cloud into the virtual
+filesystem and is part of the ‘External storage support’ app, the class to
+be used is **\\OC\\Files\\Storage\\Dropbox**\ and takes the following options:
+
+- **configured**: whether the drive has been configured or not (true or false)
+- **app_key**: the app key to login to your Dropbox
+- **app_secret**: the app secret to login to your Dropbox
+- **token**: the OAuth token to login to your Dropbox
+- **token_secret**: the OAuth secret to login to your Dropbox
+
+
+Example
+^^^^^^^
+
+.. code-block:: json
+
+ { "class":"\\OC\\Files\\Storage\\Dropbox",
+ "options":{
+ "configured":"#configured",
+ "app_key":"key",
+ "app_secret":"secret",
+ "token":"#token",
+ "token_secret":"#token_secret"
+ },
+ "priority":100
+ }
+
+Google Drive
+~~~~~~~~~~~~
+
+The Google Drive backend mounts a share in the Google cloud into the virtual
+filesystem and is part of the ‘External storage support’ app, the class to
+be used is **\\OC\\Files\\Storage\\Google**\ and is done via an OAuth2.0 request.
+That means that the App must be registered through the Google APIs Console.
+The result of the registration process is a set of values (incl. client_id, client_secret).
+It takes the following options:
+
+- **configured**: whether the drive has been configured or not (true or false)
+- **client_id**: the client id to login to the Google drive
+- **client_secret**: the client secret to login to the Google drive
+- **token**: a compound value including access and refresh tokens
+
+Example
+^^^^^^^
+
+.. code-block:: json
+
+ { "class":"\\OC\\Files\\Storage\\Google",
+ "options":{
+ "configured":"#configured",
+ "client_id":"#client_id",
+ "client_secret":"#client_secret",
+ "token":"#token"
+ },
+ "priority":100
+ }
+
+OpenStack Swift
+~~~~~~~~~~~~~~~
+
+The Swift backend mounts a container on an OpenStack Object Storage server
+into the virtual filesystem and is part of the ‘External storage support’
+app, the class to be used is **\\OC\\Files\\Storage\\SWIFT**\ and takes
+the following options:
+
+- **host**: the hostname of the authentication server for the swift
+ storage.
+- **user**: the username used to login on the swift server
+- **token**: the authentication token to login on the swift server
+- **secure**: whether to use ftps:// to connect to the swift server instead
+ of ftp:// (optional, defaults to false)
+- **root**: the container inside the swift server to mount (optional,
+ defaults to ‘/’)
+
+Example
+^^^^^^^
+
+.. code-block:: json
+
+ { "class":"\\OC\\Files\\Storage\\SWIFT",
+ "options":{
+ "host":"swift.myhost.com\/auth",
+ "user":"johndoe",
+ "token":"secret",
+ "root":"\/Videos",
+ "secure":"true"
+ },
+ "priority":100
+ }
+
+External Storage Password Management
+------------------------------------
+
+ownCloud handles passwords for external mounts differently than regular
+ownCloud user passwords.
+
+The regular user and file share passwords (when you use the default ownCloud
+user backend) are stored using a strong cryptographically secure hashing
+mechanism in the database. On a new user account with a new password, the
+password is hashed and stored in the ownCloud database. The plain-text password
+is never stored. When the user logs in, the hash of the password they enter is
+compared with the hash in the database. When the hashes match the user is
+allowed access. These are not recoverable, so when a user loses a password the
+only option is to create a new password.
+
+Passwords which are used to connect against external storage (e.g.
+SMB or FTP), there we have to differentiate again between different
+implementations:
+
+1. **Login with ownCloud credentials**
+
+When a mountpoint has this option, for example ``SMB / CIFS using OC login``,
+the password will be intercepted when a user logs in and written to the PHP
+session (which is a file on the filesystem), and written encrypted into the
+session with a key from the configuration file. Every time that password is
+required ownCloud reads it from the PHP session file.
+
+When you use this option, features such as sharing will not work properly from
+that mountpoint when the user is not logged-in.
+
+Depending on the implementation of the application, this means that the password
+could get leaked in the ``ps`` output, as we use ``smbclient`` for SMB storage
+access in the community version. There is a `bug report on this
+<https://github.com/owncloud/core/issues/6092>`_. Consequently, we're currently
+evaluating an alternative approach accessing the library directly, and thus not
+leaking the password anymore. This is already implemented in the Enterprise
+Edition in our Windows Network Drive application, and it will get into the
+community version once we have streamlined the code of the ``files_external``
+application a little bit more.
+
+2. **Stored credentials**
+
+When you enter credentials into the ``files_external`` dialog those are stored
+on the filesystem and encrypted with a key stored in ``config.php``. This is
+required since ownCloud needs access to those files and shares even when the
+user is not logged-in to have sharing and other key features properly working.
+
+To sum up:
+
+The "login with ownCloud credentials" SMB function in the community edition
+exposes the password in the server system's process list. If you want to get
+around this limitation without waiting for it to be addressed in CE you can get
+the Enterprise Edition. However, even then the password is stored in the PHP
+session and a malicious admin could access it. You can protect your PHP session
+files using protections available in your filesystem. Stored credentials are
+always accessible to the ownCloud instance.
+
+.. _Amazon S3: http://aws.amazon.com/de/s3/
+.. _Dropbox: https://www.dropbox.com/
+.. _Google Drive: https://drive.google.com/start
+.. _OpenStack Swift: http://openstack.org/projects/storage/
diff --cc core/doc/admin/release/_sources/configuration/serving_static_files_configuration.txt
index aa7f2dc,0000000..22af76d
mode 100644,000000..100644
--- a/core/doc/admin/release/_sources/configuration/serving_static_files_configuration.txt
+++ b/core/doc/admin/release/_sources/configuration/serving_static_files_configuration.txt
@@@ -1,135 -1,0 +1,135 @@@
+Serving Static Files for Better Performance
+===========================================
+
+Since ownCloud 5 it is possible to let web servers handle static file serving.
+This should generally improve performance (web servers are optimized for this) and in some cases permits controlled
+file serving (i.e. pause and resume downloads).
+
+.. note :: This feature can currently only be activated for local files, i.e. files inside the **data/** directory and local mounts. It also does not work with the Encryption App enabled.
+ Controlled file serving **does not work for generated zip files**. This is due to zip files being generated and streamed back directly to the client.
+
+Apache2 (X-Sendfile)
+--------------------
+It is possible to let Apache handle static file serving via `mod_xsendfile <https://tn123.org/mod_xsendfile/>`_.
+
+Installation
+~~~~~~~~~~~~
+On Debian and Ubuntu systems use:
+
+.. code-block:: bash
+
+ apt-get install libapache2-mod-xsendfile
+
+
+Configuration
+~~~~~~~~~~~~~
+Configuration of mod_xsendfile for ownCloud depends on its version.
+For versions below 0.10 (Debian squeeze ships with 0.9)
+
- .. code-block:: xml
++::
+
+ <Directory /var/www/owncloud>
+ ...
+ SetEnv MOD_X_SENDFILE_ENABLED 1
+ XSendFile On
+ XSendFileAllowAbove On
+ </Directory>
+
+For versions >=0.10 (e.g. Ubuntu 12.10)
+
- .. code-block:: xml
++::
+
+ <Directory /var/www/owncloud>
+ ...
+ SetEnv MOD_X_SENDFILE_ENABLED 1
+ XSendFile On
+ XSendFilePath /home/valerio
+ </Directory>
+
+* **SetEnv MOD_X_SENDFILE_ENABLED**: tells ownCloud scripts that they should add the X-Sendfile header when serving files
+* **XSendFile**: enables web server handling of X-Sendfile headers (and therefore file serving) for the specified Directory
+* **XSendFileAllowAbove (<0.10)**: enables file serving through web server on path outside the specified Directory. This is needed for configured local mounts which may reside outside data directory
+* **XSendFilePath (>=0.10)**: a white list of paths that the web server is allowed to serve outside of the specified Directory. Other paths which correspond to local mounts should be configured here as well. For a more in-depth documentation of this directive refer to mod_xsendfile website linked above
+
+LigHTTPd (X-Sendfile2)
+----------------------
+LigHTTPd uses similar headers to Apache2, apart from the fact that it does not handle partial downloads in the same way
+Apache2 does. For this reason, a different method is used for LigHTTPd.
+
+Installation
+~~~~~~~~~~~~
+X-Sendfile and X-Sendfile2 are supported by default in LigHTTPd and no additional operation should be needed to install it.
+
+Configuration
+~~~~~~~~~~~~~
+Your server configuration should include the following statements::
+
+ fastcgi.server = ( ".php" => ((
+ ...
+ "allow-x-send-file" => "enable",
+ "bin-environment" => (
+ "MOD_X_SENDFILE2_ENABLED" => "1",
+ ),
+ )))
+
+* **allow-x-send-file**: enables LigHTTPd to use X-Sendfile and X-Sendfile2 headers to serve files
+* **bin-environment**: is used to parse MOD_X_SENDFILE2_ENABLED to the ownCloud backend, to make it use the X-Sendfile and X-Sendfile2 headers in it's response
+
+
+Nginx (X-Accel-Redirect)
+------------------------
+Nginx supports handling of static files differently from Apache. Documentation can be found in the Nginx Wiki
+section `Mod X-Sendfile <http://wiki.nginx.org/XSendfile>`_ and section `X-Accell <http://wiki.nginx.org/X-accel>`_.
+The header used by Nginx is X-Accel-Redirect.
+
+Installation
+~~~~~~~~~~~~
+X-Accel-Redirect is supported by default in Nginx and no additional operation should be needed to install it.
+
+Configuration
+~~~~~~~~~~~~~
+Configuration is similar to Apache::
+
+ location ~ \.php(?:$|/) {
+ ...
+ fastcgi_param MOD_X_ACCEL_REDIRECT_ENABLED on;
+ }
+
+ location ^~ /data {
+ internal;
+ # Set 'alias' if not using the default 'datadirectory'
+ #alias /path/to/non-default/datadirectory;
+
+ # LOCAL-MOUNT-NAME should match "Folder name" and 'alias' value should match "Configuration"
+ # A 'Local' External Storage Mountpoint available to a single user
+ # location /data/USER/files/LOCAL-FS-MOUNT-NAME {
+ # alias /path/to/local-mountpoint;
+ # }
+
+ # A 'Local' External Storage Mountpoint available to mulitple users
+ # location ~ ^/data/(?:USER1|USER2)/files/LOCAL-FS-MOUNT-NAME/(.+)$ {
+ # alias /path/to/local-mountpoint/$1;
+ # }
+
+ # A 'Local' External Storage Mountpoint available to all users
+ # location ~ ^/data/[^/]+/files/LOCAL-FS-MOUNT-NAME/(.+)$ {
+ # alias /path/to/local-mountpoint/$1;
+ # }
+
+ }
+
+
+* **fastcgi_param MOD_X_ACCEL_REDIRECT_ENABLED** ~ Tells ownCloud scripts that they should add the X-Accel-Redirect header when serving files.
+* **/data** ~ The ownCloud data directory. Any 'Local' External Storage Mounts must also have nested locations here.
+
+ * set alias if you are using a non-default data directory
+
+ * **/data/USER/files/LOCAL-MOUNT-NAME** ~ a local external storage mount available to a single user
+
+ * **~ ^/data/(?:USER1|USER2)/files/LOCAL-MOUNT-NAME/(.+)$** ~ a local external storage mount available to multiple users
+
+ * **~ ^/data/[^/]+/files/LOCAL-MOUNT-NAME/(.+)$** ~ a local external storage mount available to all users
+
+How to check if it's working?
+-----------------------------
+You are still able to download stuff via the web interface and single, local file downloads can be paused and resumed.
diff --cc core/doc/admin/release/_sources/installation/nginx_configuration.txt
index 4c67b3f,0000000..d80d4ce
mode 100644,000000..100644
--- a/core/doc/admin/release/_sources/installation/nginx_configuration.txt
+++ b/core/doc/admin/release/_sources/installation/nginx_configuration.txt
@@@ -1,149 -1,0 +1,149 @@@
+Nginx Configuration
+===================
+
+- You need to insert the following code into **your nginx config file.**
+- The config assumes that ownCloud is installed in /var/www/owncloud and
+ that it is accessed via http(s)://cloud.example.com.
+- 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 `Nginx HTTP
+ SSL Module documentation <http://wiki.nginx.org/HttpSslModule>`_).
+- ``add_header`` statements are only taken from the current level and are not cascaded
+ from or to a different level. All necessary ``add_header`` statements must be defined
+ in each level needed. For better readability it is possible to move *common* add
+ header statements into a separate file and include that file wherever necessary.
+ However, each ``add_header`` statement must be written in a single line to prevent
+ connection problems with sync clients.
+
+ .. note:: The following example assumes that your ownCloud is installed in
+ your webroot. If you're using a subfolder you need to adjust the configuration
+ accordingly.
+
- .. 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;
+ # enforce https
+ return 301 https://$server_name$request_uri;
+ }
+
+ 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/owncloud/;
+ # set max upload size
+ client_max_body_size 10G;
+ fastcgi_buffers 64 4K;
+
+ # Disable gzip to avoid the removal of the ETag header
+ gzip off;
+
+ # Uncomment if your server is build with the ngx_pagespeed module
+ # This module is currently not supported.
+ #pagespeed off;
+
+ 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 ~ ^/(?:\.htaccess|data|config|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(?:$|/) {
+ fastcgi_split_path_info ^(.+\.php)(/.+)$;
+ include fastcgi_params;
+ fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
+ fastcgi_param PATH_INFO $fastcgi_path_info;
+ 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 over plain http, but we strongly encourage you to
+ use SSL/TLS to encrypt all of your server traffic, and to protect
+ user's logins and data in transit.
+
+- 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.
+
+Suppressing Log Messages
+------------------------
+
+If you're seeing meaningless messages in your logfile, for example `client
+denied by server configuration: /var/www/data/htaccesstest.txt
+<https://forum.owncloud.org/viewtopic.php?f=17&t=20217>`_, add this section to
+your Nginx configuration to suppress them::
+
+ location = /data/htaccesstest.txt {
+ allow all;
+ log_not_found off;
+ access_log off;
+ }
+
+JavaScript (.js) or CSS (.css) files not served properly
+--------------------------------------------------------
+
+A common issue with custom nginx configs is that JavaScript (.js)
+or CSS (.css) files are not served properly leading to a 404 (File not found)
+error on those files and a broken webinterface.
+
+This could be caused by the::
+
+ location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
+
+block shown above not located **below** the::
+
+ location ~ \.php(?:$|/) {
+
+block. Other custom configurations like caching JavaScript (.js)
+or CSS (.css) files via gzip could also cause such issues.
diff --cc core/doc/admin/release/_sources/installation/source_installation.txt
index 46f4172,0000000..f70f94c
mode 100644,000000..100644
--- a/core/doc/admin/release/_sources/installation/source_installation.txt
+++ b/core/doc/admin/release/_sources/installation/source_installation.txt
@@@ -1,467 -1,0 +1,467 @@@
+============================
+Manual Installation on Linux
+============================
+
+Installing ownCloud on Linux from the openSUSE Build Service packages is the
+preferred method (see :doc:`linux_installation`). These are maintained by
+ownCloud engineers, and you can use your package manager to keep your ownCloud
+server up-to-date. If there are no packages for your Linux distribution, or you
+prefer installing from sources, you can setup ownCloud from scratch using a
+classic LAMP stack (Linux, Apache, MySQL/MariaDB, PHP). This document provides a
+complete walk-through for installing ownCloud on Ubuntu
+14.04 LTS Server with Apache and MySQL.
+
+Prerequisites
+-------------
+
+.. note:: This tutorial assumes you have terminal access to the machine you want
+ to install ownCloud on. Although this is not an absolute requirement,
+ installation without it is likely to require contacting your
+ hoster (e.g. for installing required modules). Consult the `PHP manual
+ <http://php.net/manual/en/extensions.php>`_ for information on
+ modules.Your Linux distribution should have packages for all
+ required modules.
+
+To run ownCloud, your web server must have the following installed:
+
+* php5 (>= 5.3.8, we highly recommended 5.4+ as 5.3 is old and has many
+ problems. See :ref:`label-rhel6-php54`)
+* 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 XMLWriter
+* PHP module zip
+* PHP module zlib
+
+Database connectors (pick at least one):
+
+* PHP module sqlite (>= 3, usually not recommended for performance reasons)
+* PHP module mysql
+* PHP module pgsql (requires PostgreSQL >= 9.0)
+
+*Recommended* packages:
+
+* PHP module curl (highly recommended, some functionality, e.g. http user
+ authentication, depends on this)
+* PHP module fileinfo (highly recommended, enhances file analysis performance)
+* PHP module bz2 (recommended, required for extraction of apps)
+* PHP module intl (increases language translation performance and fixes sorting
+ of non-ASCII characters)
+* PHP module mcrypt (increases file encryption performance)
+* PHP module openssl (required for accessing HTTPS resources)
+
+Required for specific apps:
+
+* PHP module ldap (for LDAP integration)
+* smbclient (for SMB storage / external user authentication)
+* PHP module ftp (for FTP storage / external user authentication)
+* PHP module imap (for external user authentication)
+
+Recommended for specific apps (*optional*):
+
+* PHP module exif (for image rotation in pictures app)
+* PHP module gmp (for SFTP storage)
+
+For enhanced server performance (*optional* / select only 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
+
+* Please check your distribution, operating system or hosting partner
+ documentation on how to install and enable these modules.
+
+* Make sure your distribution's PHP version fulfills the version requirements
+ specified above. If it doesn't, there might be custom repositories you can
+ use. If you are e.g. running Ubuntu 10.04 LTS, you can update your PHP using
+ a custom `PHP PPA <https://launchpad.net/~ondrej/+archive/php5>`_::
+
+ sudo add-apt-repository ppa:ondrej/php5
+ sudo apt-get update
+ sudo apt-get install php5
+
+* You don’t need the WebDAV module for your web server (i.e. Apache’s
+ ``mod_webdav``) to access your ownCloud data via WebDAV. ownCloud has a built-in
+ WebDAV server of its own, SabreDAV.
+
+.. _label-rhel6-php54:
+
+Red Hat Enterprise Linux 6, CentOS 6, and PHP 5.4
+-------------------------------------------------
+
+RHEL 6 and CentOS still ship with PHP 5.3.x. It is highly recommended to
+upgrade to 5.4 because 5.3.x has many deprecated functions, and will cause
+problems with your ownCloud installation. To upgrade to PHP 5.4 without
+violating your RHEL support agreement you must use the Software Collections
+(SCL) repository. Follow these steps on RHEL 6::
+
+ subscription-manager repos --enable rhel-server-rhscl-6-eus-rpms
+
+Then install PHP 5.4 and these modules::
+
+ yum install php54 php54-php php54-php-gd php54-php-mbstring
+
+You must also install the updated database module for your database. This
+installs the new PHP 5.4 module for MySQL/MariaDB::
+
+ yum install php54-php-mysqlnd
+
+Activate the new PHP version permanently::
+
+ source /opt/rh/php54/enable
+
+Disable loading the old PHP 5.3 Apache module::
+
+ mv /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf/old
+
+You should have a ``/etc/httpd/conf.d/php54-php.conf`` file, which loads the
+correct PHP 5.4 module for Apache.
+
+Then restart Apache::
+
+ service httpd restart
+
+Verify with ``phpinfo`` that your Apache server is using PHP 5.4 and loading
+the correct modules.
+
+The steps for CentOS 6 are slightly different. First install the SCL repo::
+
+ yum install centos-release-SCL
+
+Then install PHP 5.4 and these modules::
+
+ yum install php54 php54-php php54-php-gd php54-php-mbstring
+
+You must also install the updated database module. This installs the new PHP 5.4
+module for MySQL/MariaDB::
+
+ yum install php54-php-mysqlnd
+
+Activate the new PHP version permanently::
+
+ source /opt/rh/php54/enable
+
+Disable loading the old PHP 5.3 Apache module::
+
+ mv /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf/old
+
+You should now have a /etc/httpd/conf.d/php54-php.conf file, which loads the
+correct PHP 5.4 module for Apache.
+
+Finally, restart Apache::
+
+ service httpd restart
+
+Verify with ``phpinfo`` that your Apache server is using PHP 5.4 and loading
+the correct module.
+
+Example installation on Ubuntu 14.04 LTS Server
+-----------------------------------------------
+On a machine running a pristine Ubuntu 14.04 LTS server, install the
+required and recommended modules for a typical ownCloud installation, using
+Apache and MariaDB, by issuing the following commands in a terminal::
+
+ apt-get install apache2 mariadb-server libapache2-mod-php5
+ apt-get install php5-gd php5-json php5-mysql php5-curl
+ apt-get install php5-intl php5-mcrypt php5-imagick
+
+* This installs the packages for the ownCloud core system. If you are planning
+ on running additional apps, keep in mind that they might require additional
+ packages. See the Prerequisites section (above) for details.
+
+* At the execution of each of the above commands you might be prompted whether
+ you want to continue; press "Y" for Yes (that is if your system language is
+ English. You might have to press a different key if you have a different
+ system language).
+
+* At the installation of the MySQL server, you will be prompted to create a root
+ password. Be sure to remember the password you enter there for later use
+ as you will need it during ownCloud database setup.
+
+Now download the archive of the latest ownCloud version:
+
+* Go to the `ownCloud Installation Page <http://owncloud.org/install>`_.
+* Click the **Archive file for server owners** button.
+* Click **Download Unix**.
+* This downloads a file named owncloud-x.y.z.tar.bz2 (where
+ x.y.z is the version number of the current latest version).
+* Save this file on the machine you want to install ownCloud on.
+* Verify the MD5 or SHA256 sum::
+
+ md5sum owncloud-x.y.z.tar.bz2
+ sha256sum owncloud-x.y.z.tar.bz2
+
+* You may also verify the PGP signature::
+
+ wget https://download.owncloud.org/community/owncloud-x.y.z.tar.bz2.asc
+ wget https://www.owncloud.org/owncloud.asc
+ gpg --import owncloud.asc
+ gpg --verify owncloud-x.y.z.tar.bz2.asc owncloud-x.y.z.tar.bz2
+
+* Now you can extract the archive contents. Open a terminal, navigate to your
+ download directory, and run::
+
+ tar -xjf owncloud-x.y.z.tar.bz2
+
+* Copy the ownCloud files to their final destination in the document root of
+ your web server::
+
+ cp -r owncloud /path/to/webserver/document-root
+
+ where ``/path/to/webserver/document-root`` is replaced by the
+ document root of your Web server. On Ubuntu systems this
+ ``/var/www/owncloud``, so your copying command is::
+
+ cp -r owncloud /var/www/
+
+Installation Wizard
+-------------------
+
+Finish setting up your ownCloud server by following
+the :doc:`installation_wizard`.
+
+After running the Installation Wizard your ownCloud installation is complete.
+However, you should perform the following steps to improve your server's
+security.
+
+Setting Strong Directory Permissions
+------------------------------------
+
+We recommend setting the directory permissions in your ownCloud installation as
+strictly as possible for stronger security. Please refer to the ``Setting
+Strong Directory Permissions`` section of :doc:`installation_wizard`.
+
+SELinux
+-------
+
+See :doc:`selinux_configuration` for a suggested configuration for SELinux-enabled distributions such as Fedora and CentOS.
+
+Apache is the recommended Web server.
+
+Configuration notes to php.ini files
+------------------------------------
+
+Keep in mind that changes to php.ini may have to be done on more than one ini file. This can be the case, as example, for the ``date.timezone`` setting.
+
+**php.ini - used by the webserver:**
+::
+
+ /etc/php5/apache2/php.ini
+ or
+ /etc/php5/fpm/php.ini
+ or ...
+
+**php.ini - used by the php-cli and so by ownCloud CRON jobs:**
+::
+
+ /etc/php5/cli/php.ini
+
+
+Apache Web Server Configuration
+-------------------------------
+
+.. note:: You can use ownCloud over plain http, but we strongly encourage you to
+ use SSL/TLS to encrypt all of your server traffic, and to protect
+ user's logins and data in transit.
+
+Enabling SSL
+------------
+
+An Apache installed under Ubuntu comes already set-up with a simple
+self-signed certificate. All you have to do is to enable the ssl module and
+the according site. Open a terminal and run::
+
+ a2enmod ssl
+ a2ensite default-ssl
+ service apache2 reload
+
+If you are using a different distribution, check your documentation on how to
+enable SSL.
+
+.. note:: Self-signed certificates have their drawbacks - especially when you
+ plan to make your ownCloud server publicly accessible. You might want
+ to consider getting a certificate signed by commercial signing
+ authority. Check with your domain name registrar or hosting service,
+ if you're using one, for good deals on commercial certificates.
+
+Configuring ownCloud
+--------------------
+
+Since there was a change in the way versions 2.2 and 2.4 are configured,
+you'll have to find out which Apache version you are using.
+
+Usually you can do this by running one of the following commands::
+
+ apachectl -v
+ apache2 -v
+
+Example output::
+
+ Server version: Apache/2.4.7 (Ubuntu)
+ Server built: Jul 22 2014 14:36:38
+
+Example config for Apache 2.2:
+
- .. code-block:: xml
++::
+
+ <Directory /path/to/owncloud>
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Order allow,deny
+ allow from all
+ </Directory>
+
+
+Example config for Apache 2.4:
+
- .. code-block:: xml
++::
+
+ <Directory /path/to/owncloud>
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+ </Directory>
+
+* This configuration entry needs to go into the configuration file of the
+ "site" you want to use.
+* On a Ubuntu system, this typically is the "default-ssl" site (to be found in
+ the :file:`/etc/apache2/sites-available/default-ssl.conf`).
+* Add the entry shown above immediately before the line containing::
+
+ </VirtualHost>
+
+ (this should be one of the last lines in the file).
+
+* A minimal site configuration file on Ubuntu 14.04 might look like this:
+
- .. code-block:: xml
++::
+
+ <IfModule mod_ssl.c>
+ <VirtualHost _default_:443>
+ ServerName YourServerName
+ ServerAdmin webmaster at localhost
+ DocumentRoot /var/www
+ <Directory />
+ Options FollowSymLinks
+ AllowOverride None
+ </Directory>
+ <Directory /var/www/>
+ Options Indexes FollowSymLinks
+ AllowOverride None
+ Order allow,deny
+ allow from all
+ </Directory>
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ LogLevel warn
+ CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
+ SSLEngine on
+ SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
+ SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
+ <FilesMatch "\.(cgi|shtml|phtml|php)$">
+ SSLOptions +StdEnvVars
+ </FilesMatch>
+ <Directory /usr/lib/cgi-bin>
+ SSLOptions +StdEnvVars
+ </Directory>
+ BrowserMatch "MSIE [2-6]" \
+ nokeepalive ssl-unclean-shutdown \
+ downgrade-1.0 force-response-1.0
+ BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
+ <Directory /var/www/owncloud>
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Allow from all
+ Require all granted
+ Dav Off
+ Satisfy Any
+ </Directory>
+ </VirtualHost>
+ </IfModule>
+
+* For ownCloud to work correctly, we need the module ``mod_rewrite``. Enable it
+ by running::
+
+ a2enmod rewrite
+
+* In distributions that do not come with ``a2enmod``, the module needs to be
+ enabled manually by editing the Apache config files, usually
+ :file:`/etc/httpd/httpd.conf`. Consult the Apache documentation or your Linux
+ distribution's documentation.
+
+* In order for the maximum upload size to be configurable, the
+ :file:`.htaccess` in the ownCloud folder needs to be made writable by the
+ server (this should already be done, see section ``Set the Directory
+ Permissions``).
+
+* You should make sure that any built-in WebDAV module of your web server is
+ disabled (at least for the ownCloud directory), as it will interfere with
+ ownCloud's built-in WebDAV support.
+
+ If you need the WebDAV support in the rest of your configuration, you can turn
+ it off specifically for the ownCloud entry by adding the following line in
+ the ``<Directory`` section for your ownCloud server. Add the following line
+ directly after the ``allow from all`` / ``Require all granted`` line::
+
+ Dav Off
+
+* You must disable any server-configured authentication for ownCloud, as it
+ uses Basic authentication internally for DAV services. If you have turned on
+ authentication on a parent folder (via e.g. an ``AuthType Basic``
+ directive), you can turn off the authentication specifically for the ownCloud
+ entry. Following the above example configuration file, add the following line
+ directly after the ``allow from all`` / ``Require all granted`` line in the
+ ``<Directory`` section::
+
+ Satisfy Any
+
+* When using ssl, take special note on the ServerName. You should specify one in
+ the server configuration, as well as in the CommonName field of the
+ certificate. If you want your ownCloud to be reachable via the internet, then
+ set both of these to the domain you want to reach your ownCloud server.
+
+.. note:: By default, the certificates' CommonName will be set to the host name
+ at the time the ssl-cert package was installed.
+
+* Finally, restart Apache.
+
+ * On Ubuntu systems run::
+
+ service apache2 restart
+
+ * On systemd systems (Fedora, Arch Linux, OpenSUSE), run::
+
+ systemctl restart httpd.service
+
+Other Web Servers
+-----------------
+
+**Microsoft Internet Information Server (IIS)**
+
+See :doc:`windows_installation` for further instructions.
+
+**Nginx Configuration**
+
+See :doc:`nginx_configuration`
+
+**Lighttpd Configuration**
+
+See :doc:`lighttpd_configuration`
+
+**Yaws Configuration**
+
+See :doc:`yaws_configuration`
+
+**Hiawatha Configuration**
+
+See :doc:`hiawatha_configuration`
diff --cc core/doc/admin/release/_sources/installation/yaws_configuration.txt
index f89f581,0000000..3af57a5
mode 100644,000000..100644
--- a/core/doc/admin/release/_sources/installation/yaws_configuration.txt
+++ b/core/doc/admin/release/_sources/installation/yaws_configuration.txt
@@@ -1,30 -1,0 +1,30 @@@
+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 :file:`.htaccess` that comes with ownCloud is configured to redirect
+requests to non-existent pages. To emulate that behaviour, you need a custom
+error handler for yaws. See this `github gist for further instructions
+<https://gist.github.com/2200407>`_ on how to create and compile that error
+handler.
diff --cc core/doc/admin/release/configuration/external_storage_configuration.html
index 7d884ec,0000000..ee73674
mode 100644,000000..100644
--- a/core/doc/admin/release/configuration/external_storage_configuration.html
+++ b/core/doc/admin/release/configuration/external_storage_configuration.html
@@@ -1,653 -1,0 +1,653 @@@
+<!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>Configuring External Storage (Configuration File) — ownCloud 7 Server Administration Manual 7.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: '7.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 7 Server Administration Manual 7.0 documentation" href="../contents.html" />
+ <link rel="up" title="Configuration" href="index.html" />
+ <link rel="next" title="Linking External Sites" href="external_sites.html" />
+ <link rel="prev" title="Configuring External Storage (GUI)" href="external_storage_configuration_gui.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 role="document">
+
+
+<div class="container">
+ <div class="content">
+ <div class="page-header">
+ <h1><a href="../contents.html">ownCloud 7 Server Administration 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">Table of Contents</a></li>
+ </ul>
+ <ul>
+<li class="toctree-l1"><a class="reference internal" href="../index.html">Introduction</a></li>
+</ul>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../videos.html">ownCloud Videos</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../whats_new_admin.html">What’s New for Admins in ownCloud 7</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../release_notes.html">ownCloud 7.0 Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/index.html">Installation</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">Configuration</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="activity_configuration.html">Configuring the Activity App</a></li>
+<li class="toctree-l2"><a class="reference internal" href="antivirus_configuration.html">Configuring the ClamAV Antivirus Scanner</a></li>
+<li class="toctree-l2"><a class="reference internal" href="automatic_configuration.html">Automatic Configuration Setup</a></li>
+<li class="toctree-l2"><a class="reference internal" href="background_jobs_configuration.html">Defining Background Jobs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="big_file_upload_configuration.html">Uploading big files > 512MB (as set by default)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="collaborative_documents_configuration.html">Configuring the Collaborative Documents App</a></li>
+<li class="toctree-l2"><a class="reference internal" href="config_sample_php_parameters.html">Config.php Parameters</a></li>
+<li class="toctree-l2"><a class="reference internal" href="custom_client_configuration.html">Custom Client Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="database_configuration.html">Database Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="email_configuration.html">Email Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="encryption_configuration.html">Encryption Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="external_storage_configuration_gui.html">Configuring External Storage (GUI)</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="">Configuring External Storage (Configuration File)</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#using-self-signed-certificates">Using self-signed certificates</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#adding-files-to-external-storages">Adding files to external storages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#example">Example</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#priorities">Priorities</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#backends">Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#external-storage-password-management">External Storage Password Management</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="external_sites.html">Linking External Sites</a></li>
+<li class="toctree-l2"><a class="reference internal" href="file_sharing_configuration.html">File Sharing</a></li>
+<li class="toctree-l2"><a class="reference internal" href="files_locking_enabling.html">Files Locking App Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="harden_server.html">Hardening and Security Guidance</a></li>
+<li class="toctree-l2"><a class="reference internal" href="js_css_asset_management_configuration.html">JavaScript and CSS Asset Management</a></li>
+<li class="toctree-l2"><a class="reference internal" href="knowledgebase_configuration.html">Knowledge Base Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="language_configuration.html">Language Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="logging_configuration.html">Logging Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="occ_command.html">Using the occ Command</a></li>
+<li class="toctree-l2"><a class="reference internal" href="performance_tips.html">Performance Tips</a></li>
+<li class="toctree-l2"><a class="reference internal" href="previews_configuration.html">Previews Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="reverse_proxy_configuration.html">Reverse Proxy Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="search_configuration.html">Enabling Full-Text Search</a></li>
+<li class="toctree-l2"><a class="reference internal" href="server_to_server_configuration.html">Configuring Server-to-Server Sharing</a></li>
+<li class="toctree-l2"><a class="reference internal" href="serving_static_files_configuration.html">Serving Static Files for Better Performance</a></li>
+<li class="toctree-l2"><a class="reference internal" href="thirdparty_php_configuration.html">Using Third Party PHP Components</a></li>
+<li class="toctree-l2"><a class="reference internal" href="user_auth_ftp_smb_imap.html">User Authentication with IMAP, SMB, and FTP</a></li>
+<li class="toctree-l2"><a class="reference internal" href="user_auth_ldap.html">User Authentication with LDAP</a></li>
+<li class="toctree-l2"><a class="reference internal" href="user_auth_ldap_cleanup.html">LDAP User Cleanup</a></li>
+<li class="toctree-l2"><a class="reference internal" href="user_configuration.html">User Management</a></li>
+<li class="toctree-l2"><a class="reference internal" href="reset_admin_password.html">Resetting a Lost Admin Password</a></li>
+</ul>
+</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 and Troubleshooting</a></li>
+</ul>
+
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+ <div class="span9">
+ <div class="page-content">
+
+ <div class="section" id="configuring-external-storage-configuration-file">
+<h1>Configuring External Storage (Configuration File)<a class="headerlink" href="#configuring-external-storage-configuration-file" title="Permalink to this headline">¶</a></h1>
+<p>Since ownCloud 4.0 it is possible to configure the filesystem to mount external
+storage providers into ownCloud’s virtual file system. You can configure these
+file systems by creating and editing <code class="file docutils literal"><span class="pre">data/mount.json</span></code>. This file contains
+all settings in JSON (JavaScript Object Notation) format. At the moment two
+different types of entries exist:</p>
+<ul class="simple">
+<li><strong>Group mounts:</strong> each entry configures a mount for each user in group.</li>
+<li><strong>User mounts:</strong> each entry configures a mount for a single user or for all
+users.</li>
+</ul>
+<p>For each type, there is a JSON array with the user/group name as key, and an
+array of configuration entries as value. Each entry consist of the class name
+of the storage backend and an array of backend specific options and will be
+replaced by the user login. The template <strong>$user</strong> can be used in the mount
+point or backend options. As of writing the following storage backends are
+available for use:</p>
+<ul class="simple">
+<li>Local file system</li>
+<li>FTP (or FTPS)</li>
+<li>SFTP</li>
+<li>SMB</li>
+<li>WebDAV</li>
+<li><a class="reference external" href="http://aws.amazon.com/de/s3/">Amazon S3</a></li>
+<li><a class="reference external" href="https://www.dropbox.com/">Dropbox</a></li>
+<li><a class="reference external" href="https://drive.google.com/start">Google Drive</a></li>
+<li><a class="reference external" href="http://openstack.org/projects/storage/">OpenStack Swift</a></li>
+</ul>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">You need to enable the <cite>External storage support</cite> app first before you
+can use the examples below. See the section <a class="reference internal" href="external_storage_configuration_gui.html"><em>Configuring External Storage (GUI)</em></a>
+how to do this.</p>
+</div>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">A non-blocking or correctly configured SELinux setup is needed
+for these backends to work. Please refer to the <a class="reference internal" href="../installation/selinux_configuration.html#selinux-config-label"><span>SELinux Configuration</span></a>.</p>
+</div>
+<p>Please keep in mind that some formatting has been applied and carriage returns
+have been added for better readability. In the <code class="file docutils literal"><span class="pre">data/mount.json</span></code> all
+values need to be concatenated and written in a row without these modifications!</p>
+<p>It is recommended to use the <a class="reference internal" href="external_storage_configuration_gui.html"><em>Web-GUI</em></a> in the
+administrator panel to add, remove or modify mount options to prevent any problems!</p>
+<div class="section" id="using-self-signed-certificates">
+<h2>Using self-signed certificates<a class="headerlink" href="#using-self-signed-certificates" title="Permalink to this headline">¶</a></h2>
+<p>When using self-signed certificates for external storage mounts the certificate
+needs to be imported in the personal settings of the user. Please refer to <a class="reference external" href="http://ownclouden.blogspot.de/2014/11/owncloud-https-external-mount.html">this</a>
+blogpost for more informations.</p>
+</div>
+<div class="section" id="adding-files-to-external-storages">
+<h2>Adding files to external storages<a class="headerlink" href="#adding-files-to-external-storages" title="Permalink to this headline">¶</a></h2>
+<p>In general it is recommended to configure the background job <code class="docutils literal"><span class="pre">Webcron</span></code> or
+<code class="docutils literal"><span class="pre">Cron</span></code> as described in <a class="reference internal" href="background_jobs_configuration.html"><em>Defining Background Jobs</em></a>
+so ownCloud is able to detect files added to your external storages without the need
+that a users is browsing your ownCloud installation.</p>
+<p>Please also be aware that ownCloud might not always be able to find out what has been
+changed remotely (files changes without going through ownCloud), especially
+when it’s very deep in the folder hierarchy of the external storage.</p>
+<p>You might need to setup a cron job that runs <code class="docutils literal"><span class="pre">sudo</span> <span class="pre">-u</span> <span class="pre">www-data</span> <span class="pre">php</span> <span class="pre">occ</span> <span class="pre">files:scan</span> <span class="pre">--all</span></code>
+(or replace “–all” with the user name, see also <a class="reference internal" href="occ_command.html"><em>Using the occ Command</em></a>)
+to trigger a rescan of the user’s files periodically (for example every 15 minutes), which includes
+the mounted external storage.</p>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h2>
- <div class="highlight-json"><div class="highlight"><pre>{"group":{
++<div class="highlight-python"><div class="highlight"><pre>{"group":{
+ "admin":{
+ "\/$user\/files\/Admin_Stuff":{
+ "class":"\\OC\\Files\\Storage\\Local",
+ "options":{ ... },
+ "priority":150
+ }
+ }
+ }
+ "user":{
+ "all":{
+ "\/$user\/files\/Pictures":{
+ "class":"\\OC\\Files\\Storage\\DAV",
+ "options":{ ... },
+ "priority":100
+ }
+ }
+ "someuser":{
+ "\/someuser\/files\/Music":{
+ "class":"\\OC\\Files\\Storage\\FTP",
+ "options":{ ... },
+ "priority":100
+ }
+ }
+ }
+}
+</pre></div>
+</div>
+</div>
+<div class="section" id="priorities">
+<h2>Priorities<a class="headerlink" href="#priorities" title="Permalink to this headline">¶</a></h2>
+<p>An advanced feature is available, only configurable directly in
+<code class="file docutils literal"><span class="pre">data/mount.json</span></code>, which allows mount configurations to have an associated
+priority. When two or more valid mount configurations exist for the same mount point,
+the one with the highest priority (defined by the largest number) will take precedence
+and become the active mount for the user.</p>
+<p>Each backend has a default priority, assigned when a mount configuration with that
+backend is created. The default priority will be shown in the example section for
+each backend below. Should a backend not provide a default priority, a value of 100
+will be used.</p>
+<p>There is also a concept of priority types, to preserve compatibility with
+previous mount configuration parsing. Mount configurations are evaluated in the
+following order, with later mount types always overriding a previous mount type:</p>
+<ul class="simple">
+<li>user -> all : global mount configurations</li>
+<li>group : group mount configurations</li>
+<li>user (not all) : per-user mount configurations</li>
+<li><code class="file docutils literal"><span class="pre">data/$user/mount.json</span></code> : personal mount configurations</li>
+</ul>
+</div>
+<div class="section" id="backends">
+<h2>Backends<a class="headerlink" href="#backends" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="local-filesystem">
+<h3>Local Filesystem<a class="headerlink" href="#local-filesystem" title="Permalink to this headline">¶</a></h3>
+<p>The local filesystem backend mounts a folder on the server into the virtual
+filesystem, the class to be used is <strong>\OC\Files\Storage\Local</strong> and
+takes the following options:</p>
+<ul class="simple">
+<li><strong>datadir</strong> : the path to the local directory to be mounted</li>
+</ul>
+<div class="section" id="id1">
+<h4>Example<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h4>
+<div class="highlight-json"><div class="highlight"><pre><span class="p">{</span> <span class="nt">"class"</span><span class="p">:</span><span class="s2">"\\OC\\Files\\Storage\\Local"</span><span class="p">,</span>
+ <span class="nt">"options"</span><span class="p">:{</span> <span class="nt">"datadir"</span><span class="p">:</span><span class="s2">"\/mnt\/additional_storage"</span> <span class="p">},</span>
+ <span class="nt">"priority"</span><span class="p">:</span><span class="mi">150</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">You must ensure that the web server has sufficient permissions on the folder.</p>
+</div>
+</div>
+</div>
+<div class="section" id="ftp-or-ftps">
+<h3>FTP (or FTPS)<a class="headerlink" href="#ftp-or-ftps" title="Permalink to this headline">¶</a></h3>
+<p>The FTP backend mounts a folder on a remote FTP server into the virtual
+filesystem and is part of the ‘External storage support’ app, the class
+to be used is <strong>\OC\Files\Storage\FTP</strong> and takes the following
+options:</p>
+<ul class="simple">
+<li><strong>host</strong>: the hostname of the ftp server, and optionally the port number</li>
+<li><strong>user</strong>: the username used to login on the ftp server</li>
+<li><strong>password</strong>: the password to login on the ftp server</li>
+<li><strong>secure</strong>: whether to use ftps:// (FTP over TLS) to connect to the ftp
+server instead of ftp:// (optional, defaults to false)</li>
+<li><strong>root</strong>: the folder inside the ftp server to mount (optional, defaults
+to ‘/’)</li>
+</ul>
+<div class="section" id="id2">
+<h4>Example<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h4>
+<div class="highlight-json"><div class="highlight"><pre><span class="p">{</span> <span class="nt">"class"</span><span class="p">:</span><span class="s2">"\\OC\\Files\\Storage\\FTP"</span><span class="p">,</span>
+ <span class="nt">"options"</span><span class="p">:{</span>
+ <span class="nt">"host"</span><span class="p">:</span><span class="s2">"ftp.myhost.com:21"</span><span class="p">,</span>
+ <span class="nt">"user"</span><span class="p">:</span><span class="s2">"johndoe"</span><span class="p">,</span>
+ <span class="nt">"password"</span><span class="p">:</span><span class="s2">"secret"</span><span class="p">,</span>
+ <span class="nt">"root"</span><span class="p">:</span><span class="s2">"\/Videos"</span><span class="p">,</span>
+ <span class="nt">"secure"</span><span class="p">:</span><span class="s2">"false"</span>
+ <span class="p">},</span>
+ <span class="nt">"priority"</span><span class="p">:</span><span class="mi">100</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">PHP needs to be build with FTP support for this backend to work.</p>
+</div>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">The external storage <code class="docutils literal"><span class="pre">FTP/FTPS/SFTP</span></code> needs the <code class="docutils literal"><span class="pre">allow_url_fopen</span></code> PHP
+setting to be set to <code class="docutils literal"><span class="pre">1</span></code>. When having connection problems make sure that it is
+not set to <code class="docutils literal"><span class="pre">0</span></code> in your <code class="docutils literal"><span class="pre">php.ini</span></code>.</p>
+</div>
+</div>
+</div>
+<div class="section" id="sftp">
+<h3>SFTP<a class="headerlink" href="#sftp" title="Permalink to this headline">¶</a></h3>
+<p>The SFTP backend mounts a folder on a remote SSH server into the virtual
+filesystem and is part of the ‘External storage support’ app. The class
+to be used is <strong>\OC\Files\Storage\SFTP</strong> and takes the following
+options:</p>
+<ul class="simple">
+<li><strong>host</strong>: the hostname of the SSH server</li>
+<li><strong>user</strong>: the username used to login to the SSH server</li>
+<li><strong>password</strong>: the password to login on the SSH server</li>
+<li><strong>root</strong>: the folder inside the SSH server to mount (optional, defaults
+to ‘/’)</li>
+</ul>
+<div class="section" id="id3">
+<h4>Example<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h4>
+<div class="highlight-json"><div class="highlight"><pre><span class="p">{</span> <span class="nt">"class"</span><span class="p">:</span><span class="s2">"\\OC\\Files\\Storage\\SFTP"</span><span class="p">,</span>
+ <span class="nt">"options"</span><span class="p">:{</span>
+ <span class="nt">"host"</span><span class="p">:</span><span class="s2">"ssh.myhost.com"</span><span class="p">,</span>
+ <span class="nt">"user"</span><span class="p">:</span><span class="s2">"johndoe"</span><span class="p">,</span>
+ <span class="nt">"password"</span><span class="p">:</span><span class="s2">"secret"</span><span class="p">,</span>
+ <span class="nt">"root"</span><span class="p">:</span><span class="s2">"\/Books"</span>
+ <span class="p">},</span>
+ <span class="nt">"priority"</span><span class="p">:</span><span class="mi">100</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">PHP needs to be build with SFTP support for this backend to work.</p>
+</div>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">The external storage <code class="docutils literal"><span class="pre">FTP/FTPS/SFTP</span></code> needs the <code class="docutils literal"><span class="pre">allow_url_fopen</span></code> PHP
+setting to be set to <code class="docutils literal"><span class="pre">1</span></code>. When having connection problems make sure that it is
+not set to <code class="docutils literal"><span class="pre">0</span></code> in your <code class="docutils literal"><span class="pre">php.ini</span></code>.</p>
+</div>
+</div>
+</div>
+<div class="section" id="smb">
+<h3>SMB<a class="headerlink" href="#smb" title="Permalink to this headline">¶</a></h3>
+<p>The SMB backend mounts a folder on a remote Samba server, a NAS appliance or
+a Windows machine into the virtual file system. It is part of the ‘External
+storage support’ app, the class to be used is <strong>\OC\Files\Storage\SMB</strong> and
+takes the following options:</p>
+<ul class="simple">
+<li><strong>host</strong>: the host name of the samba server</li>
+<li><strong>user</strong>: the username or domain/username to login on the samba server</li>
+<li><strong>password</strong>: the password to login on the samba server</li>
+<li><strong>share</strong>: the share on the samba server to mount</li>
+<li><strong>root</strong>: the folder inside the samba share to mount (optional, defaults
+to ‘/’) To assign the ownCloud logon username automatically to the subfolder, use <code class="docutils literal"><span class="pre">$user</span></code> instead of a particular subfolder name.</li>
+</ul>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">The SMB backend requires <strong>smbclient</strong> to be installed on the server.</p>
+</div>
+<div class="section" id="id4">
+<h4>Example<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h4>
+<p>With username only:</p>
+<div class="highlight-json"><div class="highlight"><pre><span class="p">{</span> <span class="nt">"class"</span><span class="p">:</span><span class="s2">"\\OC\\Files\\Storage\\SMB"</span><span class="p">,</span>
+ <span class="nt">"options"</span><span class="p">:{</span>
+ <span class="nt">"host"</span><span class="p">:</span><span class="s2">"myhost.com"</span><span class="p">,</span>
+ <span class="nt">"user"</span><span class="p">:</span><span class="s2">"johndoe"</span><span class="p">,</span>
+ <span class="nt">"password"</span><span class="p">:</span><span class="s2">"secret"</span><span class="p">,</span>
+ <span class="nt">"share"</span><span class="p">:</span><span class="s2">"\/test"</span><span class="p">,</span>
+ <span class="nt">"root"</span><span class="p">:</span><span class="s2">"\/Pictures"</span>
+ <span class="p">},</span>
+ <span class="nt">"priority"</span><span class="p">:</span><span class="mi">100</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>With domainname and username:</p>
+<div class="highlight-json"><div class="highlight"><pre><span class="p">{</span> <span class="nt">"class"</span><span class="p">:</span><span class="s2">"\\OC\\Files\\Storage\\SMB"</span><span class="p">,</span>
+ <span class="nt">"options"</span><span class="p">:{</span>
+ <span class="nt">"host"</span><span class="p">:</span><span class="s2">"myhost.com"</span><span class="p">,</span>
+ <span class="nt">"user"</span><span class="p">:</span><span class="s2">"domain\/johndoe"</span><span class="p">,</span>
+ <span class="nt">"password"</span><span class="p">:</span><span class="s2">"secret"</span><span class="p">,</span>
+ <span class="nt">"share"</span><span class="p">:</span><span class="s2">"\/test"</span><span class="p">,</span>
+ <span class="nt">"root"</span><span class="p">:</span><span class="s2">"\/Pictures"</span>
+ <span class="p">},</span>
+ <span class="nt">"priority"</span><span class="p">:</span><span class="mi">100</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</div>
+</div>
+<div class="section" id="webdav">
+<h3>WebDAV<a class="headerlink" href="#webdav" title="Permalink to this headline">¶</a></h3>
+<p>The WebDAV backend mounts a folder on a remote WebDAV server into the
+virtual filesystem and is part of the ‘External storage support’ app,
+the class to be used is <strong>\OC\Files\Storage\DAV</strong> and takes the
+following options:</p>
+<ul class="simple">
+<li><strong>host</strong>: the hostname of the webdav server.</li>
+<li><strong>user</strong>: the username used to login on the webdav server</li>
+<li><strong>password</strong>: the password to login on the webdav server</li>
+<li><strong>secure</strong>: whether to use <a class="reference external" href="https://">https://</a> to connect to the webdav server
+instead of <a class="reference external" href="http://">http://</a> (optional, defaults to false)</li>
+<li><strong>root</strong>: the folder inside the webdav server to mount (optional,
+defaults to ‘/’)</li>
+</ul>
+<div class="section" id="id5">
+<h4>Example<a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h4>
+<div class="highlight-json"><div class="highlight"><pre><span class="p">{</span> <span class="nt">"class"</span><span class="p">:</span><span class="s2">"\\OC\\Files\\Storage\\DAV"</span><span class="p">,</span>
+ <span class="nt">"options"</span><span class="p">:{</span>
+ <span class="nt">"host"</span><span class="p">:</span><span class="s2">"myhost.com\/webdav.php"</span><span class="p">,</span>
+ <span class="nt">"user"</span><span class="p">:</span><span class="s2">"johndoe"</span><span class="p">,</span>
+ <span class="nt">"password"</span><span class="p">:</span><span class="s2">"secret"</span><span class="p">,</span>
+ <span class="nt">"secure"</span><span class="p">:</span><span class="s2">"true"</span>
+ <span class="p">},</span>
+ <span class="nt">"priority"</span><span class="p">:</span><span class="mi">100</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</div>
+</div>
+<div class="section" id="amazon-s3">
+<h3>Amazon S3<a class="headerlink" href="#amazon-s3" title="Permalink to this headline">¶</a></h3>
+<p>The Amazon S3 backend mounts a bucket in the Amazon cloud into the virtual
+filesystem and is part of the ‘External storage support’ app, the class to
+be used is <strong>\OC\Files\Storage\AmazonS3</strong> and takes the following
+options:</p>
+<ul class="simple">
+<li><strong>key</strong>: the key to login to the Amazon cloud</li>
+<li><strong>secret</strong>: the secret to login to the Amazon cloud</li>
+<li><strong>bucket</strong>: the bucket in the Amazon cloud to mount</li>
+</ul>
+<div class="section" id="id6">
+<h4>Example<a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h4>
+<div class="highlight-json"><div class="highlight"><pre><span class="p">{</span> <span class="nt">"class"</span><span class="p">:</span><span class="s2">"\\OC\\Files\\Storage\\AmazonS3"</span><span class="p">,</span>
+ <span class="nt">"options"</span><span class="p">:{</span>
+ <span class="nt">"key"</span><span class="p">:</span><span class="s2">"key"</span><span class="p">,</span>
+ <span class="nt">"secret"</span><span class="p">:</span><span class="s2">"secret"</span><span class="p">,</span>
+ <span class="nt">"bucket"</span><span class="p">:</span><span class="s2">"bucket"</span>
+ <span class="p">},</span>
+ <span class="nt">"priority"</span><span class="p">:</span><span class="mi">100</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</div>
+</div>
+<div class="section" id="dropbox">
+<h3>Dropbox<a class="headerlink" href="#dropbox" title="Permalink to this headline">¶</a></h3>
+<p>The Dropbox backend mounts a dropbox in the Dropbox cloud into the virtual
+filesystem and is part of the ‘External storage support’ app, the class to
+be used is <strong>\OC\Files\Storage\Dropbox</strong> and takes the following options:</p>
+<ul class="simple">
+<li><strong>configured</strong>: whether the drive has been configured or not (true or false)</li>
+<li><strong>app_key</strong>: the app key to login to your Dropbox</li>
+<li><strong>app_secret</strong>: the app secret to login to your Dropbox</li>
+<li><strong>token</strong>: the OAuth token to login to your Dropbox</li>
+<li><strong>token_secret</strong>: the OAuth secret to login to your Dropbox</li>
+</ul>
+<div class="section" id="id7">
+<h4>Example<a class="headerlink" href="#id7" title="Permalink to this headline">¶</a></h4>
+<div class="highlight-json"><div class="highlight"><pre><span class="p">{</span> <span class="nt">"class"</span><span class="p">:</span><span class="s2">"\\OC\\Files\\Storage\\Dropbox"</span><span class="p">,</span>
+ <span class="nt">"options"</span><span class="p">:{</span>
+ <span class="nt">"configured"</span><span class="p">:</span><span class="s2">"#configured"</span><span class="p">,</span>
+ <span class="nt">"app_key"</span><span class="p">:</span><span class="s2">"key"</span><span class="p">,</span>
+ <span class="nt">"app_secret"</span><span class="p">:</span><span class="s2">"secret"</span><span class="p">,</span>
+ <span class="nt">"token"</span><span class="p">:</span><span class="s2">"#token"</span><span class="p">,</span>
+ <span class="nt">"token_secret"</span><span class="p">:</span><span class="s2">"#token_secret"</span>
+ <span class="p">},</span>
+ <span class="nt">"priority"</span><span class="p">:</span><span class="mi">100</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</div>
+</div>
+<div class="section" id="google-drive">
+<h3>Google Drive<a class="headerlink" href="#google-drive" title="Permalink to this headline">¶</a></h3>
+<p>The Google Drive backend mounts a share in the Google cloud into the virtual
+filesystem and is part of the ‘External storage support’ app, the class to
+be used is <strong>\OC\Files\Storage\Google</strong> and is done via an OAuth2.0 request.
+That means that the App must be registered through the Google APIs Console.
+The result of the registration process is a set of values (incl. client_id, client_secret).
+It takes the following options:</p>
+<ul class="simple">
+<li><strong>configured</strong>: whether the drive has been configured or not (true or false)</li>
+<li><strong>client_id</strong>: the client id to login to the Google drive</li>
+<li><strong>client_secret</strong>: the client secret to login to the Google drive</li>
+<li><strong>token</strong>: a compound value including access and refresh tokens</li>
+</ul>
+<div class="section" id="id8">
+<h4>Example<a class="headerlink" href="#id8" title="Permalink to this headline">¶</a></h4>
+<div class="highlight-json"><div class="highlight"><pre><span class="p">{</span> <span class="nt">"class"</span><span class="p">:</span><span class="s2">"\\OC\\Files\\Storage\\Google"</span><span class="p">,</span>
+ <span class="nt">"options"</span><span class="p">:{</span>
+ <span class="nt">"configured"</span><span class="p">:</span><span class="s2">"#configured"</span><span class="p">,</span>
+ <span class="nt">"client_id"</span><span class="p">:</span><span class="s2">"#client_id"</span><span class="p">,</span>
+ <span class="nt">"client_secret"</span><span class="p">:</span><span class="s2">"#client_secret"</span><span class="p">,</span>
+ <span class="nt">"token"</span><span class="p">:</span><span class="s2">"#token"</span>
+ <span class="p">},</span>
+ <span class="nt">"priority"</span><span class="p">:</span><span class="mi">100</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</div>
+</div>
+<div class="section" id="openstack-swift">
+<h3>OpenStack Swift<a class="headerlink" href="#openstack-swift" title="Permalink to this headline">¶</a></h3>
+<p>The Swift backend mounts a container on an OpenStack Object Storage server
+into the virtual filesystem and is part of the ‘External storage support’
+app, the class to be used is <strong>\OC\Files\Storage\SWIFT</strong> and takes
+the following options:</p>
+<ul class="simple">
+<li><strong>host</strong>: the hostname of the authentication server for the swift
+storage.</li>
+<li><strong>user</strong>: the username used to login on the swift server</li>
+<li><strong>token</strong>: the authentication token to login on the swift server</li>
+<li><strong>secure</strong>: whether to use ftps:// to connect to the swift server instead
+of ftp:// (optional, defaults to false)</li>
+<li><strong>root</strong>: the container inside the swift server to mount (optional,
+defaults to ‘/’)</li>
+</ul>
+<div class="section" id="id9">
+<h4>Example<a class="headerlink" href="#id9" title="Permalink to this headline">¶</a></h4>
+<div class="highlight-json"><div class="highlight"><pre><span class="p">{</span> <span class="nt">"class"</span><span class="p">:</span><span class="s2">"\\OC\\Files\\Storage\\SWIFT"</span><span class="p">,</span>
+ <span class="nt">"options"</span><span class="p">:{</span>
+ <span class="nt">"host"</span><span class="p">:</span><span class="s2">"swift.myhost.com\/auth"</span><span class="p">,</span>
+ <span class="nt">"user"</span><span class="p">:</span><span class="s2">"johndoe"</span><span class="p">,</span>
+ <span class="nt">"token"</span><span class="p">:</span><span class="s2">"secret"</span><span class="p">,</span>
+ <span class="nt">"root"</span><span class="p">:</span><span class="s2">"\/Videos"</span><span class="p">,</span>
+ <span class="nt">"secure"</span><span class="p">:</span><span class="s2">"true"</span>
+ <span class="p">},</span>
+ <span class="nt">"priority"</span><span class="p">:</span><span class="mi">100</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</div>
+</div>
+</div>
+<div class="section" id="external-storage-password-management">
+<h2>External Storage Password Management<a class="headerlink" href="#external-storage-password-management" title="Permalink to this headline">¶</a></h2>
+<p>ownCloud handles passwords for external mounts differently than regular
+ownCloud user passwords.</p>
+<p>The regular user and file share passwords (when you use the default ownCloud
+user backend) are stored using a strong cryptographically secure hashing
+mechanism in the database. On a new user account with a new password, the
+password is hashed and stored in the ownCloud database. The plain-text password
+is never stored. When the user logs in, the hash of the password they enter is
+compared with the hash in the database. When the hashes match the user is
+allowed access. These are not recoverable, so when a user loses a password the
+only option is to create a new password.</p>
+<p>Passwords which are used to connect against external storage (e.g.
+SMB or FTP), there we have to differentiate again between different
+implementations:</p>
+<ol class="arabic simple">
+<li><strong>Login with ownCloud credentials</strong></li>
+</ol>
+<p>When a mountpoint has this option, for example <code class="docutils literal"><span class="pre">SMB</span> <span class="pre">/</span> <span class="pre">CIFS</span> <span class="pre">using</span> <span class="pre">OC</span> <span class="pre">login</span></code>,
+the password will be intercepted when a user logs in and written to the PHP
+session (which is a file on the filesystem), and written encrypted into the
+session with a key from the configuration file. Every time that password is
+required ownCloud reads it from the PHP session file.</p>
+<p>When you use this option, features such as sharing will not work properly from
+that mountpoint when the user is not logged-in.</p>
+<p>Depending on the implementation of the application, this means that the password
+could get leaked in the <code class="docutils literal"><span class="pre">ps</span></code> output, as we use <code class="docutils literal"><span class="pre">smbclient</span></code> for SMB storage
+access in the community version. There is a <a class="reference external" href="https://github.com/owncloud/core/issues/6092">bug report on this</a>. Consequently, we’re currently
+evaluating an alternative approach accessing the library directly, and thus not
+leaking the password anymore. This is already implemented in the Enterprise
+Edition in our Windows Network Drive application, and it will get into the
+community version once we have streamlined the code of the <code class="docutils literal"><span class="pre">files_external</span></code>
+application a little bit more.</p>
+<ol class="arabic simple" start="2">
+<li><strong>Stored credentials</strong></li>
+</ol>
+<p>When you enter credentials into the <code class="docutils literal"><span class="pre">files_external</span></code> dialog those are stored
+on the filesystem and encrypted with a key stored in <code class="docutils literal"><span class="pre">config.php</span></code>. This is
+required since ownCloud needs access to those files and shares even when the
+user is not logged-in to have sharing and other key features properly working.</p>
+<p>To sum up:</p>
+<p>The “login with ownCloud credentials” SMB function in the community edition
+exposes the password in the server system’s process list. If you want to get
+around this limitation without waiting for it to be addressed in CE you can get
+the Enterprise Edition. However, even then the password is stored in the PHP
+session and a malicious admin could access it. You can protect your PHP session
+files using protections available in your filesystem. Stored credentials are
+always accessible to the ownCloud instance.</p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+
+ </div>
+</div>
+ </body>
+</html>
diff --cc core/doc/admin/release/configuration/serving_static_files_configuration.html
index 473c343,0000000..706f207
mode 100644,000000..100644
--- a/core/doc/admin/release/configuration/serving_static_files_configuration.html
+++ b/core/doc/admin/release/configuration/serving_static_files_configuration.html
@@@ -1,321 -1,0 +1,321 @@@
+<!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>Serving Static Files for Better Performance — ownCloud 7 Server Administration Manual 7.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: '7.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 7 Server Administration Manual 7.0 documentation" href="../contents.html" />
+ <link rel="up" title="Configuration" href="index.html" />
+ <link rel="next" title="Using Third Party PHP Components" href="thirdparty_php_configuration.html" />
+ <link rel="prev" title="Configuring Server-to-Server Sharing" href="server_to_server_configuration.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 role="document">
+
+
+<div class="container">
+ <div class="content">
+ <div class="page-header">
+ <h1><a href="../contents.html">ownCloud 7 Server Administration 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">Table of Contents</a></li>
+ </ul>
+ <ul>
+<li class="toctree-l1"><a class="reference internal" href="../index.html">Introduction</a></li>
+</ul>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../videos.html">ownCloud Videos</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../whats_new_admin.html">What’s New for Admins in ownCloud 7</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../release_notes.html">ownCloud 7.0 Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/index.html">Installation</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">Configuration</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="activity_configuration.html">Configuring the Activity App</a></li>
+<li class="toctree-l2"><a class="reference internal" href="antivirus_configuration.html">Configuring the ClamAV Antivirus Scanner</a></li>
+<li class="toctree-l2"><a class="reference internal" href="automatic_configuration.html">Automatic Configuration Setup</a></li>
+<li class="toctree-l2"><a class="reference internal" href="background_jobs_configuration.html">Defining Background Jobs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="big_file_upload_configuration.html">Uploading big files > 512MB (as set by default)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="collaborative_documents_configuration.html">Configuring the Collaborative Documents App</a></li>
+<li class="toctree-l2"><a class="reference internal" href="config_sample_php_parameters.html">Config.php Parameters</a></li>
+<li class="toctree-l2"><a class="reference internal" href="custom_client_configuration.html">Custom Client Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="database_configuration.html">Database Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="email_configuration.html">Email Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="encryption_configuration.html">Encryption Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="external_storage_configuration_gui.html">Configuring External Storage (GUI)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="external_storage_configuration.html">Configuring External Storage (Configuration File)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="external_sites.html">Linking External Sites</a></li>
+<li class="toctree-l2"><a class="reference internal" href="file_sharing_configuration.html">File Sharing</a></li>
+<li class="toctree-l2"><a class="reference internal" href="files_locking_enabling.html">Files Locking App Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="harden_server.html">Hardening and Security Guidance</a></li>
+<li class="toctree-l2"><a class="reference internal" href="js_css_asset_management_configuration.html">JavaScript and CSS Asset Management</a></li>
+<li class="toctree-l2"><a class="reference internal" href="knowledgebase_configuration.html">Knowledge Base Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="language_configuration.html">Language Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="logging_configuration.html">Logging Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="occ_command.html">Using the occ Command</a></li>
+<li class="toctree-l2"><a class="reference internal" href="performance_tips.html">Performance Tips</a></li>
+<li class="toctree-l2"><a class="reference internal" href="previews_configuration.html">Previews Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="reverse_proxy_configuration.html">Reverse Proxy Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="search_configuration.html">Enabling Full-Text Search</a></li>
+<li class="toctree-l2"><a class="reference internal" href="server_to_server_configuration.html">Configuring Server-to-Server Sharing</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="">Serving Static Files for Better Performance</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#apache2-x-sendfile">Apache2 (X-Sendfile)</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#lighttpd-x-sendfile2">LigHTTPd (X-Sendfile2)</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#nginx-x-accel-redirect">Nginx (X-Accel-Redirect)</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#how-to-check-if-it-s-working">How to check if it’s working?</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="thirdparty_php_configuration.html">Using Third Party PHP Components</a></li>
+<li class="toctree-l2"><a class="reference internal" href="user_auth_ftp_smb_imap.html">User Authentication with IMAP, SMB, and FTP</a></li>
+<li class="toctree-l2"><a class="reference internal" href="user_auth_ldap.html">User Authentication with LDAP</a></li>
+<li class="toctree-l2"><a class="reference internal" href="user_auth_ldap_cleanup.html">LDAP User Cleanup</a></li>
+<li class="toctree-l2"><a class="reference internal" href="user_configuration.html">User Management</a></li>
+<li class="toctree-l2"><a class="reference internal" href="reset_admin_password.html">Resetting a Lost Admin Password</a></li>
+</ul>
+</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 and Troubleshooting</a></li>
+</ul>
+
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+ <div class="span9">
+ <div class="page-content">
+
+ <div class="section" id="serving-static-files-for-better-performance">
+<h1>Serving Static Files for Better Performance<a class="headerlink" href="#serving-static-files-for-better-performance" title="Permalink to this headline">¶</a></h1>
+<p>Since ownCloud 5 it is possible to let web servers handle static file serving.
+This should generally improve performance (web servers are optimized for this) and in some cases permits controlled
+file serving (i.e. pause and resume downloads).</p>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">This feature can currently only be activated for local files, i.e. files inside the <strong>data/</strong> directory and local mounts. It also does not work with the Encryption App enabled.
+Controlled file serving <strong>does not work for generated zip files</strong>. This is due to zip files being generated and streamed back directly to the client.</p>
+</div>
+<div class="section" id="apache2-x-sendfile">
+<h2>Apache2 (X-Sendfile)<a class="headerlink" href="#apache2-x-sendfile" title="Permalink to this headline">¶</a></h2>
+<p>It is possible to let Apache handle static file serving via <a class="reference external" href="https://tn123.org/mod_xsendfile/">mod_xsendfile</a>.</p>
+<div class="section" id="installation">
+<h3>Installation<a class="headerlink" href="#installation" title="Permalink to this headline">¶</a></h3>
+<p>On Debian and Ubuntu systems use:</p>
+<div class="highlight-bash"><div class="highlight"><pre>apt-get install libapache2-mod-xsendfile
+</pre></div>
+</div>
+</div>
+<div class="section" id="configuration">
+<h3>Configuration<a class="headerlink" href="#configuration" title="Permalink to this headline">¶</a></h3>
+<p>Configuration of mod_xsendfile for ownCloud depends on its version.
+For versions below 0.10 (Debian squeeze ships with 0.9)</p>
- <div class="highlight-xml"><div class="highlight"><pre><Directory /var/www/owncloud>
++<div class="highlight-python"><div class="highlight"><pre><Directory /var/www/owncloud>
+ ...
+ SetEnv MOD_X_SENDFILE_ENABLED 1
+ XSendFile On
+ XSendFileAllowAbove On
+</Directory>
+</pre></div>
+</div>
+<p>For versions >=0.10 (e.g. Ubuntu 12.10)</p>
- <div class="highlight-xml"><div class="highlight"><pre><Directory /var/www/owncloud>
++<div class="highlight-python"><div class="highlight"><pre><Directory /var/www/owncloud>
+ ...
+ SetEnv MOD_X_SENDFILE_ENABLED 1
+ XSendFile On
+ XSendFilePath /home/valerio
+</Directory>
+</pre></div>
+</div>
+<ul class="simple">
+<li><strong>SetEnv MOD_X_SENDFILE_ENABLED</strong>: tells ownCloud scripts that they should add the X-Sendfile header when serving files</li>
+<li><strong>XSendFile</strong>: enables web server handling of X-Sendfile headers (and therefore file serving) for the specified Directory</li>
+<li><strong>XSendFileAllowAbove (<0.10)</strong>: enables file serving through web server on path outside the specified Directory. This is needed for configured local mounts which may reside outside data directory</li>
+<li><strong>XSendFilePath (>=0.10)</strong>: a white list of paths that the web server is allowed to serve outside of the specified Directory. Other paths which correspond to local mounts should be configured here as well. For a more in-depth documentation of this directive refer to mod_xsendfile website linked above</li>
+</ul>
+</div>
+</div>
+<div class="section" id="lighttpd-x-sendfile2">
+<h2>LigHTTPd (X-Sendfile2)<a class="headerlink" href="#lighttpd-x-sendfile2" title="Permalink to this headline">¶</a></h2>
+<p>LigHTTPd uses similar headers to Apache2, apart from the fact that it does not handle partial downloads in the same way
+Apache2 does. For this reason, a different method is used for LigHTTPd.</p>
+<div class="section" id="id1">
+<h3>Installation<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h3>
+<p>X-Sendfile and X-Sendfile2 are supported by default in LigHTTPd and no additional operation should be needed to install it.</p>
+</div>
+<div class="section" id="id2">
+<h3>Configuration<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h3>
+<p>Your server configuration should include the following statements:</p>
+<div class="highlight-python"><div class="highlight"><pre>fastcgi.server = ( ".php" => ((
+ ...
+ "allow-x-send-file" => "enable",
+ "bin-environment" => (
+ "MOD_X_SENDFILE2_ENABLED" => "1",
+ ),
+)))
+</pre></div>
+</div>
+<ul class="simple">
+<li><strong>allow-x-send-file</strong>: enables LigHTTPd to use X-Sendfile and X-Sendfile2 headers to serve files</li>
+<li><strong>bin-environment</strong>: is used to parse MOD_X_SENDFILE2_ENABLED to the ownCloud backend, to make it use the X-Sendfile and X-Sendfile2 headers in it’s response</li>
+</ul>
+</div>
+</div>
+<div class="section" id="nginx-x-accel-redirect">
+<h2>Nginx (X-Accel-Redirect)<a class="headerlink" href="#nginx-x-accel-redirect" title="Permalink to this headline">¶</a></h2>
+<p>Nginx supports handling of static files differently from Apache. Documentation can be found in the Nginx Wiki
+section <a class="reference external" href="http://wiki.nginx.org/XSendfile">Mod X-Sendfile</a> and section <a class="reference external" href="http://wiki.nginx.org/X-accel">X-Accell</a>.
+The header used by Nginx is X-Accel-Redirect.</p>
+<div class="section" id="id3">
+<h3>Installation<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h3>
+<p>X-Accel-Redirect is supported by default in Nginx and no additional operation should be needed to install it.</p>
+</div>
+<div class="section" id="id4">
+<h3>Configuration<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h3>
+<p>Configuration is similar to Apache:</p>
+<div class="highlight-python"><div class="highlight"><pre>location ~ \.php(?:$|/) {
+ ...
+ fastcgi_param MOD_X_ACCEL_REDIRECT_ENABLED on;
+}
+
+location ^~ /data {
+ internal;
+ # Set 'alias' if not using the default 'datadirectory'
+ #alias /path/to/non-default/datadirectory;
+
+# LOCAL-MOUNT-NAME should match "Folder name" and 'alias' value should match "Configuration"
+# A 'Local' External Storage Mountpoint available to a single user
+# location /data/USER/files/LOCAL-FS-MOUNT-NAME {
+# alias /path/to/local-mountpoint;
+# }
+
+# A 'Local' External Storage Mountpoint available to mulitple users
+# location ~ ^/data/(?:USER1|USER2)/files/LOCAL-FS-MOUNT-NAME/(.+)$ {
+# alias /path/to/local-mountpoint/$1;
+# }
+
+# A 'Local' External Storage Mountpoint available to all users
+# location ~ ^/data/[^/]+/files/LOCAL-FS-MOUNT-NAME/(.+)$ {
+# alias /path/to/local-mountpoint/$1;
+# }
+
+}
+</pre></div>
+</div>
+<ul class="simple">
+<li><strong>fastcgi_param MOD_X_ACCEL_REDIRECT_ENABLED</strong> ~ Tells ownCloud scripts that they should add the X-Accel-Redirect header when serving files.</li>
+<li><strong>/data</strong> ~ The ownCloud data directory. Any ‘Local’ External Storage Mounts must also have nested locations here.<ul>
+<li>set alias if you are using a non-default data directory</li>
+<li><strong>/data/USER/files/LOCAL-MOUNT-NAME</strong> ~ a local external storage mount available to a single user</li>
+<li><strong>~ ^/data/(?:USER1|USER2)/files/LOCAL-MOUNT-NAME/(.+)$</strong> ~ a local external storage mount available to multiple users</li>
+<li><strong>~ ^/data/[^/]+/files/LOCAL-MOUNT-NAME/(.+)$</strong> ~ a local external storage mount available to all users</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<div class="section" id="how-to-check-if-it-s-working">
+<h2>How to check if it’s working?<a class="headerlink" href="#how-to-check-if-it-s-working" title="Permalink to this headline">¶</a></h2>
+<p>You are still able to download stuff via the web interface and single, local file downloads can be paused and resumed.</p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+
+ </div>
+</div>
+ </body>
+</html>
diff --cc core/doc/admin/release/installation/source_installation.html
index bd11503,0000000..b1d59e9
mode 100644,000000..100644
--- a/core/doc/admin/release/installation/source_installation.html
+++ b/core/doc/admin/release/installation/source_installation.html
@@@ -1,643 -1,0 +1,643 @@@
+<!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 on Linux — ownCloud 7 Server Administration Manual 7.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: '7.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 7 Server Administration Manual 7.0 documentation" href="../contents.html" />
+ <link rel="up" title="Installation" href="index.html" />
+ <link rel="next" title="Univention Corporate Server" href="ucs_installation.html" />
+ <link rel="prev" title="Other Installation Methods" href="others_installation.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 role="document">
+
+
+<div class="container">
+ <div class="content">
+ <div class="page-header">
+ <h1><a href="../contents.html">ownCloud 7 Server Administration 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">Table of Contents</a></li>
+ </ul>
+ <ul>
+<li class="toctree-l1"><a class="reference internal" href="../index.html">Introduction</a></li>
+</ul>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../videos.html">ownCloud Videos</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../whats_new_admin.html">What’s New for Admins in ownCloud 7</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../release_notes.html">ownCloud 7.0 Release Notes</a></li>
+<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="linux_installation.html">Preferred Linux Installation Method</a></li>
+<li class="toctree-l2"><a class="reference internal" href="appliance_installation.html">ownCloud Appliances</a></li>
+<li class="toctree-l2"><a class="reference internal" href="apps_management_installation.html">Installing and Managing Apps</a></li>
+<li class="toctree-l2"><a class="reference internal" href="hiawatha_configuration.html">Hiawatha Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installation_wizard.html">Installation Wizard</a></li>
+<li class="toctree-l2"><a class="reference internal" href="lighttpd_configuration.html">Lighttpd Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="macos_installation.html">Mac OS X</a></li>
+<li class="toctree-l2"><a class="reference internal" href="nginx_configuration.html">Nginx Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="others_installation.html">Other Installation Methods</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="">Manual Installation on Linux</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#prerequisites">Prerequisites</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#red-hat-enterprise-linux-6-centos-6-and-php-5-4">Red Hat Enterprise Linux 6, CentOS 6, and PHP 5.4</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#example-installation-on-ubuntu-14-04-lts-server">Example installation on Ubuntu 14.04 LTS Server</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#installation-wizard">Installation Wizard</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#setting-strong-directory-permissions">Setting Strong Directory Permissions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#selinux">SELinux</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#configuration-notes-to-php-ini-files">Configuration notes to php.ini files</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#apache-web-server-configuration">Apache Web Server Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#enabling-ssl">Enabling SSL</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#configuring-owncloud">Configuring ownCloud</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#other-web-servers">Other Web Servers</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="ucs_installation.html">Univention Corporate Server</a></li>
+<li class="toctree-l2"><a class="reference internal" href="windows_installation.html">Windows 7 and Windows Server 2008</a></li>
+<li class="toctree-l2"><a class="reference internal" href="yaws_configuration.html">Yaws Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="selinux_configuration.html">SELinux Configuration</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 and Troubleshooting</a></li>
+</ul>
+
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+ <div class="span9">
+ <div class="page-content">
+
+ <div class="section" id="manual-installation-on-linux">
+<h1>Manual Installation on Linux<a class="headerlink" href="#manual-installation-on-linux" title="Permalink to this headline">¶</a></h1>
+<p>Installing ownCloud on Linux from the openSUSE Build Service packages is the
+preferred method (see <a class="reference internal" href="linux_installation.html"><em>Preferred Linux Installation Method</em></a>). These are maintained by
+ownCloud engineers, and you can use your package manager to keep your ownCloud
+server up-to-date. If there are no packages for your Linux distribution, or you
+prefer installing from sources, you can setup ownCloud from scratch using a
+classic LAMP stack (Linux, Apache, MySQL/MariaDB, PHP). This document provides a
+complete walk-through for installing ownCloud on Ubuntu
+14.04 LTS Server with Apache and MySQL.</p>
+<div class="section" id="prerequisites">
+<h2>Prerequisites<a class="headerlink" href="#prerequisites" title="Permalink to this headline">¶</a></h2>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">This tutorial assumes you have terminal access to the machine you want
+to install ownCloud on. Although this is not an absolute requirement,
+installation without it is likely to require contacting your
+hoster (e.g. for installing required modules). Consult the <a class="reference external" href="http://php.net/manual/en/extensions.php">PHP manual</a> for information on
+modules.Your Linux distribution should have packages for all
+required modules.</p>
+</div>
+<p>To run ownCloud, your web server must have the following installed:</p>
+<ul class="simple">
+<li>php5 (>= 5.3.8, we highly recommended 5.4+ as 5.3 is old and has many
+problems. See <a class="reference internal" href="#label-rhel6-php54"><span>Red Hat Enterprise Linux 6, CentOS 6, and PHP 5.4</span></a>)</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 XMLWriter</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, usually not recommended for performance reasons)</li>
+<li>PHP module mysql</li>
+<li>PHP module pgsql (requires PostgreSQL >= 9.0)</li>
+</ul>
+<p><em>Recommended</em> packages:</p>
+<ul class="simple">
+<li>PHP module curl (highly recommended, some functionality, e.g. http user
+authentication, depends on this)</li>
+<li>PHP module fileinfo (highly recommended, enhances file analysis performance)</li>
+<li>PHP module bz2 (recommended, required for extraction of apps)</li>
+<li>PHP module intl (increases language translation performance and fixes sorting
+of non-ASCII characters)</li>
+<li>PHP module mcrypt (increases file encryption performance)</li>
+<li>PHP module openssl (required for accessing HTTPS resources)</li>
+</ul>
+<p>Required for specific apps:</p>
+<ul class="simple">
+<li>PHP module ldap (for LDAP integration)</li>
+<li>smbclient (for SMB storage / external user authentication)</li>
+<li>PHP module ftp (for FTP storage / external user authentication)</li>
+<li>PHP module imap (for external user authentication)</li>
+</ul>
+<p>Recommended for specific apps (<em>optional</em>):</p>
+<ul class="simple">
+<li>PHP module exif (for image rotation in pictures app)</li>
+<li>PHP module gmp (for SFTP storage)</li>
+</ul>
+<p>For enhanced server performance (<em>optional</em> / select only 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>
+<li><p class="first">PHP module imagick</p>
+</li>
+<li><p class="first">avconv or ffmpeg</p>
+</li>
+<li><p class="first">OpenOffice or LibreOffice</p>
+</li>
+<li><p class="first">Please check your distribution, operating system or hosting partner
+documentation on how to install and enable these modules.</p>
+</li>
+<li><p class="first">Make sure your distribution’s PHP version fulfills the version requirements
+specified above. If it doesn’t, there might be custom repositories you can
+use. If you are e.g. running Ubuntu 10.04 LTS, you can update your PHP using
+a custom <a class="reference external" href="https://launchpad.net/~ondrej/+archive/php5">PHP PPA</a>:</p>
+<div class="highlight-python"><div class="highlight"><pre>sudo add-apt-repository ppa:ondrej/php5
+sudo apt-get update
+sudo apt-get install php5
+</pre></div>
+</div>
+</li>
+<li><p class="first">You don’t need the WebDAV module for your web server (i.e. Apache’s
+<code class="docutils literal"><span class="pre">mod_webdav</span></code>) to access your ownCloud data via WebDAV. ownCloud has a built-in
+WebDAV server of its own, SabreDAV.</p>
+</li>
+</ul>
+</div>
+<div class="section" id="red-hat-enterprise-linux-6-centos-6-and-php-5-4">
+<span id="label-rhel6-php54"></span><h2>Red Hat Enterprise Linux 6, CentOS 6, and PHP 5.4<a class="headerlink" href="#red-hat-enterprise-linux-6-centos-6-and-php-5-4" title="Permalink to this headline">¶</a></h2>
+<p>RHEL 6 and CentOS still ship with PHP 5.3.x. It is highly recommended to
+upgrade to 5.4 because 5.3.x has many deprecated functions, and will cause
+problems with your ownCloud installation. To upgrade to PHP 5.4 without
+violating your RHEL support agreement you must use the Software Collections
+(SCL) repository. Follow these steps on RHEL 6:</p>
+<div class="highlight-python"><div class="highlight"><pre>subscription-manager repos --enable rhel-server-rhscl-6-eus-rpms
+</pre></div>
+</div>
+<p>Then install PHP 5.4 and these modules:</p>
+<div class="highlight-python"><div class="highlight"><pre>yum install php54 php54-php php54-php-gd php54-php-mbstring
+</pre></div>
+</div>
+<p>You must also install the updated database module for your database. This
+installs the new PHP 5.4 module for MySQL/MariaDB:</p>
+<div class="highlight-python"><div class="highlight"><pre>yum install php54-php-mysqlnd
+</pre></div>
+</div>
+<p>Activate the new PHP version permanently:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">source</span> <span class="o">/</span><span class="n">opt</span><span class="o">/</span><span class="n">rh</span><span class="o">/</span><span class="n">php54</span><span class="o">/</span><span class="n">enable</span>
+</pre></div>
+</div>
+<p>Disable loading the old PHP 5.3 Apache module:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">mv</span> <span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">httpd</span><span class="o">/</span><span class="n">conf</span><span class="o">.</span><span class="n">d</span><span class="o">/</span><span class="n">php</span><span class="o">.</span><span class="n">conf</span> <span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">httpd</span><s [...]
+</pre></div>
+</div>
+<p>You should have a <code class="docutils literal"><span class="pre">/etc/httpd/conf.d/php54-php.conf</span></code> file, which loads the
+correct PHP 5.4 module for Apache.</p>
+<p>Then restart Apache:</p>
+<div class="highlight-python"><div class="highlight"><pre>service httpd restart
+</pre></div>
+</div>
+<p>Verify with <code class="docutils literal"><span class="pre">phpinfo</span></code> that your Apache server is using PHP 5.4 and loading
+the correct modules.</p>
+<p>The steps for CentOS 6 are slightly different. First install the SCL repo:</p>
+<div class="highlight-python"><div class="highlight"><pre>yum install centos-release-SCL
+</pre></div>
+</div>
+<p>Then install PHP 5.4 and these modules:</p>
+<div class="highlight-python"><div class="highlight"><pre>yum install php54 php54-php php54-php-gd php54-php-mbstring
+</pre></div>
+</div>
+<p>You must also install the updated database module. This installs the new PHP 5.4
+module for MySQL/MariaDB:</p>
+<div class="highlight-python"><div class="highlight"><pre>yum install php54-php-mysqlnd
+</pre></div>
+</div>
+<p>Activate the new PHP version permanently:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">source</span> <span class="o">/</span><span class="n">opt</span><span class="o">/</span><span class="n">rh</span><span class="o">/</span><span class="n">php54</span><span class="o">/</span><span class="n">enable</span>
+</pre></div>
+</div>
+<p>Disable loading the old PHP 5.3 Apache module:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">mv</span> <span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">httpd</span><span class="o">/</span><span class="n">conf</span><span class="o">.</span><span class="n">d</span><span class="o">/</span><span class="n">php</span><span class="o">.</span><span class="n">conf</span> <span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">httpd</span><s [...]
+</pre></div>
+</div>
+<p>You should now have a /etc/httpd/conf.d/php54-php.conf file, which loads the
+correct PHP 5.4 module for Apache.</p>
+<p>Finally, restart Apache:</p>
+<div class="highlight-python"><div class="highlight"><pre>service httpd restart
+</pre></div>
+</div>
+<p>Verify with <code class="docutils literal"><span class="pre">phpinfo</span></code> that your Apache server is using PHP 5.4 and loading
+the correct module.</p>
+</div>
+<div class="section" id="example-installation-on-ubuntu-14-04-lts-server">
+<h2>Example installation on Ubuntu 14.04 LTS Server<a class="headerlink" href="#example-installation-on-ubuntu-14-04-lts-server" title="Permalink to this headline">¶</a></h2>
+<p>On a machine running a pristine Ubuntu 14.04 LTS server, install the
+required and recommended modules for a typical ownCloud installation, using
+Apache and MariaDB, by issuing the following commands in a terminal:</p>
+<div class="highlight-python"><div class="highlight"><pre>apt-get install apache2 mariadb-server libapache2-mod-php5
+apt-get install php5-gd php5-json php5-mysql php5-curl
+apt-get install php5-intl php5-mcrypt php5-imagick
+</pre></div>
+</div>
+<ul class="simple">
+<li>This installs the packages for the ownCloud core system. If you are planning
+on running additional apps, keep in mind that they might require additional
+packages. See the Prerequisites section (above) for details.</li>
+<li>At the execution of each of the above commands you might be prompted whether
+you want to continue; press “Y” for Yes (that is if your system language is
+English. You might have to press a different key if you have a different
+system language).</li>
+<li>At the installation of the MySQL server, you will be prompted to create a root
+password. Be sure to remember the password you enter there for later use
+as you will need it during ownCloud database setup.</li>
+</ul>
+<p>Now download the archive of the latest ownCloud version:</p>
+<ul>
+<li><p class="first">Go to the <a class="reference external" href="http://owncloud.org/install">ownCloud Installation Page</a>.</p>
+</li>
+<li><p class="first">Click the <strong>Archive file for server owners</strong> button.</p>
+</li>
+<li><p class="first">Click <strong>Download Unix</strong>.</p>
+</li>
+<li><p class="first">This downloads a file named owncloud-x.y.z.tar.bz2 (where
+x.y.z is the version number of the current latest version).</p>
+</li>
+<li><p class="first">Save this file on the machine you want to install ownCloud on.</p>
+</li>
+<li><p class="first">Verify the MD5 or SHA256 sum:</p>
+<div class="highlight-python"><div class="highlight"><pre>md5sum owncloud-x.y.z.tar.bz2
+sha256sum owncloud-x.y.z.tar.bz2
+</pre></div>
+</div>
+</li>
+<li><p class="first">You may also verify the PGP signature:</p>
+<div class="highlight-python"><div class="highlight"><pre>wget https://download.owncloud.org/community/owncloud-x.y.z.tar.bz2.asc
+wget https://www.owncloud.org/owncloud.asc
+gpg --import owncloud.asc
+gpg --verify owncloud-x.y.z.tar.bz2.asc owncloud-x.y.z.tar.bz2
+</pre></div>
+</div>
+</li>
+<li><p class="first">Now you can extract the archive contents. Open a terminal, navigate to your
+download directory, and run:</p>
+<div class="highlight-python"><div class="highlight"><pre>tar -xjf owncloud-x.y.z.tar.bz2
+</pre></div>
+</div>
+</li>
+<li><p class="first">Copy the ownCloud files to their final destination in the document root of
+your web server:</p>
+<div class="highlight-python"><div class="highlight"><pre>cp -r owncloud /path/to/webserver/document-root
+</pre></div>
+</div>
+<p>where <code class="docutils literal"><span class="pre">/path/to/webserver/document-root</span></code> is replaced by the
+document root of your Web server. On Ubuntu systems this
+<code class="docutils literal"><span class="pre">/var/www/owncloud</span></code>, so your copying command is:</p>
+<div class="highlight-python"><div class="highlight"><pre>cp -r owncloud /var/www/
+</pre></div>
+</div>
+</li>
+</ul>
+</div>
+<div class="section" id="installation-wizard">
+<h2>Installation Wizard<a class="headerlink" href="#installation-wizard" title="Permalink to this headline">¶</a></h2>
+<p>Finish setting up your ownCloud server by following
+the <a class="reference internal" href="installation_wizard.html"><em>Installation Wizard</em></a>.</p>
+<p>After running the Installation Wizard your ownCloud installation is complete.
+However, you should perform the following steps to improve your server’s
+security.</p>
+</div>
+<div class="section" id="setting-strong-directory-permissions">
+<h2>Setting Strong Directory Permissions<a class="headerlink" href="#setting-strong-directory-permissions" title="Permalink to this headline">¶</a></h2>
+<p>We recommend setting the directory permissions in your ownCloud installation as
+strictly as possible for stronger security. Please refer to the <code class="docutils literal"><span class="pre">Setting</span>
+<span class="pre">Strong</span> <span class="pre">Directory</span> <span class="pre">Permissions</span></code> section of <a class="reference internal" href="installation_wizard.html"><em>Installation Wizard</em></a>.</p>
+</div>
+<div class="section" id="selinux">
+<h2>SELinux<a class="headerlink" href="#selinux" title="Permalink to this headline">¶</a></h2>
+<p>See <a class="reference internal" href="selinux_configuration.html"><em>SELinux Configuration</em></a> for a suggested configuration for SELinux-enabled distributions such as Fedora and CentOS.</p>
+<p>Apache is the recommended Web server.</p>
+</div>
+<div class="section" id="configuration-notes-to-php-ini-files">
+<h2>Configuration notes to php.ini files<a class="headerlink" href="#configuration-notes-to-php-ini-files" title="Permalink to this headline">¶</a></h2>
+<p>Keep in mind that changes to php.ini may have to be done on more than one ini file. This can be the case, as example, for the <code class="docutils literal"><span class="pre">date.timezone</span></code> setting.</p>
+<p><strong>php.ini - used by the webserver:</strong></p>
+<div class="highlight-python"><div class="highlight"><pre> /etc/php5/apache2/php.ini
+or
+ /etc/php5/fpm/php.ini
+or ...
+</pre></div>
+</div>
+<p><strong>php.ini - used by the php-cli and so by ownCloud CRON jobs:</strong></p>
+<div class="highlight-python"><div class="highlight"><pre>/etc/php5/cli/php.ini
+</pre></div>
+</div>
+</div>
+<div class="section" id="apache-web-server-configuration">
+<h2>Apache Web Server Configuration<a class="headerlink" href="#apache-web-server-configuration" title="Permalink to this headline">¶</a></h2>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">You can use ownCloud over plain http, but we strongly encourage you to
+use SSL/TLS to encrypt all of your server traffic, and to protect
+user’s logins and data in transit.</p>
+</div>
+</div>
+<div class="section" id="enabling-ssl">
+<h2>Enabling SSL<a class="headerlink" href="#enabling-ssl" title="Permalink to this headline">¶</a></h2>
+<p>An Apache installed under Ubuntu comes already set-up with a simple
+self-signed certificate. All you have to do is to enable the ssl module and
+the according site. Open a terminal and run:</p>
+<div class="highlight-python"><div class="highlight"><pre>a2enmod ssl
+a2ensite default-ssl
+service apache2 reload
+</pre></div>
+</div>
+<p>If you are using a different distribution, check your documentation on how to
+enable SSL.</p>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">Self-signed certificates have their drawbacks - especially when you
+plan to make your ownCloud server publicly accessible. You might want
+to consider getting a certificate signed by commercial signing
+authority. Check with your domain name registrar or hosting service,
+if you’re using one, for good deals on commercial certificates.</p>
+</div>
+</div>
+<div class="section" id="configuring-owncloud">
+<h2>Configuring ownCloud<a class="headerlink" href="#configuring-owncloud" title="Permalink to this headline">¶</a></h2>
+<p>Since there was a change in the way versions 2.2 and 2.4 are configured,
+you’ll have to find out which Apache version you are using.</p>
+<p>Usually you can do this by running one of the following commands:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">apachectl</span> <span class="o">-</span><span class="n">v</span>
+<span class="n">apache2</span> <span class="o">-</span><span class="n">v</span>
+</pre></div>
+</div>
+<p>Example output:</p>
+<div class="highlight-python"><div class="highlight"><pre>Server version: Apache/2.4.7 (Ubuntu)
+Server built: Jul 22 2014 14:36:38
+</pre></div>
+</div>
+<p>Example config for Apache 2.2:</p>
- <div class="highlight-xml"><div class="highlight"><pre><Directory /path/to/owncloud>
++<div class="highlight-python"><div class="highlight"><pre><Directory /path/to/owncloud>
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Order allow,deny
+ allow from all
+</Directory>
+</pre></div>
+</div>
+<p>Example config for Apache 2.4:</p>
- <div class="highlight-xml"><div class="highlight"><pre><Directory /path/to/owncloud>
++<div class="highlight-python"><div class="highlight"><pre><Directory /path/to/owncloud>
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+</Directory>
+</pre></div>
+</div>
+<ul>
+<li><p class="first">This configuration entry needs to go into the configuration file of the
+“site” you want to use.</p>
+</li>
+<li><p class="first">On a Ubuntu system, this typically is the “default-ssl” site (to be found in
+the <code class="file docutils literal"><span class="pre">/etc/apache2/sites-available/default-ssl.conf</span></code>).</p>
+</li>
+<li><p class="first">Add the entry shown above immediately before the line containing:</p>
+<div class="highlight-python"><div class="highlight"><pre></VirtualHost>
+</pre></div>
+</div>
+<p>(this should be one of the last lines in the file).</p>
+</li>
+<li><p class="first">A minimal site configuration file on Ubuntu 14.04 might look like this:</p>
+</li>
+</ul>
- <div class="highlight-xml"><div class="highlight"><pre><IfModule mod_ssl.c>
++<div class="highlight-python"><div class="highlight"><pre><IfModule mod_ssl.c>
+<VirtualHost _default_:443>
+ ServerName YourServerName
+ ServerAdmin webmaster at localhost
+ DocumentRoot /var/www
+ <Directory />
+ Options FollowSymLinks
+ AllowOverride None
+ </Directory>
+ <Directory /var/www/>
+ Options Indexes FollowSymLinks
+ AllowOverride None
+ Order allow,deny
+ allow from all
+ </Directory>
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ LogLevel warn
+ CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
+ SSLEngine on
+ SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
+ SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
+ <FilesMatch "\.(cgi|shtml|phtml|php)$">
+ SSLOptions +StdEnvVars
+ </FilesMatch>
+ <Directory /usr/lib/cgi-bin>
+ SSLOptions +StdEnvVars
+ </Directory>
+ BrowserMatch "MSIE [2-6]" \
+ nokeepalive ssl-unclean-shutdown \
+ downgrade-1.0 force-response-1.0
+ BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
+ <Directory /var/www/owncloud>
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Allow from all
+ Require all granted
+ Dav Off
+ Satisfy Any
+ </Directory>
+</VirtualHost>
+</IfModule>
+</pre></div>
+</div>
+<ul>
+<li><p class="first">For ownCloud to work correctly, we need the module <code class="docutils literal"><span class="pre">mod_rewrite</span></code>. Enable it
+by running:</p>
+<div class="highlight-python"><div class="highlight"><pre>a2enmod rewrite
+</pre></div>
+</div>
+</li>
+<li><p class="first">In distributions that do not come with <code class="docutils literal"><span class="pre">a2enmod</span></code>, the module needs to be
+enabled manually by editing the Apache config files, usually
+<code class="file docutils literal"><span class="pre">/etc/httpd/httpd.conf</span></code>. Consult the Apache documentation or your Linux
+distribution’s documentation.</p>
+</li>
+<li><p class="first">In order for the maximum upload size to be configurable, the
+<code class="file docutils literal"><span class="pre">.htaccess</span></code> in the ownCloud folder needs to be made writable by the
+server (this should already be done, see section <code class="docutils literal"><span class="pre">Set</span> <span class="pre">the</span> <span class="pre">Directory</span>
+<span class="pre">Permissions</span></code>).</p>
+</li>
+<li><p class="first">You should make sure that any built-in WebDAV module of your web server is
+disabled (at least for the ownCloud directory), as it will interfere with
+ownCloud’s built-in WebDAV support.</p>
+<p>If you need the WebDAV support in the rest of your configuration, you can turn
+it off specifically for the ownCloud entry by adding the following line in
+the <code class="docutils literal"><span class="pre"><Directory</span></code> section for your ownCloud server. Add the following line
+directly after the <code class="docutils literal"><span class="pre">allow</span> <span class="pre">from</span> <span class="pre">all</span></code> / <code class="docutils literal"><span class="pre">Require</span> <span class="pre">all</span> <span class="pre">granted</span></code> line:</p>
+<div class="highlight-python"><div class="highlight"><pre>Dav Off
+</pre></div>
+</div>
+</li>
+<li><p class="first">You must disable any server-configured authentication for ownCloud, as it
+uses Basic authentication internally for DAV services. If you have turned on
+authentication on a parent folder (via e.g. an <code class="docutils literal"><span class="pre">AuthType</span> <span class="pre">Basic</span></code>
+directive), you can turn off the authentication specifically for the ownCloud
+entry. Following the above example configuration file, add the following line
+directly after the <code class="docutils literal"><span class="pre">allow</span> <span class="pre">from</span> <span class="pre">all</span></code> / <code class="docutils literal"><span class="pre">Require</span> <span class="pre">all</span> <span class="pre">granted</span></code> line in the
+<code class="docutils literal"><span class="pre"><Directory</span></code> section:</p>
+<div class="highlight-python"><div class="highlight"><pre>Satisfy Any
+</pre></div>
+</div>
+</li>
+<li><p class="first">When using ssl, take special note on the ServerName. You should specify one in
+the server configuration, as well as in the CommonName field of the
+certificate. If you want your ownCloud to be reachable via the internet, then
+set both of these to the domain you want to reach your ownCloud server.</p>
+</li>
+</ul>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">By default, the certificates’ CommonName will be set to the host name
+at the time the ssl-cert package was installed.</p>
+</div>
+<ul>
+<li><p class="first">Finally, restart Apache.</p>
+<ul>
+<li><p class="first">On Ubuntu systems run:</p>
+<div class="highlight-python"><div class="highlight"><pre>service apache2 restart
+</pre></div>
+</div>
+</li>
+<li><p class="first">On systemd systems (Fedora, Arch Linux, OpenSUSE), run:</p>
+<div class="highlight-python"><div class="highlight"><pre>systemctl restart httpd.service
+</pre></div>
+</div>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="section" id="other-web-servers">
+<h2>Other Web Servers<a class="headerlink" href="#other-web-servers" title="Permalink to this headline">¶</a></h2>
+<p><strong>Microsoft Internet Information Server (IIS)</strong></p>
+<p>See <a class="reference internal" href="windows_installation.html"><em>Windows 7 and Windows Server 2008</em></a> for further instructions.</p>
+<p><strong>Nginx Configuration</strong></p>
+<p>See <a class="reference internal" href="nginx_configuration.html"><em>Nginx Configuration</em></a></p>
+<p><strong>Lighttpd Configuration</strong></p>
+<p>See <a class="reference internal" href="lighttpd_configuration.html"><em>Lighttpd Configuration</em></a></p>
+<p><strong>Yaws Configuration</strong></p>
+<p>See <a class="reference internal" href="yaws_configuration.html"><em>Yaws Configuration</em></a></p>
+<p><strong>Hiawatha Configuration</strong></p>
+<p>See <a class="reference internal" href="hiawatha_configuration.html"><em>Hiawatha Configuration</em></a></p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+
+ </div>
+</div>
+ </body>
+</html>
diff --cc core/doc/admin/release/installation/yaws_configuration.html
index 3353fc7,0000000..95cc560
mode 100644,000000..100644
--- a/core/doc/admin/release/installation/yaws_configuration.html
+++ b/core/doc/admin/release/installation/yaws_configuration.html
@@@ -1,189 -1,0 +1,189 @@@
+<!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>Yaws Configuration — ownCloud 7 Server Administration Manual 7.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: '7.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 7 Server Administration Manual 7.0 documentation" href="../contents.html" />
+ <link rel="up" title="Installation" href="index.html" />
+ <link rel="next" title="SELinux Configuration" href="selinux_configuration.html" />
+ <link rel="prev" title="Windows 7 and Windows Server 2008" href="windows_installation.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 role="document">
+
+
+<div class="container">
+ <div class="content">
+ <div class="page-header">
+ <h1><a href="../contents.html">ownCloud 7 Server Administration 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">Table of Contents</a></li>
+ </ul>
+ <ul>
+<li class="toctree-l1"><a class="reference internal" href="../index.html">Introduction</a></li>
+</ul>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../videos.html">ownCloud Videos</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../whats_new_admin.html">What’s New for Admins in ownCloud 7</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../release_notes.html">ownCloud 7.0 Release Notes</a></li>
+<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="linux_installation.html">Preferred Linux Installation Method</a></li>
+<li class="toctree-l2"><a class="reference internal" href="appliance_installation.html">ownCloud Appliances</a></li>
+<li class="toctree-l2"><a class="reference internal" href="apps_management_installation.html">Installing and Managing Apps</a></li>
+<li class="toctree-l2"><a class="reference internal" href="hiawatha_configuration.html">Hiawatha Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installation_wizard.html">Installation Wizard</a></li>
+<li class="toctree-l2"><a class="reference internal" href="lighttpd_configuration.html">Lighttpd Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="macos_installation.html">Mac OS X</a></li>
+<li class="toctree-l2"><a class="reference internal" href="nginx_configuration.html">Nginx Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="others_installation.html">Other Installation Methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="source_installation.html">Manual Installation on Linux</a></li>
+<li class="toctree-l2"><a class="reference internal" href="ucs_installation.html">Univention Corporate Server</a></li>
+<li class="toctree-l2"><a class="reference internal" href="windows_installation.html">Windows 7 and Windows Server 2008</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="">Yaws Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="selinux_configuration.html">SELinux Configuration</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 and Troubleshooting</a></li>
+</ul>
+
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+ <div class="span9">
+ <div class="page-content">
+
+ <div class="section" id="yaws-configuration">
+<h1>Yaws Configuration<a class="headerlink" href="#yaws-configuration" title="Permalink to this headline">¶</a></h1>
+<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"><div class="highlight"><pre><server owncloud.myserver.com/>
++<div class="highlight-python"><div class="highlight"><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>
+</div>
+<p>The Apache <code class="file docutils literal"><span class="pre">.htaccess</span></code> that comes with ownCloud is configured to redirect
+requests to non-existent 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>
+ </div>
+ </div>
+
+ </div>
+</div>
+ </body>
+</html>
diff --cc core/doc/user/_sources/pim/contacts.txt
index 941cc42,0000000..e6f04f2
mode 100644,000000..100644
--- a/core/doc/user/_sources/pim/contacts.txt
+++ b/core/doc/user/_sources/pim/contacts.txt
@@@ -1,340 -1,0 +1,340 @@@
+Using the Contacts App
+======================
+
+The ownCloud Contacts app is similar to other mobile contact applications, but
+with more functionality. When you first access the Contacts app, a default
+address book becomes available.
+
+.. figure:: ../images/contacts_empty.png
+
+ **Contacts app (empty)**
+
+In the Apps Information field for the Contacts app, you can choose to create a
+new contact or a new group. This field also enables you to filter your contacts
+based on grouped or ungrouped contacts.
+
+Adding Contacts
+---------------
+You can add contacts using one of the following methods:
+
+* Import contacts using a Variant Call Format (VCF) file
+
+* Add contacts manually
+
+Importing Contacts
+~~~~~~~~~~~~~~~~~~
+
+The fastest way to add contacts is through the use of a Variant Call Format
+(VCF) file.
+
+To import contacts using a VCF file:
+
+1. At the bottom of the Contacts app information field, locate the gear button.
+
+ .. figure:: ../images/contact_bottombar.png
+
+ **Contact settings gear button**
+
+2. Click the gear button. The Contacts app upload field opens.
+
+ .. figure:: ../images/contact_uploadbutton.png
+
+ **Contacts app upload field**
+
+3. Choose an address book to which you want to import contacts by clicking the
+checkbox next to the address book.
+
+4. Select one of the options from the Import pulldown menu. These options
+include the following:
+
+ - Automatic format -- Any VCF file. ownCloud determines the file format and
+ imports accordingly.
+
+ - Gmail CSV -- The comma-separated values file from your Gmail account.
+
+ - Outlook CSV -- The comma-separated values file from your Outlook account.
+
+ - Thunderbird CSV -- The comma-separated values file from your Thunderbird
+ account.
+
+ - Yahoo CSV -- The comma-separated values file from your Yahoo account.
+
+ - PHPLdapAdmin Idif Export -- The export record from your LDAP configuration.
+
+ - Gmail VCard -- The VCard files from your Gmail account.
+
+ - Standard VCard -- The VCard files from your Standard account.
+
+ - Yahoo VCard -- The VCard files from your Yahoo account.
+
+5. Click the upload arrow to the right of the import option that you select.
+
+ An Upload File window opens.
+
+6. Navigate to the appropriate file on your system and select it for upload.
+
+ .. note:: You can upload files individually or, by selecting multiple files
+ using the CTRL button and selecting them, you can upload multiple files at
+ one time.
+
+7. Once you have selected the appropriate files, click the `Open`` button.
+
+ .. figure:: ../images/contact_vcfpick.jpg
+
+ **Selecting VCF files**
+
+ The interface automatically places your contacts into ownCloud.
+
+
+Creating Contacts Manually
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The Contacts app enables you to create contacts manually.
+
+To create a new contact:
+
+1. Click the ``+New contact`` option in the Contacts information field.
+
+ An empty new contact configuration opens in the Application View field.
+
+ .. figure:: ../images/contact_new.png
+
+2. Specify the new contact information as follows:
+
+ - Name -- The name of the contact. This field provides the option of
+ specifying added information for the user by clicking the pen button to the
+ right of the Name field.
+
+ - Organization -- The organization for the contact.
+
+ - Email -- The email address for the contact. This field defaults to the work
+ email address for the contact. However, you can specify a different email
+ designation by clicking the ``Work`` designation to the left of the email
+ field.
+
+ - Phone -- The phone number for the contact. This field defaults to the home
+ phone number for the contact. However, you can specify a different phone
+ designation by clicking the ``Home`` designation to the left of the phone
+ field.
+
+ - Address -- The address for the contact. This field defaults to the work
+ address for the contact. However, you can specify a different address
+ designation by clicking the ``Work`` designation to the left of the address
+ field.
+
+ - Notes -- Any notes you want to add about the contact.
+
+ .. note:: The Email, Phone, and Address fields provide the option of
+ specifying a contact method as "preferred."
+
+Editing Contact Information
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The Contacts app enables you to edit or remove contact information.
+
+To edit contact information:
+
+1. Navigate to the specific contact that you want to modify.
+
+2. Select the information in the field that you want to edit.
+
+3. Make your modifications.
+
+ Changes that you make to any contact information are implemented immediately.
+
+Removing Contact Information
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The Contacts app enables you to remove contact information.
+
+To remove contact information:
+
+1. Navigate to the specific contact that you want to modify.
+
+2. Locate the contact information field that you want to remove.
+
+3. Click the trash bin to the right of the contact information.
+
+ Changes that you make to any contact information are implemented immediately.
+
+
+Defining a Contact Avatar
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+By default, new contacts receive a letter avatar (picture) of "U" (for "User").
+
+.. figure:: ../images/contact_picture_default.png
+
+ **Contact picture (default)**
+
+When you specify the name of a contact, the avatar reflects the name by adopting
+the first letter of the name you provide. For example, if you were to specify
+the name of "Frederick," the avatar would dynamically change to "F" for that
+contact. If you provide multiple contacts with the same name, or with names
+that start with the same first letter, the avatar uses the same letter but
+changes color to indicate the difference.
+
+.. figure:: ../images/contact_picture.png
+
+ **Contact picture (dynamic change)**
+
+Customizing an Avatar
+~~~~~~~~~~~~~~~~~~~~~
+
+In addition to dynamically altering the avatar for each contact, the Contacts
+app enables you to customize the avatar. You can specify an avatar in one of the
+two following ways:
+
+- Upload new image -- By selecting this option, ownCloud opens a File Upload
+ window. You can choose a new image by navigating to the image, selecting it,
+ and clicking ``Open``.
+
+- Select image from Files -- By selecting this option, ownCloud opens the Files
+ dialog on the ownCloud server. You can choose an image by navigating to the image
+ in the ownCloud directory, selecting it, and clicking ``Choose.``
+
+Cropping an Avatar Image
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+After you have selected an image for your contact, the Contacts app enables you
+to crop the picture.
+
+.. figure:: ../images/contact_crop.jpg
+
+ **Cropping contact image**
+
+To crop the image:
+
+1. Move the image crop box to the desired location and resize the box any way
+ you like.
+
+2. Click ``Crop Picture`` in the crop image dialog box.
+
+ The Contacts app crops the image and replaces whatever image was originally
+ used for the contact.
+
+Managing Address Books
+----------------------
+
+Clicking on the settings (gear) button at the bottom of the Apps Information
+field provides access to the Contact app settings. This field shows all
+available address books, certain options for each address book, and enables you
+to create new address books.
+
+.. figure:: ../images/contacts_settings.png
+
+ **Contacts settings**
+
+The Contacts settings enables you to share, export, edit, and delete address
+books.
+
+.. note:: Hover your cursor over each icon to see a brief pop-up description.
+
+Adding an Address Book
+----------------------
+
+To add an address book:
+
+1. Click the ``+ Add Address Book`` option in the Contacts settings field.
+
+ A field opens requesting you to enter a display name for the new address book.
+
+ .. figure:: ../images/contact_address_book_add.png
+
+ **Adding an address book**
+
+
+2. Specify a display name for the address book.
+
+3. Click the checkbox icon to create the new address book.
+
+
+Synchronizing Address Books
+---------------------------
+
+One of the most important features in any contact application is the ability to
+keep it in sync. The ownCloud Contacts app enables you to sync your address
+books to external devices that use the Android or Apple iOS operating systems.
+
+
+Synchronizing With Android
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To synchronize with an Android device:
+
+1) Install CardDAV- Sync free from the Google play store by visiting `this link <https://play.google.com/store/apps/details?id=org.dmfs.carddav.sync>`_.
+ This app supports auto-configuration.
+
+ .. note:: Following the installing, visit carddavs://example.org/remote.php/carddav/ to auto-configure the app.
+
+3) Enter your login details.
+
+4) After the app has checked your login details, select the ``Sync from server to phone only`` option.
+
+.. figure:: ../images/contact_syncopt.jpg
+
+Synchronizing With Apple iOS
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To synchronize with an Apple iOS device:
+
+1. Open the settings application.
+
+2. Select Mail > Contacts > Calendars.
+
+3. Select ``Add Account``.
+
+4. Select ``other`` as the account type.
+
+5. Select ``Add CardDAV account``.
+
+6. For ``server``, enter http://example.org/remote.php/carddav/principals/username
+
+7. Specify your username and password.
+
+8. Select Next.
+
+9. If your server does not support SSL, a warning is displayed. Select ``Continue``.
+
+10. If the iPhone is unable to verify the account information, perform the following:
+
+ a. Click ``OK``.
+
+ b. Select ``advanced settings``.
+
+ c. Make sure ``Use SSL`` is set to "OFF".
+
+ d. Change the port to ``80``.
+
+ e. Return to "account information" and click ``Save``.
+
+ Your contacts appear in the address book of your iPhone.
+
+
+Using Other Synchronization Options
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ownCloud provides the following alternative synchronization options:
+
+- For Android devices, you can use an official Android app. You can find this
+ app `here <https://owncloud.org/install/>`_.
+
+- For iOS (iPhone and iPad) devices, you can use their official app. You can
+ find this app `here <https://owncloud.org/install/>`_.
+
+Special CardDAV URLs
- -------------------
++--------------------
+
+Additionally, the Contacts app is providing an URL for special functions:
+
+**Export an address book as a vCard file**
+
+ https://ADDRESS/remote.php/carddav/addressbooks/USERNAME/ADDRESSBOOKNAME?export
+
+Troubleshooting
+---------------
+
+Are you having problems using the app? Have a look at the :doc:`troubleshooting`
+and `Troubleshooting Contacts & Calendar`_ guides.
+
+.. _Troubleshooting Contacts & Calendar: https://doc.owncloud.org/server/7.0/admin_manual/issues/index.html#troubleshooting-contacts-calendar
diff --cc core/doc/user/_sources/pim/troubleshooting.txt
index 20802b9,0000000..b92ebb5
mode 100644,000000..100644
--- a/core/doc/user/_sources/pim/troubleshooting.txt
+++ b/core/doc/user/_sources/pim/troubleshooting.txt
@@@ -1,14 -1,0 +1,15 @@@
+Troubleshooting
+===============
+
+BlackBerry OS 10.2
+------------------
+
+BlackBerry OS up to 10.2.2102 does not accept a URL with protocol ``https://`` in front of the server address.
+It will always tell you, that it cannot login on your server. So instead of writing
+
+ https://address/remote.php/carddav/principals/username
+
+in the server address field, you have to write
+
- address/remote.php/carddav/principals/username
++ address/remote.php/carddav/principals/username
++
diff --cc version.php
index d8a63de,ee74444..90d22a3
--- a/version.php
+++ b/version.php
@@@ -1,6 -1,19 +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(7, 0, 13, 1);
-
-// The human readable string
-$OC_VersionString='7.0.13 RC2';
-
-// The ownCloud edition
-$OC_Edition='';
-
-// The ownCloud channel
-$OC_Channel='git';
-
-// The build number
-$OC_Build='';
-
+<?php
- $OC_Version = array(7,0,13,0);
- $OC_VersionString = '7.0.13 RC1';
++$OC_Version = array(7,0,13,1);
++$OC_VersionString = '7.0.13 RC2';
+$OC_Edition = '';
+$OC_Channel = 'testing';
- $OC_Build = '2016-03-02T17:24:06+00:00 a1fecc1d09c773d6a8a9402b81f67ab25467c10b';
++$OC_Build = '2016-03-05T02:56:07+00:00 392696998b5c50c9e84d27579b69c84425a57b0e';
--
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