diff --git a/.drone.yml b/.drone.yml index 7a3b40a71..edde62951 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,6 +1,8 @@ -build: - image: nextcloudci/documentation:1.0.11 - commands: - - (cd user_manual && make html-all) - - (cd admin_manual && make html-all) - - (cd developer_manual && make html-all) +pipeline: + documentation: + image: nextcloudci/documentation:1.0.11 + commands: + - (cd user_manual && make html-all) + - (cd admin_manual && make html-all) + - (cd developer_manual && make html-all) + - (cd user_manual_de && make html-all) diff --git a/Makefile b/Makefile index 811efe050..dfb5a864f 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ all: html pdf -html: admin-manual-html user-manual-html developer-manual-html -pdf: admin-manual-pdf user-manual-pdf developer-manual-pdf +html: admin-manual-html user-manual-html user-manual-de-html developer-manual-html +pdf: admin-manual-pdf user-manual-pdf user-manual-de-pdf developer-manual-pdf admin-manual-html: rm -rf admin_manual/_build/html/com @@ -13,6 +13,11 @@ user-manual-html: cd user_manual && make html @echo "User manual build finished; HTML is updated" +user-manual-de-html: + rm -rf user_manual_de/_build/html/com + cd user_manual_de && make html + @echo "User manual de build finished; HTML is updated" + developer-manual-html: rm -rf developer_manual/_build/html/com cd developer_manual && make html @@ -26,6 +31,10 @@ user-manual-pdf: cd user_manual && make latexpdf @echo "User manual build finished; PDF is updated" +user-manual-de-pdf: + cd user_manual_de && make latexpdf + @echo "User manual de build finished; PDF is updated" + developer-manual-pdf: cd developer_manual && make latexpdf @echo "Developer manual build finished; PDF is updated" diff --git a/README.rst b/README.rst index 2fb01a20e..bad93d367 100644 --- a/README.rst +++ b/README.rst @@ -2,10 +2,10 @@ Nextcloud Documentation ======================= -Documentation is published on ``_. +Documentation is published on ``_. -The `documentation Wiki `_ is -available for tips, tricks, edge cases, and anyone who wants to contribute more +The `documentation Wiki `_ is +available for tips, tricks, edge cases, and anyone who wants to contribute more easily, without having to learn Git and Sphinx. See the `Style Guide `_ for formatting and style conventions. @@ -17,9 +17,9 @@ This repository hosts four manuals: * **Users' Manual** * **Administration Manual** -* **Developers Manual** - -Please work in the appropriate branch. Stable8 is 8.0, stable8.1 is 8.1, stable8.2 is 8.2, stable9 is 9.0, and master is version 9.1. +* **Developers Manual** + +Please work in the appropriate branch: ``stable9`` is 9.0, ``stable10`` is 10.0, ``stable11`` is 11.0 and ``master`` is version 12.0. Please wrap lines at 80 characters. @@ -31,7 +31,7 @@ Spelling and Capitalization Conventions As this grows it may be moved to its own page. -* Nextcloud Apps Store +* Nextcloud App Store * synchronize * Web (Web page, Web site) @@ -54,24 +54,24 @@ from GitHub. Editing ------- -Contributing to the documentation requires a Github account. Make sure you are -working in the correct branch for your version of Nextcloud or client apps. -If your edits pertain to multiple manual versions, be prepared to backport as +Contributing to the documentation requires a Github account. Make sure you are +working in the correct branch for your version of Nextcloud or client apps. +If your edits pertain to multiple manual versions, be prepared to backport as needed. -To edit a document, you can edit the .rst files on your local system, or work -directly on Github. The latter is only suitable for small fixes and improvements -because substantial editing efforts can better be controlled on your local PC. +To edit a document, you can edit the .rst files on your local system, or work +directly on Github. The latter is only suitable for small fixes and improvements +because substantial editing efforts can better be controlled on your local PC. -The best way is to install a complete Sphinx build environment and work on your -local PC. You will be able to make your own local builds, which is the fastest -and best way to preview for errors. Sphinx will report syntax errors, missing -images, and formatting errors. The Github preview is not complete and misses -many mistakes. Create a new branch against the master or stable branch you are -editing, make your edits, then push your new branch to Github and open a new PR. +The best way is to install a complete Sphinx build environment and work on your +local PC. You will be able to make your own local builds, which is the fastest +and best way to preview for errors. Sphinx will report syntax errors, missing +images, and formatting errors. The Github preview is not complete and misses +many mistakes. Create a new branch against the master or stable branch you are +editing, make your edits, then push your new branch to Github and open a new PR. To edit on Github, fork the repository (see top-right of the screen, under -your username). You will then be able to make changes easily. Once done, +your username). You will then be able to make changes easily. Once done, you can create a pull request and get the changes reviewed and back into the official repository. diff --git a/_shared_assets/themes/nextcloud_com/static/styles.css b/_shared_assets/themes/nextcloud_com/static/styles.css index 4d0ec737f..408ccee6d 100644 --- a/_shared_assets/themes/nextcloud_com/static/styles.css +++ b/_shared_assets/themes/nextcloud_com/static/styles.css @@ -68,6 +68,10 @@ h3 { margin: 12px 0; } +img { + max-width: 100%; +} + .btn { border-radius: 50px; } @@ -1077,3 +1081,53 @@ h4:hover a.headerlink { a.headerlink { display: none; } + +#menu-support { + padding-left: 0; + color: #428bca; +} +#menu-support > ul { + padding-left: 0; + list-style-type: none; +} + +#menu-support > ul > li { + padding: 5px 9px; + padding-right: 0; +} + +#menu-support > ul > li:nth-child(odd) { + border-top: 1px solid #ccc; + border-bottom: 1px solid #ccc; +} + +#menu-support > ul > li:last-child { + border-bottom: 0; +} + +#menu-support > ul > .current { + border: 1px solid #999 !important; + border-right: 0 !important; + border-bottom-left-radius: 5px; + border-top-left-radius: 5px; +} + +#menu-support > ul > .current + li{ + border-top: 0; +} +#menu-support ul ul { + padding-left: 27px; +} +/* round bullets for the second level entries */ +#menu-support.menu ul ul { + list-style-type: disc; +} +/* square bullets for the third level entries */ +#menu-support.menu ul ul ul { + list-style-type: square; +} +/* having a separator between each elements of the top list and + between above the top of the third level list */ +#menu-support.menu ul ul ul { + border-top: 1px solid #EFEFEF; +} \ No newline at end of file diff --git a/_shared_assets/themes/nextcloud_release/static/styles.css b/_shared_assets/themes/nextcloud_release/static/styles.css index b86a130ef..f7dac96ce 100644 --- a/_shared_assets/themes/nextcloud_release/static/styles.css +++ b/_shared_assets/themes/nextcloud_release/static/styles.css @@ -314,12 +314,6 @@ ul#menu-support.menu > ul > li, ul#menu-support.menu ul ul ul { border-top: 1px solid #EFEFEF; } -/* highlight the current list entry of the first list with white - font on blue background */ -ul#menu-support.menu > ul > li.current { - background-color: #428BCA; - color: white; -} /* set to default padding for the sublist of the current entry */ ul#menu-support.menu ul > li.current > ul { padding-left: 20px; @@ -339,19 +333,41 @@ ul#menu-support.menu > ul li.toctree-l1 { ul#menu-support.menu > ul li.toctree-l1.current { padding-bottom: 10px; } -/* override the color of links */ -ul#menu-support.menu ul > li.current > a:hover, -ul#menu-support.menu ul > li.current > a:focus, -ul#menu-support.menu ul > li.current > a { - color: white; + +#menu-support { + padding-left: 0; } -/* override the color of the current link */ -ul#menu-support.menu ul > li.current > a.current { - color: #428BCA; +#menu-support > ul { + padding-left: 0; + list-style-type: none; } -/* override the color of the current link in the first level */ -ul#menu-support.menu > ul > li.current > a.current { - color: white; + +#menu-support > ul > li { + padding: 5px 9px; + padding-right: 0; +} + +#menu-support > ul > li:nth-child(odd) { + border-top: 1px solid #ccc; + border-bottom: 1px solid #ccc; +} + +#menu-support > ul > li:last-child { + border-bottom: 0; +} + +#menu-support > ul > .current { + border: 1px solid #999 !important; + border-right: 0 !important; + border-bottom-left-radius: 5px; + border-top-left-radius: 5px; +} + +#menu-support > ul > .current + li{ + border-top: 0; +} +#menu-support ul ul { + padding-left: 27px; } .headerlink { diff --git a/admin_manual/conf.py b/admin_manual/conf.py index dc1e1f86e..cf07264e8 100644 --- a/admin_manual/conf.py +++ b/admin_manual/conf.py @@ -44,13 +44,13 @@ master_doc = 'contents' # built documents. # # The short X.Y version. -version = '9.1' +version = '11' # The full version, including alpha/beta/rc tags. -release = '9.1' +release = '11 alpha' # General information about the project. -project = u'ownCloud %s Server Administration Manual' % (version) -copyright = u'2012-2016, The ownCloud developers' +project = u'Nextcloud %s Server Administration Manual' % (version) +copyright = u'2012-2016, The Nextcloud developers' # The language for content autogenerated by Sphinx. Refer to documentation @@ -166,7 +166,7 @@ html_show_sphinx = False #html_file_suffix = None # Output file base name for HTML help builder. -htmlhelp_basename = 'ownCloudServerAdminManual' +htmlhelp_basename = 'NextcloudServerAdminManual' # -- Options for LaTeX output -------------------------------------------------- @@ -185,7 +185,7 @@ latex_elements = {'preamble': '\usepackage{morefloats}', 'figure_align': 'H', # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, documentclass [howto/manual]). -latex_documents = [('contents', 'ownCloud_Server_Administration_Manual.tex', u'ownCloud Server Administration Manual', u'The ownCloud developers', 'manual'),] +latex_documents = [('contents', 'Nextcloud_Server_Administration_Manual.tex', u'Nextcloud Server Administration Manual', u'The Nextcloud developers', 'manual'),] # The name of an image file (relative to this directory) to place at the top of # the title page. @@ -209,13 +209,13 @@ latex_logo = '../_shared_assets/static/logo-blue.pdf' # -- Options for pdf page output ----------------------------------------------- -pdf_documents = [('contents', u'owncloud Server Administration Manual', u'ownCloud Server Administration Manual', u'The ownCloud developers'),] +pdf_documents = [('contents', u'Nextcloud Server Administration Manual', u'Nextcloud Server Administration Manual', u'The Nextcloud developers'),] # -- Options for manual page output -------------------------------------------- # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). -man_pages = [ ('contents', 'owncloudserveradminmanual', u'ownCloud Server Administration Manual', [u'The ownCloud developers'], 1) ] +man_pages = [ ('contents', 'nextcloudserveradminmanual', u'Nextcloud Server Administration Manual', [u'The Nextcloud developers'], 1) ] # If true, show URL addresses after external links. #man_show_urls = False @@ -226,7 +226,7 @@ man_pages = [ ('contents', 'owncloudserveradminmanual', u'ownCloud Server Admini # Grouping the document tree into Texinfo files. List of tuples # (source start file, target name, title, author, # dir menu entry, description, category) -texinfo_documents = [ ('contents', 'ownCloud Server Admin Manual', u'ownCloud Server Administration Manual', u'The ownCloud developers', 'ownCloud', 'The ownCloud Server Administration Manual.', 'Miscellaneous'), ] +texinfo_documents = [ ('contents', 'Nextcloud Server Admin Manual', u'Nextcloud Server Administration Manual', u'The Nextcloud developers', 'Nextcloud', 'The Nextcloud Server Administration Manual.', 'Miscellaneous'), ] # Documents to append as an appendix to all manuals. #texinfo_appendices = [] @@ -241,10 +241,10 @@ texinfo_documents = [ ('contents', 'ownCloud Server Admin Manual', u'ownCloud Se # -- Options for Epub output --------------------------------------------------- # Bibliographic Dublin Core info. -epub_title = u'ownCloud Server Administration Manual' -epub_author = u'The ownCloud developers' -epub_publisher = u'The ownCloud developers' -epub_copyright = u'2012-2016, The ownCloud developers' +epub_title = u'Nextcloud Server Administration Manual' +epub_author = u'The Nextcloud developers' +epub_publisher = u'The Nextcloud developers' +epub_copyright = u'2012-2016, The Nextcloud developers' # The language of the text. It defaults to the language option # or en if the language is not set. diff --git a/admin_manual/configuration_database/linux_database_configuration.rst b/admin_manual/configuration_database/linux_database_configuration.rst index 6e5b5addf..2f7ed64d0 100644 --- a/admin_manual/configuration_database/linux_database_configuration.rst +++ b/admin_manual/configuration_database/linux_database_configuration.rst @@ -175,7 +175,7 @@ You can quit the prompt by entering:: \q An Nextcloud instance configured with PostgreSQL would contain the path to the socket on -which the database is running as the hostname, the system username the php process is using, +which the database is running as the hostname, the system username the PHP process is using, and an empty password to access it, and the name of the database. The :file:`config/config.php` as created by the :doc:`../installation/installation_wizard` would therefore contain entries like this: diff --git a/admin_manual/configuration_files/big_file_upload_configuration.rst b/admin_manual/configuration_files/big_file_upload_configuration.rst index cacf7f989..bd0ef564d 100644 --- a/admin_manual/configuration_files/big_file_upload_configuration.rst +++ b/admin_manual/configuration_files/big_file_upload_configuration.rst @@ -21,7 +21,7 @@ filesystem. System Configuration -------------------- -* Make sure that the latest version of PHP (at least 5.4.9) is installed +* Make sure that the latest version of PHP (at least 5.6.6) is installed * Disable user quotas, which makes them unlimited * Your temp file or partition has to be big enough to hold multiple parallel uploads from multiple users; e.g. if the max upload size is 10GB and @@ -75,12 +75,18 @@ Apache with mod_fcgid Setting ``FcgidMaxRequestInMem`` significantly higher than normal may no longer be necessary, once bug #51747 is fixed. -NGINX +nginx ^^^^^ * `client_max_body_size `_ * `fastcgi_read_timeout `_ * `client_body_temp_path `_ +Since nginx 1.7.11 a new config option `fastcgi_request_buffering +`_ wiki entry. @@ -91,7 +97,7 @@ wiki entry. performance, place these on a separate hard drive that is dedicated to swap and temp storage. -If your site is behind a Nginx frontend (for example a loadbalancer): +If your site is behind a nginx frontend (for example a loadbalancer): By default, downloads will be limited to 1GB due to ``proxy_buffering`` and ``proxy_max_temp_file_size`` on the frontend. @@ -114,7 +120,7 @@ file size values:: upload_max_filesize = 16G post_max_size = 16G -Tell PHP which temp file you want it to use:: +Tell PHP which temp directory you want it to use:: upload_tmp_dir = /var/big_temp_file/ @@ -153,7 +159,7 @@ this input box. To be able to use this input box you need to make sure that: -* your Web server is be able to use the ``.htaccess`` file shipped by Nextcloud (Apache only) +* your Web server is able to use the ``.htaccess`` file shipped by Nextcloud (Apache only) * the user your Web server is running as has write permissions to the files ``.htaccess`` and ``.user.ini`` :ref:`strong_perms_label` might prevent write access to these files. As an admin you need diff --git a/admin_manual/configuration_files/collaborative_documents_configuration.rst b/admin_manual/configuration_files/collaborative_documents_configuration.rst deleted file mode 100644 index a1db237b8..000000000 --- a/admin_manual/configuration_files/collaborative_documents_configuration.rst +++ /dev/null @@ -1,51 +0,0 @@ -Configuring the Collaborative Documents App -=========================================== - -The Documents application supports editing documents within Nextcloud, without the -need to launch an external application. The Documents app supports these -features: - -* Cooperative edit, with multiple users editing files simultaneously. -* Document creation within Nextcloud. -* Document upload. -* Share and edit files in the browser, and then share them inside Nextcloud or - through a public link. - -Supported file formats are `.odt`, `.doc`, and `.docx`. `.odt` is supported -natively in Nextcloud, and you must have LibreOffice or OpenOffice installed on -the Nextcloud server to convert `.doc`, and `.docx` documents. - -Enabling the Documents App --------------------------- - -Go to your Apps page and click the ``Enable`` button. You also have the option -to grant access to the Documents apps to selected user groups. By default it is -available to all groups. - -.. image:: ../images/documents_app_enable.png - -See "Collaborative Document Editing" in the User manual to learn how to create -and share documents in the Documents application. - -Enabling and testing MS Word support ------------------------------------- - -Go to your admin settings menu. After choosing ``Local`` or ``External`` click -on the ``Apply and test`` button. If you have a working LibreOffice or OpenOffice -installation a green ``Saved`` icon should appear. - -.. image:: ../images/documents_apply_test.png - -Troubleshooting -~~~~~~~~~~~~~~~ - -If the mentioned test fails please make sure that: - -* the PHP functions ``escapeshellarg`` and ``shell_exec`` are not disabled in your - PHP configuration -* the libreoffice/openoffice binary is within your PATH and is executeable for the - HTTP user -* your SELinux configuration is not blocking the execution of the binary -* the PHP ``open_basedir`` is correctly configured to allow the access to the binary - -More hints why the test is failing can be found in your ``data/nextcloud.log``. diff --git a/admin_manual/configuration_files/encryption_configuration.rst b/admin_manual/configuration_files/encryption_configuration.rst index 9cb0eb0dd..c0cbd00dc 100644 --- a/admin_manual/configuration_files/encryption_configuration.rst +++ b/admin_manual/configuration_files/encryption_configuration.rst @@ -143,6 +143,8 @@ Encryption settings can be configured in the mount options for an external storage mount, see :ref:`external_storage_mount_options_label` (:doc:`external_storage_configuration_gui`) +.. _enable-file-recovery-key: + Enabling Users File Recovery Keys ---------------------------------- @@ -214,7 +216,7 @@ command gives you the option to encrypt all files. You must first put your Nextcloud server into single-user mode to prevent any user activity until encryption is completed:: - occ maintenance:singleuser + occ maintenance:singleuser --on Single user mode is currently enabled Then run ``occ``:: diff --git a/admin_manual/configuration_files/external_storage/auth_mechanisms.rst b/admin_manual/configuration_files/external_storage/auth_mechanisms.rst index ffe5fc0ef..0e3eeefe2 100644 --- a/admin_manual/configuration_files/external_storage/auth_mechanisms.rst +++ b/admin_manual/configuration_files/external_storage/auth_mechanisms.rst @@ -2,12 +2,16 @@ External Storage Authentication mechanisms ========================================== -Nextcloud storage backends accept one or more authentication schemes such as -passwords, OAuth, or token-based, to name a few examples. Each authentication -scheme may be implemented by multiple authentication mechanisms. Different -mechanisms require different configuration parameters, depending on their +Nextcloud storage backends accept one or more authentication schemes such as +passwords, OAuth, or token-based, to name a few examples. Each authentication +scheme may be implemented by multiple authentication mechanisms. Different +mechanisms require different configuration parameters, depending on their behaviour. + +.. figure:: images/authentication-types.png + :alt: Authentication types + Special Mechanisms ------------------ @@ -23,15 +27,30 @@ Password-based Mechanisms ------------------------- The **Username and password** mechanism requires a manually-defined username and -password. These get passed directly to the backend. +password. These get passed directly to the backend and are specified during the +setup of the mount point. -The **Log-in credentials, save in session** mechanism uses the Nextcloud login -credentials of the user to connect to the storage. These are not stored anywhere -on the server, but rather in the user session, giving increased security. The -drawbacks are that sharing is disabled when this mechanism is in use, as -Nextcloud has no access to the storage credentials, and background file scanning +The **Log-in credentials, save in session** mechanism uses the Nextcloud login +credentials of the user to connect to the storage. These are not stored anywhere +on the server, but rather in the user session, giving increased security. The +drawbacks are that sharing is disabled when this mechanism is in use, as +Nextcloud has no access to the storage credentials, and background file scanning does not work. +The **Log-in credentials, save in database** mechanism uses the Nextcloud login +credentials of the user to connect to the storage. These are stored in the +database encrypted with the shared secret. This allows to share files from +within this mount point. + +The **User entered, store in database** mechanism work in the same way as the +"Username and password" mechanism but the credentials need to be specified by +each user individually. Before the first access to that mount point the user +will be prompted to enter the credentials. + +The **Global credentials** mechanism uses the general input field for "Global +credentials" in the external storage settings section as source for the +credentials instead of individual credentials for a mount point. + Public-key Mechanisms --------------------- diff --git a/admin_manual/configuration_files/external_storage/google.rst b/admin_manual/configuration_files/external_storage/google.rst index 32a51f69e..ace9cd0e1 100644 --- a/admin_manual/configuration_files/external_storage/google.rst +++ b/admin_manual/configuration_files/external_storage/google.rst @@ -69,8 +69,10 @@ then enter your app name. **Authorized JavaScript Origins** is your root domain, for example ``https://example.com``, without a trailing slash. You need two **Authorized Redirect URIs**, and they must be in this form:: - https://example.com/nextcloud/index.php/settings/personal - https://example.com/nextcloud/index.php/settings/admin + https://example.com/nextcloud/index.php/settings/personal/ + https://example.com/nextcloud/index.php/personal/ + https://example.com/nextcloud/index.php/settings/admin/externalstorages + https://example.com/nextcloud/settings/admin/externalstorages Replace ``https://example.com/nextcloud/`` with your own Nextcloud server URL, then click **Create**. @@ -110,4 +112,4 @@ See :doc:`../external_storage_configuration_gui` for additional mount options and information. See :doc:`auth_mechanisms` for more information on authentication schemes. -603026686136-qnv9ooocacrkrh1vs0cht83eprgm2sbb.apps.googleusercontent.com \ No newline at end of file +603026686136-qnv9ooocacrkrh1vs0cht83eprgm2sbb.apps.googleusercontent.com diff --git a/admin_manual/configuration_files/external_storage/images/authentication-types.png b/admin_manual/configuration_files/external_storage/images/authentication-types.png new file mode 100644 index 000000000..a6cc785b1 Binary files /dev/null and b/admin_manual/configuration_files/external_storage/images/authentication-types.png differ diff --git a/admin_manual/configuration_files/external_storage/smb.rst b/admin_manual/configuration_files/external_storage/smb.rst index 4275c37db..708206260 100644 --- a/admin_manual/configuration_files/external_storage/smb.rst +++ b/admin_manual/configuration_files/external_storage/smb.rst @@ -45,3 +45,35 @@ See :doc:`../external_storage_configuration_gui` for additional mount options and information. See :doc:`auth_mechanisms` for more information on authentication schemes. + +------------------------ +SMB update notifications +------------------------ + +Starting with Nextcloud 10, Nextcloud can use smb update notifications to +listen to changes made to a configured SMB/CIFS storage and detect external +changes made to the storage in near real-time. + +.. note:: Due to limitations of linux based SMB servers, this feature only works + reliably on Windows SMB servers. + +.. note:: Using update notifications requires ``smbclient`` 4.x or newer. + Due to limitations with the smbclient PHP module, the ``smbclient`` binary + is required even when using the PHP module. + +To start listening to update notifications, start the ``occ`` command like this:: + + occ files_external:notify + +You can find the mount id for a specific storage using ``occ files_external:list`` + +On default this command shows no output, can you see the list of detected changes by +passing the ``-v`` option to the command. + +~~~~~~~~~~~~~~~~~~ +SMB Authentication +~~~~~~~~~~~~~~~~~~ + +In some cases (such as when using login credentials) it's not possible to read the +smb credentials from the storage configuration, in those cases you can provide +the username and password using the ``--username`` and ``--password`` arguments. diff --git a/admin_manual/configuration_files/files_access_control.rst b/admin_manual/configuration_files/files_access_control.rst new file mode 100644 index 000000000..455a05664 --- /dev/null +++ b/admin_manual/configuration_files/files_access_control.rst @@ -0,0 +1,112 @@ +==================== +Files Access Control +==================== + +Nextcloud's File Access Control app enables administrators to create and +manage a set of rule groups. Each of the rule groups consists of one or more +rules. If all rules of a group hold true, the group matches the request and +access is being denied. The rules criteria range from IP address, to user +groups, collaborative tags and :ref:`some more `. + +Denied access +------------- + +If access to a file has been denied for a user, the user can not: + +* Create/upload the file +* Modify the files +* Delete the file +* Download the file +* Syncronise the file with clients, such as the Nextcloud desktop and mobile clients + +Examples +-------- + + .. figure:: images/files_access_control_sample_rules.png + :alt: Sample rules to block on user group, time and IP base. + +The first rule group ``Support only 9-5`` denies any access to files for users +of the Support user group, between 5pm and 9am. + +The second rule group ``Internal testing`` prevents users of the Internal +testers group to access files from outside of the local network. + +Denying access to folders +------------------------- + +The easiest way to block access to a folder, is to use a collaborative tag. As +mentioned in the :ref:`Available rules ` section below, +either the file itself or one of the parents needs to have the given tag +assigned. + +So you just need to assign the tag to the folder or file, and then block the +tag with a rule group. The check is independent of the user's permissions for +the tag. Therefor restricted and invisible tags are recommended, otherwise a +user could remove and reassign the tag. + +This example blocks access to any folder with the tag ``Confidential``. + + .. figure:: images/files_access_control_collaborative_tags.png + :alt: Deny access based on collaborative tag + +Prevent uploading of specific files +----------------------------------- + +It's possible to prevent specific files from being uploaded to Nextcloud. You +simply need to define a rule based on the mimetype and our powerful access control +engine will block any attempt to upload the file. The safest way to define the rule +is to use a regular expression, as it will help you cover all the known media types +used for the type of file you're trying to block. + +The following example prevents zip files from being uploaded by using the regular +expression: ``/^application\/(zip|x-zip-compressed)$/i`` + + .. figure:: images/files_access_control_block_mimetype.png + :alt: Prevent upload based on mimetype + +Common misconfigurations +------------------------ + +Blocking user groups +==================== + +When trying to deny access to a group of users, make sure that sharing does not +allow them to create a way back in. When users are able to create a public link, +the users can log themselves out and visit their own public link to access the +files. Since at this point they are no user and therefor no member of the +blocked group, they will be able to read and change the file. + +The recommended work around is to create the same rule again, and deny access +for all users that are ``not member of`` a group, that contains all users of +your installation. + +External storage +================ + +While access to files in external storages is not possible via Nextcloud, users +that have direct access to the external storage, can of course change files +there directly. Therefor it is recommended to disable the ``Allow users to mount +external storage`` option, when trying to to completely lock out users. + +.. _available-rules-label: + +Available rules +--------------- + +All rules can also be inverted (from ``is`` to ``is not``) using the operator +option. + +* **File collaborative tag:** Either the file itself, or any of the file + owner's parent folders needs to be tagged with the tag. +* **File mimetype:** The mimetype of the file, e.g. ``text/plain`` +* **File size:** The size of the file (*Only available on upload*) + +* **Request remote address:** An IP range (either v4 or v6) for the accessing user +* **Request time:** Time span and timezone when the request happens +* **Request URL:** The URL which requests the file. (*This is the URL the file + is served from, not the URL the user is currently looking at.*) +* **Request user agent:** The user agent of the users browser or client. + Nextcloud desktop, Android and iOS clients are available as preconfigured + options. + +* **User group membership:** Whether the user is a member of the given group. diff --git a/admin_manual/configuration_files/files_locking_transactional.rst b/admin_manual/configuration_files/files_locking_transactional.rst index c141a7d6c..ab5d00d44 100644 --- a/admin_manual/configuration_files/files_locking_transactional.rst +++ b/admin_manual/configuration_files/files_locking_transactional.rst @@ -2,42 +2,34 @@ Transactional File Locking ========================== -Nextcloud's Transactional File Locking mechanism locks files to avoid +Nextcloud's Transactional File Locking mechanism locks files to avoid file corruption during normal operation. It performs these functions: -* Operates at a higher level than the filesystem, so you don't need to use a +* Operates at a higher level than the filesystem, so you don't need to use a filesystem that supports locking -* Locks parent directories so they cannot be renamed during any activity on +* Locks parent directories so they cannot be renamed during any activity on files inside the directories -* Releases locks after file transactions are interrupted, for +* Releases locks after file transactions are interrupted, for example when a sync client loses the connection during an upload -* Manages locking and releasing locks correctly on shared files during changes +* Manages locking and releasing locks correctly on shared files during changes from multiple users * Manages locks correctly on external storage mounts * Manages encrypted files correctly -What Transactional File locking is not for: it is not for preventing collisions -in collaborative document editing (see -:doc:`collaborative_documents_configuration` to learn about collaboration with -the Documents app), nor will it prevent multiple users from editing the same -document, or give notice that other users are working on the same document. -Multiple users can open and edit a file at the same time and Transactional File -locking does not prevent this. Rather, it prevents simultaneous file saving. +What Transactional File locking is not for: it will not prevent multiple users +from editing the same document, or give notice that other users are working on +the same document. Multiple users can open and edit a file at the same time and +Transactional File locking does not prevent this. Rather, it prevents +simultaneous file saving. -.. note:: Transactional file locking is in Nextcloud core, and replaces the old - File Locking app. The File Locking app has been removed from Nextcloud in - version 8.2.1. If your Nextcloud server still has the File Locking app, you - must visit your Apps page to verify that it is disabled; the File Locking - app and Transactional File Locking cannot both operate at the same time. - -File locking is enabled by default, using the database locking backend. This -places a significant load on your database. Using ``memcache.locking`` relieves -the database load and improves performance. Admins of Nextcloud servers with -heavy workloads should install a memcache. (See -:doc:`../configuration_server/caching_configuration`.) +File locking is enabled by default, using the database locking backend. This +places a significant load on your database. Using ``memcache.locking`` relieves +the database load and improves performance. Admins of Nextcloud servers with +heavy workloads should install a memcache. (See +:doc:`../configuration_server/caching_configuration`.) -To use a memcache with Transactional File Locking, you must install the Redis -server and corresponding PHP module. After installing Redis you must enter a +To use a memcache with Transactional File Locking, you must install the Redis +server and corresponding PHP module. After installing Redis you must enter a configuration in your ``config.php`` file like this example:: 'filelocking.enabled' => true, @@ -63,20 +55,20 @@ recommended if Redis is running on the same system as Nextcloud) use this exampl 'port' => 0, 'timeout' => 0.0, ), - -See ``config.sample.php`` to see configuration examples for Redis, and for all + +See ``config.sample.php`` to see configuration examples for Redis, and for all supported memcaches. -If you are on Ubuntu you can follow `this guide -`_ for a complete installation from scratch. +If you are on Ubuntu you can follow `this guide +`_ for a complete installation from scratch. -Learn more about Reds at `Redis `_. Memcached, the popular -distributed memory caching system, is not suitable for the new file locking -because it is not designed to store locks, and data can disappear from the cache -at any time. Redis is a key-value store, and it guarantees that cached objects +Learn more about Reds at `Redis `_. Memcached, the popular +distributed memory caching system, is not suitable for the new file locking +because it is not designed to store locks, and data can disappear from the cache +at any time. Redis is a key-value store, and it guarantees that cached objects are available for as long as they are needed. -Debian Jesse users, please see this `Github discussion -`_ if you have problems with +Debian Jesse users, please see this `Github discussion +`_ if you have problems with LDAP authentication. diff --git a/admin_manual/configuration_files/images/files_access_control_block_mimetype.png b/admin_manual/configuration_files/images/files_access_control_block_mimetype.png new file mode 100644 index 000000000..1dc9b7b1c Binary files /dev/null and b/admin_manual/configuration_files/images/files_access_control_block_mimetype.png differ diff --git a/admin_manual/configuration_files/images/files_access_control_collaborative_tags.png b/admin_manual/configuration_files/images/files_access_control_collaborative_tags.png new file mode 100644 index 000000000..4cded6155 Binary files /dev/null and b/admin_manual/configuration_files/images/files_access_control_collaborative_tags.png differ diff --git a/admin_manual/configuration_files/images/files_access_control_sample_rules.png b/admin_manual/configuration_files/images/files_access_control_sample_rules.png new file mode 100644 index 000000000..780570eb0 Binary files /dev/null and b/admin_manual/configuration_files/images/files_access_control_sample_rules.png differ diff --git a/admin_manual/configuration_files/index.rst b/admin_manual/configuration_files/index.rst index ced39e985..1e4612f09 100644 --- a/admin_manual/configuration_files/index.rst +++ b/admin_manual/configuration_files/index.rst @@ -9,12 +9,13 @@ File Sharing and Management file_sharing_configuration federated_cloud_sharing_configuration big_file_upload_configuration - collaborative_documents_configuration default_files_configuration external_storage_configuration_gui external_storage_configuration external_storage/auth_mechanisms + primary_storage encryption_configuration files_locking_transactional previews_configuration file_versioning + files_access_control diff --git a/admin_manual/configuration_files/primary_storage.rst b/admin_manual/configuration_files/primary_storage.rst new file mode 100644 index 000000000..fd641ad65 --- /dev/null +++ b/admin_manual/configuration_files/primary_storage.rst @@ -0,0 +1,132 @@ +=========================== +Primary Storage +=========================== + +It's possible to use an object store as primary storage, this replaces the default +way of storing files in :code:`nextcloud/data` (note that the data directory might still be used +for other reasons) + +--------------------------- +Implications +--------------------------- + +When using an object store as primary storage, Nextcloud assumes exclusive access +over the bucket being used. + +Contrary to using an object store as external storage, when an object store is used +as primary storage, no metadata (names, directory structures, etc) is stored in the +object store. The metadata is only stored in the database and the object store only +holds the file content by unique identifier. + +Because of this primary object stores usually perform better than when using the same +object store as external storage but it restricts being able to access the files from +outside of Nextcloud. + +--------------------------- +Configuring +--------------------------- + +Primary object stores need to be configured in :code:`config.php` by specifying the objectstore +backend and any backend specific configuration. + +.. note:: Configuring a primary object store on an existing Nextcloud instance will + make all existing files on the instance inaccessible. + +The configuration has the following structure. + +:: + + 'objectstore' => array( + 'class' => 'Object\\Storage\\Backend\\Class', + 'arguments' => array( + ... + ), + ), + +~~~~~~~~~~~~~~~ +Openstack Swift +~~~~~~~~~~~~~~~ + +The Swift backend mounts a container on an OpenStack Object Storage server into the virtual filesystem. The class to be used is :code:`\\OC\\Files\\ObjectStore\\Swift` + +:: + + 'objectstore' => array( + 'class' => 'OC\\Files\\ObjectStore\\Swift', + 'arguments' => array( + 'username' => 'username', + 'password' => 'Secr3tPaSSWoRdt7', + // the container to store the data in + 'bucket' => 'nextcloud', + 'autocreate' => true, + 'region' => 'RegionOne', + // The Identity / Keystone endpoint + 'url' => 'http://example.com/v2.0', + // optional on some swift implementations + 'tenantName' => 'username', + 'serviceName' => 'swift', + // The Interface / url Type, optional + 'urlType' => 'internal' + ), + ), + +--------- +Amazon S3 +--------- + +The S3 backend mounts a bucket on an Amazon S3 Storage or compatible server into the virtual filesystem. The class to be used is :code:`\\OC\\Files\\ObjectStore\\S3` + +:: + + 'objectstore' => array( + 'class' => 'OC\\Files\\ObjectStore\\S3', + 'arguments' => array( + 'bucket' => 'nextcloud', + 'autocreate' => true, + 'key' => 'EJ39ITYZEUH5BGWDRUFY', + 'secret' => 'M5MrXTRjkyMaxXPe2FRXMTfTfbKEnZCu+7uRTVSj', + 'hostname' => 'example.com', + 'port' => 1234, + 'use_ssl' => true, + 'region' => 'optional', + // required for some non amazon s3 implementations + 'use_path_style'=>true + ), + ), + +Not all configuration options are required for all S3 servers. +Overriding the hostname, port and region of your S3 server is only +required for non-Amazon servers such as Ceph Object Gateway, which in turn +usually don't require the region to be set. + +:code:`use_path_style` is usually not required (and is, in fact, incompatible with newer Amazon datacenters), +but can be used with non-Amazon servers where the DNS infrastructure cannot be controlled. Ordinarily, +requests will be made with http://bucket.hostname.domain/, but with path style enabled, +requests are made with http://hostname.domain/bucket instead. + +--------------------------- +Multibucket Object Store +--------------------------- + +It's possible to configure Nextcloud to distribute it's data over multiple buckets for scalability purpose. + +To setup multiple buckets, :code:`config.php` needs to be configured using :code:`'objectstore_multibucket'` + +:: + + 'objectstore_multibucket' => array( + 'class' => 'Object\\Storage\\Backend\\Class', + 'arguments' => array( + // optional, defaults to 64 + 'num_buckets' => 64, + // will be prefixed by an integer in the range from 0 to (num_nuckets-1) + 'bucket' => 'nextcloud_', + ... + ), + ), + +Nextcloud will map every user to a range of buckets and save all files for that user in it's respective bucket. + +.. note:: Changing the number of buckets for an existing Nextcloud instance is supported but the + mapping from users to buckets is persistent so only newly created users will be mapped to the + updated range of buckets. diff --git a/admin_manual/configuration_server/activity_configuration.rst b/admin_manual/configuration_server/activity_configuration.rst index bfc11fa9b..dbbb034de 100644 --- a/admin_manual/configuration_server/activity_configuration.rst +++ b/admin_manual/configuration_server/activity_configuration.rst @@ -19,7 +19,7 @@ The Activity App is shipped and enabled by default. If it is not enabled simply go to your Nextcloud Apps page to enable it. Configuring your Nextcloud for the Activity App ----------------------------------------------- +----------------------------------------------- To configure your Nextcloud to send out e-mail notifications a working :doc:`email_configuration` is mandatory. @@ -29,4 +29,4 @@ Furthermore it is recommended to configure the background job ``Webcron`` or There is also a configuration option ``activity_expire_days`` available in your ``config.php`` (See :doc:`config_sample_php_parameters`) which allows -you to clean-up older activies from the database. \ No newline at end of file +you to clean-up older activies from the database. diff --git a/admin_manual/configuration_server/antivirus_configuration.rst b/admin_manual/configuration_server/antivirus_configuration.rst index decfa31ae..cca73d600 100644 --- a/admin_manual/configuration_server/antivirus_configuration.rst +++ b/admin_manual/configuration_server/antivirus_configuration.rst @@ -77,7 +77,9 @@ and ``freshclam.conf`` until it is running the way you want. Enabling the Antivirus App for Files ------------------------------------ -Simply go to your Nextcloud Apps page to enable it. +Place the ``files_antivirus`` app into the ``apps`` directory of your Nextcloud +server. Then the app shows up on the Nextcloud Apps page where it simply can be +enabled. .. figure:: ../images/antivirus-app.png @@ -119,8 +121,8 @@ Daemon (Socket) .. figure:: ../images/antivirus-daemon-socket.png The ``Stream Length`` value sets the number of bytes read in one pass. - 10485760 bytes, or ten megabytes, is the default. This value should be - no larger than the PHP ``memory_limit`` settings, or physical memory if + 10485760 bytes, or ten megabytes, is the default. This value should be + no larger than the PHP ``memory_limit`` settings, or physical memory if ``memory_limit`` is set to -1 (no limit). ``Action for infected files found while scanning`` gives you the choice of @@ -131,7 +133,7 @@ Daemon For the Daemon option you need the hostname or IP address of the remote server running ClamAV, and the server's port number. - .. figure:: ../images/antivirus-daemon-socket.png + .. figure:: ../images/antivirus-daemon.png Executable The Executable option requires the path to ``clamscan``, which is the @@ -141,5 +143,3 @@ Executable When you are satisfied with how ClamAV is operating, you might want to go back and change all of your logging to less verbose levels. - - diff --git a/admin_manual/configuration_server/caching_configuration.rst b/admin_manual/configuration_server/caching_configuration.rst index e3c04bc59..be726530e 100644 --- a/admin_manual/configuration_server/caching_configuration.rst +++ b/admin_manual/configuration_server/caching_configuration.rst @@ -16,27 +16,18 @@ if you prefer.** A PHP opcache stores compiled PHP scripts so they don't need to be re-compiled every time they are called. PHP bundles the Zend OPcache in core since version -5.5, so you don't need to install an opcache for PHP 5.5+. +5.5, so you don't need to install an opcache manually. -If you are using PHP 5.4, which is the oldest supported PHP version for -Nextcloud, you may install the Alternative PHP Cache (APC). This is both an -opcache and data cache. APC has not been updated since 2012 and is essentially -dead, and PHP 5.4 is old and lags behind later releases. If it is possible -to upgrade to a later PHP release that is the best option. - -Data caching is supplied by the Alternative PHP Cache, user (APCu) in PHP -5.5+, Memcached, or Redis. +Data caching is supplied by the user (APCu), Memcached or Redis. Nextcloud supports multiple memory caching backends, so you can choose the type of memcache that best fits your needs. The supported caching backends are: -* `APC `_ - A local cache for systems running PHP 5.4. * `APCu `_, APCu 4.0.6 and up required. - A local cache for systems running PHP 5.5 and up. + A local cache for systems. * `Memcached `_ Distributed cache for multi-server Nextcloud installations. -* `Redis `_, PHP module 2.2.5 and up required. +* `Redis `_, PHP module 2.2.6 and up required. For distributed caching. Memcaches must be explicitly configured in Nextcloud by installing @@ -47,24 +38,6 @@ all possible config parameters). You may use both a local and a distributed cache. Recommended caches are APCu and Redis. After installing and enabling your chosen memcache, verify that it is active by running :ref:`label-phpinfo`. - -APC ---- - -APC is only for systems running PHP 5.4 and older. The oldest supported PHP -version in Nextcloud is 5.4. - -.. note:: RHEL 6 and CentOS 6 ship with PHP 5.3 and must be upgraded to PHP - 5.4 to run Nextcloud. See :doc:`../installation/php_54_installation`. - -On Red Hat/CentOS/Fedora systems running PHP 5.4, install ``php-pecl-apc``. On -Debian/Ubuntu/Mint systems install ``php-apc``. Then restart your Web server. - -After restarting your Web server, add this line to your ``config.php`` file:: - - 'memcache.local' => '\OC\Memcache\APC', - -Refresh your Nextcloud admin page, and the cache warning should disappear. APCu ---- @@ -72,9 +45,10 @@ APCu PHP 5.5 and up include the Zend OPcache in core, and on most Linux distributions it is enabled by default. However, it does not bundle a data cache. APCu is a data cache, and it is available in most -Linux distributions. On Red Hat/CentOS/Fedora systems running PHP 5.5 and up -install ``php-pecl-apcu``. On Debian/Ubuntu/Mint systems install ``php5-apcu``. -On Ubuntu 14.04LTS, the APCu version is 4.0.2, which is too old to use with Nextcloud. Nextcloud requires 4.0.6+. You may install 4.0.7 from Ubuntu backports with this command:: +Linux distributions. On Red Hat/CentOS/Fedora systems install +``php-pecl-apcu``. On Debian/Ubuntu/Mint systems install ``php5-apcu`` or ``php7.0-apcu``. +On Ubuntu 14.04 LTS, the APCu version (4.0.2) is too old to use with Nextcloud (requires 4.0.6+). +You may install 4.0.7 from Ubuntu backports with this command:: apt-get install php5-apcu/trusty-backports @@ -135,11 +109,11 @@ as a local cache for :doc:`Transactional File Locking <../configuration_files/files_locking_transactional>` because it guarantees that cached objects are available for as long as they are needed. -The Redis PHP module must be version 2.2.5+. If you are running a Linux +The Redis PHP module must be version 2.2.6+. If you are running a Linux distribution that does not package the supported versions of this module, or does not package Redis at all, see :ref:`install_redis_label`. -On Debian/Ubuntu/Mint install ``redis-server`` and ``php5-redis``. The installer +On Debian/Ubuntu/Mint install ``redis-server`` and ``php5-redis`` or ``php7.0-redis``. The installer will automatically launch ``redis-server`` and configure it to launch at startup. @@ -174,8 +148,13 @@ recommended if Redis is running on the same system as Nextcloud) use this exampl 'redis' => array( 'host' => '/var/run/redis/redis.sock', 'port' => 0, + 'dbindex' => 0, + 'password' => 'secret', + 'timeout' => 1.5, ), +Only "host" and "port" variables are required, the other ones are optional. + Redis is very configurable; consult `the Redis documentation `_ to learn more. @@ -240,13 +219,10 @@ These instructions are adaptable for any distro that does not package the supported version, or that does not package Redis at all, such as SUSE Linux Enterprise Server and Red Hat Enterprise Linux. -The Redis PHP module must be at least version 2.2.5. Please note that -the Redis PHP module versions 2.2.5 - 2.2.7 will only work for: - -:: - - PHP version 6.0.0 or older - PHP version 5.2.0 or newer +The Redis PHP module must be at least version 2.2.6. Please note that +the Redis PHP module versions 2.2.x will only work for PHP 5.6.x. + +For PHP 7.0 and PHP 7.1 use Redis PHP module 3.1.x or later. See ``_ diff --git a/admin_manual/configuration_server/config_sample_php_parameters.rst b/admin_manual/configuration_server/config_sample_php_parameters.rst index 27eb31e31..e6d92fb8b 100644 --- a/admin_manual/configuration_server/config_sample_php_parameters.rst +++ b/admin_manual/configuration_server/config_sample_php_parameters.rst @@ -17,11 +17,11 @@ Nextcloud supports loading configuration parameters from multiple files. You can add arbitrary files ending with :file:`.config.php` in the :file:`config/` directory, for example you could place your email server configuration in :file:`email.config.php`. This allows you to easily create and manage -custom configurations, or to divide a large complex configuration file -into a set of smaller files. These custom files are not overwritten by +custom configurations, or to divide a large complex configuration file +into a set of smaller files. These custom files are not overwritten by Nextcloud, and the values in these files take precedence over :file:`config.php`. -.. The following section is auto-generated from +.. The following section is auto-generated from .. https://github.com/nextcloud/server/blob/master/config/config.sample.php .. Do not edit this file; edit the source file in core .. DEFAULT_SECTION_START @@ -78,8 +78,10 @@ You can specify: 'datadirectory' => '/var/www/nextcloud/data', -Where user files are stored; this defaults to ``data/`` in the Nextcloud -directory. The SQLite database is also stored here, when you use SQLite. +Where user files are stored. The SQLite database is also stored here, when +you use SQLite. + +Default to ``data/`` in the Nextcloud directory. :: @@ -99,7 +101,8 @@ Available: - sqlite (SQLite3) - mysql (MySQL/MariaDB) - pgsql (PostgreSQL) - - oci (Oracle) + +Defaults to ``sqlite`` :: @@ -138,6 +141,8 @@ you shouldn't need to change it. Prefix for the Nextcloud tables in the database. +Default to ``oc_`` + :: 'installed' => false, @@ -146,6 +151,8 @@ Indicates whether the Nextcloud instance was installed successfully; ``true`` indicates a successful installation, and ``false`` indicates an unsuccessful installation. +Defaults to ``false`` + .. DEFAULT_SECTION_END .. Generated content above. Don't change this. @@ -219,6 +226,8 @@ French. It overrides automatic language detection on public pages like login or shared items. User's language preferences configured under "personal -> language" override this setting after they have logged in. +Defaults to ``en`` + :: 'defaultapp' => 'files', @@ -229,6 +238,8 @@ gallery. You can use a comma-separated list of app names, so if the first app is not enabled for a user then Nextcloud will try the second one, and so on. If no enabled apps are found it defaults to the Files app. +Defaults to ``files`` + :: 'knowledgebaseenabled' => true, @@ -244,6 +255,8 @@ Nextcloud Web interface). ``false`` removes the Help item. page, on user's Personal pages and are used by some apps (contacts, mail, etc). ``false`` disables them. +Defaults to ``true`` + :: 'allow_user_to_change_display_name' => true, @@ -255,16 +268,18 @@ pages), and ``false`` prevents them from changing their display names. 'remember_login_cookie_lifetime' => 60*60*24*15, -Lifetime of the remember login cookie, which is set when the user clicks the -``remember`` checkbox on the login screen. The default is 15 days, expressed -in seconds. +Lifetime of the remember login cookie, which is set when the user clicks +the ``remember`` checkbox on the login screen. + +Defaults to ``60*60*24*15`` seconds (15 days) :: 'session_lifetime' => 60 * 60 * 24, -The lifetime of a session after inactivity; the default is 24 hours, -expressed in seconds. +The lifetime of a session after inactivity. + +Defaults to ``60*60*24`` seconds (24 hours) :: @@ -274,6 +289,8 @@ Enable or disable session keep-alive when a user is logged in to the Web UI. Enabling this sends a "heartbeat" to the server to keep it from timing out. +Defaults to ``true`` + :: 'token_auth_enforced' => false, @@ -282,6 +299,8 @@ Enforce token authentication for clients, which blocks requests using the user password for enhanced security. Users need to generate tokens in personal settings which can be used as passwords on their clients. +Defaults to ``false`` + :: 'auth.bruteforce.protection.enabled' => true, @@ -290,6 +309,8 @@ Whether the bruteforce protection shipped with Nextcloud should be enabled or no Disabling this is discouraged for security reasons. +Defaults to ``true`` + :: 'skeletondirectory' => '/path/to/nextcloud/core/skeleton', @@ -298,6 +319,8 @@ The directory where the skeleton files are located. These files will be copied to the data directory of new users. Leave empty to not copy any skeleton files. +Defaults to ``core/skeleton`` in the Nextcloud directory. + :: 'user_backends' => array( @@ -342,15 +365,19 @@ of course. FROM address that overrides the built-in ``sharing-noreply`` and ``lostpassword-noreply`` FROM addresses. +Defaults to different from addresses depending on the feature. + :: 'mail_smtpdebug' => false, Enable SMTP class debugging. +Defaults to ``false`` + :: - 'mail_smtpmode' => 'sendmail', + 'mail_smtpmode' => 'php', Which mode to use for sending mail: ``sendmail``, ``smtp``, ``qmail`` or ``php``. @@ -367,6 +394,8 @@ the server, with ``/usr/sbin/sendmail`` installed on your Unix system. For ``qmail`` the binary is /var/qmail/bin/sendmail, and it must be installed on your Unix system. +Defaults to ``php`` + :: 'mail_smtphost' => '127.0.0.1', @@ -376,12 +405,16 @@ server host. This may contain multiple hosts separated by a semi-colon. If you need to specify the port number append it to the IP address separated by a colon, like this: ``127.0.0.1:24``. +Defaults to ``127.0.0.1`` + :: 'mail_smtpport' => 25, This depends on ``mail_smtpmode``. Specify the port for sending mail. +Defaults to ``25`` + :: 'mail_smtptimeout' => 10, @@ -390,6 +423,8 @@ This depends on ``mail_smtpmode``. This sets the SMTP server timeout, in seconds. You may need to increase this if you are running an anti-malware or spam scanner. +Defaults to ``10`` seconds + :: 'mail_smtpsecure' => '', @@ -397,6 +432,8 @@ spam scanner. This depends on ``mail_smtpmode``. Specify when you are using ``ssl`` or ``tls``, or leave empty for no encryption. +Defaults to ``''`` (empty string) + :: 'mail_smtpauth' => false, @@ -404,12 +441,16 @@ This depends on ``mail_smtpmode``. Specify when you are using ``ssl`` or This depends on ``mail_smtpmode``. Change this to ``true`` if your mail server requires authentication. +Defaults to ``false`` + :: 'mail_smtpauthtype' => 'LOGIN', This depends on ``mail_smtpmode``. If SMTP authentication is required, choose -the authentication type as ``LOGIN`` (default) or ``PLAIN``. +the authentication type as ``LOGIN`` or ``PLAIN``. + +Defaults to ``LOGIN`` :: @@ -418,6 +459,8 @@ the authentication type as ``LOGIN`` (default) or ``PLAIN``. This depends on ``mail_smtpauth``. Specify the username for authenticating to the SMTP server. +Defaults to ``''`` (empty string) + :: 'mail_smtppassword' => '', @@ -425,6 +468,8 @@ the SMTP server. This depends on ``mail_smtpauth``. Specify the password for authenticating to the SMTP server. +Default to ``''`` (empty string) + Proxy Configurations -------------------- @@ -469,6 +514,8 @@ expression for the remote IP address. For example, defining a range of IP addresses starting with ``10.0.0.`` and ending with 1 to 3: ``^10\.0\.0\.[1-3]$`` +Defaults to ``''`` (empty string) + :: 'overwrite.cli.url' => '', @@ -478,6 +525,8 @@ are generated within Nextcloud using any kind of command line tools (cron or occ). The value should contain the full base URL: ``https://www.example.com/nextcloud`` +Defaults to ``''`` (empty string) + :: 'htaccess.RewriteBase' => '/', @@ -504,12 +553,28 @@ conditions are met Nextcloud uses URLs without index.php in it: - `mod_rewrite` is installed - `mod_env` is installed +Defaults to ``''`` (empty string) + +:: + + 'htaccess.IgnoreFrontController' => false, + +For server setups, that don't have `mod_env` enabled or restricted (e.g. suEXEC) +this parameter has to be set to true and will assume mod_rewrite. + +Please check, if `mod_rewrite` is active and functional before setting this +parameter and you updated your .htaccess with `occ maintenance:update:htaccess`. +Otherwise your nextcloud installation might not be reachable anymore. +For example, try accessing resources by leaving out `index.php` in the URL. + :: 'proxy' => '', The URL of your proxy server, for example ``proxy.example.com:8081``. +Defaults to ``''`` (empty string) + :: 'proxyuserpwd' => '', @@ -518,6 +583,8 @@ The optional authentication for the proxy to use to connect to the internet. The format is: ``username:password``. +Defaults to ``''`` (empty string) + Deleted Items (trash bin) ------------------------- @@ -559,6 +626,8 @@ Available values: * ``disabled`` trash bin auto clean disabled, files and folders will be kept forever +Defaults to ``auto`` + File versions ------------- @@ -599,6 +668,8 @@ Available values: * ``disabled`` versions auto clean disabled, versions will be kept forever +Defaults to ``auto`` + Nextcloud Verifications ----------------------- @@ -614,6 +685,8 @@ Checks an app before install whether it uses private APIs instead of the proper public APIs. If this is set to true it will only allow to install or enable apps that pass this check. +Defaults to ``false`` + :: 'updatechecker' => true, @@ -621,18 +694,36 @@ enable apps that pass this check. Check if Nextcloud is up-to-date and shows a notification if a new version is available. +Defaults to ``true`` + :: - 'updater.server.url' => 'https://updates.nextcloud.org/server/', + 'updater.server.url' => 'https://updates.nextcloud.com/updater_server/', URL that Nextcloud should use to look for updates +Defaults to ``https://updates.nextcloud.com/updater_server/`` + +:: + + 'updater.release.channel' => 'stable', + +The channel that Nextcloud should use to look for updates + +Supported values: + - ``daily`` + - ``beta`` + - ``stable`` + - ``production`` + :: 'has_internet_connection' => true, Is Nextcloud connected to the Internet or running in a closed network? +Defaults to ``true`` + :: 'check_for_working_webdav' => true, @@ -648,6 +739,8 @@ Allows Nextcloud to verify a working .well-known URL redirects. This is done by attempting to make a request from JS to https://your-domain.com/.well-known/caldav/ +Defaults to ``true`` + :: 'check_for_working_htaccess' => true, @@ -659,6 +752,8 @@ If it is not, then any options controlled by ``.htaccess``, such as large file uploads, will not work. It also runs checks on the ``data/`` directory, which verifies that it can't be accessed directly through the Web server. +Defaults to ``true`` + :: 'config_is_read_only' => false, @@ -671,6 +766,8 @@ all options via the Web interface. Furthermore, when updating Nextcloud it is required to make the configuration file writable again for the update process. +Defaults to ``false`` + Logging ------- @@ -686,6 +783,8 @@ If syslogging is desired, set this parameter to ``syslog``. Setting this parameter to ``errorlog`` will use the PHP error_log function for logging. +Defaults to ``file`` + :: 'logfile' => '/var/log/nextcloud.log', @@ -701,6 +800,8 @@ Defaults to ``[datadirectory]/nextcloud.log`` Loglevel to start logging at. Valid values are: 0 = Debug, 1 = Info, 2 = Warning, 3 = Error, and 4 = Fatal. The default value is Warning. +Defaults to ``2`` + :: 'syslog_tag' => 'Nextcloud', @@ -739,13 +840,18 @@ Defaults to an empty array. This uses PHP.date formatting; see http://php.net/manual/en/function.date.php +Defaults to ISO 8601 ``2005-08-15T15:52:01+00:00`` - see \DateTime::ATOM +(https://secure.php.net/manual/en/class.datetime.php#datetime.constants.atom) + :: 'logtimezone' => 'Europe/Berlin', -The default timezone for logfiles is UTC. You may change this; see +The timezone for logfiles. You may change this; see http://php.net/manual/en/timezones.php +Defaults to ``UTC`` + :: 'log_query' => false, @@ -759,6 +865,8 @@ debugging, as your logfile will become huge. Log successful cron runs. +Defaults to ``true`` + :: 'log_rotate_size' => false, @@ -769,6 +877,8 @@ or no rotation. Specify a size in bytes, for example 104857600 (100 megabytes old logfile reaches your limit. If a rotated log file is already present, it will be overwritten. +Defaults to ``0`` (no rotation) + Alternate Code Locations ------------------------ @@ -778,7 +888,7 @@ Some of the Nextcloud code may be stored in alternate locations. :: 'customclient_desktop' => - 'https://nextcloud.com/install/', + 'https://nextcloud.com/install/#install-clients', 'customclient_android' => 'https://play.google.com/store/apps/details?id=com.nextcloud.client', 'customclient_ios' => @@ -787,6 +897,11 @@ Some of the Nextcloud code may be stored in alternate locations. This section is for configuring the download links for Nextcloud clients, as seen in the first-run wizard and on Personal pages. +Defaults to +* Desktop client: ``https://nextcloud.com/install/#install-clients`` +* Android client: ``https://play.google.com/store/apps/details?id=com.nextcloud.client`` +* iOS client : ``https://itunes.apple.com/us/app/nextcloud/id1125420102?mt=8`` + Apps ---- @@ -799,21 +914,7 @@ Options for the Apps folder, Apps store, and App code checker. When enabled, admins may install apps from the Nextcloud app store. -:: - - 'appstoreurl' => 'https://api.owncloud.com/v1', - -The URL of the appstore to use. - -:: - - 'appstore.experimental.enabled' => false, - -Whether to show experimental apps in the appstore interface - -Experimental apps are not checked for security issues and are new or known -to be unstable and under heavy development. Installing these can cause data -loss or security breaches. +Defaults to ``true`` :: @@ -840,6 +941,8 @@ Checks an app before install whether it uses private APIs instead of the proper public APIs. If this is set to true it will only allow to install or enable apps that pass this check. +Defaults to ``false`` + @@ -865,6 +968,8 @@ By default, Nextcloud can generate previews for the following filetypes: Valid values are ``true``, to enable previews, or ``false``, to disable previews +Defaults to ``true`` + :: 'preview_max_x' => 2048, @@ -872,6 +977,8 @@ Valid values are ``true``, to enable previews, or The maximum width, in pixels, of a preview. A value of ``null`` means there is no limit. +Defaults to ``2048`` + :: 'preview_max_y' => 2048, @@ -879,6 +986,8 @@ is no limit. The maximum height, in pixels, of a preview. A value of ``null`` means there is no limit. +Defaults to ``2048`` + :: 'preview_max_scale_factor' => 10, @@ -888,17 +997,17 @@ preview system generates blurry previews, you might want to consider setting a maximum scale factor. By default, pictures are upscaled to 10 times the original size. A value of ``1`` or ``null`` disables scaling. +Defaults to ``2`` + :: 'preview_max_filesize_image' => 50, max file size for generating image previews with imagegd (default behaviour) -If the image is bigger, it'll try other preview generators, -but will most likely show the default mimetype icon +If the image is bigger, it'll try other preview generators, but will most +likely show the default mimetype icon. Set to -1 for no limit. -Value represents the maximum filesize in megabytes -Default is 50 -Set to -1 for no limit +Defaults to ``50`` megabytes :: @@ -906,6 +1015,8 @@ Set to -1 for no limit custom path for LibreOffice/OpenOffice binary +Defaults to ``''`` (empty string) + :: 'preview_office_cl_parameters' => @@ -914,6 +1025,8 @@ custom path for LibreOffice/OpenOffice binary Use this if LibreOffice/OpenOffice requires additional arguments. +Defaults to ``''`` (empty string) + :: 'enabledPreviewProviders' => array( @@ -929,17 +1042,6 @@ Use this if LibreOffice/OpenOffice requires additional arguments. Only register providers that have been explicitly enabled -The following providers are enabled by default: - - - OC\\Preview\\PNG - - OC\\Preview\\JPEG - - OC\\Preview\\GIF - - OC\\Preview\\BMP - - OC\\Preview\\XBitmap - - OC\\Preview\\MarkDown - - OC\\Preview\\MP3 - - OC\\Preview\\TXT - The following providers are disabled by default due to performance or privacy concerns: @@ -970,6 +1072,17 @@ The following providers are not available in Microsoft Windows: - OC\\Preview\\OpenDocument - OC\\Preview\\StarOffice +Defaults to the following providers: + + - OC\\Preview\\BMP + - OC\\Preview\\GIF + - OC\\Preview\\JPEG + - OC\\Preview\\MarkDown + - OC\\Preview\\MP3 + - OC\\Preview\\PNG + - OC\\Preview\\TXT + - OC\\Preview\\XBitmap + LDAP ---- @@ -986,6 +1099,8 @@ minutes. Setting it to 0 disables the feature. See command line (occ) methods ``ldap:show-remnants`` and ``user:delete`` +Defaults to ``51`` minutes + Comments -------- @@ -1000,6 +1115,8 @@ Replaces the default Comments Manager Factory. This can be utilized if an own or 3rdParty CommentsManager should be used that – for instance – uses the filesystem instead of the database to keep the comments. +Defaults to ``\OC\Comments\ManagerFactory`` + :: 'systemtags.managerFactory' => '\OC\SystemTag\ManagerFactory', @@ -1008,6 +1125,8 @@ Replaces the default System Tags Manager Factory. This can be utilized if an own or 3rdParty SystemTagsManager should be used that – for instance – uses the filesystem instead of the database to keep the comments. +Defaults to ``\OC\SystemTag\ManagerFactory`` + Maintenance ----------- @@ -1026,6 +1145,8 @@ doing some maintenance work, you need to set the value of the maintenance parameter to true. Please keep in mind that users who are already logged-in are kicked out of Nextcloud instantly. +Defaults to ``false`` + :: 'singleuser' => false, @@ -1033,6 +1154,8 @@ are kicked out of Nextcloud instantly. When set to ``true``, the Nextcloud instance will be unavailable for all users who are not in the ``admin`` group. +Defaults to ``false`` + SSL --- @@ -1045,6 +1168,8 @@ SSL Extra SSL options to be used for configuration. +Defaults to an empty array. + :: 'enable_certificate_management' => false, @@ -1056,7 +1181,6 @@ Memory caching backend configuration Available cache backends: -* ``\OC\Memcache\APC`` Alternative PHP Cache backend * ``\OC\Memcache\APCu`` APC user backend * ``\OC\Memcache\ArrayCache`` In-memory array-based backend (not recommended) * ``\OC\Memcache\Memcached`` Memcached backend @@ -1079,6 +1203,8 @@ Memory caching backend for locally stored data * Used for host-specific data, e.g. file paths +Defaults to ``none`` + :: 'memcache.distributed' => '\OC\Memcache\Memcached', @@ -1088,6 +1214,8 @@ Memory caching backend for distributed data * Used for installation-specific data, e.g. database caching * If unset, defaults to the value of memcache.local +Defaults to ``none`` + :: 'redis' => array( @@ -1150,24 +1278,28 @@ Location of the cache folder, defaults to ``data/$user/cache`` where ``$cache_path/$user`` where ``$cache_path`` is the configured cache directory and ``$user`` is the user. +Defaults to ``''`` (empty string) + :: - 'cache_chunk_gc_ttl' => 86400, // 60*60*24 = 1 day + 'cache_chunk_gc_ttl' => 60*60*24, TTL of chunks located in the cache folder before they're removed by garbage collection (in seconds). Increase this value if users have issues uploading very large files via the Nextcloud Client as upload isn't completed within one day. +Defaults to ``60*60*24`` (1 day) + Using Object Store with Nextcloud --------------------------------- :: - 'objectstore' => array( + 'objectstore' => [ 'class' => 'OC\\Files\\ObjectStore\\Swift', - 'arguments' => array( + 'arguments' => [ // trystack will user your facebook id as the user name 'username' => 'facebook100000123456789', // in the trystack dashboard go to user -> settings -> API Password to @@ -1175,6 +1307,8 @@ Using Object Store with Nextcloud 'password' => 'Secr3tPaSSWoRdt7', // must already exist in the objectstore, name can be different 'container' => 'nextcloud', + // prefix to prepend to the fileid, default is 'oid:urn:' + 'objectPrefix' => 'oid:urn:', // create the container if it does not exist. default is false 'autocreate' => true, // required, dev-/trystack defaults to 'RegionOne' @@ -1188,8 +1322,8 @@ Using Object Store with Nextcloud 'serviceName' => 'swift', // The Interface / url Type, optional 'urlType' => 'internal' - ), - ), + ], + ], This example shows how to configure Nextcloud to store all files in a swift object storage. @@ -1221,6 +1355,8 @@ Replaces the default Share Provider Factory. This can be utilized if own or 3rdParty Share Providers be used that – for instance – uses the filesystem instead of the database to keep the share information. +Defaults to ``\OC\Share20\ProviderFactory`` + All other configuration options ------------------------------- @@ -1242,6 +1378,35 @@ encryption in MySQL or specify a custom wait timeout on a cheap hoster. sqlite3 journal mode can be specified using this configuration parameter - can be 'WAL' or 'DELETE' see for more details https://www.sqlite.org/wal.html +:: + + 'mysql.utf8mb4' => false, + +If this setting is set to true MySQL can handle 4 byte characters instead of +3 byte characters + +MySQL requires a special setup for longer indexes (> 767 bytes) which are +needed: + +[mysqld] +innodb_large_prefix=true +innodb_file_format=barracuda +innodb_file_per_table=true + +Tables will be created with + * character set: utf8mb4 + * collation: utf8mb4_bin + * row_format: compressed + +See: +https://dev.mysql.com/doc/refman/5.7/en/charset-unicode-utf8mb4.html +https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_large_prefix +https://mariadb.com/kb/en/mariadb/xtradbinnodb-server-system-variables/#innodb_large_prefix +http://www.tocker.ca/2013/10/31/benchmarking-innodb-page-compression-performance.html +http://mechanics.flite.com/blog/2014/07/29/using-innodb-large-prefix-to-avoid-error-1071/ + +WARNING: EXPERIMENTAL + :: 'supportedDatabases' => array( @@ -1259,6 +1424,11 @@ Available: - pgsql (PostgreSQL) - oci (Oracle) +Defaults to the following databases: + - sqlite (SQLite3) + - mysql (MySQL) + - pgsql (PostgreSQL) + :: 'tempdirectory' => '/tmp/nextcloudtemp', @@ -1286,12 +1456,16 @@ with this name. ``.htaccess`` is blocked by default. WARNING: USE THIS ONLY IF YOU KNOW WHAT YOU ARE DOING. +Defaults to ``array('.htaccess')`` + :: 'share_folder' => '/', Define a default folder for shared files and folders other than root. +Defaults to ``/`` + :: 'theme' => '', @@ -1300,6 +1474,8 @@ If you are applying a theme to Nextcloud, enter the name of the theme here. The default location for themes is ``nextcloud/themes/``. +Defaults to the theming app which is shipped since Nextcloud 9 + :: 'cipher' => 'AES-256-CFB', @@ -1309,7 +1485,7 @@ AES-256-CFB are supported. :: - 'minimum.supported.desktop.version' => '1.7.0', + 'minimum.supported.desktop.version' => '2.0.0', The minimum Nextcloud desktop client version that will be allowed to sync with this server instance. All connections made from earlier clients will be denied @@ -1320,6 +1496,8 @@ When changing this, note that older unsupported versions of the Nextcloud deskto client may not function as expected, and could lead to permanent data loss for clients or other unexpected results. +Defaults to ``2.0.0`` + :: 'quota_include_external_storage' => false, @@ -1327,6 +1505,8 @@ clients or other unexpected results. EXPERIMENTAL: option whether to include external storage in quota calculation, defaults to false. +Defaults to ``false`` + :: 'filesystem_check_changes' => 0, @@ -1342,6 +1522,8 @@ filesystem 1 -> Check each file or folder at most once per request, recommended for general use if outside changes might happen. +Defaults to ``0`` + :: 'part_file_in_storage' => true, @@ -1351,6 +1533,8 @@ same storage as the upload target. Setting this to false will store the part files in the root of the users folder which might be required to work with certain external storage setups that have limited rename capabilities. +Defaults to ``true`` + :: 'mount_file' => '/var/www/nextcloud/data/mount.json', @@ -1358,6 +1542,8 @@ external storage setups that have limited rename capabilities. Where ``mount.json`` file should be stored, defaults to ``data/mount.json`` in the Nextcloud directory. +Defaults to ``data/mount.json`` in the Nextcloud directory. + :: 'filesystem_cache_readonly' => false, @@ -1365,6 +1551,8 @@ in the Nextcloud directory. When ``true``, prevent Nextcloud from changing the cache due to changes in the filesystem for all storage. +Defaults to ``false`` + :: 'secret' => '', @@ -1380,6 +1568,7 @@ List of trusted proxy servers If you configure these also consider setting `forwarded_for_headers` which otherwise defaults to `HTTP_X_FORWARDED_FOR` (the `X-Forwarded-For` header). +Defaults to an empty array. :: @@ -1392,7 +1581,7 @@ Headers that should be trusted as client IP address in combination with If set incorrectly, a client can spoof their IP address as visible to Nextcloud, bypassing access controls and making logs useless! -Defaults to 'HTTP_X_FORWARED_FOR' if unset +Defaults to ``'HTTP_X_FORWARED_FOR'`` :: @@ -1402,8 +1591,10 @@ max file size for animating gifs on public-sharing-site. If the gif is bigger, it'll show a static preview -Value represents the maximum filesize in megabytes. Default is ``10``. Set to -``-1`` for no limit. +Value represents the maximum filesize in megabytes. Set to ``-1`` for +no limit. + +Defaults to ``10`` megabytes :: @@ -1419,15 +1610,18 @@ be caused by concurrent operations. Mainly relevant for very large installations with many users working with shared files. +Defaults to ``true`` + :: - 'filelocking.ttl' => 3600, + 'filelocking.ttl' => 60*60, Set the time-to-live for locks in secconds. Any lock older than this will be automatically cleaned up. -If not set this defaults to either 1 hour or the php max_execution_time, whichever is higher. +Defaults to ``60*60`` seconds (1 hour) or the php + max_execution_time, whichever is higher. :: @@ -1438,6 +1632,8 @@ Memory caching backend for file locking Because most memcache backends can clean values without warning using redis is highly recommended to *avoid data loss*. +Defaults to ``none`` + :: 'upgrade.disable-web' => false, @@ -1453,6 +1649,8 @@ Set this Nextcloud instance to debugging mode Only enable this for local development and not in production environments This will disable the minifier and outputs some additional debug information +Defaults to ``false`` + :: 'data-fingerprint' => '', @@ -1467,6 +1665,8 @@ To set this to a new value. Updating/Deleting this value can make connected clients stall until the user has resolved conflicts. +Defaults to ``''`` (empty string) + :: 'copied_sample_config' => true, diff --git a/admin_manual/configuration_server/email_configuration.rst b/admin_manual/configuration_server/email_configuration.rst index 05b2daa5b..938a1ad1e 100644 --- a/admin_manual/configuration_server/email_configuration.rst +++ b/admin_manual/configuration_server/email_configuration.rst @@ -142,16 +142,14 @@ If you want to send email using a local or remote SMTP server it is necessary to enter the name or IP address of the server, optionally followed by a colon separated port number, e.g. **:425**. If this value is not given the default port 25/tcp will be used unless you change that by modifying the -**mail_smtpport** parameter. Multiple servers can be entered, separated by -semicolons: +**mail_smtpport** parameter. :: "smtp", - "mail_smtphost" => "smtp-1.server.dom;smtp-2.server.dom:425", - "mail_smtpport" => 25, + "mail_smtphost" => "smtp.server.dom:425", or diff --git a/admin_manual/configuration_server/images/saml_app_overview.png b/admin_manual/configuration_server/images/saml_app_overview.png new file mode 100644 index 000000000..48afb4ec9 Binary files /dev/null and b/admin_manual/configuration_server/images/saml_app_overview.png differ diff --git a/admin_manual/configuration_server/index.rst b/admin_manual/configuration_server/index.rst index 364dd663f..49802776a 100644 --- a/admin_manual/configuration_server/index.rst +++ b/admin_manual/configuration_server/index.rst @@ -8,7 +8,7 @@ Nextcloud Server Configuration security_setup_warnings occ_command activity_configuration - antivirus_configuration + sso_configuration caching_configuration background_jobs_configuration config_sample_php_parameters @@ -21,7 +21,8 @@ Nextcloud Server Configuration harden_server reverse_proxy_configuration thirdparty_php_configuration - js_css_asset_management_configuration automatic_configuration - oc_server_tuning + server_tuning theming + +.. Intentional disabled antivirus_configuration diff --git a/admin_manual/configuration_server/js_css_asset_management_configuration.rst b/admin_manual/configuration_server/js_css_asset_management_configuration.rst deleted file mode 100644 index 4a06e3a20..000000000 --- a/admin_manual/configuration_server/js_css_asset_management_configuration.rst +++ /dev/null @@ -1,27 +0,0 @@ -JavaScript and CSS Asset Management -=================================== - -In production environments, JavaScript and CSS files should be delivered in a concatenated and compressed format. - -Nextcloud can automatically collect all JavaScript and CSS files, aggregate and compress them to then save the result in a folder called 'assets' which can be found in the folder where Nextcloud has been installed. - -If your Web server has write access to your Nextcloud installation, then the 'assets' folder will be automatically created for you, otherwise, you need to create it yourself before enabling that option and you must give write access to your Web server user. - -Assets found in that folder will from now on be served as static files by your Web server and will be automatically refreshed whenever Nextcloud or one of its apps is updated. -It's important to note that apps installed via git might not always update their version number with every commit and this could lead to an out-of-sync asset folder. -It is not recommended to enable asset-pipelining when using apps pulled via git. - - -Parameters ----------- - -:: - - true, - ... - ); - -You can set this parameter in the :file:`config/config.php` diff --git a/admin_manual/configuration_server/language_configuration.rst b/admin_manual/configuration_server/language_configuration.rst index e713fd11e..177b9d9d7 100644 --- a/admin_manual/configuration_server/language_configuration.rst +++ b/admin_manual/configuration_server/language_configuration.rst @@ -8,10 +8,10 @@ starts with a given language, you can use the **default_language** parameter. Please keep in mind, that this will not effect a users language preference, which has been configured under "personal -> language" once he has logged in. -Please check :file:`settings/languageCodes.php` for the list of supported language +Please check `Transifex language codes +`_ for the list of valid language codes. - Parameters ---------- diff --git a/admin_manual/configuration_server/logging_configuration.rst b/admin_manual/configuration_server/logging_configuration.rst index f2f3a7067..ec04f9fec 100644 --- a/admin_manual/configuration_server/logging_configuration.rst +++ b/admin_manual/configuration_server/logging_configuration.rst @@ -19,8 +19,8 @@ By default the log level is set to **2** (WARN). Use **DEBUG** when you have a p Logging level parameters are set in the :file:`config/config.php` file, or on the Admin page of your Nextcloud Web GUI. -ownCloud -~~~~~~~~ +Nextcloud +~~~~~~~~~ All log information will be written to a separate log file which can be viewed using the log viewer on your Admin page. By default, a log diff --git a/admin_manual/configuration_server/occ_command.rst b/admin_manual/configuration_server/occ_command.rst index ecc5a7643..99f026869 100644 --- a/admin_manual/configuration_server/occ_command.rst +++ b/admin_manual/configuration_server/occ_command.rst @@ -31,7 +31,6 @@ occ Command Directory * :ref:`logging_commands_label` * :ref:`maintenance_commands_label` * :ref:`security_commands_label` -* :ref:`shibboleth_label` * :ref:`trashbin_label` * :ref:`user_commands_label` * :ref:`versions_label` @@ -55,9 +54,9 @@ The HTTP user is different on the various Linux distributions. See If your HTTP server is configured to use a different PHP version than the default (/usr/bin/php), ``occ`` should be run with the same version. For -example, in CentOS 6.5 with SCL-PHP54 installed, the command looks like this:: +example, in CentOS 6.5 with SCL-PHP56 installed, the command looks like this:: - sudo -u apache /opt/rh/php54/root/usr/bin/php /var/www/html/nextcloud/occ + sudo -u apache /opt/rh/php56/root/usr/bin/php /var/www/html/nextcloud/occ Running ``occ`` with no options lists all commands and options, like this example on Ubuntu:: @@ -153,6 +152,32 @@ This output option is available on all list and list-like commands: ``status``, ``check``, ``app:list``, ``config:list``, ``encryption:status`` and ``encryption:list-modules`` +Enabling autocompletion +----------------------- + +.. note:: This currently only works, if the user you use to execute the occ commands has a profile. + ``www-data`` in most cases is ``nologon`` and therefor can **not** use this. + +Since Nextcloud 11 autocompletion is available for bash (and bash based consoles). +To enable it, you have to run **one** of the following commands:: + + # BASH ~4.x, ZSH + source <(/var/www/html/nextcloud/occ _completion --generate-hook) + + # BASH ~3.x, ZSH + /var/www/html/nextcloud/occ _completion --generate-hook | source /dev/stdin + + # BASH (any version) + eval $(/var/www/html/nextcloud/occ _completion --generate-hook) + +This will allow you to use autocompletion with the full path ``/var/www/html/nextcloud/occ ``. + +If you also want to use autocompletion on occ from within the directory without using the full path, +you need to specify ``--programm occ`` after the ``--generate-hook``. + +If you want the completion to apply automatically for all new shell sessions, add the command to your +shell's profile (eg. ``~/.bash_profile`` or ``~/.zshrc``). + .. _apps_commands_label: Apps Commands @@ -654,6 +679,7 @@ Commands for managing external storage:: files_external:list List configured mounts files_external:option Manage mount options for a mount files_external:verify Verify mount configuration + files_external:notify Listen for active update notifications for a configured external mount These commands replicate the functionality in the Nextcloud Web GUI, plus two new features: ``files_external:export`` and ``files_external:import``. @@ -902,20 +928,6 @@ Remove a certificate:: sudo -u www-data php occ security:remove [certificate name] -.. _shibboleth_label: - -Shibboleth Modes (Enterprise Edition only) ------------------------------------------- - -.. note:: - This command is only available when the "Shibboleth user backend" app - (``user_shibboleth``) is enabled. - -``shibboleth:mode`` sets your Shibboleth mode to ``notactive``, -``autoprovision``, or ``ssoonly``:: - - shibboleth:mode [mode] - .. _trashbin_label: Trashbin @@ -1211,13 +1223,9 @@ List all options, like this example on CentOS Linux:: sudo -u apache php occ upgrade -h Usage: - upgrade [--skip-migration-test] [--dry-run] [--no-app-disable] + upgrade [--no-app-disable] Options: - --skip-migration-test skips the database schema migration simulation and - update directly - --dry-run only runs the database schema migration simulation, do - not actually update --no-app-disable skips the disable of third party apps --help (-h) Display this help message. --quiet (-q) Do not output any message. @@ -1277,19 +1285,6 @@ or to use in a bug report:: Update failed Turned off maintenance mode -Before completing the upgrade, Nextcloud first runs a simulation by copying all -database tables to new tables, and then performs the upgrade on them, to ensure -that the upgrade will complete correctly. The copied tables are deleted after -the upgrade. This takes twice as much time, which on large installations can be -many hours, so you can omit this step with the ``--skip-migration-test`` -option:: - - sudo -u www-data php occ upgrade --skip-migration-test - -You can perform this simulation manually with the ``--dry-run`` option:: - - sudo -u www-data php occ upgrade --dry-run - .. _two_factor_auth_label: Two-factor Authentication diff --git a/admin_manual/configuration_server/security_setup_warnings.rst b/admin_manual/configuration_server/security_setup_warnings.rst index cc2810cf7..51bd96989 100644 --- a/admin_manual/configuration_server/security_setup_warnings.rst +++ b/admin_manual/configuration_server/security_setup_warnings.rst @@ -8,6 +8,12 @@ might see, and what to do about them. .. figure:: ../images/security-setup-warning-1.png +You can use the `Nextcloud Security Scan `_ to see +if your system is up to date and well secured. We have ran this scan over public +IP addresses in the past to try and reach out to `extremely outdated systems `_ +and might again in the future. Please, protect your privacy and keep your server +up to date! Privacy means little without security. + Cache Warnings -------------- @@ -15,10 +21,9 @@ Cache Warnings configure a memcache if available." Nextcloud supports multiple php caching extensions: -* APC (PHP 5.4 only) -* APCu (PHP 5.5+, minimum required PHP extension version 4.0.6) +* APCu (minimum required PHP extension version 4.0.6) * Memcached -* Redis (minimum required php extension version: 2.2.5) +* Redis (minimum required PHP extension version: 2.2.6) You will see this warning if you have no caches installed and enabled, or if your cache does not have the required minimum version installed; older versions diff --git a/admin_manual/configuration_server/oc_server_tuning.rst b/admin_manual/configuration_server/server_tuning.rst similarity index 71% rename from admin_manual/configuration_server/oc_server_tuning.rst rename to admin_manual/configuration_server/server_tuning.rst index 74405c9fb..ce16b9572 100644 --- a/admin_manual/configuration_server/oc_server_tuning.rst +++ b/admin_manual/configuration_server/server_tuning.rst @@ -8,12 +8,6 @@ Using cron to perform background jobs See :doc:`background_jobs_configuration` for a description and the benefits. -Enable JavaScript and CSS Asset Management ------------------------------------------- - -See :doc:`js_css_asset_management_configuration` for a description and the -benefits. - .. _caching: Caching @@ -73,3 +67,27 @@ AES-NI extension: * If your environment runs virtualized, check the virtualization vendor for support. + +Enable HTTP2 for faster loading +------------------------------- + +HTTP2 has `huge speed improvements `_ over HTTP with multiple request. Most `browsers already support HTTP2 over SSL (HTTPS) `_. So refer to your server manual for guides on how to use HTTP2. + +.. _opcache: + +Enable PHP OPcache +------------------ + +The `OPcache `_ improves the performance of PHP applications by caching precompiled bytecode. We recommend at least following settings: + +.. code:: ini + + opcache.enable=On + opcache.enable_cli=1 + opcache.interned_strings_buffer=8 + opcache.max_accelerated_files=10000 + opcache.memory_consumption=128 + opcache.save_comments=1 + opcache.revalidate_freq=1 + +For more details check out the `official documentation `_ or `this blog post about some recommended settings `_. diff --git a/admin_manual/configuration_server/sso_configuration.rst b/admin_manual/configuration_server/sso_configuration.rst new file mode 100644 index 000000000..1a31f2d2e --- /dev/null +++ b/admin_manual/configuration_server/sso_configuration.rst @@ -0,0 +1,69 @@ +========================== +Configuring Single-Sign-On +========================== + +Using the SSO & SAML app of your Nextcloud you can make it easily possible to integrate your existing Single-Sign-On +solution with Nextcloud. In addition, you can use the Nextcloud LDAP user provider to keep the convenience for users. (e.g. +when sharing) + +The following providers are supported and tested at the moment: + +- SAML 2.0 + - OneLogin + - Shibboleth + - Active Directory Federation Services (ADFS) +- Authentication via Environment Variable + - Kerberos (mod_auth_kerb) + - Any other provider that authenticates using the environment variable + +While theoretically any other authentication provider implementing either one of those standards is compatible, we like +to note that they are not part of any internal test matrix. + +Enabling the SSO & SAML app +--------------------------- + +.. warning:: Make sure to configure an administrative user that can access the instance via SSO. Logging-in with your + regular Nextcloud account won't be possible anymore. + + +The "SSO & SAML" App is shipped and disabled by default. To enable the app enabled simply go to your Nextcloud Apps page +to enable it. It can then be found in the "SSO & SAML authentication" section of your Nextcloud. + +Configuring SAML 2.0 +-------------------- + +To configure using SAML choose the "SAML authentication" in the setup wizard of the application. Then configure the application +as required by your Service Provider. + + .. figure:: ./images/saml_app_overview.png + + +Configuring environment based authentication +-------------------------------------------- +It is possible to authenticate against Nextcloud using an environment variable. This is for example relevant in case you +use an service provider incompatible with SAML such as Kerberos or don't want to configure SAML in the software yourself. + +To enable that choose the "Environment variable" authentication provider in the application and then specify the environment +variable. (e.g. `REMOTE_USER` for Kerberos) + +Once done you also need to protect the login route properly. On an Apache server with mod_auth_kerb the following configuration +would protect the login route: + +.. code-block:: apache + + + AuthType Kerberos + AuthName "Kerberos Login" + KrbServiceName HTTP + KrbMethodNegotiate On + KrbMethodK5Passwd Off + KrbSaveCredentials Off + KrbVerifyKDC On + KrbAuthRealms NEXTCLOUD-AD.LOCAL + Krb5KeyTab /etc/apache2/webpage.HTTP.keytab + Require valid-user + + + +.. warning:: If this authentication approach is used clients do require an application specific password for authentication. + A better integration into our desktop and mobile clients is considered for the future though. \ No newline at end of file diff --git a/admin_manual/configuration_server/theming.rst b/admin_manual/configuration_server/theming.rst index ecfc07476..1b1a98956 100644 --- a/admin_manual/configuration_server/theming.rst +++ b/admin_manual/configuration_server/theming.rst @@ -18,3 +18,15 @@ In the administrative settings you can modify the appearance of Nextcloud: Log in page .. figure:: ../configuration_server/images/theming-log-in-page.png + +Theming of icons +================ + +Nextcloud will automatically generate favicons and home screen icons +depending on the current app and theming color. + +This requires the following additional dependencies: + + - PHP module imagick + - SVG support for imagick (e.g. `libmagickcore5-extra`) + diff --git a/admin_manual/configuration_user/index.rst b/admin_manual/configuration_user/index.rst index f04757270..18ac09090 100644 --- a/admin_manual/configuration_user/index.rst +++ b/admin_manual/configuration_user/index.rst @@ -9,6 +9,7 @@ User Management reset_admin_password reset_user_password user_password_policy + two_factor-auth user_auth_ftp_smb_imap user_auth_ldap user_auth_ldap_cleanup diff --git a/admin_manual/configuration_user/two_factor-auth.rst b/admin_manual/configuration_user/two_factor-auth.rst new file mode 100644 index 000000000..3f1315519 --- /dev/null +++ b/admin_manual/configuration_user/two_factor-auth.rst @@ -0,0 +1,23 @@ +========================= +Two Factor Authentication +========================= + +Starting with Nextcloud 10, it is possible to use two factor authentication +(2FA) with Nextcloud. It is a plugin based system requiring a 2FA app. +Several 2FA apps are already available including +`TOTP `_, +SMS 2-factor and `U2F `_. +Developers can `built new two-factor provider apps `_. +.. TODO ON RELEASE: Update version number above on release + +Enabling Two Factor Authentication +================================== +You can enable 2FA by installing and enabling a 2FA app like TOTP which works +with Google Authenticator and compatible apps. The apps are available in the +Nextcloud App store so by navigating there and clicking **enable** for the app +you want, 2FA will be installed and enabled on your Nextcloud server. + +.. figure:: ../images/2fa-app-install.png + +Once 2FA has been enabled, users have to `activate it in their personal settings. `_ +.. TODO ON RELEASE: Update version number above on release diff --git a/admin_manual/configuration_user/user_auth_ldap.rst b/admin_manual/configuration_user/user_auth_ldap.rst index ba4a64c4e..6a56fecaa 100644 --- a/admin_manual/configuration_user/user_auth_ldap.rst +++ b/admin_manual/configuration_user/user_auth_ldap.rst @@ -2,15 +2,15 @@ User Authentication with LDAP ============================= -Nextcloud ships with an LDAP application to allow LDAP users (including Active -Directory) to appear in your Nextcloud user listings. These users will -authenticate to Nextcloud with their LDAP credentials, so you don't have to -create separate Nextcloud user accounts for them. You will manage their Nextcloud -group memberships, quotas, and sharing permissions just like any other Nextcloud +Nextcloud ships with an LDAP application to allow LDAP users (including Active +Directory) to appear in your Nextcloud user listings. These users will +authenticate to Nextcloud with their LDAP credentials, so you don't have to +create separate Nextcloud user accounts for them. You will manage their Nextcloud +group memberships, quotas, and sharing permissions just like any other Nextcloud user. -.. note:: The PHP LDAP module is required; this is supplied by ``php5-ldap`` on - Debian/Ubuntu, and ``php-ldap`` on CentOS/Red Hat/Fedora. PHP 5.4+ is +.. note:: The PHP LDAP module is required; this is supplied by ``php5-ldap`` on + Debian/Ubuntu, and ``php-ldap`` on CentOS/Red Hat/Fedora. PHP 5.6+ is required in Nextcloud. The LDAP application supports: @@ -19,15 +19,15 @@ The LDAP application supports: * File sharing with Nextcloud users and groups * Access via WebDAV and Nextcloud Desktop Client * Versioning, external Storage and all other Nextcloud features -* Seamless connectivity to Active Directory, with no extra configuration +* Seamless connectivity to Active Directory, with no extra configuration required * Support for primary groups in Active Directory -* Auto-detection of LDAP attributes such as base DN, email, and the LDAP server +* Auto-detection of LDAP attributes such as base DN, email, and the LDAP server port number -* Only read access to your LDAP (edit or delete of users on your LDAP is not +* Only read access to your LDAP (edit or delete of users on your LDAP is not supported) -.. warning:: The LDAP app is not compatible with the ``User backend using remote +.. warning:: The LDAP app is not compatible with the ``User backend using remote HTTP servers`` app. You cannot use both of them at the same time. .. note:: A non-blocking or correctly configured SELinux setup is needed @@ -36,34 +36,34 @@ The LDAP application supports: Configuration ------------- -First enable the ``LDAP user and group backend`` app on the Apps page in +First enable the ``LDAP user and group backend`` app on the Apps page in Nextcloud. Then go to your Admin page to configure it. -The LDAP configuration panel has four tabs. A correctly completed first tab -("Server") is mandatory to access the other tabs. A green indicator lights when -the configuration is correct. Hover your cursor over the fields to see some -pop-up tooltips. +The LDAP configuration panel has four tabs. A correctly completed first tab +("Server") is mandatory to access the other tabs. A green indicator lights when +the configuration is correct. Hover your cursor over the fields to see some +pop-up tooltips. Server Tab ^^^^^^^^^^ -Start with the Server tab. You may configure multiple servers if you have them. -At a minimum you must supply the LDAP server's hostname. If your server requires -authentication, enter your credentials on this tab. Nextcloud will then attempt -to auto-detect the server's port and base DN. The base DN and port are +Start with the Server tab. You may configure multiple servers if you have them. +At a minimum you must supply the LDAP server's hostname. If your server requires +authentication, enter your credentials on this tab. Nextcloud will then attempt +to auto-detect the server's port and base DN. The base DN and port are mandatory, so if Nextcloud cannot detect them you must enter them manually. .. figure:: ../images/ldap-wizard-1-server.png :alt: LDAP wizard, server tab Server configuration: - Configure one or more LDAP servers. Click the **Delete Configuration** + Configure one or more LDAP servers. Click the **Delete Configuration** button to remove the active configuration. Host: - The host name or IP address of the LDAP server. It can also be a **ldaps://** + The host name or IP address of the LDAP server. It can also be a **ldaps://** URI. If you enter the port number, it speeds up server detection. - + Examples: * *directory.my-company.com* @@ -72,9 +72,9 @@ Host: Port: The port on which to connect to the LDAP server. The field is disabled in the - beginning of a new configuration. If the LDAP server is running on a standard - port, the port will be detected automatically. If you are using a - non-standard port, Nextcloud will attempt to detect it. If this fails you must + beginning of a new configuration. If the LDAP server is running on a standard + port, the port will be detected automatically. If you are using a + non-standard port, Nextcloud will attempt to detect it. If this fails you must enter the port number manually. Example: @@ -82,8 +82,8 @@ Port: * *389* User DN: - The name as DN of a user who has permissions to do searches in the LDAP - directory. Leave it empty for anonymous access. We recommend that you have a + The name as DN of a user who has permissions to do searches in the LDAP + directory. Leave it empty for anonymous access. We recommend that you have a special LDAP system user for this. Example: @@ -94,46 +94,45 @@ Password: The password for the user given above. Empty for anonymous access. Base DN: - The base DN of LDAP, from where all users and groups can be reached. You may - enter multiple base DNs, one per line. (Base DNs for users and groups can be - set in the Advanced tab.) This field is mandatory. Nextcloud attempts to - determine the Base DN according to the provided User DN or the provided + The base DN of LDAP, from where all users and groups can be reached. You may + enter multiple base DNs, one per line. (Base DNs for users and groups can be + set in the Advanced tab.) This field is mandatory. Nextcloud attempts to + determine the Base DN according to the provided User DN or the provided Host, and you must enter it manually if Nextcloud does not detect it. Example: * *dc=my-company,dc=com* -User Filter -^^^^^^^^^^^ +Users Tab +^^^^^^^^^ -Use this to control which LDAP users are listed as Nextcloud users on your -Nextcloud server. In order to control which LDAP users can login to your Nextcloud -server use the Login filter. Those LDAP users who have access but are not listed -as users (if there are any) will be hidden users. You may bypass the form fields +Use this to control which LDAP users are listed as Nextcloud users on your +Nextcloud server. In order to control which LDAP users can login to your Nextcloud +server use the **Login Attributes** tab. Those LDAP users who have access but are not listed +as users (if there are any) will be hidden users. You may bypass the form fields and enter a raw LDAP filter if you prefer. .. figure:: ../images/ldap-wizard-2-user.png :alt: User filter -only those object classes: +Only those object classes: Nextcloud will determine the object classes that are typically available for - user objects in your LDAP. Nextcloud will automatically select the object - class that returns the highest amount of users. You may select multiple + user objects in your LDAP. Nextcloud will automatically select the object + class that returns the highest amount of users. You may select multiple object classes. -only from those groups: - If your LDAP server supports the ``member-of-overlay`` in LDAP filters, you +Only from those groups: + If your LDAP server supports the ``member-of-overlay`` in LDAP filters, you can define that only users from one or more certain groups are allowed to - appear in user listings in Nextcloud. By default, no value will be selected. -You - may select multiple groups. + appear in user listings in Nextcloud. By default, no value will be selected. + You may select multiple groups. - If your LDAP server does not support the member-of-overlay in LDAP filters, + If your LDAP server does not support the ``member-of-overlay`` in LDAP filters, the input field is disabled. Please contact your LDAP administrator. -Edit raw filter instead: - Clicking on this text toggles the filter mode and you can enter the raw LDAP +Edit LDAP Query: + Clicking on this text toggles the filter mode and you can enter the raw LDAP filter directly. Example:: (&(objectClass=inetOrgPerson)(memberOf=cn=nextcloudusers,ou=groups, @@ -143,16 +142,16 @@ x users found: This is an indicator that tells you approximately how many users will be listed in Nextcloud. The number updates automatically after any changes. -Login Filter -^^^^^^^^^^^^ +Login Attributes Tab +^^^^^^^^^^^^^^^^^^^^ -The settings in the Login Filter tab determine which LDAP users can log in to -your Nextcloud system and which attribute or attributes the provided login name -is matched against (e.g. LDAP/AD username, email address). You may select -multiple user details. (You may bypass the form fields and enter a raw LDAP +The settings in the Login Attributes tab determine which LDAP users can log in to +your Nextcloud system and which attribute or attributes the provided login name +is matched against (e.g. LDAP/AD username, email address). You may select +multiple user details. (You may bypass the form fields and enter a raw LDAP filter if you prefer.) -You may override your User Filter settings on the User Filter tab by using a raw +You may override your User Filter settings on the Users tab by using a raw LDAP filter. .. figure:: ../images/ldap-wizard-3-login.png @@ -165,56 +164,56 @@ LDAP Username: LDAP Email Address: If this value is checked, the login value will be compared to an email address - in the LDAP directory; specifically, the *mailPrimaryAddress* and *mail* + in the LDAP directory; specifically, the *mailPrimaryAddress* and *mail* attributes. Other Attributes: - This multi-select box allows you to select other attributes for the - comparison. The list is generated automatically from the user object + This multi-select box allows you to select other attributes for the + comparison. The list is generated automatically from the user object attributes in your LDAP server. -Edit raw filter instead: - Clicking on this text toggles the filter mode and you can enter the raw LDAP +Edit LDAP Query: + Clicking on this text toggles the filter mode and you can enter the raw LDAP filter directly. - The **%uid** placeholder is replaced with the login name entered by the + The **%uid** placeholder is replaced with the login name entered by the user upon login. Examples: - * only username:: + * only username:: (&(objectClass=inetOrgPerson)(memberOf=cn=nextcloudusers,ou=groups, dc=example,dc=com)(uid=%uid) - + * username or email address:: - + ((&(objectClass=inetOrgPerson)(memberOf=cn=nextcloudusers,ou=groups, dc=example,dc=com)(|(uid=%uid)(mail=%uid))) -Group Filter -^^^^^^^^^^^^ +Groups Tab +^^^^^^^^^^ -By default, no LDAP groups will be available in Nextcloud. The settings in the -group filter tab determine which groups will be available in Nextcloud. You may +By default, no LDAP groups will be available in Nextcloud. The settings in the +Groups tab determine which groups will be available in Nextcloud. You may also elect to enter a raw LDAP filter instead. .. figure:: ../images/ldap-wizard-4-group.png :alt: Group filter -only those object classes: +Only these object classes: Nextcloud will determine the object classes that are typically available for group objects in your LDAP server. Nextcloud will only list object classes that return at least one group object. You can select multiple object classes. A typical object class is "group", or "posixGroup". -only from those groups: - Nextcloud will generate a list of available groups found in your LDAP server. - and then you select the group or groups that get access to your Nextcloud +Only from these groups: + Nextcloud will generate a list of available groups found in your LDAP server. + Then you select the group or groups that get access to your Nextcloud server. -Edit raw filter instead: - Clicking on this text toggles the filter mode and you can enter the raw LDAP +Edit LDAP Query: + Clicking on this text toggles the filter mode and you can enter the raw LDAP filter directly. Example: @@ -223,16 +222,16 @@ Edit raw filter instead: * *objectClass=posixGroup* y groups found: - This tells you approximately how many groups will be available in Nextcloud. + This tells you approximately how many groups will be available in Nextcloud. The number updates automatically after any change. Advanced Settings ----------------- -The LDAP Advanced Setting section contains options that are not needed for a -working connection. This provides controls to disable the current -configuration, +The LDAP Advanced Setting section contains options that are not needed for a +working connection. This provides controls to disable the current +configuration, configure replica hosts, and various performance-enhancing options. The Advanced Settings are structured into three parts: @@ -248,14 +247,14 @@ Connection Settings :alt: Advanced settings Configuration Active: - Enables or Disables the current configuration. By default, it is turned off. - When Nextcloud makes a successful test connection it is automatically turned + Enables or Disables the current configuration. By default, it is turned off. + When Nextcloud makes a successful test connection it is automatically turned on. Backup (Replica) Host: - If you have a backup LDAP server, enter the connection settings here. - Nextcloud will then automatically connect to the backup when the main server - cannot be reached. The backup server must be a replica of the main server so + If you have a backup LDAP server, enter the connection settings here. + Nextcloud will then automatically connect to the backup when the main server + cannot be reached. The backup server must be a replica of the main server so that the object UUIDs match. Example: @@ -278,27 +277,27 @@ Turn off SSL certificate validation: Turns off SSL certificate checking. Use it for testing only! Cache Time-To-Live: - A cache is introduced to avoid unnecessary LDAP traffic, for example caching - usernames so they don't have to be looked up for every page, and speeding up - loading of the Users page. Saving the configuration empties the cache. The + A cache is introduced to avoid unnecessary LDAP traffic, for example caching + usernames so they don't have to be looked up for every page, and speeding up + loading of the Users page. Saving the configuration empties the cache. The time is given in seconds. - Note that almost every PHP request requires a new connection to the LDAP - server. If you require fresh PHP requests we recommend defining a minimum + Note that almost every PHP request requires a new connection to the LDAP + server. If you require fresh PHP requests we recommend defining a minimum lifetime of 15s or so, rather than completely eliminating the cache. Examples: * ten minutes: *600* * one hour: *3600* - -See the Caching section below for detailed information on how the cache + +See the Caching section below for detailed information on how the cache operates. .. _ldap_directory_settings: Directory Settings -^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^ .. figure:: ../images/ldap-advanced-2-directory.png :alt: Directory settings. @@ -307,15 +306,15 @@ User Display Name Field: The attribute that should be used as display name in Nextcloud. * Example: *displayName* - -2nd User Display Name Field: - An optional second attribute displayed in brackets after the display name, - for example using the ``mail`` attribute displays as ``Molly Foo + +2nd User Display Name Field: + An optional second attribute displayed in brackets after the display name, + for example using the ``mail`` attribute displays as ``Molly Foo (molly@example.com)``. Base User Tree: - The base DN of LDAP, from where all users can be reached. This must be a - complete DN, regardless of what you have entered for your Base DN in the + The base DN of LDAP, from where all users can be reached. This must be a + complete DN, regardless of what you have entered for your Base DN in the Basic setting. You can specify multiple base trees, one on each line. * Example: @@ -324,13 +323,13 @@ Base User Tree: | *cn=designers,dc=my-company,dc=com* User Search Attributes: - These attributes are used when searches for users are performed, for example - in the share dialogue. The user display name attribute is the + These attributes are used when searches for users are performed, for example + in the share dialogue. The user display name attribute is the default. You may list multiple attributes, one per line. - If an attribute is not available on a user object, the user will not be - listed, and will be unable to login. This also affects the display name - attribute. If you override the default you must specify the display name + If an attribute is not available on a user object, the user will not be + listed, and will be unable to login. This also affects the display name + attribute. If you override the default you must specify the display name attribute here. * Example: @@ -340,14 +339,14 @@ User Search Attributes: Group Display Name Field: The attribute that should be used as Nextcloud group name. Nextcloud allows a - limited set of characters (a-zA-Z0-9.-_@). Once a group name is assigned it + limited set of characters (a-zA-Z0-9.-_@). Once a group name is assigned it cannot be changed. * Example: *cn* Base Group Tree: - The base DN of LDAP, from where all groups can be reached. This must be a - complete DN, regardless of what you have entered for your Base DN in the + The base DN of LDAP, from where all groups can be reached. This must be a + complete DN, regardless of what you have entered for your Base DN in the Basic setting. You can specify multiple base trees, one in each line. * Example: @@ -356,8 +355,8 @@ Base Group Tree: | *cn=madrid,dc=my-company,dc=com* Group Search Attributes: - These attributes are used when a search for groups is done, for example in - the share dialogue. By default the group display name attribute as specified + These attributes are used when a search for groups is done, for example in + the share dialogue. By default the group display name attribute as specified above is used. Multiple attributes can be given, one in each line. If you override the default, the group display name attribute will not be @@ -384,17 +383,14 @@ Enable LDAP password changes per user: * General requirements: - | - Access control policies must be configured on the LDAP server to grant permissions for password changes. - | - | - Passwords are sent in plaintext to the LDAP server. Therefore, transport encryption must be used for the communication between Nextcloud and the LDAP server, e.g. employ LDAPS. - | - | - Enabling password hashing on the LDAP server is highly recommended. While Active Directory stores passwords in a one-way format by default, OpenLDAP users could configure the ``ppolicy_hash_cleartext`` directive of the ppolicy overlay that ships with OpenLDAP. + * Access control policies must be configured on the LDAP server to grant permissions for password changes. + * Passwords are sent in plaintext to the LDAP server. Therefore, transport encryption must be used for the communication between Nextcloud and the LDAP server, e.g. employ LDAPS. + * Enabling password hashing on the LDAP server is highly recommended. While Active Directory stores passwords in a one-way format by default, OpenLDAP users could configure the ``ppolicy_hash_cleartext`` directive of the ppolicy overlay that ships with OpenLDAP. * Additional requirements for Active Directory: - | - At least a 128-bit transport encryption must be used for the communication between Nextcloud and the LDAP server. - | - | - Make sure that the ``fUserPwdSupport`` char of the dSHeuristics is configured to employ the ``userPassword`` attribute as ``unicodePwd`` alias. While this is set accordingly on AD LDS by default, this is not the case on AD DS. + * At least a 128-bit transport encryption must be used for the communication between Nextcloud and the LDAP server. + * Make sure that the ``fUserPwdSupport`` char of the dSHeuristics is configured to employ the ``userPassword`` attribute as ``unicodePwd`` alias. While this is set accordingly on AD LDS by default, this is not the case on AD DS. Default password policy DN: The DN of a default password policy that will be used for password expiry handling in the absence of any user specific password policy. Password expiry handling features the following: @@ -420,38 +416,38 @@ Special Attributes Quota Field: Nextcloud can read an LDAP attribute and set the user quota according to its - value. Specify the attribute here, and it will return human-readable values, - e.g. "2 GB". Any quota set in LDAP overrides quotas set on the Nextcloud user + value. Specify the attribute here, and it will return human-readable values, + e.g. "2 GB". Any quota set in LDAP overrides quotas set on the Nextcloud user management page. * Example: *NextcloudQuota* Quota Default: - Override Nextcloud default quota for LDAP users who do not have a quota set in + Override Nextcloud default quota for LDAP users who do not have a quota set in the Quota Field. * Example: *15 GB* Email Field: - Set the user's email from their LDAP attribute. Leave it empty for default + Set the user's email from their LDAP attribute. Leave it empty for default behavior. * Example: *mail* User Home Folder Naming Rule: - By default, the Nextcloud server creates the user directory in your Nextcloud + By default, the Nextcloud server creates the user directory in your Nextcloud data directory and gives it the Nextcloud username, .e.g ``/var/www/nextcloud/data/alice``. You may want to override this setting and name it after an LDAP - attribute value. The attribute can also return an absolute path, e.g. + attribute value. The attribute can also return an absolute path, e.g. ``/mnt/storage43/alice``. Leave it empty for default behavior. * Example: *cn* In new Nextcloud installations the home folder rule is enforced. This means that once you set a home folder naming rule (get a home folder from an LDAP attribute), it must be available for all users. If it isn't available for a user, then that user will not be able to login. Also, the filesystem will not be set up for that user, so their file shares will not be available to other users. -In migrated Nextcloud installations the old behavior still applies, which is using the Nextcloud username as the home folder when an LDAP attribute is not set. You may change this to enforcing the home folder rule with the ``occ`` command in Nextcloud, like this example on Ubuntu:: +In migrated Nextcloud installations the old behavior still applies, which is using the Nextcloud username as the home folder when an LDAP attribute is not set. You may change this enforcing the home folder rule with the ``occ`` command in Nextcloud, like this example on Ubuntu:: + + sudo -u www-data php occ config:app:set user_ldap enforce_home_folder_naming_rule --value=1 - sudo -u www-data php occ config:app:set user_ldap enforce_home_folder_naming_rule --value=1 - Expert Settings --------------- @@ -463,9 +459,9 @@ configuration should be well-tested before starting production use. Internal Username: The internal username is the identifier in Nextcloud for LDAP users. By default - it will be created from the UUID attribute. The UUID attribute ensures that - the username is unique, and that characters do not need to be converted. Only - these characters are allowed: [\a-\zA-\Z0-\9_.@-]. Other characters are + it will be created from the UUID attribute. The UUID attribute ensures that + the username is unique, and that characters do not need to be converted. Only + these characters are allowed: [\a-\zA-\Z0-\9_.@-]. Other characters are replaced with their ASCII equivalents, or are simply omitted. The LDAP backend ensures that there are no duplicate internal usernames in @@ -474,26 +470,26 @@ Internal Username: and 9999) will be attached to the retrieved value. For example, if "alice" exists, the next username may be "alice_1337". - The internal username is the default name for the user home folder in - Nextcloud. It is also a part of remote URLs, for instance for all \*DAV + The internal username is the default name for the user home folder in + Nextcloud. It is also a part of remote URLs, for instance for all \*DAV services. - You can override all of this with the Internal Username setting. Leave it + You can override all of this with the Internal Username setting. Leave it empty for default behaviour. Changes will affect only newly mapped LDAP users. * Example: *uid* Override UUID detection By default, Nextcloud auto-detects the UUID attribute. The UUID attribute is - used to uniquely identify LDAP users and groups. The internal username will + used to uniquely identify LDAP users and groups. The internal username will be created based on the UUID, if not specified otherwise. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped LDAP users and groups. It also will - have effect when a user's or group's DN changes and an old UUID was cached, - which will result in a new user. Because of this, the setting should be + have effect when a user's or group's DN changes and an old UUID was cached, + which will result in a new user. Because of this, the setting should be applied before putting Nextcloud in production use and clearing the bindings (see the ``User and Group Mapping`` section below). @@ -511,78 +507,73 @@ Username-LDAP User Mapping The same is valid for groups. The internal Nextcloud name is used all over in Nextcloud. Clearing the Mappings - will have leftovers everywhere. Never clear the mappings in a production + will have leftovers everywhere. Never clear the mappings in a production environment, but only in a testing or experimental server. - **Clearing the Mappings is not configuration sensitive, it affects all LDAP - configurations!** +.. warning:: Clearing the Mappings is not configuration sensitive, it affects all LDAP + configurations! Testing the configuration ------------------------- -The **Test Configuration** button checks the values as currently given in the -input fields. You do not need to save before testing. By clicking on the +The **Test Configuration** button checks the values as currently given in the +input fields. You do not need to save before testing. By clicking on the button, Nextcloud will try to bind to the Nextcloud server using the -settings currently given in the input fields. If the binding fails you'll see a -yellow banner with the error message "The configuration is invalid. Please have -a look at the logs for further details." +settings currently given in the input fields. If the binding fails you'll see a +yellow banner with the error message "The configuration is invalid. Please have +a look at the logs for further details." -When the configuration test reports success, save your settings and check if the +When the configuration test reports success, save your settings and check if the users and groups are fetched correctly on the Users page. Nextcloud Avatar integration ---------------------------- -Nextcloud supports user profile pictures, which are also called avatars. If a user -has a photo stored in the *jpegPhoto* or *thumbnailPhoto* attribute on your LDAP -server, it will be used as their avatar. In this case the user cannot alter their -avatar (on their Personal page) as it must be changed in LDAP. *jpegPhoto* is +Nextcloud supports user profile pictures, which are also called avatars. If a user +has a photo stored in the *jpegPhoto* or *thumbnailPhoto* attribute on your LDAP +server, it will be used as their avatar. In this case the user cannot alter their +avatar (on their Personal page) as it must be changed in LDAP. *jpegPhoto* is preferred over *thumbnailPhoto*. .. figure:: ../images/ldap-fetched-avatar.png :alt: Profile picture fetched from LDAP. -If the *jpegPhoto* or *thumbnailPhoto* attribute is not set or empty, then -users can upload and manage their avatars on their Nextcloud Personal pages. +If the *jpegPhoto* or *thumbnailPhoto* attribute is not set or empty, then +users can upload and manage their avatars on their Nextcloud Personal pages. Avatars managed in Nextcloud are not stored in LDAP. The *jpegPhoto* or *thumbnailPhoto* attribute is fetched once a day to make -sure the current photo from LDAP is used in Nextcloud. LDAP avatars override -Nextcloud avatars, and when an LDAP avatar is deleted then the most recent +sure the current photo from LDAP is used in Nextcloud. LDAP avatars override +Nextcloud avatars, and when an LDAP avatar is deleted then the most recent Nextcloud avatar replaces it. -Photos served from LDAP are automatically cropped and resized in Nextcloud. This +Photos served from LDAP are automatically cropped and resized in Nextcloud. This affects only the presentation, and the original image is not changed. Troubleshooting, Tips and Tricks -------------------------------- SSL Certificate Verification (LDAPS, TLS) ------------------------------------------ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ A common mistake with SSL certificates is that they may not be known to PHP. If you have trouble with certificate validation make sure that * You have the certificate of the server installed on the Nextcloud server * The certificate is announced in the system's LDAP configuration file (usually - */etc/ldap/ldap.conf* - -.. commenting out windows section as windows server is not supported -.. *C:\\openldap\\sysconf\\ldap.conf* or -.. *C:\\ldap.conf* on Windows) using a **TLS_CACERT /path/to/cert** line. - + */etc/ldap/ldap.conf*) * Using LDAPS, also make sure that the port is correctly configured (by default 636) Microsoft Active Directory --------------------------- +^^^^^^^^^^^^^^^^^^^^^^^^^^ Compared to earlier Nextcloud versions, no further tweaks need to be done to make Nextcloud work with Active Directory. Nextcloud will automatically find the correct configuration in the set-up process. memberOf / Read MemberOf permissions ------------------------------------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ If you want to use ``memberOf`` within your filter you might need to give your querying user the permissions to use it. For Microsoft Active Directory this @@ -590,7 +581,7 @@ is described `here `_. Duplicating Server Configurations ---------------------------------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ In case you have a working configuration and want to create a similar one or "snapshot" configurations before modifying them you can do the following: @@ -605,6 +596,22 @@ In case you have a working configuration and want to create a similar one or Now you can modify and enable the configuration. +"Sizelimit exceeded" message in logs +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + ldap_search(): Partial search results returned: Sizelimit exceeded at + apps/user_ldap/lib/LDAP.php#256 + +This error message means one of the following: + +#. Pagination of the results is used for communicating with the LDAP server + (pagination is by default enabled in OpenLDAP and AD), but there are more + results to return than what the pagination limit is set to. If there are no + users missing in you setup then you can ignore this error message for now. +#. No pagination is used and this indicates that there are more results on the + LDAP server than what is returned. You should then enabled pagination on + your LDAP server to import all available users. + Nextcloud LDAP Internals ------------------------ @@ -634,43 +641,42 @@ Caching ^^^^^^^ The LDAP information is cached in Nextcloud memory cache, and you must install -and configure the memory cache (see +and configure the memory cache (see :doc:`../configuration_server/caching_configuration`). The Nextcloud **Cache** helps to speed up user interactions and sharing. It is populated on demand, and remains populated until the **Cache Time-To-Live** for each unique request expires. User logins are not cached, so if you need to improve login times set up a slave LDAP server to share the load. -You can adjust the **Cache Time-To-Live** value to balance performance and -freshness of LDAP data. All LDAP requests will be cached for 10 minutes by -default, and you can alter this with the **Cache Time-To-Live** setting. The -cache answers each request that is identical to a previous request, within the +You can adjust the **Cache Time-To-Live** value to balance performance and +freshness of LDAP data. All LDAP requests will be cached for 10 minutes by +default, and you can alter this with the **Cache Time-To-Live** setting. The +cache answers each request that is identical to a previous request, within the time-to-live of the original request, rather than hitting the LDAP server. -The **Cache Time-To-Live** is related to each single request. After a cache -entry expires there is no automatic trigger for re-populating the information, -as the cache is populated only by new requests, for example by opening the +The **Cache Time-To-Live** is related to each single request. After a cache +entry expires there is no automatic trigger for re-populating the information, +as the cache is populated only by new requests, for example by opening the User administration page, or searching in a sharing dialog. -There is one trigger which is automatically triggered by a certain background +There is one trigger which is automatically triggered by a certain background job which keeps the ``user-group-mappings`` up-to-date, and always in cache. -Under normal circumstances, all users are never loaded at the same time. -Typically the loading of users happens while page results are generated, in -steps of 30 until the limit is reached or no results are left. For this to -work on an oC-Server and LDAP-Server, **Paged Results** must be supported, -which presumes PHP >= 5.4. +Under normal circumstances, all users are never loaded at the same time. +Typically the loading of users happens while page results are generated, in +steps of 30 until the limit is reached or no results are left. For this to +work on an oC-Server and LDAP-Server, **Paged Results** must be supported. -Nextcloud remembers which user belongs to which LDAP-configuration. That means -each request will always be directed to the right server unless a user is -defunct, for example due to a server migration or unreachable server. In this +Nextcloud remembers which user belongs to which LDAP-configuration. That means +each request will always be directed to the right server unless a user is +defunct, for example due to a server migration or unreachable server. In this case the other servers will also receive the request. Handling with Backup Server ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -When Nextcloud is not able to contact the main LDAP server, Nextcloud assumes it -is offline and will not try to connect again for the time specified in **Cache -Time-To-Live**. If you have a backup server configured Nextcloud will connect to -it instead. When you have scheduled downtime, check **Disable Main Server** to +When Nextcloud is not able to contact the main LDAP server, Nextcloud assumes it +is offline and will not try to connect again for the time specified in **Cache +Time-To-Live**. If you have a backup server configured Nextcloud will connect to +it instead. When you have scheduled downtime, check **Disable Main Server** to avoid unnecessary connection attempts. diff --git a/admin_manual/configuration_user/user_provisioning_api.rst b/admin_manual/configuration_user/user_provisioning_api.rst index 080a369ad..0fc15fd7f 100644 --- a/admin_manual/configuration_user/user_provisioning_api.rst +++ b/admin_manual/configuration_user/user_provisioning_api.rst @@ -13,11 +13,15 @@ listed above. The Provisioning API app is enabled by default. The base URL for all calls to the share API is **nextcloud_base_url/ocs/v1.php/cloud**. +All calls to OCS endpoints require the ``OCS-APIRequest`` header to be set to ``true``. + +All POST requests require the ``Content-Type: application/x-www-form-urlencoded`` header. (Note: Some libraries like Curl set this header automatically, other require to set the header explicitly) + Instruction Set For Users ========================= -**users / adduser** -------------------- +Add a new user +-------------- Create a new user on the Nextcloud server. Authentication is done by sending a basic HTTP authentication header. @@ -45,7 +49,7 @@ Example XML Output ^^^^^^^^^^ -:: +.. code-block:: xml @@ -57,8 +61,8 @@ XML Output -**users / getusers** --------------------- +Search/get users +---------------- Retrieves a list of users from the Nextcloud server. Authentication is done by sending a Basic HTTP Authorization header. @@ -83,7 +87,7 @@ Example XML Output ^^^^^^^^^^ -:: +.. code-block:: xml @@ -98,8 +102,8 @@ XML Output -**users / getuser** -------------------- +Get data of a single user +------------------------- Retrieves information about a single user. Authentication is done by sending a Basic HTTP Authorization header. @@ -121,7 +125,7 @@ Example XML Output ^^^^^^^^^^ -:: +.. code-block:: xml @@ -130,14 +134,24 @@ XML Output ok - frank@example.org - 0 true + Frank + 0 + frank@example.org + Frank K. + 0123 / 456 789 +
Foobar 12, 12345 Town
+ https://nextcloud.com + Nextcloud + + group1 + group2 +
-**users / edituser** --------------------- +Edit data of a single user +-------------------------- Edits attributes related to a user. Users are able to edit email, displayname and password; admins can also edit the quota value. Authentication is done by @@ -146,7 +160,18 @@ sending a Basic HTTP Authorization header. **Syntax: ocs/v1.php/cloud/users/{userid}** * HTTP method: PUT -* PUT argument: key, the field to edit (email, quota, display, password) +* PUT argument: key, the field to edit: + + + email + + quota + + displayname + + display (**deprecated** use `displayname` instead) + + phone + + address + + website + + twitter + + password + * PUT argument: value, the new value for the field Status codes: @@ -158,18 +183,18 @@ Status codes: Examples ^^^^^^^^ - * PUT ``PUT http://admin:secret@example.com/ocs/v1.php/cloud/users/Frank -d + * PUT ``http://admin:secret@example.com/ocs/v1.php/cloud/users/Frank -d key="email" -d value="franksnewemail@example.org"`` * Updates the email address for the user ``Frank`` - * PUT ``PUT http://admin:secret@example.com/ocs/v1.php/cloud/users/Frank -d + * PUT ``http://admin:secret@example.com/ocs/v1.php/cloud/users/Frank -d key="quota" -d value="100MB"`` * Updates the quota for the user ``Frank`` XML Output ^^^^^^^^^^ -:: +.. code-block:: xml @@ -180,8 +205,80 @@ XML Output -**users / deleteuser** ----------------------- +Disable a user +-------------- + +Disables a user on the Nextcloud server so that the user cannot login anymore. +Authentication is done by sending a Basic HTTP Authorization header. + +**Syntax: ocs/v1.php/cloud/users/{userid}/disable** + +* HTTP method: PUT + +Statuscodes: + +* 100 - successful +* 101 - failure + +Example +^^^^^^^ + + * PUT ``http://admin:secret@example.com/ocs/v1.php/cloud/users/Frank/disable`` + * Disables the user ``Frank`` + +XML Output +^^^^^^^^^^ + +.. code-block:: xml + + + + + ok + 100 + + + + + +Enable a user +------------- + +Enables a user on the Nextcloud server so that the user can login again. +Authentication is done by sending a Basic HTTP Authorization header. + +**Syntax: ocs/v1.php/cloud/users/{userid}/enable** + +* HTTP method: PUT + +Statuscodes: + +* 100 - successful +* 101 - failure + +Example +^^^^^^^ + + * PUT ``http://admin:secret@example.com/ocs/v1.php/cloud/users/Frank/enable`` + * Enables the user ``Frank`` + +XML Output +^^^^^^^^^^ + +.. code-block:: xml + + + + + ok + 100 + + + + + +Delete a user +------------- Deletes a user from the Nextcloud server. Authentication is done by sending a Basic HTTP Authorization header. @@ -204,7 +301,7 @@ Example XML Output ^^^^^^^^^^ -:: +.. code-block:: xml @@ -215,8 +312,8 @@ XML Output -**users / getgroups** ---------------------- +Get user´s groups +----------------- Retrieves a list of groups the specified user is a member of. Authentication is done by sending a Basic HTTP Authorization header. @@ -238,7 +335,7 @@ Example XML Output ^^^^^^^^^^ -:: +.. code-block:: xml @@ -254,8 +351,8 @@ XML Output -**users / addtogroup** ----------------------- +Add user to group +----------------- Adds the specified user to the specified group. Authentication is done by sending a Basic HTTP Authorization header. @@ -284,7 +381,7 @@ Example XML Output ^^^^^^^^^^ -:: +.. code-block:: xml @@ -295,8 +392,8 @@ XML Output -**users / removefromgroup** ---------------------------- +Remove user from group +---------------------- Removes the specified user from the specified group. Authentication is done by sending a Basic HTTP Authorization header. @@ -304,7 +401,7 @@ sending a Basic HTTP Authorization header. **Syntax: ocs/v1.php/cloud/users/{userid}/groups** * HTTP method: DELETE -* POST argument: groupid, string - the group to remove the user from +* DELETE argument: groupid, string - the group to remove the user from Status codes: @@ -326,7 +423,7 @@ Example XML Output ^^^^^^^^^^ -:: +.. code-block:: xml @@ -337,8 +434,8 @@ XML Output -**users / createsubadmin** --------------------------- +Promote user to subadmin +------------------------ Makes a user the subadmin of a group. Authentication is done by sending a Basic HTTP Authorization header. @@ -367,7 +464,7 @@ Example XML Output ^^^^^^^^^^ -:: +.. code-block:: xml @@ -378,8 +475,8 @@ XML Output -**users / removesubadmin** --------------------------- +Demote user from subadmin +------------------------- Removes the subadmin rights for the user specified from the group specified. Authentication is done by sending a Basic HTTP Authorization header. @@ -408,7 +505,7 @@ Example XML Output ^^^^^^^^^^ -:: +.. code-block:: xml @@ -419,8 +516,8 @@ XML Output -**users / getsubadmingroups** ------------------------------ +Get user´s subadmin groups +-------------------------- Returns the groups in which the user is a subadmin. Authentication is done by sending a Basic HTTP Authorization header. @@ -445,7 +542,7 @@ Example XML Output ^^^^^^^^^^ -:: +.. code-block:: xml @@ -458,12 +555,49 @@ XML Output testgroup - + +Resend the welcome email +------------------------ + +The request to this endpoint triggers the welcome email for this user again. + +**Syntax: ocs/v1.php/cloud/users/{userid}/welcome** + +* HTTP method: POST + +Status codes: + +* 100 - successful +* 101 - email address not available +* 102 - sending email failed + +Example +^^^^^^^ + + * POST + ``https://admin:secret@example.com/ocs/v1.php/cloud/users/Frank/welcome`` + * Sends the welcome email to ``Frank`` + +XML Output +^^^^^^^^^^ + +.. code-block:: xml + + + + + ok + 100 + + + + + Instruction Set For Groups ========================== -**groups / getgroups** ----------------------- +Search/get groups +----------------- Retrieves a list of groups from the Nextcloud server. Authentication is done by sending a Basic HTTP Authorization header. @@ -488,7 +622,7 @@ Example XML Output ^^^^^^^^^^ -:: +.. code-block:: xml @@ -503,8 +637,8 @@ XML Output -**groups / addgroup** ---------------------- +Create a group +-------------- Adds a new group. Authentication is done by sending a Basic HTTP Authorization header. @@ -531,7 +665,7 @@ Example XML Output ^^^^^^^^^^ -:: +.. code-block:: xml @@ -542,8 +676,8 @@ XML Output -**groups / getgroup** ---------------------- +Get members of a group +---------------------- Retrieves a list of group members. Authentication is done by sending a Basic HTTP Authorization header. @@ -565,7 +699,7 @@ Example XML Output ^^^^^^^^^^ -:: +.. code-block:: xml @@ -580,8 +714,8 @@ XML Output -**groups / getsubadmins** -------------------------- +Get subadmins of a group +------------------------ Returns subadmins of the group. Authentication is done by sending a Basic HTTP Authorization header. @@ -606,7 +740,7 @@ Example XML Output ^^^^^^^^^^ -:: +.. code-block:: xml @@ -620,8 +754,8 @@ XML Output -**groups / deletegroup** ------------------------- +Delete a group +-------------- Removes a group. Authentication is done by sending a Basic HTTP Authorization header. @@ -645,7 +779,7 @@ Example XML Output ^^^^^^^^^^ -:: +.. code-block:: xml @@ -655,12 +789,12 @@ XML Output - -Instruction Set For Apps -========================= -**apps / getapps** ------------------- +Instruction Set For Apps +======================== + +Getlist of apps +--------------- Returns a list of apps installed on the Nextcloud server. Authentication is done by sending a Basic HTTP Authorization @@ -685,7 +819,7 @@ Example XML Output ^^^^^^^^^^ -:: +.. code-block:: xml @@ -701,8 +835,8 @@ XML Output -**apps / getappinfo** ---------------------- +Get app info +------------ Provides information on a specific application. Authentication is done by sending a Basic HTTP Authorization header. @@ -724,7 +858,7 @@ Example XML Output ^^^^^^^^^^ -:: +.. code-block:: xml @@ -755,8 +889,8 @@ XML Output -**apps / enable** ------------------ +Enable an app +------------- Enable an app. Authentication is done by sending a Basic HTTP Authorization header. @@ -778,7 +912,7 @@ Example XML Output ^^^^^^^^^^ -:: +.. code-block:: xml @@ -788,8 +922,8 @@ XML Output -**apps / disable** ------------------- +Disable an app +-------------- Disables the specified app. Authentication is done by sending a Basic HTTP Authorization header. @@ -812,7 +946,7 @@ Example XML Output ^^^^^^^^^^ -:: +.. code-block:: xml diff --git a/admin_manual/contents.rst b/admin_manual/contents.rst index e26fea67b..ce77bdcaf 100644 --- a/admin_manual/contents.rst +++ b/admin_manual/contents.rst @@ -7,7 +7,6 @@ Table of Contents index release_notes - whats_new_admin installation/index configuration_server/index configuration_user/index diff --git a/admin_manual/images/2fa-app-install.png b/admin_manual/images/2fa-app-install.png new file mode 100644 index 000000000..7f4962fb1 Binary files /dev/null and b/admin_manual/images/2fa-app-install.png differ diff --git a/admin_manual/images/antivirus-app.png b/admin_manual/images/antivirus-app.png index 30b65a2f1..5e8cf1fce 100644 Binary files a/admin_manual/images/antivirus-app.png and b/admin_manual/images/antivirus-app.png differ diff --git a/admin_manual/images/antivirus-config.png b/admin_manual/images/antivirus-config.png index af8d6dc6a..32d83a724 100644 Binary files a/admin_manual/images/antivirus-config.png and b/admin_manual/images/antivirus-config.png differ diff --git a/admin_manual/images/antivirus-daemon-socket.png b/admin_manual/images/antivirus-daemon-socket.png index adb419a76..d2cdcc06b 100644 Binary files a/admin_manual/images/antivirus-daemon-socket.png and b/admin_manual/images/antivirus-daemon-socket.png differ diff --git a/admin_manual/images/antivirus-daemon.png b/admin_manual/images/antivirus-daemon.png index da1ea4640..9e5d16813 100644 Binary files a/admin_manual/images/antivirus-daemon.png and b/admin_manual/images/antivirus-daemon.png differ diff --git a/admin_manual/images/antivirus-executable.png b/admin_manual/images/antivirus-executable.png index c48e58c0a..d9c06af09 100644 Binary files a/admin_manual/images/antivirus-executable.png and b/admin_manual/images/antivirus-executable.png differ diff --git a/admin_manual/images/antivirus-logging.png b/admin_manual/images/antivirus-logging.png index 0e4cbec24..8cc1a838f 100644 Binary files a/admin_manual/images/antivirus-logging.png and b/admin_manual/images/antivirus-logging.png differ diff --git a/admin_manual/images/documents_app_enable.png b/admin_manual/images/documents_app_enable.png deleted file mode 100644 index 96dabf1e3..000000000 Binary files a/admin_manual/images/documents_app_enable.png and /dev/null differ diff --git a/admin_manual/images/documents_apply_test.png b/admin_manual/images/documents_apply_test.png deleted file mode 100644 index 64d8a89aa..000000000 Binary files a/admin_manual/images/documents_apply_test.png and /dev/null differ diff --git a/admin_manual/images/ldap-advanced-2-directory.png b/admin_manual/images/ldap-advanced-2-directory.png index 7b57498eb..701895852 100644 Binary files a/admin_manual/images/ldap-advanced-2-directory.png and b/admin_manual/images/ldap-advanced-2-directory.png differ diff --git a/admin_manual/index.rst b/admin_manual/index.rst index 2618d145f..67eec5ef9 100644 --- a/admin_manual/index.rst +++ b/admin_manual/index.rst @@ -5,31 +5,31 @@ Nextcloud |version| Server Administration Manual Introduction Introduction ------------ -Welcome to the Nextcloud Server Administration Guide. This guide describes -administration tasks for Nextcloud, the flexible open source file synchronization -and sharing solution. Nextcloud includes the Nextcloud server, which runs on -Linux, client applications for Microsoft Windows, Mac OS X and Linux, and mobile +Welcome to the Nextcloud Server Administration Guide. This guide describes +administration tasks for Nextcloud, the flexible open source file synchronization +and sharing solution. Nextcloud includes the Nextcloud server, which runs on +Linux, client applications for Microsoft Windows, Mac OS X and Linux, and mobile clients for the Android and Apple iOS operating systems. -Current editions of Nextcloud manuals are always available online at -`docs.nextcloud.org `_. +Current editions of Nextcloud manuals are always available online at +`docs.nextcloud.com `_. Nextcloud server is available: * As a free, full featured community-supported server, with all enterprise features. * Or with full enterprise support, including phone and email access to Nextcloud developers. - -See :doc:`../whats_new_admin` for more information on the different Nextcloud + +See :doc:`../release_notes` for more information on the different Nextcloud editions. Nextcloud Videos and Blogs -------------------------- -See the `official Nextcloud channel -`_ +See the `official Nextcloud channel +`_ on YouTube for tutorials, overviews, and conference videos. -Visit `Nextcloud Planet `_ for news and developer +Visit `Nextcloud Planet `_ for news and developer blogs. Target Audience @@ -37,17 +37,17 @@ Target Audience This guide is for users who want to install, administer, and optimize their Nextcloud servers. To learn more about the Nextcloud Web -user interface, and desktop and mobile clients, please refer to their +user interface, and desktop and mobile clients, please refer to their respective manuals: * `Nextcloud User Manual`_ * `Nextcloud/ownCloud Desktop Client`_ * `Nextcloud Android App`_ -* `Nextcloud iOS App`_ +* `Nextcloud iOS App`_ -.. _`Nextcloud User Manual`: https://docs.nextcloud.org/server/11/user_manual/ +.. _`Nextcloud User Manual`: https://docs.nextcloud.com/server/11/user_manual/ .. _`Nextcloud/ownCloud Desktop Client`: https://doc.owncloud.org/desktop/2.2/ -.. _`Nextcloud Android App`: https://docs.nextcloud.org/android/ -.. _`Nextcloud iOS App`: https://docs.nextcloud.org/ios/ +.. _`Nextcloud Android App`: https://docs.nextcloud.com/android/ +.. _`Nextcloud iOS App`: https://docs.nextcloud.com/ios/ .. TODO ON RELEASE: Update version number above on release diff --git a/admin_manual/installation/deployment_recommendations.rst b/admin_manual/installation/deployment_recommendations.rst index e05e095bf..f43d65111 100644 --- a/admin_manual/installation/deployment_recommendations.rst +++ b/admin_manual/installation/deployment_recommendations.rst @@ -2,36 +2,38 @@ Nextcloud Deployment Recommendations ==================================== -What is the best way to install and maintain Nextcloud? The answer to that is -*"it depends"* because every Nextcloud customer has their own -particular needs and IT infrastructure. Nextcloud and the LAMP stack are -highly-configurable, so we will present three typical scenarios and make +What is the best way to install and maintain Nextcloud? The answer to that is +*"it depends"* because every Nextcloud customer has their own +particular needs and IT infrastructure. Nextcloud and the LAMP stack are +highly-configurable, so we will present three typical scenarios and make best-practice recommendations for both software and hardware. General Recommendations ----------------------- -.. note:: Whatever the size of your organization, always keep one thing in mind: +.. note:: Whatever the size of your organization, always keep one thing in mind: the amount of data stored in Nextcloud will only grow. Plan ahead. -Consider setting up a scale-out deployment, or using Federated Cloud Sharing to +Consider setting up a scale-out deployment, or using Federated Cloud Sharing to keep individual Nextcloud instances to a manageable size. -.. comment: Federating instances seems the best way to grow organically in - an enterprise. A lookup server to tie all the instances together under a +.. comment: Federating instances seems the best way to grow organically in + an enterprise. A lookup server to tie all the instances together under a single domain is being worked on. -* Operating system: Linux. +* Operating system: Linux (Ubuntu 16.04 or Red Hat Enterprise Linux 7 is recommended). * Web server: Apache 2.4. * Database: MySQL/MariaDB. -* PHP 5.5+. PHP 5.4 is the minimum supported version; note that it reached - end-of-life in September 2015 and is no longer supported by the PHP team. - Some Linux vendors, such as Red Hat, still support PHP 5.4. - 5.6+ is recommended. ``mod_php`` is the recommended Apache module because it - provides the best performance. +* PHP 5.6+. PHP 5.6 is the minimum supported version. We recommend to deploy + on PHP 7 if possible. This version is known to offer significant performance + advantages. ``mod_php`` is the recommended Apache module due to + vendor support and ease of configuration. ``php-fpm`` with Apache Event + MPM (or nginx) is an alternative with potentially better scalability in + high load and limited RAM environments. For the best results we recommend + working with the Nextcloud GmbH enterprise support team for large deployments. -.. comment: mod_php is easier to set up, php-fpm with apache event MPM seems to - scale better under load and limited RAM restrictions: +.. comment: mod_php is easier to set up, php-fpm with apache event MPM seems to + scale better under load and limited RAM restrictions: http://blog.bitnami.com/2014/06/performance-enhacements-for-apache-and.html Small Workgroups or Departments @@ -44,14 +46,14 @@ Small Workgroups or Departments 100 GB to 10TB. * High availability level - Zero-downtime backups via Btrfs snapshots, component failure leads to - interruption of service. Alternate backup scheme on other filesystems: + Zero-downtime backups via Btrfs snapshots, component failure leads to + interruption of service. Alternate backup scheme on other filesystems: nightly backups with service interruption. - + Recommended System Requirements ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -One machine running the application server, Web server, database server and +One machine running the application server, Web server, database server and local storage. Authentication via an existing LDAP or Active Directory server. @@ -59,79 +61,79 @@ Authentication via an existing LDAP or Active Directory server. .. figure:: images/deprecs-1.png :alt: Network diagram for small enterprises. +.. comment: + https://yuml.me + [web server|DB; local storage]->[LDAP] + * Components One server with at least 2 CPU cores, 16GB RAM, local storage as needed. * Operating system - Enterprise-grade Linux distribution with full support from OS vendor. We - recommend Red Hat Enterprise Linux or SUSE Linux Enterprise Server 12. + Enterprise grade Linux distribution with full support from OS vendor. Red + Hat Enterprise Linux or Ubuntu 16.04 are recommended. * SSL Configuration - The SSL termination is done in Apache. A standard SSL certificate is + The SSL termination is done in Apache. A standard SSL certificate is needed, installed according to the Apache documentation. * Load Balancer - None. + None. * Database - MySQL, MariaDB or PostgreSQL. We currently recommend MySQL / MariaDB, as our - customers have had good experiences when moving to a Galera cluster to + MySQL, MariaDB or PostgreSQL. We currently recommend MySQL / MariaDB, as our + customers have had good experiences when moving to a Galera cluster to scale the DB. * Backup - Install Nextcloud, Nextcloud data directory and database on Btrfs filesystem. - Make regular snapshots at desired intervals for zero downtime backups. + Install Nextcloud, Nextcloud data directory and database on Btrfs filesystem. + Make regular snapshots at desired intervals for zero downtime backups. Mount DB partitions with the "nodatacow" option to prevent fragmentation. - + Alternatively, make nightly backups with service interruption: - + * Shut down Apache. * Create database dump. * Push data directory to backup. * Push database dump to backup. * Start Apache. - - Then optionally rsync to a backup storage or tape backup. (See the - `Maintenance`_ section of the Administration manual for tips on backups + + Then optionally rsync to a backup storage or tape backup. (See the + `Maintenance`_ section of the Administration manual for tips on backups and restores.) * Authentication User authentication via one or several LDAP or Active Directory servers. (See - `User Authentication with LDAP`_ for information on configuring Nextcloud to + `User Authentication with LDAP`_ for information on configuring Nextcloud to use LDAP and AD.) * Session Management - Local session management on the application server. PHP sessions are stored - in a tmpfs mounted at the operating system-specific session storage - location. You can find out where that is by running ``grep -R - 'session.save_path' /etc/php5`` and then add it to the ``/etc/fstab`` file, - for example: - ``echo "tmpfs /var/lib/php5/pool-www tmpfs defaults,noatime,mode=1777 0 0" + Local session management on the application server. PHP sessions are stored + in a tmpfs mounted at the operating system-specific session storage + location. You can find out where that is by running ``grep -R + 'session.save_path' /etc/php5`` and then add it to the ``/etc/fstab`` file, + for example: + ``echo "tmpfs /var/lib/php5/pool-www tmpfs defaults,noatime,mode=1777 0 0" >> /etc/fstab``. * Memory Caching - A memcache speeds up server performance, and Nextcloud supports four - memcaches; refer to `Configuring Memory Caching`_ for information on + A memcache speeds up server performance, and Nextcloud supports four + memcaches; refer to `Configuring Memory Caching`_ for information on selecting and configuring a memcache. * Storage Local storage. -* Nextcloud Edition - Standard Edition. (See `Nextcloud Server or Enterprise Edition`_ for - comparisons of the Nextcloud editions.) - Mid-sized Enterprises --------------------- * Number of users 150 to 1,000 users. - + * Storage size Up to 200TB. - + * High availability level - Every component is fully redundant and can fail without service interruption. + Every component is fully redundant and can fail without service interruption. Backups without service interruption Recommended System Requirements @@ -148,6 +150,23 @@ Authentication via an existing LDAP or Active Directory server. .. figure:: images/deprecs-2.png :alt: Network diagram for mid-sized enterprise. +.. comment: + https://yuml.me + [load balancer]->[web server 1] + [load balancer]->[web server 2] + [web server 1]->[NFS] + [web server 2]->[NFS] + [web server 1]->[LDAP] + [web server 2]->[LDAP] + [web server 1]->[Redis] + [web server 2]->[Redis] + [web server 1]->[DB master] + [web server 2]->[DB master] + [web server 1]->[DB slave] + [web server 2]->[DB slave] + [DB master]->[DB slave] + + * Components * 2 to 4 application servers with 4 sockets and 32GB RAM. * 2 DB servers with 4 sockets and 64GB RAM. @@ -155,42 +174,45 @@ Authentication via an existing LDAP or Active Directory server. * NFS storage server as needed. * Operating system - Enterprise grade Linux distribution with full support from OS vendor. Red - Hat Enterprise Linux or SUSE Linux Enterprise Server 12 are recommended. + Enterprise grade Linux distribution with full support from OS vendor. Red + Hat Enterprise Linux or Ubuntu 16.04 are recommended. * SSL Configuration - The SSL termination is done in the HAProxy load balancer. A standard SSL + The SSL termination is done in the HAProxy load balancer. A standard SSL certificate is needed, installed according to the `HAProxy documentation`_. * Load Balancer - HAProxy running on a dedicated server in front of the application servers. - Sticky session needs to be used because of local session management on the - application servers. + HAProxy running on a dedicated server in front of the application servers. + Sticky session needs to be used because of local session management on the + application servers. -.. comment: (please add configuration details here) -.. comment: why sticky sessions? the nice thing about haproxy is that it can - send requests to the application server with the least load. redis or - memcached seem more appropriate. this is mid size already. the software +.. comment: (please add configuration details here) +.. comment: why sticky sessions? the nice thing about haproxy is that it can + send requests to the application server with the least load. redis or + memcached seem more appropriate. this is mid size already. the software stack should be the same as for L`_ - Frank: Yes. But this only works if haproxy can read the http stream which - means that we have to terminate SSL in the haproxy instead of the Web server. + Frank: Yes. But this only works if haproxy can read the http stream which + means that we have to terminate SSL in the haproxy instead of the Web server. Totally possible. Whatever you prefer :-) - Jörn: AFAIK you need to do SSL offloading to do sticky sessions, because the - load balancer has to look into the http stream or rely on the client IP to - determine the Web server for the session. Not doing SSL offloading instead - requires you to use a shared session (via memcached or redis) because the - requests are distributed via round robin or least load. It allows you to - scale out the ssl load by adding more applicaton servers. So ... I think it + Jörn: AFAIK you need to do SSL offloading to do sticky sessions, because the + load balancer has to look into the http stream or rely on the client IP to + determine the Web server for the session. Not doing SSL offloading instead + requires you to use a shared session (via memcached or redis) because the + requests are distributed via round robin or least load. It allows you to + scale out the ssl load by adding more applicaton servers. So ... I think it is exactly the other way round. * Database - MySQL/MariaDB Galera cluster with master-master replication. + MySQL/MariaDB Galera cluster with master-slave replication. The slave is + only used as failover in case the master is down. This could be extended + with a load balancer infront to distribute writes to the master and reads + to the slave as well. (see "Database load balancer" below) * Backup - Minimum daily backup without downtime. All MySQL/MariaDB statements should + Minimum daily backup without downtime. All MySQL/MariaDB statements should be replicated to a backup MySQL/MariaDB slave instance. - - * Create a snapshot on the NFS storage server. + + * Create a snapshot on the NFS storage server. * At the same time stop the MySQL replication. * Create a MySQL dump of the backup slave. * Push the NFS snapshot to the backup. @@ -199,55 +221,53 @@ Authentication via an existing LDAP or Active Directory server. * Restart MySQL replication. * Authentication - User authentication via one or several LDAP or Active Directory servers. - (See `User Authentication with LDAP`_ for information on configuring + User authentication via one or several LDAP or Active Directory servers. + (See `User Authentication with LDAP`_ for information on configuring Nextcloud to use LDAP and AD.) - -* LDAP - Read-only slaves should be deployed on every application server for + +* LDAP + Read-only slaves should be deployed on every application server for optimal scalability * Session Management - Session management on the application server. PHP sessions are stored - in a tmpfs mounted at the operating system-specific session storage - location. You can find out where that is by running ``grep -R - 'session.save_path' /etc/php5`` and then add it to the ``/etc/fstab`` file, - for example: - ``echo "tmpfs /var/lib/php5/pool-www tmpfs defaults,noatime,mode=1777 0 0" + Session management on the application server. PHP sessions are stored + in a tmpfs mounted at the operating system-specific session storage + location. You can find out where that is by running ``grep -R + 'session.save_path' /etc/php5`` and then add it to the ``/etc/fstab`` file, + for example: + ``echo "tmpfs /var/lib/php5/pool-www tmpfs defaults,noatime,mode=1777 0 0" >> /etc/fstab``. * Memory Caching - A memcache speeds up server performance, and Nextcloud supports four - memcaches; refer to `Configuring Memory Caching`_ for information on + A memcache speeds up server performance, and Nextcloud supports four + memcaches; refer to `Configuring Memory Caching`_ for information on selecting and configuring a memcache. - + * Storage - Use an off-the-shelf NFS solution, such as IBM Elastic Storage or RedHat + Use an off-the-shelf NFS solution, such as IBM Elastic Storage or RedHat Ceph. - -* Nextcloud Edition - Enterprise Edition. (See `Nextcloud Server or Enterprise Edition`_ for - comparisons of the Nextcloud editions.) Large Enterprises and Service Providers --------------------------------------- * Number of users 5,000 to >100,000 users. - + * Storage size Up to 1 petabyte. - + * High availabily level Every component is fully redundant and can fail without service interruption. - Backups without service interruption - + Backups without service interruption + Recommended System Requirements ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 to 20 application/Web servers. -A cluster of two or more database servers. +A cluster of two or more database servers which are behind a load balancer to +send all writes to the master and reads to the slaves. (see "Database load balancer" +below) Storage is an NFS server, or an object store that is S3 compatible. @@ -256,71 +276,112 @@ Cloud federation for a distributed setup over several data centers. Authentication via an existing LDAP or Active Directory server, or SAML. .. figure:: images/deprecs-3.png - :scale: 60% - :alt: Network diagram for large enterprise. + :alt: Network diagram for large enterprise. + +.. comment: + https://yuml.me + [load balancer 1]->[web server 1|local LDAP slave] + [load balancer 1]->[web server 2|local LDAP slave] + [load balancer 1]->[web server 3|local LDAP slave] + [load balancer 1]->[web server 4|local LDAP slave] + [load balancer 2]->[web server 1] + [load balancer 2]->[web server 2] + [load balancer 2]->[web server 3] + [load balancer 2]->[web server 4] + [web server 1]->[NFS] + [web server 2]->[NFS] + [web server 3]->[NFS] + [web server 4]->[NFS] + [web server 1]->[LDAP] + [web server 2]->[LDAP] + [web server 3]->[LDAP] + [web server 4]->[LDAP] + [web server 1]->[Redis 1] + [web server 2]->[Redis 1] + [web server 3]->[Redis 1] + [web server 4]->[Redis 1] + [web server 1]->[Redis 2] + [web server 2]->[Redis 2] + [web server 3]->[Redis 2] + [web server 4]->[Redis 2] + [Redis 1]->[Redis 2] + [Redis 2]->[Redis 1] + [web server 1]->[DB load balancer] + [web server 2]->[DB load balancer] + [web server 3]->[DB load balancer] + [web server 4]->[DB load balancer] + [DB load balancer]->[DB master] + [DB load balancer]->[DB slave 1] + [DB load balancer]->[DB slave 2] + [DB load balancer]->[DB slave 3] + [DB master]->[DB slave 1] + [DB master]->[DB slave 2] + [DB master]->[DB slave 3] * Components * 4 to 20 application servers with 4 sockets and 64GB RAM. - * 4 DB servers with 4 sockets and 128GB RAM - * 2 Hardware load balancer, for example BIG IP from F5 + * 4 DB servers with 4 sockets and 128GB RAM plus a DB load balancer + (see "Database load balancer" below) + * 2 load balancer - either HAProxy with keepalived (heartbeat) and a shared + virutal IP address as a software solution or a hardware load balancer. For + the HAProxy we recommend at least 2 sockets and 16GB RAM each. * NFS storage server as needed. * Operating system - RHEL 7 with latest service packs. + Enterprise grade Linux distribution with full support from OS vendor. Red + Hat Enterprise Linux or Ubuntu 16.04 are recommended. * SSL Configuration - The SSL termination is done in the load balancer. A standard SSL certificate - is needed, installed according to the load balancer documentation. + The SSL termination is done in the load balancer. A standard SSL certificate + is needed, installed according to the load balancer documentation. * Load Balancer - A redundant hardware load-balancer with heartbeat, for example `F5 Big-IP`_. + A redundant load-balancer with heartbeat, for example `HAProxy`_. This runs two load balancers in front of the application servers. * Database - MySQL/MariaDB Galera Cluster with 4x master -- master replication. + MySQL/MariaDB Galera Cluster with master - slave replication (master & 3 slaves). + The load balancer infront distributes writes to the master and reads to the + slaves. (see "Database load balancer" below) * Backup - Minimum daily backup without downtime. All MySQL/MariaDB statements should + Minimum daily backup without downtime. All MySQL/MariaDB statements should be replicated to a backup MySQL/MariaDB slave instance. - - * Create a snapshot on the NFS storage server. + + * Create a snapshot on the NFS storage server. * At the same time stop the MySQL replication. * Create a MySQL dump of the backup slave. * Push the NFS snapshot to the backup. * Push the MySQL dump to the backup. * Delete the NFS snapshot. * Restart MySQL replication. - + * Authentication - User authentication via one or several LDAP or Active Directory + User authentication via one or several LDAP or Active Directory servers, or SAML/Shibboleth. (See `User Authentication with LDAP`_.) * LDAP - Read-only slaves should be deployed on every application server for + Read-only slaves should be deployed on every application server for optimal scalability. * Session Management Redis should be used for the session management storage. * Caching - Redis for distributed in-memory caching (see `Configuring Memory + Redis for distributed in-memory caching (see `Configuring Memory Caching`_). - + * Storage - An off-the-shelf NFS solution should be used. Examples are IBM Elastic - Storage or RedHAT Ceph. Optionally, an S3 compatible object store can also + An off-the-shelf NFS solution should be used. Examples are IBM Elastic + Storage or RedHAT Ceph. Optionally, an S3 compatible object store can also be used. -* Nextcloud Edition - Enterprise Edition. (See `Nextcloud Server or Enterprise Edition`_ for - comparisons of the Nextcloud editions.) - Hardware Considerations ----------------------- * Solid-state drives (SSDs) for I/O. * Separate hard disks for storage and database, SSDs for databases. -* Multiple network interfaces to distribute server synchronisation and backend +* Multiple network interfaces to distribute server synchronisation and backend traffic across multiple subnets. Single Machine / Scale-Up Deployment @@ -330,17 +391,17 @@ The single-machine deployment is widely used in the community. Pros: -* Easy setup: no session storage daemon, use tmpfs and memory caching to +* Easy setup: no session storage daemon, use tmpfs and memory caching to enhance performance, local storage. * No network latency to consider. -* To scale buy a bigger CPU, more memory, larger hard drive, or additional hard +* To scale buy a bigger CPU, more memory, larger hard drive, or additional hard drives. Cons: * Fewer high availability options. -* The amount of data in Nextcloud tends to continually grow. Eventually a - single machine will not scale; I/O performance decreases and becomes a +* The amount of data in Nextcloud tends to continually grow. Eventually a + single machine will not scale; I/O performance decreases and becomes a bottleneck with multiple up- and downloads, even with solid-state drives. Scale-Out Deployment @@ -348,13 +409,15 @@ Scale-Out Deployment Provider setup: -* DNS round robin to HAProxy servers (2-n, SSL offloading, cache static +* DNS round robin to HAProxy servers (2-n, SSL offloading, cache static resources) * Least load to Apache servers (2-n) * Memcached/Redis for shared session storage (2-n) -* Database cluster with single Master, multiple slaves and proxy to split - requests accordingly (2-n) -* GPFS or Ceph via phprados (2-n, 3 to be safe, Ceph 10+ nodes to see speed +* Database cluster with single Master, multiple slaves and proxy to split + requests accordingly (2-n) - HAProxy or `MaxScale`_ are possible proxy + solutions to load balance the writes to the master and reads to the slaves + (see "Database load balancer" below) +* GPFS or Ceph via phprados (2-n, 3 to be safe, Ceph 10+ nodes to see speed benefits under load) Pros: @@ -367,7 +430,7 @@ Cons: * More complicated to setup. * Network becomes the bottleneck (10GB Ethernet recommended). -* Currently DB filecache table will grow rapidly, making migrations painful in +* Currently DB filecache table will grow rapidly, making migrations painful in case the table is altered. What About Nginx / PHP-FPM? @@ -379,10 +442,21 @@ But on uploads stores the whole file on disk before handing it over to PHP-FPM. A Single Master DB is Single Point of Failure, Does Not Scale ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -When master fails another slave can become master. However, the increased -complexity carries some risks: Multi-master has the risk of split brain, and -deadlocks. Nextcloud tries to solve the problem of deadlocks with high-level -file locking. +When master fails another slave can become master. + +A multi-master setup with Galera cluster is not supported, because we require +``READ-COMMITTED`` as transaction isolation level. `Galera doesn't support this +with a master-master replication`_ which will lead to deadlocks during uploads +of multiple files into one directory for example. + +Database load balancer +^^^^^^^^^^^^^^^^^^^^^^ + +When Galera cluster is used as DB cluster solution, we recommend to use +`MaxScale`_ as load balancer infront of the cluster to distribute writes to +the master node and reads to the slaves. + +As alternative also `HAProxy can be used as load balancer for the DB`_. Software Considerations ----------------------- @@ -390,81 +464,78 @@ Software Considerations Operating System ^^^^^^^^^^^^^^^^ -We are dependent on distributions that offer an easy way to install the various -components in up-to-date versions. Nextcloud has a partnership with RedHat -and SUSE for customers who need commercial support. Canonical, the parent -company of Ubuntu Linux, also offers enterprise service and support. Debian -and Ubuntu are free of cost, and include newer software packages. CentOS is the -community-supported free-of-cost Red Hat Enterprise Linux clone. openSUSE is -community-supported, and includes many of the same system administration tools -as SUSE Linux Enterprise Server. +We are dependent on distributions that offer an easy way to install the various +components in up-to-date versions. We recommend Red Hat Enterprise Linux 7 or +Ubuntu 16.04 - for both commercial support can be purchased. Debian +and Ubuntu are free of cost, and include newer software packages. CentOS is the +community-supported free-of-cost Red Hat Enterprise Linux clone. Web server ^^^^^^^^^^ -Taking Apache and Nginx as the contenders, Apache with mod_php is currently the -best option, as Nginx does not support all features necessary for enterprise -deployments. Mod_php is recommended instead of PHP_FPM, because in scale-out +Taking Apache and Nginx as the contenders, Apache with mod_php is currently the +best option, as Nginx does not support all features necessary for enterprise +deployments. Mod_php is recommended instead of PHP_FPM, because in scale-out deployments separate PHP pools are simply not necessary. Relational Database ^^^^^^^^^^^^^^^^^^^ -More often than not the customer already has an opinion on what database to -use. In general, the recommendation is to use what their database administrator -is most familiar with. Taking into account what we are seeing at customer -deployments, we recommend MySQL/MariaDB in a master-slave deployment with a -MySQL proxy in front of them to send updates to master, and selects to the -slave(s). +More often than not the customer already has an opinion on what database to +use. In general, the recommendation is to use what their database administrator +is most familiar with. Taking into account what we are seeing at customer +deployments, we recommend MySQL/MariaDB in a master - slave deployment with a +MySQL proxy in front of them to send updates to master, and selects to the +slave(s). (see "Database load balancer" above) -.. comment: MySQL locks tables for schema updates and might even have to copy - the whole table. That is pretty much a non-starter for migrations unless you - are using a scale out deployment where you can apply the schema changes to - each slave individually. Even then each migration might take several hours. +.. comment: MySQL locks tables for schema updates and might even have to copy + the whole table. That is pretty much a non-starter for migrations unless you + are using a scale out deployment where you can apply the schema changes to + each slave individually. Even then each migration might take several hours. Make sure you have enough disk space. You have been warned. -.. comment: Currently, Nextcloud uses the utf8 character set with utf8_bin - collation on MySQL installations. As a result 4 byte UTF characters like - emojis cannot be used. This can be fixed by [moving to - utf8mb4/utf8mb4_bin](https://github.com/owncloud/core/issues/7030). +.. comment: By default Nextcloud uses the utf8 character set with utf8_bin + collation on MySQL installations. As a result 4 byte UTF characters like + emojis cannot be used. See the config.php option ``'mysql.utf8mb4'`` to + switch to 4 byte UTF characters on MySQL. -The second best option is PostgreSQL (alter table does not lock table, which -makes migration less painful) although we have yet to find a customer who uses a +The second best option is PostgreSQL (alter table does not lock table, which +makes migration less painful) although we have yet to find a customer who uses a master-slave setup. -.. comment: PostgreSQL may produce excessive amounts of dead tuples due to +.. comment: PostgreSQL may produce excessive amounts of dead tuples due to Nextcloud transactions preventing the execution of the autovacum process. What about the other DBMS? -* Sqlite is adequate for simple testing, and for low-load single-user +* Sqlite is adequate for simple testing, and for low-load single-user deployments. It is not adequate for production systems. * Microsoft SQL Server is not a supported option. -* Oracle DB is the de facto standard at large enterprises and is fully - supported with Nextcloud Enterprise Edition only. +* For Oracle DB support please `contact the Nextcloud team`_ to get more + information on this. File Storage ------------ -While many customers are starting with NFS, sooner or later that requires scale-out storage. Currently the options are GPFS or GlusterFS, or an object store protocol like S3 (supported in Enterprise Edition only) or Swift. S3 also allows access to Ceph Storage. +While many customers are starting with NFS, sooner or later that requires scale-out storage. Currently the options are GPFS or GlusterFS, or an object store protocol like S3 or Swift. S3 also allows access to Ceph Storage. -.. comment: A proof of concept implementation based on - [phprados](https://github.com/ceph/phprados) that talks directly to a - [ceph](http://ceph.com/) cluster without having to use temp files is [in +.. comment: A proof of concept implementation based on + [phprados](https://github.com/ceph/phprados) that talks directly to a + [ceph](http://ceph.com/) cluster without having to use temp files is [in development](https://github.com/owncloud/objectstore/pull/26). -.. comment: NFS can be used but needs to be micro-managed to distribute users - on multiple storages. If you want to go that route configure ldap to provide - a custom home folder location. That allows you to move each users data +.. comment: NFS can be used but needs to be micro-managed to distribute users + on multiple storages. If you want to go that route configure ldap to provide + a custom home folder location. That allows you to move each users data folder to different nfs mounts. Session Storage --------------- -* Redis: provides persistence, nice graphical inspection tools available, +* Redis: provides persistence, nice graphical inspection tools available, supports Nextcloud high-level file locking. - -* If Shibboleth is a requirement you must use Memcached, and it can also be + +* If Shibboleth is a requirement you must use Memcached, and it can also be used to scale-out shibd session storage (see `Memcache StorageService`_). .. comment: High Availability / Failover deployment @@ -474,34 +545,43 @@ References ---------- `Database High Availability`_ - + `Performance enhancements for Apache and PHP`_ `How to Set Up a Redis Server as a Session Handler for PHP on Ubuntu 14.04`_ .. TODO ON RELEASE: Update version number below on release -.. _Maintenance: +.. _Maintenance: https://docs.nextcloud.org/server/11/admin_manual/maintenance/index.html .. _User Authentication with LDAP: https://docs.nextcloud.org/server/11/admin_manual/configuration_user/user_auth_ldap.html -.. _Configuring Memory Caching: +.. _Configuring Memory Caching: https://docs.nextcloud.org/server/11/admin_manual/configuration_server/caching_configuration.html -.. _Nextcloud Server or Enterprise Edition: +.. _Nextcloud Server or Enterprise Edition: https://nextcloud.com/enterprise/ -.. _F5 Big-IP: https://f5.com/products/big-ip/ -.. _Memcache StorageService: +.. _Memcache StorageService: https://wiki.shibboleth.net/confluence/display/SHIB2/ NativeSPStorageService#NativeSPStorageService-MemcacheStorageService - -.. _Database High Availability: + +.. _Database High Availability: http://www.severalnines.com/blog/become-mysql-dba-blog-series-database-high- availability -.. _Performance enhancements for Apache and PHP: - http://blog.bitnami.com/2014/06/performance-enhacements-for-apache-and.html -.. _How to Set Up a Redis Server as a Session Handler for PHP on Ubuntu 14.04: +.. _Performance enhancements for Apache and PHP: + http://blog.bitnami.com/2014/06/performance-enhacements-for-apache-and.html +.. _How to Set Up a Redis Server as a Session Handler for PHP on Ubuntu 14.04: https://www.digitalocean.com/community/tutorials/how-to-set-up-a-redis-server -as -a-session-handler-for-php-on-ubuntu-14-04 .. _HAProxy documentation: http://www.haproxy.org/#docs +.. _Galera doesn't support this with a master-master replication: + http://galeracluster.com/documentation-webpages/isolationlevels.html#understanding-isolation-levels +.. _contact the Nextcloud team: + https://nextcloud.com/contact/ +.. _HAProxy can be used as load balancer for the DB: + https://severalnines.com/blog/avoiding-deadlocks-galera-set-haproxy-single-node-writes-and-multi-node-reads +.. _MaxScale: + https://mariadb.com/products/mariadb-maxscale +.. _HAProxy: + http://www.haproxy.org/ diff --git a/admin_manual/installation/images/deprecs-1.png b/admin_manual/installation/images/deprecs-1.png index b80961460..2e21324e2 100644 Binary files a/admin_manual/installation/images/deprecs-1.png and b/admin_manual/installation/images/deprecs-1.png differ diff --git a/admin_manual/installation/images/deprecs-2.png b/admin_manual/installation/images/deprecs-2.png index 9bd1438af..17ceee3b3 100644 Binary files a/admin_manual/installation/images/deprecs-2.png and b/admin_manual/installation/images/deprecs-2.png differ diff --git a/admin_manual/installation/images/deprecs-3.png b/admin_manual/installation/images/deprecs-3.png index d6bfc2b4d..9035cccd1 100644 Binary files a/admin_manual/installation/images/deprecs-3.png and b/admin_manual/installation/images/deprecs-3.png differ diff --git a/admin_manual/installation/installation_wizard.rst b/admin_manual/installation/installation_wizard.rst index a8cb11fcd..1544a3be2 100644 --- a/admin_manual/installation/installation_wizard.rst +++ b/admin_manual/installation/installation_wizard.rst @@ -146,25 +146,24 @@ replace the ``htuser`` and ``htgroup`` variables with your HTTP user and group:: #!/bin/bash ocpath='/var/www/nextcloud' + datapath='/var/www/nextcloud/data' htuser='www-data' htgroup='www-data' rootuser='root' printf "Creating possible missing Directories\n" mkdir -p $ocpath/data - mkdir -p $ocpath/assets mkdir -p $ocpath/updater printf "chmod Files and Directories\n" - find ${ocpath} -type f -print0 | xargs -0 chmod 0640 - find ${ocpath} -type d -print0 | xargs -0 chmod 0750 + find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640 + find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750 printf "chown Directories\n" chown -R ${rootuser}:${htgroup} ${ocpath}/ chown -R ${htuser}:${htgroup} ${ocpath}/apps/ - chown -R ${htuser}:${htgroup} ${ocpath}/assets/ chown -R ${htuser}:${htgroup} ${ocpath}/config/ - chown -R ${htuser}:${htgroup} ${ocpath}/data/ + chown -R ${htuser}:${htgroup} ${datapath} chown -R ${htuser}:${htgroup} ${ocpath}/themes/ chown -R ${htuser}:${htgroup} ${ocpath}/updater/ @@ -176,10 +175,10 @@ replace the ``htuser`` and ``htgroup`` variables with your HTTP user and group:: chmod 0644 ${ocpath}/.htaccess chown ${rootuser}:${htgroup} ${ocpath}/.htaccess fi - if [ -f ${ocpath}/data/.htaccess ] + if [ -f ${datapath}/.htaccess ] then - chmod 0644 ${ocpath}/data/.htaccess - chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess + chmod 0644 ${datapath}/.htaccess + chown ${rootuser}:${htgroup} ${datapath}/.htaccess fi If you have customized your Nextcloud installation and your filepaths are @@ -196,7 +195,6 @@ and files: * The :file:`apps/` directory should be owned by ``[HTTP user]:[HTTP group]`` * The :file:`config/` directory should be owned by ``[HTTP user]:[HTTP group]`` * The :file:`themes/` directory should be owned by ``[HTTP user]:[HTTP group]`` -* The :file:`assets/` directory should be owned by ``[HTTP user]:[HTTP group]`` * The :file:`data/` directory should be owned by ``[HTTP user]:[HTTP group]`` * The :file:`[ocpath]/.htaccess` file should be owned by ``root:[HTTP group]`` * The :file:`data/.htaccess` file should be owned by ``root:[HTTP group]`` diff --git a/admin_manual/installation/nginx_examples.rst b/admin_manual/installation/nginx_examples.rst index 8935c9271..6424dfa69 100644 --- a/admin_manual/installation/nginx_examples.rst +++ b/admin_manual/installation/nginx_examples.rst @@ -3,8 +3,7 @@ Nginx Example Configurations ============================ This page covers example Nginx configurations to use with running an Nextcloud -server. Note that Nginx is not officially supported, and this page is -community-maintained. (Thank you, contributors!) +server. This page is community-maintained. (Thank you, contributors!) - You need to insert the following code into **your Nginx configuration file.** @@ -43,7 +42,9 @@ Suppressing Log Messages If you're seeing meaningless messages in your logfile, for example `client denied by server configuration: /var/www/data/htaccesstest.txt `_, add this section to -your nginx configuration to suppress them:: +your nginx configuration to suppress them: + +.. code-block:: nginx location = /data/htaccesstest.txt { allow all; @@ -58,11 +59,15 @@ 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:: +This could be caused by the: + +.. code-block:: nginx location ~* \.(?:css|js)$ { -block shown above not located **below** the:: +block shown above not located **below** the: + +.. code-block:: nginx location ~ \.php(?:$|/) { @@ -72,23 +77,21 @@ or CSS (.css) files via gzip could also cause such issues. Performance Tuning ================== -`nginx (<1.9.5) `_ -`nginx (+1.9.5) `_ +* `nginx (<1.9.5) `_ +* `nginx (+1.9.5) `_ To use http_v2 for nginx you have to check two things: - 1.) be aware that this module is not built in by default due to a dependency - to the openssl version used on your system. It will be enabled with the - ``--with-http_v2_module`` configuration parameter during compilation. The - dependency should be checked automatically. You can check the presence of - http_v2 with ``nginx -V 2>&1 | grep http_v2 -o``. An example of how to - compile nginx can be found in section "Configure nginx with the - ``nginx-cache-purge`` module" below. +1.) be aware that this module is not built in by default due to a dependency +to the openssl version used on your system. It will be enabled with the +``--with-http_v2_module`` configuration parameter during compilation. The +dependency should be checked automatically. You can check the presence of +http_v2 with ``nginx -V 2>&1 | grep http_v2 -o``. An example of how to +compile nginx can be found in section "Configure nginx with the +``nginx-cache-purge`` module" below. - 2.) When you have used SPDY before, the nginx config has to be changed from - ``listen 443 ssl spdy;`` to ``listen 443 ssl http2;`` +2.) When you have used SPDY before, the nginx config has to be changed from +``listen 443 ssl spdy;`` to ``listen 443 ssl http2;`` nginx: caching Nextcloud gallery thumbnails =========================================== @@ -247,7 +250,9 @@ Configure nginx with the ``nginx-cache-purge`` module sudo vi /etc/nginx/sites-enabled/{your-nextcloud-nginx-config-file} -Add at the *beginning*, but *outside* the ``server{}`` block:: +Add at the *beginning*, but *outside* the ``server{}`` block: + +.. code-block:: nginx # cache_purge fastcgi_cache_path {path} levels=1:2 keys_zone=NEXTCLOUD:100m inactive=60m; @@ -261,15 +266,18 @@ Add at the *beginning*, but *outside* the ``server{}`` block:: .. note:: Please adopt or delete any regex line in the ``map`` block according your needs and the Nextcloud version used. As an alternative to mapping, you can use as many ``if`` statements in - your server block as necessary:: + your server block as necessary: + + .. code-block:: nginx set $skip_cache 1; if ($request_uri ~* "thumbnail.php") { set $skip_cache 0; } if ($request_uri ~* "/apps/galleryplus/") { set $skip_cache 0; } if ($request_uri ~* "/apps/gallery/") { set $skip_cache 0; } -Add *inside* the ``server{}`` block, as an example of a configuration:: - +Add *inside* the ``server{}`` block, as an example of a configuration: + +.. code-block:: nginx # cache_purge (with $http_cookies we have unique keys for the user) fastcgi_cache_key $http_cookie$request_method$host$request_uri; @@ -277,13 +285,14 @@ Add *inside* the ``server{}`` block, as an example of a configuration:: fastcgi_ignore_headers Cache-Control Expires Set-Cookie; location ~ \.php(?:$/) { - fastcgi_split_path_info ^(.+\.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; + fastcgi_request_buffering off; #Available since nginx 1.7.11 # cache_purge fastcgi_cache_bypass $skip_cache; @@ -296,13 +305,15 @@ Add *inside* the ``server{}`` block, as an example of a configuration:: .. note:: Note regarding the ``fastcgi_pass`` parameter: Use whatever fits your configuration. In the example above, an ``upstream`` was defined in an nginx global configuration file. - This may look like:: + This may look like: + + .. code-block:: nginx - upstream php-handler { - server unix:/var/run/php5-fpm.sock; - # or - # server 127.0.0.1:9000; - } + upstream php-handler { + server unix:/var/run/php5-fpm.sock; + # or + # server 127.0.0.1:9000; + } 3. **Test the configuration** diff --git a/admin_manual/installation/nginx_nextcloud_9x.rst b/admin_manual/installation/nginx_nextcloud_9x.rst index 631a04779..5c3a63f16 100644 --- a/admin_manual/installation/nginx_nextcloud_9x.rst +++ b/admin_manual/installation/nginx_nextcloud_9x.rst @@ -1,6 +1,6 @@ -================================================== -Nginx Configuration for the Nextcloud 9.x Branches -================================================== +=================== +Nginx Configuration +=================== The following configuration should be used when Nextcloud is placed in the webroot of your Nginx installation. Be careful about line breaks if you copy @@ -18,7 +18,7 @@ Nextcloud in the webroot of nginx The following config should be used when Nextcloud is placed in the webroot of your nginx installation. -:: +.. code-block:: nginx upstream php-handler { server 127.0.0.1:9000; @@ -84,9 +84,6 @@ your nginx installation. # This module is currently not supported. #pagespeed off; - error_page 403 /core/templates/403.php; - error_page 404 /core/templates/404.php; - location / { rewrite ^ /index.php$uri; } @@ -99,8 +96,8 @@ your nginx installation. } location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\.php(?:$|/) { + fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; - fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param HTTPS on; @@ -151,7 +148,7 @@ Nextcloud in a subdir of nginx The following config should be used when Nextcloud is placed within a subdir of your nginx installation. -:: +.. code-block:: nginx upstream php-handler { server 127.0.0.1:9000; @@ -221,10 +218,7 @@ your nginx installation. # Uncomment if your server is build with the ngx_pagespeed module # This module is currently not supported. #pagespeed off; - - error_page 403 /nextcloud/core/templates/403.php; - error_page 404 /nextcloud/core/templates/404.php; - + location /nextcloud { rewrite ^ /nextcloud/index.php$uri; } @@ -237,8 +231,8 @@ your nginx installation. } location ~ ^/nextcloud/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\.php(?:$|/) { + fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; - fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param HTTPS on; diff --git a/admin_manual/installation/selinux_configuration.rst b/admin_manual/installation/selinux_configuration.rst index 1a797bed8..4ceb8b0b7 100644 --- a/admin_manual/installation/selinux_configuration.rst +++ b/admin_manual/installation/selinux_configuration.rst @@ -12,22 +12,22 @@ The following settings should work for most SELinux systems that use the default distro profiles. Run these commands as root, and remember to adjust the filepaths in these examples for your installation:: - semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/data' - restorecon '/var/www/html/nextcloud/data' - semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/config' - restorecon '/var/www/html/nextcloud/config' - semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/apps' - restorecon '/var/www/html/nextcloud/apps' + semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/data(/.*)?' + restorecon -v -R '/var/www/html/nextcloud/data' + semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/config(/.*)?' + restorecon -v -R '/var/www/html/nextcloud/config' + semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/apps(/.*)?' + restorecon -v -R '/var/www/html/nextcloud/apps' If you uninstall Nextcloud you need to remove the Nextcloud directory labels. To do this execute the following commands as root after uninstalling Nextcloud:: - semanage fcontext -d -t httpd_sys_rw_content_t '/var/www/html/nextcloud/data' - restorecon '/var/www/html/nextcloud/data' - semanage fcontext -d -t httpd_sys_rw_content_t '/var/www/html/nextcloud/config' - restorecon '/var/www/html/nextcloud/config' - semanage fcontext -d -t httpd_sys_rw_content_t '/var/www/html/nextcloud/apps' - restorecon '/var/www/html/nextcloud/apps' + semanage fcontext -d -t httpd_sys_rw_content_t '/var/www/html/nextcloud/data(/.*)?' + restorecon -v -R '/var/www/html/nextcloud/data' + semanage fcontext -d -t httpd_sys_rw_content_t '/var/www/html/nextcloud/config(/.*)?' + restorecon -v -R '/var/www/html/nextcloud/config' + semanage fcontext -d -t httpd_sys_rw_content_t '/var/www/html/nextcloud/apps(/.*)?' + restorecon -v -R '/var/www/html/nextcloud/apps' If you have customized SELinux policies and these examples do not work, you must give the HTTP server write access to these directories:: @@ -80,4 +80,4 @@ For general Troubleshooting of SELinux and its profiles try to install the packa sealert -a /var/log/audit/audit.log > /path/to/mylogfile.txt -to get a report which helps you configuring your SELinux profiles. \ No newline at end of file +to get a report which helps you configuring your SELinux profiles. diff --git a/admin_manual/installation/source_installation.rst b/admin_manual/installation/source_installation.rst index 7067e74c8..334028987 100644 --- a/admin_manual/installation/source_installation.rst +++ b/admin_manual/installation/source_installation.rst @@ -35,30 +35,31 @@ The Nextcloud .tar archive contains all of the required PHP modules. This section lists all required and optional PHP modules. Consult the `PHP manual `_ for more information on modules. Your Linux distribution should have packages for all required modules. You can -check the precense of a module by typing ``php -m | grep -i ``. +check the presence of a module by typing ``php -m | grep -i ``. If you get a result, the module is present. Required: -* php5 (>= 5.4) +* PHP (>= 5.6, 7.0 or 7.1) * PHP module ctype * PHP module dom * PHP module GD * PHP module iconv * PHP module JSON * PHP module libxml (Linux package libxml2 must be >=2.7.0) -* PHP module mb multibyte +* PHP module mbstring * PHP module posix * PHP module SimpleXML +* PHP module XMLReader * PHP module XMLWriter * PHP module zip * PHP module zlib Database connectors (pick the one for your database:) -* PHP module sqlite (>= 3, usually not recommended for performance reasons) +* PHP module pdo_sqlite (>= 3, usually not recommended for performance reasons) * PHP module pdo_mysql (MySQL/MariaDB) -* PHP module pgsql (requires PostgreSQL >= 9.0) +* PHP module pdo_pgsql (requires PostgreSQL >= 9.0) *Recommended* packages: @@ -87,10 +88,9 @@ Recommended for specific apps (*optional*): For enhanced server performance (*optional*) select one of the following memcaches: -* PHP module apc -* PHP module apcu +* PHP module apcu (>= 4.0.6) * PHP module memcached -* PHP module redis (>= 2.2.5, required for Transactional File Locking) +* PHP module redis (>= 2.2.6, required for Transactional File Locking) See :doc:`../configuration_server/caching_configuration` to learn how to select and configure a memcache. @@ -113,23 +113,23 @@ If ``mod_webdav`` is enabled you must disable it for Nextcloud. (See .. _ubuntu_installation_label: -Example Installation on Ubuntu 14.04 LTS Server +Example Installation on Ubuntu 16.04 LTS Server ----------------------------------------------- -On a machine running a pristine Ubuntu 14.04 LTS server, install the +On a machine running a pristine Ubuntu 16.04 LTS server, install the required and recommended modules for a typical Nextcloud 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 + apt-get install apache2 mariadb-server libapache2-mod-php7.0 + apt-get install php7.0-gd php7.0-json php7.0-mysql php7.0-curl php7.0-mbstring + apt-get install php7.0-intl php7.0-mcrypt php-imagick php7.0-xml php7.0-zip * This installs the packages for the Nextcloud core system. - ``libapache2-mod-php5`` provides the following PHP extensions: ``bcmath bz2 + ``libapache2-mod-php7.0`` provides the following PHP extensions: ``bcmath bz2 calendar Core ctype date dba dom ereg exif fileinfo filter ftp gettext hash - iconv libxml mbstring mhash openssl pcre Phar posix Reflection session shmop + iconv libxml mhash openssl pcre Phar posix Reflection session shmop SimpleXML soap sockets SPL standard sysvmsg sysvsem sysvshm tokenizer wddx - xml xmlreader xmlwriter zip zlib``. If you are planning + xmlreader xmlwriter zlib``. If you are planning on running additional apps, keep in mind that they might require additional packages. See :ref:`prerequisites_label` for details. @@ -249,7 +249,7 @@ Additional Apache Configurations authentication on a parent folder (via e.g. an ``AuthType Basic`` directive), you can turn off the authentication specifically for the Nextcloud entry. Following the above example configuration file, add the - following line in the ```` section:: Satisfy Any @@ -363,11 +363,11 @@ ini file. This can be the case, for example, for the ``date.timezone`` setting. php-fpm Configuration Notes --------------------------- -**Security: Use at least PHP => 5.5.22 or >= 5.6.6** +**Security: Use at least PHP >= 5.6.6** Due to `a bug with security implications `_ in older PHP releases with the handling of XML data you are highly encouraged to run -at least PHP 5.5.22 or 5.6.6 when in a threaded environment. +at least PHP 5.6.6 when in a threaded environment. **System environment variables** diff --git a/admin_manual/installation/system_requirements.rst b/admin_manual/installation/system_requirements.rst index c7dd66b5f..e823cc93d 100644 --- a/admin_manual/installation/system_requirements.rst +++ b/admin_manual/installation/system_requirements.rst @@ -14,28 +14,26 @@ Recommended Setup for Running Nextcloud For best performance, stability, support, and full functionality we recommend: -* Red Hat Enterprise Linux 7 +* Red Hat Enterprise Linux 7 / Ubuntu 16.04 LTS * MySQL/MariaDB -* PHP 5.4 + +* PHP 7.0 + * Apache 2.4 with mod_php Supported Platforms ------------------- * Server: Linux (Debian 7, SUSE Linux Enterprise Server 11 SP3 & 12, - Red Hat Enterprise Linux/Centos 6.5 and 7 (7 is 64-bit only), Ubuntu 12.04 - LTS, 14.04 LTS, 14.10) -* Web server: Apache 2 with mod_php + Red Hat Enterprise Linux/CentOS 6.5 and 7 (7 is 64-bit only), Ubuntu 14.04 LTS, 16.04 LTS) +* Web server: Apache 2 (mod_php, php-fpm) or Nginx (php-fpm) * Databases: MySQL/MariaDB 5.5+; PostgreSQL; Oracle 11g (currently only possible if you `contact us ` as part of a subscription) -* PHP 5.4 + required +* PHP 5.6 + required * Hypervisors: Hyper-V, VMware ESX, Xen, KVM * Desktop: Windows XP SP3 (EoL Q2 2015), Windows 7+, Mac OS X 10.7+ (64-bit only), Linux (CentOS 6.5, 7 (7 is 64-bit only), Ubuntu 12.04 LTS, 14.04 LTS, 14.10, Fedora 20, 21, openSUSE 12.3, 13, Debian 7 & 8). * Mobile apps: iOS 7+, Android 4+ -* Web browser: IE9+ (except Compatibility Mode), Firefox 14+, Chrome 18+, - Safari 5+ +* Web browser: IE11+, Microsoft Edge, Firefox 14+, Chrome 18+, Safari 7+ See :doc:`source_installation` for minimum software versions for installing Nextcloud. @@ -48,3 +46,18 @@ The following is currently required if you're running Nextcloud together with a * Disabled or BINLOG_FORMAT = MIXED configured Binary Logging (See: :ref:`db-binlog-label`) * InnoDB storage engine (MyISAM is not supported) * "READ COMMITED" transaction isolation level (See: :ref:`db-transaction-label`) + +Emoji (UTF8 4-byte) support with MySQL / MariaDB +================================================ +If you want to use UTF8 4-byte characters such as Emojis on your server, the database needs to be created with character set ``utf8mb4`` and collate ``utf8mb4_general_ci``, e.g.:: + + CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; + +Additionally the following InnoDB settings need to be set:: + + [mysqld] + innodb_large_prefix=on + innodb_file_format=barracuda + innodb_file_per_table=true + +See :doc:`../maintenance/mysql_4byte_support` for more information. diff --git a/admin_manual/issues/general_troubleshooting.rst b/admin_manual/issues/general_troubleshooting.rst index ce37992a7..9802bf6eb 100644 --- a/admin_manual/issues/general_troubleshooting.rst +++ b/admin_manual/issues/general_troubleshooting.rst @@ -6,8 +6,7 @@ If you have trouble installing, configuring or maintaining Nextcloud, please refer to our community support channels: * `The Nextcloud Forums`_ - -.. note:: The Nextcloud forums have a `FAQ page`_ where each topic corresponds + The Nextcloud forums have a `FAQ page`_ where each topic corresponds to typical mistakes or frequently occurring issues * `The Nextcloud forums`_ @@ -35,6 +34,8 @@ configuration report with the :ref:`occ config command `, with passwords automatically obscured. .. _the Nextcloud Forums: https://help.nextcloud.com +.. _FAQ page: https://help.nextcloud.com/c/faq +.. _bugtracker: https://github.com/nextcloud/server/issues .. _webchat: http://webchat.freenode.net/?channels=nextcloud https://docs.nextcloud.org/server/11/developer_manual/bugtracker/index.html .. TODO ON RELEASE: Update version number above on release diff --git a/admin_manual/maintenance/backup.rst b/admin_manual/maintenance/backup.rst index 13e4e0cc4..cc7b039da 100644 --- a/admin_manual/maintenance/backup.rst +++ b/admin_manual/maintenance/backup.rst @@ -20,13 +20,15 @@ your Nextcloud environment. You could use this command:: Backup Database --------------- +.. warning:: Before restoring a backup see :doc:`restore` + MySQL/MariaDB ^^^^^^^^^^^^^ MySQL or MariaDB, which is a drop-in MySQL replacement, is the recommended database engine. To backup MySQL/MariaDB:: - mysqldump --lock-tables -h [server] -u [username] -p[password] [db_name] > nextcloud-sqlbkp_`date +"%Y%m%d"`.bak + mysqldump --single-transaction -h [server] -u [username] -p[password] [db_name] > nextcloud-sqlbkp_`date +"%Y%m%d"`.bak SQLite ^^^^^^ diff --git a/admin_manual/maintenance/index.rst b/admin_manual/maintenance/index.rst index 320da6c37..0927fe94f 100644 --- a/admin_manual/maintenance/index.rst +++ b/admin_manual/maintenance/index.rst @@ -13,3 +13,4 @@ Maintenance manual_upgrade restore migrating + mysql_4byte_support diff --git a/admin_manual/maintenance/manual_upgrade.rst b/admin_manual/maintenance/manual_upgrade.rst index 77950e507..89bbca5cc 100644 --- a/admin_manual/maintenance/manual_upgrade.rst +++ b/admin_manual/maintenance/manual_upgrade.rst @@ -16,13 +16,13 @@ The other way is by entering your ``config.php`` file and changing ``'maintenance' => false,`` to ``'maintenance' => true,``. 1. Back up your existing Nextcloud Server database, data directory, and - ``config.php`` file. (See :doc:`backup`.) + ``config.php`` file. (See :doc:`backup`, for restore information see :doc:`restore`) 2. Download and unpack the latest Nextcloud Server release (Archive file) from `nextcloud.com/install/`_ into an empty directory outside of your current installation. .. note:: To unpack your new tarball, run: - tar xjf nextcloud-[version].tar.bz2 + unzip nextcloud-[version].zip 3. Stop your Web server. @@ -47,15 +47,21 @@ The other way is by entering your ``config.php`` file and changing directory to see if they are there. If not, copy them from your old ``apps/`` directory to your new one. Make sure the directory permissions of your third party application directories are the same as for the other ones. + +9. Adjust file ownership and permissions:: -9. Restart your Web server. + chown -R www-data:www-data nextcloud + find nextcloud/ -type d -exec chmod 750 {} \; + find nextcloud/ -type f -exec chmod 640 {} \; -10. Now launch the upgrade from the command line using ``occ``, like this - example on CentOS Linux:: +10. Restart your Web server. + +11. Now launch the upgrade from the command line using ``occ``, like this + example on Ubuntu Linux:: - sudo -u apache php occ upgrade + sudo -u www-data php occ upgrade -11. The upgrade operation takes a few minutes to a few hours, depending on the +12. The upgrade operation takes a few minutes to a few hours, depending on the size of your installation. When it is finished you will see a success message, or an error message that will tell where it went wrong. @@ -75,11 +81,6 @@ Previous Nextcloud Releases You'll find previous Nextcloud releases in the `Nextcloud Server Changelog `_. -Reverse Upgrade ---------------- - -If you need to reverse your upgrade, see :doc:`restore`. - Troubleshooting --------------- diff --git a/admin_manual/maintenance/mysql_4byte_support.rst b/admin_manual/maintenance/mysql_4byte_support.rst new file mode 100644 index 000000000..d6f44bcaf --- /dev/null +++ b/admin_manual/maintenance/mysql_4byte_support.rst @@ -0,0 +1,60 @@ +============================= +Enabling MySQL 4-byte support +============================= + +.. note:: This feature is currently **experimental**. + +In order to use Emojis (textbased smilies) on your Nextcloud server with a MySQL database, the +installation needs to be tweaked a bit. + +1. Update your Nextcloud server to Nextcloud 11 or later. +2. Make sure the following InnoDB settings are set on your MySQL server:: + + [mysqld] + innodb_large_prefix=on + innodb_file_format=barracuda + innodb_file_per_table=1 + +3. Restart the MySQL server in case you changed the configuration in step 2. +4. Change your databases character set and collation:: + + ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; + +5. Set the ``mysql.utf8mb4`` config to true in your config.php:: + + $ sudo -u www-data occ config:system:set mysql.utf8mb4 --type boolean --value="true" + +6. Convert all existing tables to the new collation by running the repair step:: + + $ sudo -u www-data occ maintenance:repair + +Now you should be able to use Emojis in your file names, calendar events, comments and many more. + +MariaDB support +=============== + +.. note:: This is even more **experimental**. + +1. Follow MySQL steps 1, 2 and 3 + +2. Figure out whether the file formate was changed to Barracuda:: + + MariaDB> SELECT NAME, SPACE, FILE_FORMAT FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME like "nextcloud%"; + +If the file format is "Barracuda" for every single table, nothing is left to do. Continue with the MySQL instructions. While testing, all tables' file format was "Antelope". + +3. The tables needs to be migrated to "Barracuda" manually, one by one. SQL commands can be created easily, however:: + + MariaDB> USE INFORMATION_SCHEMA; + MariaDB> SELECT CONCAT("ALTER TABLE `", TABLE_SCHEMA,"`.`", TABLE_NAME, "` ROW_FORMAT=DYNAMIC;") AS MySQLCMD FROM TABLES WHERE TABLE_SCHEMA = "nextcloud"; + +This will return an SQL command for each table in the nextcloud database. The rows can be quickly copied into a text editor, the "|"s replaced and the SQL commands copied back to the MariaDB shell. If no error appeared (in doubt check step 2) all is done and nothing is left to do here. It can be proceded with the MySQL steps. + +4. It is possible, however, that some tables cannot be altered. The operations fails with: "ERROR 1478 (HY000): Table storage engine 'InnoDB' does not support the create option 'ROW_FORMAT'". In that case the failing tables have a SPACE value of 0 in step 2. It basically means that the table does not have an index file of its own, which is required for the Barracuda format. This can be solved with a slightly different SQL command:: + + MariaDB> ALTER TABLE `nextcloud`.`oc_tablename` ROW_FORMAT=DYNAMIC, ALGORITHM=COPY; + +Replace oc_tablename with the failing table. If there are too many (did not happen here), SQL commands can be generated in a batch (task for the reader). + +Now everything should be fine and the MySQL instructions should be proceeded. + diff --git a/admin_manual/maintenance/package_upgrade.rst b/admin_manual/maintenance/package_upgrade.rst index 2088b2ca2..2b0b1a0ce 100644 --- a/admin_manual/maintenance/package_upgrade.rst +++ b/admin_manual/maintenance/package_upgrade.rst @@ -47,9 +47,7 @@ using Snappy Base 16.04 as it's currently unreleased. * Make a :doc:`fresh backup `. * Upgrade your Nextcloud snap: sudo snap refresh nextcloud -* Run :ref:`occ upgrade ` (optionally disabling the - :ref:`migration test - `). +* Run :ref:`occ upgrade `. * :ref:`Apply strong permissions ` to your Nextcloud directories. * Take your Nextcloud server out of :ref:`maintenance mode @@ -81,20 +79,6 @@ This example is for CentOS/RHEL/Fedora:: sudo -u apache php occ upgrade -.. _migration_test_label: - -Migration Test --------------- - -Before completing the upgrade, Nextcloud first runs a simulation by copying all -database tables to new tables, and then performs the upgrade on them, to ensure -that the upgrade will complete correctly. The copied tables are deleted after -the upgrade. This takes twice as much time, which on large installations can be -many hours, so you can omit this step with the ``--skip-migration-test`` -option, like this example on CentOS:: - - $ sudo -u apache php occ upgrade --skip-migration-test - Setting Strong Directory Permissions ------------------------------------ diff --git a/admin_manual/maintenance/restore.rst b/admin_manual/maintenance/restore.rst index 2b0fbc507..6579af943 100644 --- a/admin_manual/maintenance/restore.rst +++ b/admin_manual/maintenance/restore.rst @@ -30,6 +30,38 @@ install and data folder) to your Nextcloud environment. You could use this comma Restore Database ---------------- +Clean Database Before Restoring +=============================== + +.. warning:: Before restoring a backup you need to make sure to delete all existing database tables. + +The easiest way to do this is to drop and recreate the database. +SQLite does this automatically. + +MySQL +^^^^^ + +MySQL is the recommended database engine. To restore MySQL:: + + mysql -h [server] -u [username] -p[password] -e "DROP DATABASE nextcloud" + mysql -h [server] -u [username] -p[password] -e "CREATE DATABASE nextcloud" + +If you use UTF8 with multibyte support (e.g. for emoijs in filenames), use:: + + mysql -h [server] -u [username] -p[password] -e "DROP DATABASE nextcloud" + mysql -h [server] -u [username] -p[password] -e "CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci" + + +PostgreSQL +^^^^^^^^^^ +:: + + PGPASSWORD="password" psql -h [server] -U [username] -d nextcloud -c "DROP DATABASE \"nextcloud\";" + PGPASSWORD="password" psql -h [server] -U [username] -d nextcloud -c "CREATE DATABASE \"nextcloud\";" + +Restoring +========= + .. note:: This guide assumes that your previous backup is called "nextcloud-sqlbkp.bak" diff --git a/admin_manual/maintenance/update.rst b/admin_manual/maintenance/update.rst index 31ea4b58a..e35c75b4a 100644 --- a/admin_manual/maintenance/update.rst +++ b/admin_manual/maintenance/update.rst @@ -74,15 +74,6 @@ steps: This example is for Ubuntu Linux:: $ sudo -u www-data php occ upgrade - -Before completing the upgrade, Nextcloud first runs a simulation by copying all -database tables to new tables, and then performs the upgrade on them, to ensure -that the upgrade will complete correctly. The copied tables are deleted after -the upgrade. This takes twice as much time, which on large installations can be -many hours, so you can omit this step with the ``--skip-migration-test`` -option, like this example on Ubuntu:: - - $ sudo -u www-data php occ upgrade --skip-migration-test See :doc:`../configuration_server/occ_command` to learn more. diff --git a/admin_manual/maintenance/upgrade.rst b/admin_manual/maintenance/upgrade.rst index 2315859b6..557132cb3 100644 --- a/admin_manual/maintenance/upgrade.rst +++ b/admin_manual/maintenance/upgrade.rst @@ -4,14 +4,9 @@ How to Upgrade Your Nextcloud Server There are three ways to upgrade your Nextcloud server: -* Using your :doc:`Linux package manager ` with our official - Nextcloud repositories. This is the recommended method. -* With the :doc:`Updater App ` (Server Edition only). Recommended for - shared hosters, and for users who want an easy way to track different - release channels. (It is not available and not supported on the Enterprise - edition.) +* With the :doc:`Updater App `. * :doc:`Manually upgrading ` with the Nextcloud ``.tar`` archive - from `https://nextcloud.com/install/`_. + from our `Download page `_. * Manually upgrading is also an option for users on shared hosting; download and unpack the Nextcloud tarball to your PC. Delete your existing Nextcloud files, except ``data/`` and ``config/`` files, on your hosting account. Then diff --git a/admin_manual/operations/scaling_multiple_machines.rst b/admin_manual/operations/scaling_multiple_machines.rst index b4f9c6969..e0979a5fa 100644 --- a/admin_manual/operations/scaling_multiple_machines.rst +++ b/admin_manual/operations/scaling_multiple_machines.rst @@ -28,7 +28,7 @@ structure placing the Nextcloud code in the Apache root directory. The following components were installed on each application server: * Apache -* PHP 5.4.x +* PHP 5.6.x * PHP-GD * PHP-XML * PHP-MYSQL diff --git a/admin_manual/operations/theming.rst b/admin_manual/operations/theming.rst index 4ea74638d..86945113b 100644 --- a/admin_manual/operations/theming.rst +++ b/admin_manual/operations/theming.rst @@ -6,4 +6,7 @@ Theming Nextcloud :maxdepth: 2 :hidden: -The theming is documented in the `developers documentation <../../developer_manual/core/theming.html>`_. + +Theming can be done very easily using the shipped `theming app <../configuration_server/theming.html>`_, which is enabled by default. + +For more individual theming options please head over to the `developers documentation <../../developer_manual/core/theming.html>`_. diff --git a/admin_manual/release_notes.rst b/admin_manual/release_notes.rst index 2b2e62652..7f3829ab0 100644 --- a/admin_manual/release_notes.rst +++ b/admin_manual/release_notes.rst @@ -3,7 +3,7 @@ Nextcloud |version| Release Notes ================================= -Changes in 10 +Changes in 11 ------------- tbd diff --git a/admin_manual/whats_new_admin.rst b/admin_manual/whats_new_admin.rst deleted file mode 100644 index fac61c1e9..000000000 --- a/admin_manual/whats_new_admin.rst +++ /dev/null @@ -1,7 +0,0 @@ -============================================ -What's New for Admins in Nextcloud |version| -============================================ - -See the `Nextcloud 10 Features page -`_ on Github for a -comprehensive list of new features and updates. diff --git a/developer_manual/app/appdata.rst b/developer_manual/app/appdata.rst new file mode 100644 index 000000000..00afa5246 --- /dev/null +++ b/developer_manual/app/appdata.rst @@ -0,0 +1,45 @@ +======= +AppData +======= + +.. sectionauthor:: Roeland Jago Douma + +Often an app wants to store data. However not all data that is stored belongs with the users files. +Often you just want a very simple storage to have some temp files. In order to facilitate this there +is the AppData folder that provides each app with a private simple filesystem. + +Usage is almost trivial when your app is using the AppFramework. + +.. code-block:: php + + appData = $appData; + } + } + +This gives your controller access to the IAppData simple filesystem of your app. + +The Simple Filesystem +===================== + +The `IAppData` uses the simple filesystem. This is a very simplified filesystem that will allow for easy +mapping to for example memcaches. The filesystem has three elements: `root`, `folder`, `file`. + +The `root` can only contain folders. And each folder can only contain files. This is limited to keep +things simple and to allow easy mapping to other backends. For example a sysadmin might chose to map the +avatars to fast storage since they are used often. diff --git a/developer_manual/app/code_signing.rst b/developer_manual/app/code_signing.rst index 3d97ea8ad..4dbd5ac6d 100644 --- a/developer_manual/app/code_signing.rst +++ b/developer_manual/app/code_signing.rst @@ -118,7 +118,7 @@ examples will assume that you are trying to sign an application named "contacts". 1. Generate a private key and CSR: ``openssl req -nodes -newkey rsa:2048 -keyout contacts.key -out contacts.csr -subj "/CN=contacts"``. Replace "contacts" with your application identifier. -2. Post the CSR at https://github.com/owncloud/appstore-issues, and configure +2. Post the CSR at https://github.com/nextcloud/app-certificate-requests, and configure your GitHub account to show your mail address in your profile. Nextcloud might ask you for further information to verify that you're the legitimate owner of the application. Make sure to keep the private key file (``contacts.key``) diff --git a/developer_manual/app/container.rst b/developer_manual/app/container.rst index 2ea068a2d..1a75061c3 100644 --- a/developer_manual/app/container.rst +++ b/developer_manual/app/container.rst @@ -146,7 +146,7 @@ The container works in the following way: * The **database connection** is returned from the server container * Now **AuthorMapper** has all of its dependencies and the object is returned * **AuthorService** gets the **AuthorMapper** and returns the object -* **AuthorController** gets the **AuthorService** and finally the controller can be ``new``ed and the object is returned +* **AuthorController** gets the **AuthorService** and finally the controller can be instantiated and the object is returned So basically the container is used as a giant factory to build all the classes that are needed for the application. Because it centralizes all the creation of objects (the **new Class()** lines), it is very easy to add new constructor parameters without breaking existing code: only the **__construct** method and the container line where the **new** is being called need to be changed. diff --git a/developer_manual/app/controllers.rst b/developer_manual/app/controllers.rst index 3872ca1ac..68eac0303 100644 --- a/developer_manual/app/controllers.rst +++ b/developer_manual/app/controllers.rst @@ -653,7 +653,7 @@ OCS --- .. note:: This is purely for compatibility reasons. If you are planning to offer an external API, go for a :doc:`api` instead. -In order to ease migration from OCS API routes to the App Framework, an additional controller and response have been added. To migrate your API you can use the **OCP\\AppFramework\\OCSController** baseclass and return your data in the form of an array in the following way: +In order to ease migration from OCS API routes to the App Framework, an additional controller and response have been added. To migrate your API you can use the **OCP\\AppFramework\\OCSController** baseclass and return your data in the form of a DataResponse in the following way: .. code-block:: php @@ -661,6 +661,7 @@ In order to ease migration from OCS API routes to the App Framework, an addition [ - // actual data is in here - ], - // optional - 'statuscode' => 100, - 'status' => 'OK' - ]; + return new DataResponse([ + //Your data here + ]); } } The format parameter works out of the box, no intervention is required. +In order to make routing work for OCS routes you need to add a seperate 'ocs' entry to the routing table of your app. +Inside these are normal routes. + +.. code-block:: php + + [ + [ + 'name' => 'Share#getShares', + 'url' => '/api/v1/shares', + 'verb' => 'GET', + ], + ], + ]; + +Now your method will be reachable via ``/ocs/v2.php/apps//api/v1/shares`` + Handling errors --------------- Sometimes a request should fail, for instance if an author with id 1 is requested but does not exist. In that case use an appropriate `HTTP error code `_ to signal the client that an error occurred. @@ -714,9 +729,6 @@ Each response subclass has access to the **setStatus** method which lets you set } - - - Authentication ============== By default every controller method enforces the maximum security, which is: @@ -756,4 +768,76 @@ A controller method that turns off all checks would look like this: } +Rate limiting +============= +Nextcloud supports rate limiting on a controller method basis. By default controller methods are not rate limited. Rate limiting should be used on expensive or security sensitive functions (e.g. password resets) to increase the overall security of your application. +The native rate limiting will return a 429 status code to clients when the limit is reached and a default Nextcloud error page. When implementing rate limiting in your application, you should thus consider handling error situations where a 429 is returned by Nextcloud. + +To enable rate limiting the following *Annotations* can be added to the controller: + +* **@UserRateThrottle(limit=int, period=int)**: The rate limiting that is applied to logged-in users. If not specified Nextcloud will fallback to AnonUserRateThrottle. +* **@AnonRateThrottle(limit=int, period=int)**: The rate limiting that is applied to guests. + +A controller method that would allow five requests for logged-in users and one request for anonymous users within the last 100 seconds would look as following: + +.. code-block:: php + + auth->isSuccessful here is just an + // example. + if(!$this->auth->isSuccessful()) { + $templateResponse->throttle(); + } + return $templateResponse; + } + } \ No newline at end of file diff --git a/developer_manual/app/css.rst b/developer_manual/app/css.rst index 998a3e16e..ceef04adc 100644 --- a/developer_manual/app/css.rst +++ b/developer_manual/app/css.rst @@ -132,14 +132,25 @@ To add actions that affect the current list element you can add a menu for secon -
+
+
The div with the class **app-navigation-entry-utils** contains only the button (class: **app-navigation-entry-utils-menu-button**) to display the menu but in many cases another entry is needed to display some sort of count (mails count, unread feed count, etc.). In that case add the **with-counter** class to the list entry to adjust the correct padding and text-oveflow of the entry's title. @@ -277,7 +288,7 @@ To create a settings area create a div with the id **app-settings** inside the *
+ >t('Settings'));?>
diff --git a/developer_manual/app/hooks.rst b/developer_manual/app/hooks.rst index b3aeb9a25..b33d6b423 100644 --- a/developer_manual/app/hooks.rst +++ b/developer_manual/app/hooks.rst @@ -48,12 +48,13 @@ The hook logic should be in a separate class that is being registered in the :do userManager = $userManager; } @@ -101,12 +102,13 @@ Hooks available in scope **\\OC\\User**: * **preSetPassword** (\\OC\\User\\User $user, string $password, string $recoverPassword) * **postSetPassword** (\\OC\\User\\User $user, string $password, string $recoverPassword) +* **changeUser** (\\OC\\User\\User $user, string $feature, string $value) * **preDelete** (\\OC\\User\\User $user) * **postDelete** (\\OC\\User\\User $user) * **preCreateUser** (string $uid, string $password) * **postCreateUser** (\\OC\\User\\User $user) * **preLogin** (string $user, string $password) -* **postLogin** (\\OC\\User\\User $user) +* **postLogin** (\\OC\\User\\User $user, string $password) * **logout** () UserManager diff --git a/developer_manual/app/index.rst b/developer_manual/app/index.rst index 500ecb77b..b132a166d 100644 --- a/developer_manual/app/index.rst +++ b/developer_manual/app/index.rst @@ -28,6 +28,7 @@ database configuration filesystem + appdata users two-factor-provider hooks @@ -136,6 +137,12 @@ Periodically run code in the background: * :doc:`backgroundjobs` +Settings +--------------- +An app can register both admin settings as well as personal settings: + +* :doc:`settings` + Logging ------- Log to the :file:`data/nextcloud.log`: diff --git a/developer_manual/app/info.rst b/developer_manual/app/info.rst index eebb1aefa..88946275c 100644 --- a/developer_manual/app/info.rst +++ b/developer_manual/app/info.rst @@ -40,7 +40,7 @@ The :file:`appinfo/info.xml` contains metadata about the app: 1234 - + sqlite mysql grep @@ -55,7 +55,7 @@ The :file:`appinfo/info.xml` contains metadata about the app: OCA\YourAppsNamespace\Settings\AdminSection OCA\YourAppsNamespace\Settings\AdminSettings - + 5 @@ -88,7 +88,7 @@ description version ------- -Contains the version of your app. Please also provide the same version in the :file:`appinfo/version`. +Contains the version of your app. licence ------- @@ -159,7 +159,7 @@ properly. As soon as one of these requirements is not met the app cannot be inst php === -Defines the minimum and the maximum version of php which is required to run this app. +Defines the minimum and the maximum version of PHP which is required to run this app. database ======== @@ -170,16 +170,16 @@ In case no database is specified it is assumed that all databases are supported. command ======= Defines a command line tool to be available. With the attribute 'os' the required operating system for this tool can be -specified. Valid values for the 'os' attribute are as returned by the php function `php_uname `_. +specified. Valid values for the 'os' attribute are as returned by the PHP function `php_uname `_. lib === -Defines a required php extension with required minimum and/or maximum version. The names for the libraries have to match the result as returned by the php function `get_loaded_extensions `_. +Defines a required PHP extension with required minimum and/or maximum version. The names for the libraries have to match the result as returned by the PHP function `get_loaded_extensions `_. The explicit version of an extension is read from `phpversion `_ - with some exception as to be read up in the `code base `_ os == -Defines the required target operating system the app can run on. Valid values are as returned by the php function `php_uname `_. +Defines the required target operating system the app can run on. Valid values are as returned by the PHP function `php_uname `_. owncloud ======== diff --git a/developer_manual/app/schema.rst b/developer_manual/app/schema.rst index 09b97d6dc..ab6c57177 100644 --- a/developer_manual/app/schema.rst +++ b/developer_manual/app/schema.rst @@ -50,4 +50,4 @@ An example database XML file would look like this: -To update the tables used by the app, simply adjust the database.xml file and increase the app version number in :file:`appinfo/version` to trigger an update. +To update the tables used by the app, simply adjust the database.xml file and increase the app version number in :file:`appinfo/info.xml` to trigger an update. diff --git a/developer_manual/app/startapp.rst b/developer_manual/app/startapp.rst index 0f36a7009..bc73379b9 100644 --- a/developer_manual/app/startapp.rst +++ b/developer_manual/app/startapp.rst @@ -4,17 +4,11 @@ Create an app .. sectionauthor:: Bernhard Posselt -After :doc:`you've set up the development environment and installed the dev tool <../general/devenv>` change into the Nextcloud apps directory:: +After :doc:`you've set up the development environment <../general/devenv>` change into the Nextcloud apps directory:: cd /var/www/nextcloud/apps -Then run:: - - ncdev startapp MyApp --email mail@example.com --author "Your Name" --description "My first app" --owncloud 8 - -This will create all the needed files in the current directory. For more information on how to customize the generated app, see the `Project's GitHub page `_ or run:: - - ncdev startapp -h +Then create a skeleton app in the `app store `_. Enable the app -------------- @@ -27,7 +21,6 @@ The following directories have now been created: * **appinfo/**: Contains app metadata and configuration * **css/**: Contains the CSS * **js/**: Contains the JavaScript files -* **lib/Controller/**: Contains the controllers -* **lib/**: Contains the other class files of your app +* **lib/**: Contains the php class files of your app * **templates/**: Contains the templates * **tests/**: Contains the tests diff --git a/developer_manual/app/templates.rst b/developer_manual/app/templates.rst index 2e14b0868..4af19f0c0 100644 --- a/developer_manual/app/templates.rst +++ b/developer_manual/app/templates.rst @@ -64,5 +64,5 @@ To generate links to images use the **image_path** function: .. code-block:: php - " /> diff --git a/developer_manual/app/testing.rst b/developer_manual/app/testing.rst index 40a0b57da..87f6a635e 100644 --- a/developer_manual/app/testing.rst +++ b/developer_manual/app/testing.rst @@ -10,7 +10,7 @@ All PHP classes can be tested with `PHPUnit `_, JavaScript c PHP === -The PHP tests go into the **tests/** directory. Unfortunately the classloader in core requires a running server (as in fully configured and setup up with a database connection). This is unfortunately too complicated and slow so a separate classloader has to be provided. If the app has been generated with the **ncdev startapp** command, the classloader is already present in the the **tests/** directory and PHPUnit can be run with:: +The PHP tests go into the **tests/** directory and PHPUnit can be run with:: phpunit tests/ diff --git a/developer_manual/app/theming.rst b/developer_manual/app/theming.rst index 575a7ccbc..353144134 100644 --- a/developer_manual/app/theming.rst +++ b/developer_manual/app/theming.rst @@ -21,9 +21,10 @@ When the theming app is enabled, it provides the **OCA.Theming** object. It can be used to handle themed instances differently. .. code-block:: javascript - if(OCA.Theming) { - $('.myapp-element').animate({backgroundColor:OCA.Theming.color}); - } + + if(OCA.Theming) { + $('.myapp-element').animate({backgroundColor:OCA.Theming.color}); + } The following information is available: @@ -33,3 +34,9 @@ The following information is available: * **OCA.Theming.slogan** Instance slogan * **OCA.Theming.url** Instance web address +Icons +===== + +The theming app will automatically generate favicons and home screen icons for +each app by using the icon `img/app.svg` inside of the app folder. Any custom +favicon set by an app will only be visible when the theming app is disabled. diff --git a/developer_manual/app/tutorial.rst b/developer_manual/app/tutorial.rst index 7eeda14a9..9f180711a 100644 --- a/developer_manual/app/tutorial.rst +++ b/developer_manual/app/tutorial.rst @@ -9,11 +9,12 @@ This tutorial will outline how to create a very simple notes app. The finished a Setup ===== -After the `development tool `_ has been installed the :doc:`development environment needs to be set up <../general/devenv>`. This can be done by either `downloading the zip from the website `_ or cloning it directly from GitHub:: +First the :doc:`development environment <../general/devenv>` needs to be set up. This can be done by either `downloading the zip from the website `_ or cloning it directly from GitHub:: - ncdev setup core --dir nextcloud --branch $BRANCH + git clone git@github.com:nextcloud/server.git --branch $BRANCH + git submodule update --init -.. note:: $BRANCH is the desired Nextcloud branch (e.g. stable9 for Nextcloud 9, stable10 for Nextcloud 10, etc) +.. note:: ``$BRANCH`` is the desired Nextcloud branch (e.g. ``stable9`` for Nextcloud 9, ``stable10`` for Nextcloud 10, ..., ``master`` for the upcoming release) First you want to enable debug mode to get proper error messages. To do that set ``debug`` to ``true`` in the **nextcloud/config/config.php** file:: @@ -30,14 +31,11 @@ Now open another terminal window and start the development server:: cd nextcloud php -S localhost:8080 -Afterwards the app can be created in the **apps** folder:: +Afterwards a skeleton app can be created in the `app store `_. - cd apps - ncdev startapp OwnNotes +Download the extracted the downloaded file and move it into your ``apps/`` directory. Afterwards the application can be enabled on the `apps page `_. -This creates a new folder called **ownnotes**. Now access and set up Nextcloud through the webinterface at `http://localhost:8080 `_ and enable the OwnNotes application on the `apps page `_. - -The first basic app is now available at `http://localhost:8080/index.php/apps/ownnotes/ `_ +The first basic app is now available at ``http://localhost:8080/index.php/apps/yourappid/`` Routes & Controllers ==================== diff --git a/developer_manual/bugtracker/triaging.rst b/developer_manual/bugtracker/triaging.rst index b3654f3a1..87a3d67f1 100644 --- a/developer_manual/bugtracker/triaging.rst +++ b/developer_manual/bugtracker/triaging.rst @@ -108,8 +108,6 @@ An important step of bug triaging is trying to reproduce the bugs, this means, u This is needed in order to differentiate random/race condition bugs of reproducible ones (which may be reproduced by developers too; and they can fix them). -To reproduce an issue, please refer to our testing documents: :doc:`../testing/index` - If you can't reproduce an issue in a newer version of Nextcloud, it is most likely fixed and can be closed. Comment that you failed to reproduce the problem, and if the reporter can confirm (or doesn't respond for a long time), you can close the issue. Also, be sure to add what exactly you tested with - the Nextcloud Master or a branch (and if so, when), or did you use a release, and if so - what version? Finalizing and tagging diff --git a/developer_manual/client_apis/OCS/index.rst b/developer_manual/client_apis/OCS/index.rst new file mode 100644 index 000000000..cf59d49bb --- /dev/null +++ b/developer_manual/client_apis/OCS/index.rst @@ -0,0 +1,67 @@ +.. _webdavindex: + +========= +OCS API's +========= + +This document provides a quick overview of the OCS API endpoints supported in Nextcloud. + +All requests need to provide authentication information, either as a Basic Auth header or by passing a set of valid session cookies, if not stated otherwise. + + +---- +Testing requests with curl +---- + +All OCS requests can be easily tested out using :code:`curl` by specifying the request method (:code:`GET`, :code:`PUT`, etc) and setting a request body where needed. + +For example: you can perform a :code:`GET` request to get information about a user: + + +.. code-block:: bash + + curl -u username:password -X GET 'https://cloud.example.com/ocs/v1.php/...' -H "OCS-APIRequest: true" + + +------------- +User metadata +------------- + +Since: 11.0.2, 12.0.0 + +This request returns the available metadata of a user. Admin users can see the information of all users, while a default user only can access it's own metadata. + +.. code:: + + GET /ocs/v1.php/cloud/users/USERID + + +.. code:: xml + + + + + ok + 100 + OK + + + + + true + + 338696790016 + 7438874 + 338704228890 + 0 + -3 + + user@foo.de + admin + +
+ + schiessle +
+
+ diff --git a/developer_manual/client_apis/WebDAV/index.rst b/developer_manual/client_apis/WebDAV/index.rst new file mode 100644 index 000000000..2672bded4 --- /dev/null +++ b/developer_manual/client_apis/WebDAV/index.rst @@ -0,0 +1,217 @@ +.. _webdavindex: + +=============================== +WebDAV Client API's +=============================== + +This document provides a quick overview of the WebDAV operations supported in Nextcloud, to keep things readable it won't go into many details +for each operation, further information for each operation can be found in the corresponding rfc where applicable + +---- +WebDAV Basics +---- + +The base url for all WebDAV operations for a Nextcloud instance is :code:`/remote.php/dav`. + +All requests need to provide authentication information, either as a Basic Auth header or by passing a set of valid session cookies. + +---- +Testing requests with curl +---- + +All WebDAV requests can be easily tested out using :code:`curl` by specifying the request method (:code:`GET`, :code:`PROPFIND`, :code:`PUT`, etc) and setting a request body where needed. + +For example: you can perform a :code:`PROPFIND` request to find files in a folder using + + +.. code-block:: bash + + curl -u username:password 'https://cloud.example.com/remote.php/dav/files/username/folder' -X PROPFIND --data ' + + + + + + + + + + ' + + +---- +Listing Folders (rfc4918_) +---- + +The contents of a folder can be listed by sending a :code:`PROPFIND` request to the folder. + +.. code:: + + PROPFIND remote.php/dav/files/user/path/to/folder + +~~~~ +Requesting properties +~~~~ + +By default, a :code:`PROPFIND` request will only return a small number of properties for each file: last modified date, file size, whether it's a folder, etag and mime type. + +You can request additional properties by sending a request body with the :code:`PROPFIND` request that lists all requested properties. + +.. code-block:: xml + + + + + + + + + + + + + + + + + + + + +The following properties are supported: + +- :code:`{DAV:}getlastmodified` +- :code:`{DAV:}getetag` +- :code:`{DAV:}getcontenttype` +- :code:`{DAV:}resourcetype` +- :code:`{DAV:}getcontentlength` +- :code:`{http://owncloud.org/ns}id` The fileid namespaced by the instance id, globally unique +- :code:`{http://owncloud.org/ns}fileid` The unique id for the file within the instance +- :code:`{http://owncloud.org/ns}favorite` +- :code:`{http://owncloud.org/ns}comments-href` +- :code:`{http://owncloud.org/ns}comments-count` +- :code:`{http://owncloud.org/ns}comments-unread` +- :code:`{http://owncloud.org/ns}owner-id` The user id of the owner of a shared file +- :code:`{http://owncloud.org/ns}owner-display-name` The display name of the owner of a shared file +- :code:`{http://owncloud.org/ns}share-types` +- :code:`{http://owncloud.org/ns}checksums` +- :code:`{http://owncloud.org/ns}has-preview` +- :code:`{http://owncloud.org/ns}size` Unlike :code:`getcontentlength`, this property also works for folders reporting the size of everything in the folder. + +~~~~ +Getting properties for just the folder +~~~~ + +You can request properties of a folder without also getting the folder contents by adding a :code:`Depth: 0` header to the request. + +---- +Downloading files +---- + +A file can be downloaded by sending a :code:`GET` request to the WebDAV url of the file. + +.. code:: + + GET remote.php/dav/files/user/path/to/file + +---- +Uploading files +---- + +A file can be uploading by sending a :code:`PUT` request to the file and sending the raw file contents as the request body. + +.. code:: + + PUT remote.php/dav/files/user/path/to/file + +Any existing file will be overwritten by the request. + +---- +Creating folders (rfc4918_) +---- + +A folder can be created by sending a :code:`MKCOL` request to the folder. + +.. code:: + + MKCOL remote.php/dav/files/user/path/to/new/folder + +---- +Deleting files and folders (rfc4918_) +---- + +A file or folder can be created by sending a :code:`DELETE` request to the file or folder. + +.. code:: + + DELETE remote.php/dav/files/user/path/to/file + +When deleting a folder, it's contents will be deleted recursively. + +---- +Moving files and folders (rfc4918_) +---- + +A file or folder can be moved by sending a :code:`MOVE` request to the file or folder and specifying the destination in the :code:`Destination` header as full url. + +.. code:: + + MOVE remote.php/dav/files/user/path/to/file + Destination: https://cloud.example/remote.php/dav/files/user/new/location + +The overwrite behavior of the move can be controlled by setting the :code:`Overwrite` head to :code:`T` or :code:`F` to enable or disable overwriting respectively. + +---- +Copying files and folders (rfc4918_) +---- + +A file or folder can be copied by sending a :code:`COPY` request to the file or folder and specifying the destination in the :code:`Destination` header as full url. + +.. code:: + + COPY remote.php/dav/files/user/path/to/file + Destination: https://cloud.example/remote.php/dav/files/user/new/location + +The overwrite behavior of the copy can be controlled by setting the :code:`Overwrite` head to :code:`T` or :code:`F` to enable or disable overwriting respectively. + +---- +Settings favorites +---- + +A file or folder can be marked as favorite by sending a :code:`PROPPATCH` request to the file or folder and setting the :code:`oc-favorite` property + +.. code-block:: xml + + PROPPATCH remote.php/dav/files/user/path/to/file + + + + + 1 + + + + +Setting the :code:`oc:favorite` property to 1 marks a file as favorite, setting it to 0 un-marks it as favorite. + +---- +Listing favorites +---- + +Favorites for a user can be retrieved by sending a :code:`REPORT` request and specifying :code:`oc:favorite` as a filter + +.. code-block:: xml + + REPORT remote.php/dav/files/user/path/to/folder + + + + 1 + + + +File properties can be requested by adding a :code:`` element to the request listing the requested properties in the same way as it would be done for a :code:`PROPFIND` request. + +When listing favorites, the request will find all favorites in the folder recursively, all favorites for a user can be found by sending the request to :code:`remote.php/dav/files/user` + +.. _rfc4918: https://tools.ietf.org/html/rfc4918 diff --git a/developer_manual/client_apis/index.rst b/developer_manual/client_apis/index.rst new file mode 100644 index 000000000..bc9aff355 --- /dev/null +++ b/developer_manual/client_apis/index.rst @@ -0,0 +1,35 @@ +.. _apiindex: + +=============================== +Client API's +=============================== +Nextcloud provides an number of api's for client applications to talk to. + + +---- +WebDAV +---- +WebDAV is the main api for file related operations, it supports listing directories, downloading an uploading files, manipulating tags and favorites and more. + +An overview of how to use the various WebDAV api's can be found at :doc:`WebDAV/index` + + +--- +OCS +--- + +The OCS API provides all information that are not available via the DAV endpoints. This contains endpoints for user data or sharing capabilities for example. See :doc:`OCS/index` for more details. + +Other OCS API documentations: + +* `Notifications API `_ +* `Notifications API - Register a device for push notifications `_ + + +.. toctree:: + :maxdepth: 2 + :hidden: + + webdav/index + ocs/index + diff --git a/developer_manual/conf.py b/developer_manual/conf.py index 05e8fb616..1a08dcf1a 100644 --- a/developer_manual/conf.py +++ b/developer_manual/conf.py @@ -40,17 +40,17 @@ source_suffix = '.rst' master_doc = 'index' # General information about the project. -project = u'ownCloud Developer Manual' -copyright = u'2012-2015, The ownCloud developers' +project = u'Nextcloud Developer Manual' +copyright = u'2012-2016, The Nextcloud developers' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. -version = '9.1' +version = '11' # The full version, including alpha/beta/rc tags. -release = '9.1' +release = '11 alpha' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -166,7 +166,7 @@ html_show_sphinx = False #html_file_suffix = None # Output file base name for HTML help builder. -htmlhelp_basename = 'owncloudDeveloperManual' +htmlhelp_basename = 'NextcloudDeveloperManual' # -- Options for LaTeX output -------------------------------------------------- @@ -185,8 +185,8 @@ latex_elements = { # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, documentclass [howto/manual]). latex_documents = [ - ('index', 'ownCloudDeveloperManual.tex', u'ownCloud Developer Manual', - u'The ownCloud developers', 'manual'), + ('index', 'NextcloudDeveloperManual.tex', u'Nextcloud Developer Manual', + u'The Nextcloud developers', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of @@ -211,16 +211,16 @@ latex_logo = '../_shared_assets/static/logo-blue.pdf' # -- Options for pdf page output ----------------------------------------------- -pdf_documents = [('index', u'owncloudDeveloperManual', u'ownCloud Developer Manual', - u'The ownCloud developers'),] +pdf_documents = [('index', u'NextcloudDeveloperManual', u'Nextcloud Developer Manual', + u'The Nextcloud developers'),] # -- Options for manual page output -------------------------------------------- # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - ('index', 'owncloudDeveloperManual', u'ownCloud Developer Manual', - [u'The ownCloud developers'], 1) + ('index', 'NextcloudDeveloperManual', u'Nextcloud Developer Manual', + [u'The Nextcloud developers'], 1) ] # If true, show URL addresses after external links. @@ -233,8 +233,8 @@ man_pages = [ # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ - ('index', 'ownCloudDeveloperManual', u'ownCloud Developer Manual', - u'The ownCloud developers', 'ownCloud', 'The ownCloud Developer Manual.', + ('index', 'NextcloudDeveloperManual', u'Nextcloud Developer Manual', + u'The Nextcloud developers', 'Nextcloud', 'The Nextcloud Developer Manual.', 'Miscellaneous'), ] @@ -251,10 +251,10 @@ texinfo_documents = [ # -- Options for Epub output --------------------------------------------------- # Bibliographic Dublin Core info. -epub_title = u'ownCloud Developer Manual' -epub_author = u'The ownCloud developers' -epub_publisher = u'The ownCloud developers' -epub_copyright = u'2012-2015, The ownCloud developers' +epub_title = u'Nextcloud Developer Manual' +epub_author = u'The Nextcloud developers' +epub_publisher = u'The Nextcloud developers' +epub_copyright = u'2012-2016, The Nextcloud developers' # The language of the text. It defaults to the language option # or en if the language is not set. diff --git a/developer_manual/core/ocs-share-api.rst b/developer_manual/core/ocs-share-api.rst index 9c998282e..45e0b4e63 100644 --- a/developer_manual/core/ocs-share-api.rst +++ b/developer_manual/core/ocs-share-api.rst @@ -7,6 +7,8 @@ pre-defined OCS calls. The base URL for all calls to the share API is: */ocs/v1.php/apps/files_sharing/api/v1* +All calls to OCS endpoints require the ``OCS-APIRequest`` header to be set to ``true``. + Local Shares ============ diff --git a/developer_manual/core/theming.rst b/developer_manual/core/theming.rst index 8f4cde111..8b54b7925 100644 --- a/developer_manual/core/theming.rst +++ b/developer_manual/core/theming.rst @@ -37,6 +37,7 @@ Depending on how you created your new theme it will be necessary to * put a new theme into the /themes -folder. The theme can be activated by putting ``'theme' => 'MyTheme'``, into the ``/config/config.php`` file. * make your changes in the ``/themes/MyTheme`` -folder +* make sure that the theming app is disabled Structure diff --git a/developer_manual/general/backporting.rst b/developer_manual/general/backporting.rst index 66ef207a5..aca39f855 100644 --- a/developer_manual/general/backporting.rst +++ b/developer_manual/general/backporting.rst @@ -14,10 +14,10 @@ Process We mostly consider bug fixes for back porting. Occasionally, important changes to the API can be backported to make it easier for developers to keep their apps working between major releases. If you think a pull request (PR) is relevant for the stable release, go through these steps: 1. Make sure the PR is merged to master -2. Ask Frank (**@karlitschek**) and Thomas (**@deepdiver1975**) if the code should be backported and add the label `backport-request `_ to the PR -3. If Frank or Thomas say yes then create a new branch based on the respective stable branch (stable7 for the 7.0.x series), cherry-pick the needed commits to that branch and create a PR on GitHub. -4. Specify the corresponding milestone for that series (7.0.x-next-maintenance for the 7.0.x series) to this PR and reference the original PR in there. This enables the QA team to find the backported items for testing and having the original PR with detailed description linked. +2. Ask Frank (**@karlitschek**), if the code should be backported and add the label `backport-request `_ to the PR +3. If Frank approves, create a new branch based on the respective stable branch (stable10 for the 10.0.x series), cherry-pick the needed commits to that branch and create a PR on GitHub. +4. Specify the corresponding milestone for that series (10.0.x-next-maintenance for the 10.0.x series) to this PR and reference the original PR in there. This enables the QA team to find the backported items for testing and having the original PR with detailed description linked. -.. note:: Before each patch release there is a freeze to be able to test everything as a whole without pulling in new changes. This freeze is announced on the `owncloud-devel mailinglist `_. While this freeze is active a backport isn't allowed and has to wait for the next patch release. +.. note:: Before each patch release there is a freeze to be able to test everything as a whole without pulling in new changes. While this freeze is active a backport isn't allowed and has to wait for the next patch release. The QA team will try to reproduce all the issues with the X.Y.Z-next-maintenance milestone on the relevant release and verify it is fixed by the patch release (and doesn't cause new problems). Once the patch release is out, the post-fix -next-maintenance is removed and a new -next-maintenance milestone is created for that series. diff --git a/developer_manual/general/devenv.rst b/developer_manual/general/devenv.rst index b39238567..3ebd77500 100644 --- a/developer_manual/general/devenv.rst +++ b/developer_manual/general/devenv.rst @@ -48,15 +48,15 @@ Check out the code The following commands are using **/var/www** as the Web server's directory and **www-data** as user name and group. -Install the `development tool `_ - After the development tool installation make the directory writable:: sudo chmod o+rw /var/www Then install Nextcloud from git:: - ncdev setup --dir /var/www/ server + git clone git@github.com:nextcloud/server.git /var/www/ + cd /var/www/ + git submodule update --init where is the folder where you want to install Nextcloud. diff --git a/developer_manual/general/security.rst b/developer_manual/general/security.rst index e2147043e..65e4e65e8 100644 --- a/developer_manual/general/security.rst +++ b/developer_manual/general/security.rst @@ -246,4 +246,4 @@ Always validate the URL before redirecting if the requested URL is on the same d Getting help ------------ -If you need help to ensure that a function is secure please ask on our `mailing list `_ or on our IRC channel **#nextcloud-dev** on **irc.freenode.net**. +If you need help to ensure that a function is secure please ask on our `forum `_ or on our IRC channel **#nextcloud-dev** on **irc.freenode.net**. diff --git a/developer_manual/index.rst b/developer_manual/index.rst index f6472625a..33aad0ecb 100644 --- a/developer_manual/index.rst +++ b/developer_manual/index.rst @@ -17,6 +17,7 @@ Table of Contents general/index app/index android_library/index + client_apis/index core/index bugtracker/index commun/index diff --git a/file-upload-via-public-link b/file-upload-via-public-link deleted file mode 100644 index 4bd66ff0a..000000000 --- a/file-upload-via-public-link +++ /dev/null @@ -1,21 +0,0 @@ -=========================== -File Upload via Public Link -=========================== - -You can allow people to upload files via public link without letting them see the files stored in the folder. - -* create a folder -* create a public link for that folder and check "allow editing" and then "hide file listing" - -To create a folder, click the + and choose a name, e.g. publicupload - -.. figure:: images/files-public-upload-create-folder - -You have to share the folder by clicking the share icon. In the right sidebar click the checkbox "allow editing". Another checkbox with the name "hide file listing" will appear, check it! - -.. figure:: images/files-public-upload-sharing - -Copy the link and send it to the person who should upload files. -When the link is opened in a browser, the person will see the avatar and username of the user who shared the folder. Files can be uploaded by selecting or dropping them. - -.. figure:: images/files-public-upload-visitor diff --git a/go.php b/go.php index 529cf4582..8153d1a62 100644 --- a/go.php +++ b/go.php @@ -9,12 +9,13 @@ $mapping = array( 'admin-external-storage' => '/admin_manual/configuration_files/external_storage_configuration_gui.html', 'admin-sharing-federated' => '/admin_manual/configuration_files/federated_cloud_sharing_configuration.html', 'admin-sharing' => '/admin_manual/configuration_files/file_sharing_configuration.html', + 'admin-files-access-control' => '/admin_manual/configuration_files/files_access_control.html', 'admin-transactional-locking' => '/admin_manual/configuration_files/files_locking_transactional.html', 'admin-background-jobs' => '/admin_manual/configuration_server/background_jobs_configuration.html', 'admin-config' => '/admin_manual/configuration_server/config_sample_php_parameters.html', 'admin-email' => '/admin_manual/configuration_server/email_configuration.html', 'admin-security' => '/admin_manual/configuration_server/harden_server.html', - 'admin-performance' => '/admin_manual/configuration_server/oc_server_tuning.html', + 'admin-performance' => '/admin_manual/configuration_server/server_tuning.html', 'admin-reverse-proxy' => '/admin_manual/configuration_server/reverse_proxy_configuration.html', 'admin-ldap' => '/admin_manual/configuration_user/user_auth_ldap.html', 'admin-provisioning-api' => '/admin_manual/configuration_user/user_provisioning_api.html', @@ -26,6 +27,9 @@ $mapping = array( 'admin-setup-well-known-URL' => '/admin_manual/issues/general_troubleshooting.html#service-discovery', 'admin-backup' => '/admin_manual/maintenance/backup.html', 'admin-monitoring' => '/admin_manual/operations/considerations_on_monitoring.html', + 'admin-sso' => '/admin_manual/configuration_server/sso_configuration.html', + 'admin-php-opcache' => '/admin_manual/configuration_server/server_tuning.html#enable-php-opcache', + 'admin-mysql-utf8mb4' => '/admin_manual/maintenance/mysql_4byte_support.html', 'developer-code-integrity'=> '/developer_manual/app/code_signing.html', 'developer-theming' => '/developer_manual/core/theming.html', diff --git a/user_manual/conf.py b/user_manual/conf.py index 09e3661b1..df8a0fcea 100644 --- a/user_manual/conf.py +++ b/user_manual/conf.py @@ -44,13 +44,13 @@ master_doc = 'contents' # built documents. # # The short X.Y version. -version = '9.1' +version = '11' # The full version, including alpha/beta/rc tags. -release = '9.1' +release = '11' # General information about the project. -project = u'ownCloud %s User Manual' % (version) -copyright = u'2012-2016, The ownCloud developers' +project = u'Nextcloud %s User Manual' % (version) +copyright = u'2012-2016, The Nextcloud developers' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -166,7 +166,7 @@ html_show_sphinx = False #html_file_suffix = None # Output file base name for HTML help builder. -htmlhelp_basename = 'ownCloudUserManual' +htmlhelp_basename = 'NextcloudUserManual' # -- Options for LaTeX output -------------------------------------------------- @@ -185,8 +185,8 @@ latex_elements = { # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, documentclass [howto/manual]). latex_documents = [ - ('contents', 'ownCloud_User_Manual.tex', u'ownCloud User Manual', - u'The ownCloud developers', 'manual'), + ('contents', 'Nextcloud_User_Manual.tex', u'Nextcloud User Manual', + u'The Nextcloud developers', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of @@ -211,15 +211,15 @@ latex_logo = '../_shared_assets/static/logo-blue.pdf' # -- Options for pdf page output ----------------------------------------------- -pdf_documents = [('contents', u'owncloudUserManual', u'ownCloud User Manual', u'The ownCloud developers'),] +pdf_documents = [('contents', u'NextcloudUserManual', u'Nextcloud User Manual', u'The Nextcloud developers'),] # -- Options for manual page output -------------------------------------------- # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - ('contents', 'owncloudusermanual', u'ownCloud User Manual', - [u'The ownCloud developers'], 1) + ('contents', 'nextcloudusermanual', u'Nextcloud User Manual', + [u'The Nextcloud developers'], 1) ] # If true, show URL addresses after external links. @@ -232,8 +232,8 @@ man_pages = [ # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ - ('contents', 'ownCloudUserManual', u'ownCloud User Manual', - u'The ownCloud developers', 'ownCloud', 'The ownCloud User Manual.', + ('contents', 'NextcloudUserManual', u'Nextcloud User Manual', + u'The Nextcloud developers', 'Nextcloud', 'The Nextcloud User Manual.', 'Miscellaneous'), ] @@ -250,10 +250,10 @@ texinfo_documents = [ # -- Options for Epub output --------------------------------------------------- # Bibliographic Dublin Core info. -epub_title = u'ownCloud User Manual' -epub_author = u'The ownCloud developers' -epub_publisher = u'The ownCloud developers' -epub_copyright = u'2012-2016, The ownCloud developers' +epub_title = u'Nextcloud User Manual' +epub_author = u'The Nextcloud developers' +epub_publisher = u'The Nextcloud developers' +epub_copyright = u'2012-2016, The Nextcloud developers' # The language of the text. It defaults to the language option # or en if the language is not set. diff --git a/user_manual/contents.rst b/user_manual/contents.rst index 0893554b8..e8f2e2306 100644 --- a/user_manual/contents.rst +++ b/user_manual/contents.rst @@ -12,8 +12,8 @@ Table of Contents webinterface files/index pim/index - documents userpreferences + user_2fa session_management external_storage/index diff --git a/user_manual/documents.rst b/user_manual/documents.rst deleted file mode 100644 index 96fbcc93a..000000000 --- a/user_manual/documents.rst +++ /dev/null @@ -1,75 +0,0 @@ -Collaborative Document Editing -============================== - -The Documents application supports editing documents within Nextcloud, without -the need to launch an external application. The Documents app supports these -features: - -* Cooperative edit, with multiple users editing files simultaneously. -* Document creation within Nextcloud. -* Document upload. -* Share and edit files in the browser, and then share them inside Nextcloud or - through a public link. - -Supported file formats are `.odt`, `.doc`, and `.docx`. - -The main interface ------------------- - -.. image:: images/oc_documents.png - -Create or Upload a Document -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -In the Documents application, you can upload an existing document or create a -new one. The *New document* button creates a document named "New -document.odt". The extension ODT is an OpenDocument format, which is supported -by most word processors including Microsoft Word, LibreOffice Writer, and -OpenOffice Writer. - -Edit a Document -~~~~~~~~~~~~~~~ - -To edit a document, access the Documents app from your Apps menu at the top -left of your Nextcloud window. - -.. image:: images/oc_documents_edit.png - -#. Click on the file name to change it. -#. Share your document (See the :ref:`Share a document - ` section.) -#. Formatting toolbar. -#. Zoom in/out -#. Close and save. -#. Users currently editing this document. - -Collaboratively Editing a Document -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -To edit a file collaboratively, it must be shared with everyone who needs -editing permissions. Multiple users can edit it at the same time, and changes -appear as they are made. The cursor of each user is the same color as the -border color of their user picture. - -If a user is not a local user (e.g accessing the file using public link), they -will be shown as guest in the user list, automatically named Guest 1, Guest 2, -and so on. Guests can change their nicknames at any time by clicking on their -names or thumbnails in the user list. - -Delete a Document -~~~~~~~~~~~~~~~~~ - -You can't delete a document from inside the Document app, but must go to your -Files page and delete it from there. You'll find it in your default documents -directory, which is configured on your Nextcloud Personal page (see -:doc:`userpreferences`.) - -.. _share-a-document: - -Share a Document -~~~~~~~~~~~~~~~~ - -Document sharing has the same options as when sharing other files. While editing -a document, you can use the *Share* button to enable other users to edit the -document. This button will display all available options to share. - diff --git a/user_manual/external_storage/index.rst b/user_manual/external_storage/index.rst index 6c03ec1b4..cedd7c89d 100644 --- a/user_manual/external_storage/index.rst +++ b/user_manual/external_storage/index.rst @@ -6,5 +6,4 @@ External Storage :maxdepth: 1 external_storage - sharepoint_connecting - \ No newline at end of file + diff --git a/user_manual/files/access_webdav.rst b/user_manual/files/access_webdav.rst index 8d5ffb70c..cf1ecb67a 100644 --- a/user_manual/files/access_webdav.rst +++ b/user_manual/files/access_webdav.rst @@ -2,47 +2,47 @@ Accessing Nextcloud Files Using WebDAV ====================================== -Nextcloud fully supports the WebDAV protocol, and you can connect and synchronize -with your Nextcloud files over WebDAV. In this chapter you will learn how to -connect Linux, Mac OS X, Windows, and mobile devices to your Nextcloud server via -WebDAV. Before we get into configuring WebDAV, let's take a quick look at the +Nextcloud fully supports the WebDAV protocol, and you can connect and synchronize +with your Nextcloud files over WebDAV. In this chapter you will learn how to +connect Linux, Mac OS X, Windows, and mobile devices to your Nextcloud server via +WebDAV. Before we get into configuring WebDAV, let's take a quick look at the recommended way of connecting client devices to your Nextcloud servers. Nextcloud Desktop and Mobile Clients ------------------------------------ -The recommended method for keeping your desktop PC synchronized with your +The recommended method for keeping your desktop PC synchronized with your Nextcloud server is by using the `Nextcloud/ownCloud sync clients `_. You can configure the client -to save files in any local directory you want, and you choose which directories -on the Nextcloud server to sync with. The client displays the current connection -status and logs all activity, so you always know which remote files have been -downloaded to your PC, and you can verify that files created and updated on your +to save files in any local directory you want, and you choose which directories +on the Nextcloud server to sync with. The client displays the current connection +status and logs all activity, so you always know which remote files have been +downloaded to your PC, and you can verify that files created and updated on your local PC are properly synchronized with the server. -The recommended method for syncing your Nextcloud server with Android and -Apple iOS devices is by using the `mobile apps +The recommended method for syncing your Nextcloud server with Android and +Apple iOS devices is by using the `mobile apps `_. -To connect to your Nextcloud server with the mobile apps, use the +To connect to your Nextcloud server with the mobile apps, use the base URL and folder only:: example.com/nextcloud -In addition to the mobile apps provided by Nextcloud or Nextcloud, you can use other apps to -connect to Nextcloud from your mobile device using WebDAV. `WebDAV Navigator`_ is +In addition to the mobile apps provided by Nextcloud or ownCloud, you can use other apps to +connect to Nextcloud from your mobile device using WebDAV. `WebDAV Navigator`_ is a good (proprietary) app for `Android devices`_ and `iPhones`_. The URL to use on these is:: example.com/nextcloud/remote.php/dav/files/USERNAME/ - + WebDAV Configuration -------------------- -If you prefer, you may also connect your desktop PC to your Nextcloud server by -using the WebDAV protocol rather than using a special client application. Web -Distributed Authoring and Versioning (WebDAV) is a Hypertext Transfer Protocol -(HTTP) extension that makes it easy to create, read, and edit files on Web -servers. With WebDAV you can access your Nextcloud shares on Linux, Mac OS X and +If you prefer, you may also connect your desktop PC to your Nextcloud server by +using the WebDAV protocol rather than using a special client application. Web +Distributed Authoring and Versioning (WebDAV) is a Hypertext Transfer Protocol +(HTTP) extension that makes it easy to create, read, and edit files on Web +servers. With WebDAV you can access your Nextcloud shares on Linux, Mac OS X and Windows in the same way as any remote network share, and stay synchronized. .. note:: In the following examples, You must adjust **example.com/** to the @@ -56,12 +56,12 @@ You can access files in Linux operating systems using the following methods. Nautilus File Manager ^^^^^^^^^^^^^^^^^^^^^ -Use the ``davs://`` protocol to connect the Nautilus file manager to your +Use the ``davs://`` protocol to connect the Nautilus file manager to your Nextcloud share:: davs://example.com/nextcloud/remote.php/dav/files/USERNAME/ -.. note:: If your server connection is not HTTPS-secured, use `dav://` instead +.. note:: If your server connection is not HTTPS-secured, use `dav://` instead of `davs://`. .. image:: ../images/webdav_gnome3_nautilus.png @@ -70,7 +70,7 @@ Nextcloud share:: Accessing Files with KDE and Dolphin File Manager ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -To access your Nextcloud files using the Dolphin file manager in KDE, use +To access your Nextcloud files using the Dolphin file manager in KDE, use the ``webdav://`` protocol:: webdav://example.com/nextcloud/remote.php/dav/files/USERNAME/ @@ -90,73 +90,73 @@ You can create a permanent link to your Nextcloud server: * Name: The name you want to see in the **Places** bookmark, for example Nextcloud. * User: The Nextcloud username you used to log in, for example admin. - - * Server: The Nextcloud domain name, for example **example.com** (without + + * Server: The Nextcloud domain name, for example **example.com** (without **http://** before or directories afterwards). * Folder -- Enter the path ``nextcloud/remote.php/dav/files/USERNAME/``. -#. (Optional) Check the "Create icon checkbox" for a bookmark to appear in the +#. (Optional) Check the "Create icon checkbox" for a bookmark to appear in the Places column. -#. (Optional) Provide any special settings or an SSL certificate in the "Port & +#. (Optional) Provide any special settings or an SSL certificate in the "Port & Encrypted" checkbox. Creating WebDAV Mounts on the Linux Command Line ------------------------------------------------ -You can create WebDAV mounts from the Linux command line. This is useful if you -prefer to access Nextcloud the same way as any other remote filesystem mount. -The following example shows how to create a personal mount and have it mounted +You can create WebDAV mounts from the Linux command line. This is useful if you +prefer to access Nextcloud the same way as any other remote filesystem mount. +The following example shows how to create a personal mount and have it mounted automatically every time you log in to your Linux computer. -1. Install the ``davfs2`` WebDAV filesystem driver, which allows you to mount - WebDAV shares just like any other remote filesystem. Use this command to +1. Install the ``davfs2`` WebDAV filesystem driver, which allows you to mount + WebDAV shares just like any other remote filesystem. Use this command to install it on Debian/Ubuntu:: - + apt-get install davfs2 - + 2. Use this command to install it on CentOS, Fedora, and openSUSE:: - yum install davfs2 + yum install davfs2 3. Add yourself to the ``davfs2`` group:: usermod -aG davfs2 -3. Then create an ``nextcloud`` directory in your home directory for the +3. Then create an ``nextcloud`` directory in your home directory for the mountpoint, and ``.davfs2/`` for your personal configuration file:: - + mkdir ~/nextcloud mkdir ~/.davfs2 - -4. Copy ``/etc/davfs2/secrets`` to ``~/.davfs2``:: - cp /etc/davfs2/secrets ~/.davfs2/secrets - +4. Copy ``/etc/davfs2/secrets`` to ``~/.davfs2``:: + + cp /etc/davfs2/secrets ~/.davfs2/secrets + 5. Set yourself as the owner and make the permissions read-write owner only:: - - chown : ~/.davfs2/secrets + + chown : ~/.davfs2/secrets chmod 600 ~/.davfs2/secrets - -6. Add your Nextcloud login credentials to the end of the ``secrets`` file, + +6. Add your Nextcloud login credentials to the end of the ``secrets`` file, using your Nextcloud server URL and your Nextcloud username and password:: example.com/nextcloud/remote.php/dav/files/USERNAME/ 7. Add the mount information to ``/etc/fstab``:: - example.com/nextcloud/remote.php/dav/files/USERNAME/ /home//nextcloud + example.com/nextcloud/remote.php/dav/files/USERNAME/ /home//nextcloud davfs user,rw,auto 0 0 -8. Then test that it mounts and authenticates by running the following +8. Then test that it mounts and authenticates by running the following command. If you set it up correctly you won't need root permissions:: mount ~/nextcloud - + 9. You should also be able to unmount it:: - + umount ~/nextcloud - -Now every time you login to your Linux system your Nextcloud share should -automatically mount via WebDAV in your ``~/nextcloud`` directory. If you prefer + +Now every time you login to your Linux system your Nextcloud share should +automatically mount via WebDAV in your ``~/nextcloud`` directory. If you prefer to mount it manually, change ``auto`` to ``noauto`` in ``/etc/fstab``. Known Issues @@ -168,31 +168,31 @@ Resource temporarily unavailable Solution ^^^^^^^^ -If you experience trouble when you create a file in the directory, +If you experience trouble when you create a file in the directory, edit ``/etc/davfs2/davfs2.conf`` and add:: use_locks 0 Problem -^^^^^^^ +^^^^^^^ Certificate warnings Solution -^^^^^^^^ +^^^^^^^^ -If you use a self-signed certificate, you will get a warning. To -change this, you need to configure ``davfs2`` to recognize your certificate. -Copy ``mycertificate.pem`` to ``/etc/davfs2/certs/``. Then edit -``/etc/davfs2/davfs2.conf`` and uncomment the line ``servercert``. Now add the +If you use a self-signed certificate, you will get a warning. To +change this, you need to configure ``davfs2`` to recognize your certificate. +Copy ``mycertificate.pem`` to ``/etc/davfs2/certs/``. Then edit +``/etc/davfs2/davfs2.conf`` and uncomment the line ``servercert``. Now add the path of your certificate as in this example:: - servercert /etc/davfs2/certs/mycertificate.pem + servercert /etc/davfs2/certs/mycertificate.pem Accessing Files Using Mac OS X ------------------------------ -.. note:: The Mac OS X Finder suffers from a `series of implementation problems - `_ and should only be used if the +.. note:: The Mac OS X Finder suffers from a `series of implementation problems + `_ and should only be used if the Nextcloud server runs on **Apache** and **mod_php**, or **Nginx 1.3.8+**. To access files through the Mac OS X Finder: @@ -206,7 +206,7 @@ To access files through the Mac OS X Finder: .. image:: ../images/osx_webdav1.png :alt: Screenshot of entering your Nextcloud server address on Mac OS X - For example, the URL used to connect to the Nextcloud server + For example, the URL used to connect to the Nextcloud server from the Mac OS X Finder is:: https://example.com/nextcloud/remote.php/dav/files/USERNAME/ @@ -217,9 +217,9 @@ To access files through the Mac OS X Finder: The device connects to the server. -For added details about how to connect to an external server using Mac OS X, -check the `vendor documentation -`_ +For added details about how to connect to an external server using Mac OS X, +check the `vendor documentation +`_ . Accessing Files Using Microsoft Windows --------------------------------------- @@ -227,12 +227,12 @@ Accessing Files Using Microsoft Windows It is best to use a suitable WebDAV client from the `WebDAV Project page `_ . -If you must use the native Windows implementation, you can map Nextcloud to a new -drive. Mapping to a drive enables you to browse files stored on an Nextcloud +If you must use the native Windows implementation, you can map Nextcloud to a new +drive. Mapping to a drive enables you to browse files stored on an Nextcloud server the way you would files stored in a mapped network drive. -Using this feature requires network connectivity. If you want to store your -files offline, use the Desktop Client to sync all files on your +Using this feature requires network connectivity. If you want to store your +files offline, use the Desktop Client to sync all files on your Nextcloud to one or more directories of your local hard drive. .. note:: Prior to mapping your drive, you must permit the use of Basic @@ -241,36 +241,36 @@ Nextcloud to one or more directories of your local hard drive. Please follow the Knowledge Base article before proceeding, and follow the Vista instructions if you run Windows 7. -.. _KB841215: http://support.microsoft.com/kb/841215 +.. _KB841215: https://support.microsoft.com/kb/841215 Mapping Drives With the Command Line ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The following example shows how to map a drive using the command line. To map +The following example shows how to map a drive using the command line. To map the drive: 1. Open a command prompt in Windows. -2. Enter the following line in the command prompt to map to the computer Z +2. Enter the following line in the command prompt to map to the computer Z drive:: - net use Z: https:///remote.php/dav/files/USERNAME/ /user:youruser + net use Z: https:///remote.php/dav/files/USERNAME/ /user:youruser yourpassword where is the URL to your Nextcloud server. -For example: ``net use Z: https://example.com/nextcloud/remote.php/dav/files/USERNAME/ +For example: ``net use Z: https://example.com/nextcloud/remote.php/dav/files/USERNAME/ /user:youruser yourpassword`` The computer maps the files of your Nextcloud account to the drive letter Z. .. note:: Though not recommended, you can also mount the Nextcloud server - using HTTP, leaving the connection unencrypted. If you plan to use HTTP - connections on devices while in a public place, we strongly recommend using a + using HTTP, leaving the connection unencrypted. If you plan to use HTTP + connections on devices while in a public place, we strongly recommend using a VPN tunnel to provide the necessary security. An alternative command syntax is:: - net use Z: \\example.com@ssl\nextcloud\remote.php\dav /user:youruser + net use Z: \\example.com@ssl\nextcloud\remote.php\dav /user:youruser yourpassword Mapping Drives With Windows Explorer @@ -279,10 +279,10 @@ Mapping Drives With Windows Explorer To map a drive using the Microsoft Windows Explorer: 1. Migrate to your computer in Windows Explorer. -2. Right-click on **Computer** entry and select **Map network drive...** from +2. Right-click on **Computer** entry and select **Map network drive...** from the drop-down menu. 3. Choose a local network drive to which you want to map Nextcloud. -4. Specify the address to your Nextcloud instance, followed by +4. Specify the address to your Nextcloud instance, followed by **/remote.php/dav/files/USERNAME/**. For example:: @@ -290,8 +290,8 @@ To map a drive using the Microsoft Windows Explorer: https://example.com/nextcloud/remote.php/dav/files/USERNAME/ .. note:: For SSL protected servers, check **Reconnect at logon** to ensure - that the mapping is persistent upon subsequent reboots. If you want to - connect to the Nextcloud server as a different user, check **Connect using + that the mapping is persistent upon subsequent reboots. If you want to + connect to the Nextcloud server as a different user, check **Connect using different credentials**. .. figure:: ../images/explorer_webdav.png @@ -300,14 +300,14 @@ To map a drive using the Microsoft Windows Explorer: 5. Click the ``Finish`` button. - Windows Explorer maps the network drive, making your Nextcloud instance + Windows Explorer maps the network drive, making your Nextcloud instance available. Accessing Files Using Cyberduck ------------------------------- -`Cyberduck `_ is an open source FTP and SFTP, -WebDAV, OpenStack Swift, and Amazon S3 browser designed for file transfers on +`Cyberduck `_ is an open source FTP and SFTP, +WebDAV, OpenStack Swift, and Amazon S3 browser designed for file transfers on Mac OS X and Windows. .. note:: This example uses Cyberduck version 4.2.1. @@ -318,15 +318,15 @@ To use Cyberduck: ``example.com`` -2. Specify the appropriate port. The port you choose depends on whether or not +2. Specify the appropriate port. The port you choose depends on whether or not your Nextcloud server supports SSL. Cyberduck requires that you select a -different connection type if you plan to use SSL. For example: +different connection type if you plan to use SSL. For example: 80 (for WebDAV) - + 443 (for WebDAV (HTTPS/SSL)) -3. Use the 'More Options' drop-down menu to add the rest of your WebDAV URL into +3. Use the 'More Options' drop-down menu to add the rest of your WebDAV URL into the 'Path' field. For example: ``remote.php/dav/files/USERNAME/`` @@ -355,17 +355,17 @@ Windows does not connect using HTTPS. Solution 1 ^^^^^^^^^^ -The Windows WebDAV Client might not support Server Name Indication (SNI) on -encrypted connections. If you encounter an error mounting an SSL-encrypted -Nextcloud instance, contact your provider about assigning a dedicated IP address +The Windows WebDAV Client might not support Server Name Indication (SNI) on +encrypted connections. If you encounter an error mounting an SSL-encrypted +Nextcloud instance, contact your provider about assigning a dedicated IP address for your SSL-based server. Solution 2 ^^^^^^^^^^ -The Windows WebDAV Client might not support TSLv1.1 / TSLv1.2 connections. If -you have restricted your server config to only provide TLSv1.1 and above the -connection to your server might fail. Please refer to the WinHTTP_ documentation +The Windows WebDAV Client might not support TSLv1.1 / TSLv1.2 connections. If +you have restricted your server config to only provide TLSv1.1 and above the +connection to your server might fail. Please refer to the WinHTTP_ documentation for further information. .. _WinHTTP: https://msdn.microsoft.com/en-us/library/windows/desktop/aa382925.aspx#WinHTTP_5.1_Features @@ -373,19 +373,19 @@ for further information. Problem ^^^^^^^ -You receive the following error message: **Error 0x800700DF: The file size +You receive the following error message: **Error 0x800700DF: The file size exceeds the limit allowed and cannot be saved.** Solution ^^^^^^^^ -Windows limits the maximum size a file transferred from or to a WebDAV share -may have. You can increase the value **FileSizeLimitInBytes** in -**HKEY_LOCAL_MacHINE\\SYSTEM\\CurrentControlSet\\Services\\WebClient\\Parameters -** by clicking on **Modify**. +Windows limits the maximum size a file transferred from or to a WebDAV share +may have. You can increase the value **FileSizeLimitInBytes** in +**HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\WebClient\\Parameters** +by clicking on **Modify**. -To increase the limit to the maximum value of 4GB, select **Decimal**, enter a -value of **4294967295**, and reboot Windows or restart the **WebClient** +To increase the limit to the maximum value of 4GB, select **Decimal**, enter a +value of **4294967295**, and reboot Windows or restart the **WebClient** service. Problem @@ -397,7 +397,7 @@ Solution ^^^^^^^^ Known problems and their solutions are documented in the KB2123563_ article. - + Problem ^^^^^^^ Cannot map Nextcloud as a WebDAV drive in Windows using self-signed certificate. @@ -406,31 +406,31 @@ Solution ^^^^^^^^ #. Go to the your Nextcloud instance via your favorite Web browser. - #. Click through until you get to the certificate error in the browser status + #. Click through until you get to the certificate error in the browser status line. #. View the cert, then from the Details tab, select Copy to File. - #. Save to the desktop with an arbitrary name, for example ``myNextcloud.cer``. + #. Save to the desktop with an arbitrary name, for example ``myNextcloud.pem``. #. Start, Run, MMC. - #. File, Add/Remove Snap-In. + #. File, Add/Remove Snap-In. #. Select Certificates, Click Add, My User Account, then Finish, then OK. #. Dig down to Trust Root Certification Authorities, Certificates. #. Right-Click Certificate, Select All Tasks, Import. #. Select the Save Cert from the Desktop. #. Select Place all Certificates in the following Store, Click Browse, - #. Check the Box that says Show Physical Stores, Expand out Trusted Root - Certification Authorities, and select Local Computer there, click OK, + #. Check the Box that says Show Physical Stores, Expand out Trusted Root + Certification Authorities, and select Local Computer there, click OK, Complete the Import. - #. Check the list to make sure it shows up. You will probably need to Refresh + #. Check the list to make sure it shows up. You will probably need to Refresh before you see it. Exit MMC. #. Open Browser, select Tools, Delete Browsing History. #. Select all but In Private Filtering Data, complete. #. Go to Internet Options, Content Tab, Clear SSL State. #. Close browser, then re-open and test. - + Problem ^^^^^^^ -You cannot download more than 50 MB or upload large Files when the upload takes +You cannot download more than 50 MB or upload large Files when the upload takes longer than 30 minutes using Web Client in Windows 7. Solution @@ -443,7 +443,7 @@ Accessing Files Using cURL -------------------------- Since WebDAV is an extension of HTTP cURL can be used to script file operations. - + To create a folder with the current date as name: .. code-block:: bash diff --git a/user_manual/files/access_webgui.rst b/user_manual/files/access_webgui.rst index 17bf578d5..0ea313422 100644 --- a/user_manual/files/access_webgui.rst +++ b/user_manual/files/access_webgui.rst @@ -2,150 +2,141 @@ Accessing your Files Using the Nextcloud Web Interface ====================================================== -You can access your Nextcloud files with the Nextcloud Web interface and create, -preview, edit, delete, share, and re-share files. Your Nextcloud administrator -has the option to disable these features, so if any of them are missing on your +You can access your Nextcloud files with the Nextcloud Web interface and create, +preview, edit, delete, share, and re-share files. Your Nextcloud administrator +has the option to disable these features, so if any of them are missing on your system ask your server administrator. .. figure:: ../images/files_page.png :alt: The Files view screen. - + Tagging Files ------------- -You can assign tags to files. To create tags, open a file to the Details view. -Then type your tags. To enter more than one tag press the return key after -creating each tag. All tags are system tags, and are shared by all users on your +You can assign tags to files. To create tags, open a file to the Details view. +Then type your tags. To enter more than one tag press the return key after +creating each tag. All tags are system tags, and are shared by all users on your Nextcloud server. .. figure:: ../images/files_page-7.png :alt: Creating file tags. - + Then use the Tags filter on the left sidebar to filter files by tags. .. figure:: ../images/files_page-8.png :alt: Viewing file tags. - + Comments -------- - -Use the Details view to add and read comments on any file or folder. Comments + +Use the Details view to add and read comments on any file or folder. Comments are visible to everyone who has access to the file. .. figure:: ../images/file_menu_comments_2.png :alt: Creating and viewing comments. - + Video Player ------------ -You can play videos in Nextcloud with the Video Player app by simply clicking on -the file. Video streaming by the native Nextcloud video player depends on your Web browser -and the video format. If your Nextcloud administrator has enabled video -streaming, and it doesn't work in your Web browser, it may be a browser issue. See https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats#Browser_compatibility for supported multimedia formats in Web browsers. +You can play videos in Nextcloud with the Video Player app by simply clicking on +the file. Video streaming by the native Nextcloud video player depends on your Web browser +and the video format. If your Nextcloud administrator has enabled video +streaming, and it doesn't work in your Web browser, it may be a browser issue. See https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats#Browser_compatibility for supported multimedia formats in Web browsers. .. figure:: ../images/video_player_2.png :alt: Watching a movie. - + File Controls ------------- - -Nextcloud can display thumbnail previews for image files, MP3 covers, -and text files, if this enabled by your server administrator. Hover your cursor + +Nextcloud can display thumbnail previews for image files, MP3 covers, +and text files, if this enabled by your server administrator. Hover your cursor over a file or folder to expose the controls for the following operations: Favorites - Click the star to the left of the file icon to mark it as a favorite, and - quickly find all of your favorites with the Favorites filter on the left + Click the star to the left of the file icon to mark it as a favorite, and + quickly find all of your favorites with the Favorites filter on the left sidebar. - + .. figure:: ../images/files_page-1.png :alt: Marking Favorite files. - -Share - Share the file or folder with a group or other users, and create public - shares with hyperlinks. You can also see who you have shared with already, - and revoke shares by clicking the trash can icon. - -.. note:: New in 9.0, you can see all re-shares of your original file shares. - If username auto-completion - is enabled, when you start typing the user or group name Nextcloud will - automatically complete it for you. If your administrator has enabled email - notifications, you can send an email notification of the new share from the +Share + Share the file or folder with a group or other users, and create public + shares with hyperlinks. You can also see who you have shared with already, + and revoke shares by clicking the trash can icon. + +.. note:: Since version 9.0, you can see all re-shares of your original file shares. + + If username auto-completion + is enabled, when you start typing the user or group name Nextcloud will + automatically complete it for you. If your administrator has enabled email + notifications, you can send an email notification of the new share from the sharing screen. - + .. figure:: ../images/files_page-2.png :alt: Sharing files. - + You have five share permissions: - + * Can share; allows the users you share with to re-share. * Can edit; allows the users you share with to edit your shared files, and to collaborate using the Documents app. * Create; allows the users you share with to create new files and add them to the share. * Change; allows uploading a new version of a shared file and replacing it. * Delete; allows the users you share with to delete shared files. -Overflow Menu - The Overflow menu (three dots) displays file details, and allows you to +Overflow Menu + The Overflow menu (three dots) displays file details, and allows you to rename, download, or delete files. - + .. figure:: ../images/files_page-3.png :alt: Overflow menu. - - The Details view shows Activities, Sharing, and Versions information. - + + The Details view shows Activities, Sharing, and Versions information. + .. figure:: ../images/files_page-4.png - :alt: Details screen. - -The **Settings** gear icon at the lower left allows you to show or hide hidden -files in your Nextcloud Web interface. These are also called dotfiles, because -they are prefixed with a dot, e.g. ``.mailfile``. The dot tells your operating -system to hide these files in your file browsers, unless you choose to display -them. Usually these are configuration files, so having the option to hide them + :alt: Details screen. + +The **Settings** gear icon at the lower left allows you to show or hide hidden +files in your Nextcloud Web interface. These are also called dotfiles, because +they are prefixed with a dot, e.g. ``.mailfile``. The dot tells your operating +system to hide these files in your file browsers, unless you choose to display +them. Usually these are configuration files, so having the option to hide them reduces clutter. .. figure:: ../images/hidden_files.png - :alt: Hiding or displaying hidden files. - + :alt: Hiding or displaying hidden files. + Previewing Files ---------------- -You can display uncompressed text files, OpenDocument files, videos, and image -files in the Nextcloud embedded viewers by clicking on the file name. There may -be other file types you can preview if your Nextcloud administrator has enabled -them. If Nextcloud cannot display a file, it starts a download process and -downloads the file to your computer. +You can display uncompressed text files, OpenDocument files, videos, and image +files in the Nextcloud embedded viewers by clicking on the file name. There may +be other file types you can preview if your Nextcloud administrator has enabled +them. If Nextcloud cannot display a file, it starts a download process and +downloads the file to your computer. Navigating Inside Your Nextcloud -------------------------------- -Navigating through folders in Nextcloud is as simple as clicking on a folder to -open it and using the back button on your browser to move to a previous level. -Nextcloud also provides a navigation bar at the top of the Files field for quick +Navigating through folders in Nextcloud is as simple as clicking on a folder to +open it and using the back button on your browser to move to a previous level. +Nextcloud also provides a navigation bar at the top of the Files field for quick navigation. Sharing Status Icons -------------------- -Any folder that has been shared is marked with the ``Shared`` overlay icon. +Any folder that has been shared is marked with the ``Shared`` overlay icon. Public link shares are marked with a chain link. Un-shared folders are blank. .. figure:: ../images/files_page-5.png :alt: Share status icons. -If your Nextcloud server is the Enterprise edition, you may also have access -to Sharepoint and Windows Network Drive file shares. These have special status -icons. An icon with a red plugin and background means you have to enter a login -to get access to the share. - -.. figure:: ../images/users-overlays-win-net-drive.png - -.. figure:: ../images/users-overlays-sharepoint.png - Creating or Uploading Files and Directories ------------------------------------------- -Upload or create new files or folders directly in an Nextcloud folder by clicking +Upload or create new files or folders directly in an Nextcloud folder by clicking on the *New* button in the Files app. .. figure:: ../images/files_page-6.png @@ -154,24 +145,24 @@ on the *New* button in the Files app. The *New* button provides the following options: Up arrow - Upload files from your computer into Nextcloud. You can also upload files by + Upload files from your computer into Nextcloud. You can also upload files by dragging and dropping them from your file manager. Text file Creates a new text file and adds the file to your current folder. - + Folder Creates a new folder in the current folder. - + Selecting Files or Folders -------------------------- -You can select one or more files or folders by clicking on their checkboxes. To -select all files in the current directory, click on the checkbox located at the +You can select one or more files or folders by clicking on their checkboxes. To +select all files in the current directory, click on the checkbox located at the top of the files listing. -When you select multiple files, you can delete all of them, or download them as -a ZIP file by using the ``Delete`` or ``Download`` buttons that appear at the +When you select multiple files, you can delete all of them, or download them as +a ZIP file by using the ``Delete`` or ``Download`` buttons that appear at the top. .. note:: If the ``Download`` button is not visible, the administrator has @@ -180,14 +171,14 @@ top. Filtering the Files View ------------------------ -The right sidebar on the Files page contains several filters for quickly sorting +The left sidebar on the Files page contains several filters for quickly sorting and managing your files. All files The default view; displays all files that you have access to. - + Favorites - Files or folders marked with the yellow star. + Files or folders marked with the yellow star. Shared with you Displays all files shared with you by another user or group. @@ -197,9 +188,9 @@ Shared with others Shared by link Displays all files that are shared by you via public link. - -External Storage - Files that you have access to on external storage devices and services such + +External Storage (optional) + Files that you have access to on external storage devices and services such as Dropbox, Google, and Amazon S3. Moving Files @@ -211,16 +202,16 @@ You can move files and folders by dragging and dropping them into any directory. Change in Share Expiration Date ------------------------------- -In older versions of Nextcloud, you could set an expiration date on both local -and public shares. Now you can set an expiration date only on public shares, -and local shares do not expire when public shares expire. The only way to +In older versions of Nextcloud, you could set an expiration date on both local +and public shares. Now you can set an expiration date only on public shares, +and local shares do not expire when public shares expire. The only way to "expire" a local share is to click the trash can icon to un-share your files. Creating or Connecting to a Federation Share Link ------------------------------------------------- -Federated Cloud Sharing allows you to mount file shares from remote Nextcloud -servers, and manage them just like a local share. In Nextcloud 9 the process for -creating a new sharing link is easier and more streamlined. See -:doc:`federated_cloud_sharing` to learn to how to create and connect to new +Federated Cloud Sharing allows you to mount file shares from remote Nextcloud +servers, and manage them just like a local share. In Nextcloud 9 the process for +creating a new sharing link is easier and more streamlined. See +:doc:`federated_cloud_sharing` to learn to how to create and connect to new Federated Cloud shares. diff --git a/user_manual/files/deleted_file_management.rst b/user_manual/files/deleted_file_management.rst index e2fbe667c..fe3e97ef7 100644 --- a/user_manual/files/deleted_file_management.rst +++ b/user_manual/files/deleted_file_management.rst @@ -2,56 +2,55 @@ Managing Deleted Files ====================== -When you delete a file in Nextcloud, it is not immediately deleted permanently. -Instead, it is moved into the trash bin. It is not permanently deleted until -you manually delete it, or when the Deleted Files app deletes it to make room +When you delete a file in Nextcloud, it is not immediately deleted permanently. +Instead, it is moved into the trash bin. It is not permanently deleted until +you manually delete it, or when the Deleted Files app deletes it to make room for new files. -Find your deleted files by clicking on the **Deleted files** -button on the Files page of the Nextcloud Web interface. You'll have options to +Find your deleted files by clicking on the **Deleted files** +button on the Files page of the Nextcloud Web interface. You'll have options to either restore or permanently delete files. Quotas ------ -Deleted files are not counted against your storage quota. Only files that -originate with users count against their quotas, not files -shared with them that originate from other users. (See :doc:`quota` to learn -more about quotas.) +Deleted files are not counted against your storage quota. Only your personal +files count against your quota, not files which were shared with you. +(See :doc:`quota` to learn more about quotas.) What Happens When Shared Files Are Deleted ------------------------------------------ -Deleting files gets a little complicated when they are shared files, as this +Deleting files gets a little complicated when they are shared files, as this scenario illustrates: 1. User1 shares a folder "test" with User2 and User3 2. User2 (the recipient) deletes a file/folder "sub" inside of "test" -3. The folder "sub" will be moved to the trashbin of both User1 (owner) and +3. The folder "sub" will be moved to the trashbin of both User1 (owner) and User2 (recipient) 4. But User3 will not have a copy of "sub" in her trash bin -When User1 deletes "sub" then it is moved to User1's trash bin. It is +When User1 deletes "sub" then it is moved to User1's trash bin. It is deleted from User2 and User3, but not placed in their trash bins. -When you share files, other users may copy, rename, move, and share them with -other people, just as they can for any computer files; Nextcloud does not have +When you share files, other users may copy, rename, move, and share them with +other people, just as they can for any computer files; Nextcloud does not have magic powers to prevent this. How the Deleted Files app Manages Storage Space ----------------------------------------------- -To ensure that users do not run over their storage quotas, the Deleted Files -app allocates a maximum of 50% of their currently available free space to -deleted files. If your deleted files exceed this limit, Nextcloud deletes the -oldest files (files with the oldest timestamps from when they were deleted) +To ensure that users do not run over their storage quotas, the Deleted Files +app allocates a maximum of 50% of their currently available free space to +deleted files. If your deleted files exceed this limit, Nextcloud deletes the +oldest files (files with the oldest timestamps from when they were deleted) until it meets the memory usage limit again. -Nextcloud checks the age of deleted files every time new files are added to the -deleted files. By default, deleted files stay in the trash bin for 180 days. The -Nextcloud server administrator can adjust this value in the ``config.php`` file -by setting the ``trashbin_retention_obligation`` value. Files older than the -``trashbin_retention_obligation`` value will be deleted permanently. -Additionally, Nextcloud calculates the maximum available space every time a new -file is added. If the deleted files exceed the new maximum allowed space +Nextcloud checks the age of deleted files every time new files are added to the +deleted files. By default, deleted files stay in the trash bin for 180 days. The +Nextcloud server administrator can adjust this value in the ``config.php`` file +by setting the ``trashbin_retention_obligation`` value. Files older than the +``trashbin_retention_obligation`` value will be deleted permanently. +Additionally, Nextcloud calculates the maximum available space every time a new +file is added. If the deleted files exceed the new maximum allowed space Nextcloud will expire old deleted files until the limit is met once again. diff --git a/user_manual/files/desktop_mobile_sync.rst b/user_manual/files/desktop_mobile_sync.rst index ceec8efd2..9a1383bf3 100644 --- a/user_manual/files/desktop_mobile_sync.rst +++ b/user_manual/files/desktop_mobile_sync.rst @@ -3,30 +3,28 @@ Desktop and Mobile Synchronization ================================== For synchronizing files with your desktop computer, we recommend using the -`Nextcloud Sync Client`_ for Windows, Mac OS X and Linux until the Nextcloud -Sync Client will be released.. +`Nextcloud Sync Client`_ for Windows, Mac OS X and Linux. -The Nextcloud Desktop Sync Client enables you to connect to your private -Nextcloud Server. +The Nextcloud Desktop Sync Client enables you to connect to your Nextcloud Server. You can create folders in your home directory, and keep the contents of those folders synced with your Nextcloud server. Simply copy a file into the directory and the Nextcloud desktop client does the rest. Make a change to the files on one -computer, it will flow across the others using these desktop sync clients. +computer, it will flow across the others using these desktop sync clients. You will always have your latest files with you wherever you are. -Its usage is documented separately in the `Nextcloud Desktop Client Manual`_. +Its usage is documented separately in the `Nextcloud/ownCloud Desktop Client Manual`_. -.. _Nextcloud Sync Client: https://nextcloud.com/install/ -.. _Nextcloud Desktop Client Manual: https://docs.nextcloud.org/ +.. _`Nextcloud/ownCloud Desktop Client Manual`: https://doc.owncloud.org/desktop/2.2/ +.. _Nextcloud Desktop Client Manual: https://docs.nextcloud.org/ Mobile Clients -------------- Visit your Personal page in your Nextcloud Web interface to find download links -for Android and iOS mobile sync clients. Or, visit the `Nextcloud download page +for Android and iOS mobile sync clients. Or, visit the `Nextcloud download page `_. -Visit the `Nextcloud documentation page `_ to read +Visit the `Nextcloud documentation page `_ to read the user manuals. diff --git a/user_manual/files/encrypting_files.rst b/user_manual/files/encrypting_files.rst index b5f79c801..1bdf9fd2d 100644 --- a/user_manual/files/encrypting_files.rst +++ b/user_manual/files/encrypting_files.rst @@ -2,80 +2,116 @@ Encrypting Your Nextcloud Files =============================== -Nextcloud includes an Encryption app, and when it is enabled by your Nextcloud -administrator all of your Nextcloud data files are automatically encrypted. -Encryption is server-wide, so when it is enabled you cannot choose to keep your -files unencrypted. You don't have to do anything special, as it uses your -Nextcloud login as the password for your unique private encryption key. Just log -in and out and manage and share your files as you normally do, and you can +Nextcloud includes an Encryption app, and when it is enabled by your Nextcloud +administrator all of your Nextcloud data files are automatically encrypted. +Encryption is server-wide, so when it is enabled you cannot choose to keep your +files unencrypted. You don't have to do anything special, as it uses your +Nextcloud login as the password for your unique private encryption key. Just log +in and out and manage and share your files as you normally do, and you can still change your password whenever you want. -Its main purpose is to encrypt files on remote storage services that are -connected to your Nextcloud server, such as Dropbox and Google Drive. This is an -easy and seamless way to protect your files on remote storage. You can share -your remote files through Nextcloud in the usual way, however you cannot share -your encrypted files directly from Dropbox, Google Drive, or whatever remote -service you are using, because the encryption keys are stored on your Nextcloud -server, and are never exposed to outside service providers. +Its main purpose is to encrypt files on remote storage services that are +connected to your Nextcloud server, such as Dropbox and Google Drive. This is an +easy and seamless way to protect your files on remote storage. You can share +your remote files through Nextcloud in the usual way, however you cannot share +your encrypted files directly from Dropbox, Google Drive, or whatever remote +service you are using, because the encryption keys are stored on your Nextcloud +server, and are never exposed to outside service providers. -If your Nextcloud server is not connected to any remote storage services, then -it is better to use some other form of encryption such as file-level or whole -disk encryption. Because the keys are kept on your Nextcloud server, it is -possible for your Nextcloud admin to snoop in your files, and if the server is -compromised the intruder may get access to your files. (Read -`How Nextcloud uses encryption to protect your data -`_ +If your Nextcloud server is not connected to any remote storage services, then +it is better to use some other form of encryption such as file-level or whole +disk encryption. Because the keys are kept on your Nextcloud server, it is +possible for your Nextcloud admin to snoop in your files, and if the server is +compromised the intruder may get access to your files. (Read +`How Nextcloud uses encryption to protect your data +`_ to learn more.) +Encryption FAQ +-------------- + +How Can Encryption Be Disabled? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The only way to disable encryption is to run the :ref:`"decrypt all" ` +script, which decrypts all files and disables encryption. + +Is It Possible To Disable Encryption With The Recovery Key? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Yes, *if* every user uses the :ref:`file recovery key +`, :ref:`"decrypt all" ` will use it +to decrypt all files. + +Can Encryption Be Disabled Without The User’s Password? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +If you don't have the users password or :ref:`file recovery key +` then there is no way to decrypt all files. What's +more, running it on login would be dangerous, because you would most likely run +into timeouts. + +Is It Planned To Move This To The Next User Login Or A Background Job? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +If we did that, then we would need to store your login password in the database. +This could be seen as a security issue, so nothing like that is planned. + +Is Group Sharing Possible With The Recovery Key? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +If you mean adding users to groups and make it magically work? No. This only +works with the master key. + Using Encryption ---------------- -Nextcloud encryption is pretty much set it and forget it, but you have a few -options you can use. +Nextcloud encryption is pretty much set it and forget it, but you have a few +options you can use. -When your Nextcloud admin enables encryption for the first time, you must log -out and then log back in to create your encryption keys and encrypt your files. -When encryption has been enabled on your Nextcloud server you will see a yellow +When your Nextcloud admin enables encryption for the first time, you must log +out and then log back in to create your encryption keys and encrypt your files. +When encryption has been enabled on your Nextcloud server you will see a yellow banner on your Files page warning you to log out and then log back in. .. figure:: ../images/encryption1.png -When you log back in it takes a few minutes to work, depending on how many +When you log back in it takes a few minutes to work, depending on how many files you have, and then you are returned to your default Nextcloud page. .. figure:: ../images/encryption2.png -.. note:: You must never lose your Nextcloud password, because you will lose - access to your files. Though there is an optional recovery option that your - Nextcloud administrator may enable; see the Recovery Key Password section +.. note:: You must never lose your Nextcloud password, because you will lose + access to your files. Though there is an optional recovery option that your + Nextcloud administrator may enable; see the Recovery Key Password section (below) to learn about this. - + Sharing Encrypted Files ----------------------- -Only users who have private encryption keys have access to shared encrypted -files and folders. Users who have not yet created their private encryption keys -will not have access to encrypted shared files; they will see folders and -filenames, but will not be able to open or download the files. They will see a -yellow warning banner that says "Encryption App is enabled but your keys are not +Only users who have private encryption keys have access to shared encrypted +files and folders. Users who have not yet created their private encryption keys +will not have access to encrypted shared files; they will see folders and +filenames, but will not be able to open or download the files. They will see a +yellow warning banner that says "Encryption App is enabled but your keys are not initialized, please log-out and log-in again." -Share owners may need to re-share files after encryption is enabled; users -trying to access the share will see a message advising them to ask the share -owner to re-share the file with them. For individual shares, un-share and -re-share the file. For group shares, share with any individuals who can't access -the share. This updates the encryption, and then the share owner can remove the +Share owners may need to re-share files after encryption is enabled; users +trying to access the share will see a message advising them to ask the share +owner to re-share the file with them. For individual shares, un-share and +re-share the file. For group shares, share with any individuals who can't access +the share. This updates the encryption, and then the share owner can remove the individual shares. Recovery Key Password ~~~~~~~~~~~~~~~~~~~~~ -If your Nextcloud administrator has enabled the recovery key feature, you can -choose to use this feature for your account. If you enable "Password recovery" -the administrator can read your data with a special password. This feature -enables the administrator to recover your files in the event you lose your -Nextcloud password. If the recovery key is not enabled, then there is no way to +If your Nextcloud administrator has enabled the recovery key feature, you can +choose to use this feature for your account. If you enable "Password recovery" +the administrator can read your data with a special password. This feature +enables the administrator to recover your files in the event you lose your +Nextcloud password. If the recovery key is not enabled, then there is no way to restore your files if you lose your login password. .. figure:: ../images/encryption3.png @@ -83,7 +119,7 @@ restore your files if you lose your login password. Files Not Encrypted ------------------- -Only the data in your files is encrypted, and not the filenames or folder +Only the data in your files is encrypted, and not the filenames or folder structures. These files are never encrypted: - Old files in the trash bin. @@ -92,7 +128,7 @@ structures. These files are never encrypted: - The search index from the full text search app. - Third-party app data -There may be other files that are not encrypted; only files that are exposed to +There may be other files that are not encrypted; only files that are exposed to third-party storage providers are guaranteed to be encrypted. Change Private Key Password @@ -100,7 +136,7 @@ Change Private Key Password This option is only available if your log-in password, but not your encryption password, was changed by your administrator. This can occur if your Nextcloud -provider uses a external user back-end (for example, LDAP) and changed your +provider uses an external user back-end (for example, LDAP) and changed your login password using that back-end configuration. In this case, you can set your encryption password to your new login password by providing your old and new login password. The Encryption app works only if your login password and diff --git a/user_manual/files/file_drop.rst b/user_manual/files/file_drop.rst index ae1044a12..d88238547 100644 --- a/user_manual/files/file_drop.rst +++ b/user_manual/files/file_drop.rst @@ -5,7 +5,7 @@ Making Anonymous Uploads You may create your own special upload directories so that other people can upload files to you without having to log in to the server, and without being an Nextcloud user. -They will not be allowed to see the contents of this directory, or to make any +They will not be allowed to see the contents of this directory, or to make any changes. This is an excellent alternative to sending large attachments via email, using an FTP server, or using commercial file-sharing services. @@ -18,25 +18,25 @@ made to. .. image:: ../images/anonym_click_sharing.png Check Share Link, Allow editing, Hide file listing. - + .. image:: ../images/anonym_hide_file_listing.png -Now you can send the link to the uploadfolder manualy or by using the -Nextcloud send funktion, if your administrator has enabled it. +Now you can send the link to the upload folder manually or by using the +Nextcloud send function, if your administrator has enabled it. Uploading Files --------------- -Using the anonymous upload funktion ist simple. You receive a link to the upload -folder, click the link, and then you'll see an Nextcloud page with a **Click to +Using the anonymous upload function is simple. You receive a link to the upload +folder, click the link, and then you'll see an Nextcloud page with a **Click to upload** button. .. image:: ../images/anonym_upload.png - -This opens a file picker, and you select the file or directory you want to -upload. You're also able to just drop files into the window. - -When your upload is completed, the filenames are listet: + +This opens a file picker, and you select the file or directory you want to +upload. You're also able to just drop files into the window. + +When your upload is completed, the filenames are listed: .. image:: ../images/anonym_uploaded_files.png diff --git a/user_manual/files/gallery_app.rst b/user_manual/files/gallery_app.rst index 62df696f6..458e982a4 100644 --- a/user_manual/files/gallery_app.rst +++ b/user_manual/files/gallery_app.rst @@ -2,22 +2,22 @@ Gallery App =========== -The Pictures app has been rewritten and improved, and is now called the Gallery -app. It supports more image formats, sorting, zoom, and scrolling. It also +The Pictures app has been rewritten and improved, and is now called the Gallery +app. It supports more image formats, sorting, zoom, and scrolling. It also supports advanced customizations via a simple text file. -On your main Nextcloud Files page, click the little icon at the top right, -underneath your username, to open your Gallery. The Gallery app automatically -finds all images in your Nextcloud folders, and overlays the thumbnails with the -folder names. Click on the folder thumbnails to open the folders. At the top +On your main Nextcloud Files page, click the little icon at the top right, +underneath your username, to open your Gallery. The Gallery app automatically +finds all images in your Nextcloud folders, and overlays the thumbnails with the +folder names. Click on the folder thumbnails to open the folders. At the top left you have two sorting options, alphabetical and by date. .. figure:: ../images/gallery-1.png :alt: Gallery folder thumbnails. -After entering any folder, click on any image to open it in slideshow mode. -This has the following features: a download button at the top center, forward -and back buttons at the right and left sides, an automatic slideshow button at +After entering any folder, click on any image to open it in slideshow mode. +This has the following features: a download button at the top center, forward +and back buttons at the right and left sides, an automatic slideshow button at the bottom right, and a close button at the top right. .. figure:: ../images/gallery-2.png @@ -25,13 +25,13 @@ the bottom right, and a close button at the top right. Custom Configuration -------------------- - -You may customize a Gallery album with a simple text file named -**gallery.cnf**, which contains parameters structured using the -`Yaml `_ markup language. You may have -multiple **gallery.cnf** files; you need one in your own root Nextcloud folder -(your Home folder) that defines global features, and then you may have -individual per-album **gallery.cnf** files if you want to define different + +You may customize a Gallery album with a simple text file named +**gallery.cnf**, which contains parameters structured using the +`Yaml `_ markup language. You may have +multiple **gallery.cnf** files; you need one in your own root Nextcloud folder +(your Home folder) that defines global features, and then you may have +individual per-album **gallery.cnf** files if you want to define different behaviors in different albums. Features @@ -53,20 +53,20 @@ The following album features are currently implemented: The following slideshow features are currently implemented: -* Showing a button which lets you pick which background, either black or - white, to use for the picture you are currently viewing (for images with +* Showing a button which lets you pick which background, either black or + white, to use for the picture you are currently viewing (for images with transparent backgrounds). Setup ^^^^^ -The configuration file has to be named **gallery.cnf**. You may have multiple -per-album **gallery.cnf** files. To enable global features, place one in your -top-level folder, which is symbolised in the Web GUI by the home icon. (This -puts it in ``data//files/``.) See :ref:`an example below +The configuration file has to be named **gallery.cnf**. You may have multiple +per-album **gallery.cnf** files. To enable global features, place one in your +top-level folder, which is symbolised in the Web GUI by the home icon. (This +puts it in ``data//files/``.) See :ref:`an example below ` in the **Global features** section. -.. note:: You need to refresh your browser after changing your configuration to +.. note:: You need to refresh your browser after changing your configuration to see your changes. Format @@ -77,13 +77,13 @@ UTF-8, **without BOM**. A file created from within the Nextcloud Web GUI works. Structure ^^^^^^^^^ -You should include a comment in the file, so that people stumbling upon +You should include a comment in the file, so that people stumbling upon the file know what it's for. Comments start with #. Spacing is created using 2 spaces. **Do not use tabs.** -Take a look at the `YAML Format documentation -`_ if you are +Take a look at the `YAML Format documentation +`_ if you are getting error messages. Here is an example `gallery.cnf`:: @@ -98,10 +98,10 @@ Here is an example `gallery.cnf`:: background: "#ff9f00" inherit: yes information: - description: This is an **album description** which is only shown if there + description: This is an **album description** which is only shown if there is no `description_link` description_link: readme.md - copyright: Copyright 2003-2016 [interfaSys sàrl](http://www.interfasys.ch), + copyright: Copyright 2003-2016 [interfaSys sàrl](https://www.interfasys.ch), Switzerland copyright_link: copyright.md inherit: yes @@ -109,8 +109,8 @@ Here is an example `gallery.cnf`:: type: date order: des inherit: yes - -.. _supported_variables_label: + +.. _supported_variables_label: Supported Variables ^^^^^^^^^^^^^^^^^^^ @@ -119,77 +119,77 @@ Supported Variables Place this in your root Nextcloud folder, which is your Home folder. -* **external_shares**: Set to **yes** in your root configuration file if you - want to load images stored on external locations, when using the +* **external_shares**: Set to **yes** in your root configuration file if you + want to load images stored on external locations, when using the **files_external** app. -* **native_svg**: Set to **yes** in your root configuration file to enable - rendering SVG images in your browser. This may represent a security risk if +* **native_svg**: Set to **yes** in your root configuration file to enable + rendering SVG images in your browser. This may represent a security risk if you can't fully trust your SVG files. -* **background_colour_toggle**: Set to **yes** in your root configuration file - to enable a button that toggles between black and white backgrounds on +* **background_colour_toggle**: Set to **yes** in your root configuration file + to enable a button that toggles between black and white backgrounds on transparent images. -.. note:: External shares are 20-50 times slower than local shares. Be prepared - to wait a long time before being able to see all the images contained in a +.. note:: External shares are 20-50 times slower than local shares. Be prepared + to wait a long time before being able to see all the images contained in a shared album. **Album Configuration** -Each album can be individually configured using the following configuration -sections. Use the **inherit** parameter to pass configurations on to +Each album can be individually configured using the following configuration +sections. Use the **inherit** parameter to pass configurations on to sub-albums. **Design** -* **background**: Defines the colour of the background of the photowall - using the RGB hexadecimal representation of that colour. For example: - **"#ffa033"**. You must use quotes around the value or it will - be ignored. It is strongly recommended to use a custom theme, with a CSS - loading spinner if you intend to use this feature. You can use `this colour +* **background**: Defines the colour of the background of the photowall + using the RGB hexadecimal representation of that colour. For example: + **"#ffa033"**. You must use quotes around the value or it will + be ignored. It is strongly recommended to use a custom theme, with a CSS + loading spinner if you intend to use this feature. You can use `this colour wheel `_ to find a colour you like. -* **inherit**: Set to **yes** if you want sub-folders to inherit this part of +* **inherit**: Set to **yes** if you want sub-folders to inherit this part of the configuration. **Album Presentation** -* **description**: A markdown-formatted string which will be displayed in the +* **description**: A markdown-formatted string which will be displayed in the info box. It can spread over multiple lines using the Yaml markers. -* **description_link**: A markdown file located within the album which will +* **description_link**: A markdown file located within the album which will be parsed and displayed in the info box instead of the description. -* **copyright**: A markdown-formatted string. This supports links to external +* **copyright**: A markdown-formatted string. This supports links to external resources. -* **copyright_link**: Any file (e.g. copyright.html), in the album itself, +* **copyright_link**: Any file (e.g. copyright.html), in the album itself, which will be downloaded when the user clicks on the link -* **inherit**: Set to **yes** if you want sub-folders to inherit this part of +* **inherit**: Set to **yes** if you want sub-folders to inherit this part of the configuration. See ``_ for the markdown syntax. -.. note:: Do not add links to your `copyright` string if you use the +.. note:: Do not add links to your `copyright` string if you use the **copyright_link** variable. **Sorting** * **sorting**: **date** or **name**. **date** only works for files. * **sort_order**: **asc** or **des** (Ascending or descending). -* **inherit**: Set to **yes** if you want sub-folders to inherit this part of +* **inherit**: Set to **yes** if you want sub-folders to inherit this part of the configuration. Notes ----- -* When only the sort **type** variable has been set, the default sort order +* When only the sort **type** variable has been set, the default sort order will be used. -* When only the sort **order** variable has been found, the sort configuration - will be ignored and the script will keep looking for a valid configuration in +* When only the sort **order** variable has been found, the sort configuration + will be ignored and the script will keep looking for a valid configuration in upper folders. -* To enable a feature such as native SVG in a public share, you need to create +* To enable a feature such as native SVG in a public share, you need to create in that folder a configuration file containing that feature. -* If you share a folder publicly, don't forget to add all the files you link to - (e.g. ``description.md`` or ``copyright.md``) inside the shared folder as +* If you share a folder publicly, don't forget to add all the files you link to + (e.g. ``description.md`` or ``copyright.md``) inside the shared folder as the user won't have access to files stored in the parent folder. -* Since people can download a whole folder as an archive, it's usually best to - include all files within a shared folder, rather than adding text directly +* Since people can download a whole folder as an archive, it's usually best to + include all files within a shared folder, rather than adding text directly in the configuration file. Examples @@ -204,8 +204,8 @@ Applies to the current folder only:: type: date order: asc -Short description and link to copyright document, applies to the current folder -and all of its sub-folders. This also shows you the syntax you can use to +Short description and link to copyright document, applies to the current folder +and all of its sub-folders. This also shows you the syntax you can use to spread a description over multiple lines:: # Gallery configuration file @@ -236,7 +236,7 @@ You can add standard configuration items to the same configuration file:: # Gallery configuration file features: native_svg: yes - + Possible Future Extensions -------------------------- diff --git a/user_manual/files/large_file_upload.rst b/user_manual/files/large_file_upload.rst index 087caeddd..8acd4df03 100644 --- a/user_manual/files/large_file_upload.rst +++ b/user_manual/files/large_file_upload.rst @@ -2,20 +2,21 @@ Large File Uploads ================== -When uploading files through the web client, Nextcloud is limited by PHP and -Apache configurations. By default, PHP is configured for only 2 megabyte -uploads. As this default upload limit is not entirely useful, we recommend that -your Nextcloud admin increase the Nextcloud variables to sizes appropriate for +When uploading files through the web client, Nextcloud is limited by PHP and +Apache configurations. By default, PHP is configured for only 2 megabyte +uploads. As this default upload limit is not entirely useful, we recommend that +your Nextcloud admin increase the Nextcloud variables to sizes appropriate for users. -Modifying certain Nextcloud variables requires administrative access. If you +Modifying certain Nextcloud variables requires administrative access. If you require larger upload limits than have been provided by the default (or already set by your administrator): * Contact your administrator to request an increase in these variables -* Refer to the section in the `Admin Documentation +* Refer to the section in the `Admin Documentation `_ that describes how to manage file + big_file_upload_configuration.html>`_ that describes how to manage file upload size limits. + .. TODO ON RELEASE: Update version number above on release diff --git a/user_manual/files/version_control.rst b/user_manual/files/version_control.rst index 4eb14e6fe..3c4739212 100644 --- a/user_manual/files/version_control.rst +++ b/user_manual/files/version_control.rst @@ -2,15 +2,15 @@ Version Control =============== -Nextcloud supports simple version control system for files. Versioning creates -backups of files which are accessible via the Versions tab on the Details -sidebar. This tab contains the history of the file where you can roll back a -file to any previous version. Changes made at intervals greater than two minutes -are saved in data/[user]/versions. +Nextcloud supports simple version control system for files. Versioning creates +backups of files which are accessible via the Versions tab on the Details +sidebar. This tab contains the history of the file where you can roll back a +file to any previous version. Changes made at intervals greater than two minutes +are saved in **data/[user]/versions**. .. figure:: ../images/files_versioning.png -To restore a specific version of a file, click the circular arrow to the left. +To restore a specific version of a file, click the circular arrow to the left. Click on the timestamp to download it. The versioning app expires old versions automatically to make sure that @@ -28,6 +28,6 @@ old versions: The versions are adjusted along this pattern every time a new version gets created. -The version app never uses more that 50% of the user's currently available free -space. If the stored versions exceed this limit, Nextcloud deletes the oldest +The version app never uses more that 50% of the user's currently available free +space. If the stored versions exceed this limit, Nextcloud deletes the oldest versions until it meets the disk space limit again. diff --git a/user_manual/images/2fa_backupcode_1.png b/user_manual/images/2fa_backupcode_1.png new file mode 100644 index 000000000..ba979b910 Binary files /dev/null and b/user_manual/images/2fa_backupcode_1.png differ diff --git a/user_manual/images/2fa_backupcode_2.png b/user_manual/images/2fa_backupcode_2.png new file mode 100644 index 000000000..bb4c0b466 Binary files /dev/null and b/user_manual/images/2fa_backupcode_2.png differ diff --git a/user_manual/images/create_public_share-9.png b/user_manual/images/create_public_share-9.png index 07cf254ee..a07032248 100644 Binary files a/user_manual/images/create_public_share-9.png and b/user_manual/images/create_public_share-9.png differ diff --git a/user_manual/images/direct-share-1.png b/user_manual/images/direct-share-1.png index 4cac18744..f2f8151a4 100644 Binary files a/user_manual/images/direct-share-1.png and b/user_manual/images/direct-share-1.png differ diff --git a/user_manual/images/kdes.png b/user_manual/images/kdes.png deleted file mode 100644 index d564d74a6..000000000 Binary files a/user_manual/images/kdes.png and /dev/null differ diff --git a/user_manual/images/kdes1.png b/user_manual/images/kdes1.png deleted file mode 100644 index 595b9f606..000000000 Binary files a/user_manual/images/kdes1.png and /dev/null differ diff --git a/user_manual/images/kdes2.png b/user_manual/images/kdes2.png deleted file mode 100644 index 2de5a04e0..000000000 Binary files a/user_manual/images/kdes2.png and /dev/null differ diff --git a/user_manual/images/kdes3.png b/user_manual/images/kdes3.png deleted file mode 100644 index 26f252e2d..000000000 Binary files a/user_manual/images/kdes3.png and /dev/null differ diff --git a/user_manual/images/kdes4.png b/user_manual/images/kdes4.png deleted file mode 100644 index a9348a7d6..000000000 Binary files a/user_manual/images/kdes4.png and /dev/null differ diff --git a/user_manual/images/kdes5.png b/user_manual/images/kdes5.png deleted file mode 100644 index a49b5d286..000000000 Binary files a/user_manual/images/kdes5.png and /dev/null differ diff --git a/user_manual/images/kdes6.png b/user_manual/images/kdes6.png deleted file mode 100644 index 7643fefae..000000000 Binary files a/user_manual/images/kdes6.png and /dev/null differ diff --git a/user_manual/images/kdes7.png b/user_manual/images/kdes7.png deleted file mode 100644 index e151fbfd1..000000000 Binary files a/user_manual/images/kdes7.png and /dev/null differ diff --git a/user_manual/images/kdes9.png b/user_manual/images/kdes9.png deleted file mode 100644 index 1fc73b3c2..000000000 Binary files a/user_manual/images/kdes9.png and /dev/null differ diff --git a/user_manual/images/oc_documents.png b/user_manual/images/oc_documents.png deleted file mode 100644 index 90b7dfb83..000000000 Binary files a/user_manual/images/oc_documents.png and /dev/null differ diff --git a/user_manual/images/oc_documents_edit.odg b/user_manual/images/oc_documents_edit.odg deleted file mode 100644 index b684f5ea8..000000000 Binary files a/user_manual/images/oc_documents_edit.odg and /dev/null differ diff --git a/user_manual/images/oc_documents_edit.png b/user_manual/images/oc_documents_edit.png deleted file mode 100644 index 1d4755a2d..000000000 Binary files a/user_manual/images/oc_documents_edit.png and /dev/null differ diff --git a/user_manual/images/oc_personal_settings_dropdown.png b/user_manual/images/oc_personal_settings_dropdown.png index 053550a83..5ca66db69 100644 Binary files a/user_manual/images/oc_personal_settings_dropdown.png and b/user_manual/images/oc_personal_settings_dropdown.png differ diff --git a/user_manual/images/osx_webdav1.png b/user_manual/images/osx_webdav1.png index 7f0b87f44..29279e268 100644 Binary files a/user_manual/images/osx_webdav1.png and b/user_manual/images/osx_webdav1.png differ diff --git a/user_manual/images/osx_webdav2.png b/user_manual/images/osx_webdav2.png index 52ec1cc3f..b67e66ae8 100644 Binary files a/user_manual/images/osx_webdav2.png and b/user_manual/images/osx_webdav2.png differ diff --git a/user_manual/images/settings_devices.png b/user_manual/images/settings_devices.png index 2ce35bf30..16c971d9b 100644 Binary files a/user_manual/images/settings_devices.png and b/user_manual/images/settings_devices.png differ diff --git a/user_manual/images/settings_devices_add.png b/user_manual/images/settings_devices_add.png index b7ab2bbe8..a826be075 100644 Binary files a/user_manual/images/settings_devices_add.png and b/user_manual/images/settings_devices_add.png differ diff --git a/user_manual/images/settings_sessions.png b/user_manual/images/settings_sessions.png index 2db3f64b4..5a55bcd4c 100644 Binary files a/user_manual/images/settings_sessions.png and b/user_manual/images/settings_sessions.png differ diff --git a/user_manual/images/totp_enable.png b/user_manual/images/totp_enable.png new file mode 100644 index 000000000..d131a4628 Binary files /dev/null and b/user_manual/images/totp_enable.png differ diff --git a/user_manual/images/totp_login_2.png b/user_manual/images/totp_login_2.png new file mode 100644 index 000000000..cdb41e743 Binary files /dev/null and b/user_manual/images/totp_login_2.png differ diff --git a/user_manual/images/webdav_dolphin.png b/user_manual/images/webdav_dolphin.png index ba89fa77f..21afa6451 100644 Binary files a/user_manual/images/webdav_dolphin.png and b/user_manual/images/webdav_dolphin.png differ diff --git a/user_manual/pim/index.rst b/user_manual/pim/index.rst index 9960f226b..d0b254a4f 100644 --- a/user_manual/pim/index.rst +++ b/user_manual/pim/index.rst @@ -2,18 +2,17 @@ Contacts & Calendar =================== -The Contacts, Calendar, and Mail apps are not included in Nextcloud 10. -You may easily install them by clicking the Enable button on +The Contacts, Calendar, and Mail apps are not included in Nextcloud 10. +You may easily install them by clicking the Enable button on their respective Apps > Productivity entries. .. toctree:: :maxdepth: 1 - + contacts calendar sync_ios sync_osx - sync_kde sync_thunderbird troubleshooting diff --git a/user_manual/pim/sync_kde.rst b/user_manual/pim/sync_kde.rst deleted file mode 100644 index 9a0ee6b69..000000000 --- a/user_manual/pim/sync_kde.rst +++ /dev/null @@ -1,56 +0,0 @@ -========================= -Synchronizing with KDE SC -========================= - -.. image:: ../images/kdes1.png - -From KDE SC 4.8 and forward setting up Nextcloud is very easy. Note that the KDE -calendar needs to have the Nextcloud Calendar and Contacts apps enabled on the -Nextcloud server. You need both and not just the Calendar. From System Settings -Personal Information/Akonadi Resources Configuration select DAV Groupware -resource. - -.. image:: ../images/kdes2.png - -Enter your Nextcloud username and password and click "Next". - - -.. image:: ../images/kdes3.png - -Select Nextcloud in the drop down list and click "Next". - - - -.. image:: ../images/kdes4.png - -Enter the host name and installation path. If you do not use SSL -remember to de-select "Use secure connection". - - -.. image:: ../images/kdes5.png - -Test the connection. If everything went well you should see a message -like the one below. - - -.. image:: ../images/kdes6.png - -Click "Finish" and you will be able to change the display name and -refresh interval. - - -.. image:: ../images/kdes7.png - -Now you should see the Akonadi resource doing the first -synchronization. - -.. missing -.. .. image:: ../images/kdes8.png - -You can find the Contacts and Calendars in Kontact (or -KOrganizer/KAddressbook if you run the programs separately.) - - -.. image:: ../images/kdes9.png - -.. image:: ../images/kdes.png diff --git a/user_manual/pim/sync_osx.rst b/user_manual/pim/sync_osx.rst index f535c3bfb..84336f923 100644 --- a/user_manual/pim/sync_osx.rst +++ b/user_manual/pim/sync_osx.rst @@ -10,17 +10,17 @@ to sync with Nextcloud. For OS X 10.7 Lion and 10.8 Mountain Lion everything wor fine, but OS X 10.6 (Snow Leopard) and older needs some fiddling to work. A user contributed the following: -#. Make sure, addressbook is not running. If it is, select the windows and press +#. Make sure, "Addressbook" is not running. If it is, select the windows and press Command + Q to terminate it. #. Navigate to **/Users/YOUR\_USERNAME/Library/Application Support/AddressBook/Sources**. -If you already have some kind of addressbook setup, it is likely you will see +If you already have some kind of addressbook set up, it is likely you will see some folders named like this **BEA92826-FBF3-4E53-B5C6-ED7C2B454430**. Note down what folders there are now and leave the window open. -#. Open addressbook and try to add a new CardDav addressbook. At this point, it +#. Open "Addressbook" and try to add a new CardDav addressbook. At this point, it does not matter what information you enter. It will come up with the same error message you mentioned before when you click "Create". Ignore it and click "Create" again. A non-functional addressbook will be added. -#. Close addressbook again using Command + Q +#. Close "Addressbook" again using Command + Q #. Go back to the folder window from step 2. You will now see a newly created folder with another long string as its name. #. Navigate to the newly created folder and edit the **Configuration.plist** with diff --git a/user_manual/pim/sync_thunderbird.rst b/user_manual/pim/sync_thunderbird.rst index 1d4791bc8..f7e41f38e 100644 --- a/user_manual/pim/sync_thunderbird.rst +++ b/user_manual/pim/sync_thunderbird.rst @@ -4,10 +4,10 @@ Thunderbird - Synchronize Addressbook Addressbook ----------- -As someone who is new to Nextcloud, New to SoGo Connector, and new to Thunderbird Addressbook... here is what you need in excruciating pithy detail to make this work (for all the other lost souls out there): +As someone who is new to Nextcloud, new to SoGo Connector, and new to Thunderbird Addressbook... here is what you need in excruciating pithy detail to make this work (for all the other lost souls out there): -#. `Thunderbird `_ for your OS unless it comes with your OS distribution (Linux) -#. `Sogo Connector `_ (latest release) +#. `Thunderbird `_ for your OS unless it comes with your OS distribution (Linux) +#. `Sogo Connector `_ (latest release) #. `Lightning `_ (a Thunderbird calendar add-on. At the time (Aug 14), syncing your contacts only works with this add-on installed.) With an installed Thunderbird mailtool, an installed SoGo Connector, and an installed Lightning add-on: @@ -21,7 +21,7 @@ With an installed Thunderbird mailtool, an installed SoGo Connector, and an inst .. image:: ../images/contact_thunderbird-Symbol_Gear.jpg -in the -bottom left- of the Contacts View (same symbol as found in the -top right- in the Calendar view). Then look for a little impeller symbol +in the bottom left of the Contacts View (same symbol as found in the top right in the Calendar view). Then look for a little impeller symbol .. image:: ../images/contact_thunderbird-Symbol_Impeller.jpg diff --git a/user_manual/session_management.rst b/user_manual/session_management.rst index 780638472..9ab56b9f3 100644 --- a/user_manual/session_management.rst +++ b/user_manual/session_management.rst @@ -10,7 +10,7 @@ Managing Connected Browsers In the list of connected browsers you see which browsers connected to your account recently: - .. figure:: images/settings_sessions.png +.. figure:: images/settings_sessions.png :alt: List of browser sessions. You can use the trash icon to disconnect any of the browsers in the list. @@ -20,7 +20,7 @@ Managing Devices In the list of connected devices you see all the devices and clients you generated a device password for and their last activity: - .. figure:: images/settings_devices.png +.. figure:: images/settings_devices.png :alt: List of connected devices. You can use the trash icon to disconnect any of the devices in the list. @@ -31,7 +31,7 @@ password is used for configuring the new client. Ideally, generate individual tokens for every device you connect to your account, so you can disconnect those individually if necessary. - .. figure:: images/settings_devices_add.png +.. figure:: images/settings_devices_add.png :alt: Adding a new device. .. note:: You have only access to the device password when creating it, @@ -39,6 +39,6 @@ those individually if necessary. enter the password on the new client immediately. -.. note:: If two-factor authentication is enabled for your account, +.. note:: If you are :doc:`user_2fa` for your account, device-specific passwords are the only way to configure clients. The client will deny connections of clients using your login password then. diff --git a/user_manual/user_2fa.rst b/user_manual/user_2fa.rst new file mode 100644 index 000000000..3fbd3984b --- /dev/null +++ b/user_manual/user_2fa.rst @@ -0,0 +1,72 @@ +=============================== +Using two-factor authentication +=============================== + +Two-factor authentication (2FA) is a way to protect your Nextcloud account +against unauthorized access. It works by requiring two different 'proofs' of +your identity. For example, *something you know* (like a password) and +*something you have* like a physical key. Typically, the first factor is a +password like you already have and the second can be a text message you +receive or a code you generate on your phone or another device +(*something you have*). Nextcloud supports a variety of 2nd factors and +more can be added. + +Once a two-factor authentication app has been enabled by your administrator +you can enable and configure it in :doc:`userpreferences`. Below you can +see how. + +Configuring two-factor authentication +===================================== +In your Personal Settings look up the Second-factor Auth setting. In this +example this is TOTP, a Google Authenticator compatible time based code. + +.. figure:: images/totp_enable.png + :alt: TOTP configuration. + +You will see your secret and a QR code which can be scanned by the TOTP app +on your phone (or another device). Depending on the app or tool, type in the +code or scan the QR and your device will show a login code which changes +every 30 seconds. + +Recovery codes in case you lost your 2nd factor +=============================================== +You should always generate backup codes for 2FA. If your 2nd factor device +gets stolen or is not working, you will be able to use one of these codes to +unlock your account. It effectively functions as a backup 2nd factor. To +get the backup codes, go to your Personal Settings and look under Second-factor +Auth settings. Choose *Generate backup codes*. + +.. figure:: images/2fa_backupcode_1.png + :alt: 2FA backup code generator + +You will then be presented with a list of one-time-use backup codes. + +.. figure:: images/2fa_backupcode_2.png + :alt: 2FA backup codes + +You should put these codes in a safe spot, somewhere you can find them. Don't +put them together with your 2nd factor like your mobile phone but make sure that +if you lose one, you still have the other. Keeping them at home is probably +the best thing to do. + +Logging in with two-factor authentication +========================================= +After you have logged out and need to log in again, you will see a request to +enter the TOTP code in your browser. Just enter your code: + +.. figure:: images/totp_login_2.png + :alt: Entering TOTP code at login. + +If the code was correct you will be redirected to your Nextcloud account. + +.. note:: Since the code is time-based, it’s important that your server’s and +your smartphone’s clock are almost in sync. A time drift of a few seconds +won’t be a problem. + +Using client applications with two-factor authentication +======================================================== +Once you have enabled 2FA, your clients will no longer be able to connect with +just your password unless they also have support for two-factor authentication. +To solve this, you should generate device specific passwords for them. See +:doc:`session_management` for more information on how to do this. + diff --git a/user_manual/userpreferences.rst b/user_manual/userpreferences.rst index aa2ffdc51..8b4768130 100644 --- a/user_manual/userpreferences.rst +++ b/user_manual/userpreferences.rst @@ -20,20 +20,21 @@ To access your personal settings: .. figure:: images/personal_settings.png :alt: screenshot of user's Personal settings page -.. note:: If you are an administrator, you can also manage users and administer +.. note:: If you are an administrator, you can also manage users and administer the server. These links do not appear to a non-admin user. -The options listed in the Personal Settings Page depend on the applications that -are enabled by the administrator. Some of the features you will see +The options listed in the Personal Settings Page depend on the applications that +are enabled by the administrator. Some of the features you will see include the following. -* Usage and available quota +* Usage and available quota. * Manage your profile picture. -* Full name. You can make this anything you want, as it is separate from your +* Full name. You can make this anything you want, as it is separate from your Nextcloud login name, which is unique and cannot be changed. * Email address. * Lists your Group memberships. * Manage your password. +* :doc:`user_2fa`. * :doc:`userpreferences`. * Choose the language for your Nextcloud interface. * Links to desktop and mobile apps. diff --git a/user_manual/webinterface.rst b/user_manual/webinterface.rst index f53c181b0..8cb53c647 100644 --- a/user_manual/webinterface.rst +++ b/user_manual/webinterface.rst @@ -2,26 +2,27 @@ The Nextcloud Web Interface =========================== -You can connect to your Nextcloud server using any Web browser; just point it to -your Nextcloud server and enter your username and password. Supported Web +You can connect to your Nextcloud server using any Web browser; just point it to +your Nextcloud server and enter your username and password. Supported Web browsers are: * Firefox 14+ * Chrome 18+ -* Safari 5+ -* IE9+ (except Compatibility Mode) +* Safari 7+ +* IE11+ +* Microsoft Edge .. figure:: images/oc_connect.png :alt: Nextcloud login screen. -.. note:: Some apps like ``files_external`` or ``encryption`` will disable +.. note:: Some apps like ``files_external`` or ``encryption`` will disable the **Stay logged in** checkbox. Navigating the Main User Interface ---------------------------------- -By default, the Nextcloud Web interface opens to your Files page. You can add, -remove, and share files, and make changes based on the access privileges set by +By default, the Nextcloud Web interface opens to your Files page. You can add, +remove, and share files, and make changes based on the access privileges set by you (if you are administering the server) or by your server administrator. .. figure:: images/files_page.png @@ -30,13 +31,13 @@ you (if you are administering the server) or by your server administrator. The Nextcloud user interface contains the following fields and functions: -* **Apps Selection Menu**: Located in the upper left corner, click the arrow to +* **Apps Selection Menu**: Located in the upper left corner, click the arrow to open a dropdown menu to navigate to your various available apps. - -* **Apps Information** field: Located in the left sidebar, this provides - filters and tasks associated with your selected app. For example, when you - are using the Files apps you have a special set of filters for quickly - finding your files, such as files that have been shared with you, and files + +* **Apps Information** field: Located in the left sidebar, this provides + filters and tasks associated with your selected app. For example, when you + are using the Files apps you have a special set of filters for quickly + finding your files, such as files that have been shared with you, and files that you have shared with others. You'll see different items for other apps. * **Application View**: The main central field in the Nextcloud user interface. @@ -49,19 +50,19 @@ The Nextcloud user interface contains the following fields and functions: * **New** button: Located in the Navigation Bar, the ``New`` button enables you to create new files, new folders, or upload files. -.. note:: You can also drag and drop files from your file manager into the - Nextcloud Files Application View to upload them to Nextcloud. Currently, - the only Web browsers that support drag-and-drop folders are Chrome and +.. note:: You can also drag and drop files from your file manager into the + Nextcloud Files Application View to upload them to Nextcloud. Currently, + the only Web browsers that support drag-and-drop folders are Chrome and Chromium. -* **Search** field: Click on the magnifier in the upper right hand corner of +* **Search** field: Click on the magnifier in the upper right hand corner of to search for files. - -* **Gallery** button. This looks like four little squares, and takes you - directly to your image gallery. -* **Personal Settings** menu: Click on your Nextcloud username, located to the - right of the Search field, to open your Personal Settings dropdown menu. Your +* **Gallery** button. This looks like four little squares, and takes you + directly to your image gallery. + +* **Personal Settings** menu: Click on your Nextcloud username, located to the + right of the Search field, to open your Personal Settings dropdown menu. Your Personal page provides the following settings and features: * Links to download desktop and mobile apps diff --git a/user_manual_de/Create HTML.lnk b/user_manual_de/Create HTML.lnk new file mode 100644 index 000000000..0dd9e1c91 Binary files /dev/null and b/user_manual_de/Create HTML.lnk differ diff --git a/user_manual_de/Create PDF.lnk b/user_manual_de/Create PDF.lnk new file mode 100644 index 000000000..f7c0969bc Binary files /dev/null and b/user_manual_de/Create PDF.lnk differ diff --git a/user_manual_de/Makefile b/user_manual_de/Makefile new file mode 100644 index 000000000..72f472c35 --- /dev/null +++ b/user_manual_de/Makefile @@ -0,0 +1,168 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = _build + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext + +help: + @echo "Please use \`make ' where is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " pdf to make PDF files" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + +clean: + -rm -rf $(BUILDDIR)/* + +html: html-com + +html-all: html-release html-com + +html-release: + $(SPHINXBUILD) -b html -D html_theme='nextcloud_release' $(ALLSPHINXOPTS) $(BUILDDIR)/html/release + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html/release." + +html-com: + $(SPHINXBUILD) -b html -D html_theme='nextcloud_com' $(ALLSPHINXOPTS) $(BUILDDIR)/html/com + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html/com." + +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/OwncloudDocumentation.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/OwncloudDocumentation.qhc" + +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/OwncloudDocumentation" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/OwncloudDocumentation" + @echo "# devhelp" + +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +latexpdf: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +pdf: + $(SPHINXBUILD) -b pdf $(ALLSPHINXOPTS) $(BUILDDIR)/pdf + @echo + @echo "build finished. the text files are in $(BUILDDIR)/pdf." + +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "build finished. the text files are in $(BUILDDIR)/text." + +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run \`make' in that directory to run these through makeinfo" \ + "(use \`make info' here to do that automatically)." + +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + make -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." diff --git a/user_manual_de/conf.py b/user_manual_de/conf.py new file mode 100644 index 000000000..4e7381546 --- /dev/null +++ b/user_manual_de/conf.py @@ -0,0 +1,296 @@ +# -*- coding: utf-8 -*- +# +# ownCloud Documentation documentation build configuration file, created by +# sphinx-quickstart on Mon Oct 22 23:16:40 2012-2014. +# +# This file is execfile()d with the current directory set to its containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import sys, os + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +#sys.path.insert(0, os.path.abspath('.')) + +# -- General configuration ----------------------------------------------------- + +# If your documentation needs a minimal Sphinx version, state it here. +#needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be extensions +# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. +extensions = ['sphinx.ext.todo', 'rst2pdf.pdfbuilder'] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['../_shared_assets/templates'] + +# The suffix of source filenames. +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'contents' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = '11' +# The full version, including alpha/beta/rc tags. +release = '11' + +# General information about the project. +project = u'Nextcloud %s Benutzerhandbuch' % (version) +copyright = u'2012-2016, Die Nextcloud Entwickler' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +#language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = ['_build'] + +# The reST default role (used for this markup: `text`) to use for all documents. +#default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +#add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + + +# -- Options for HTML output --------------------------------------------------- + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +#html_theme_options = {} + +# Add any paths that contain custom themes here, relative to this directory. +html_theme_path = ['../_shared_assets/themes'] + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +html_theme = 'nextcloud_com' +html_theme_options = { +# "rightsidebar": "true", +} +# The name for this set of Sphinx documents. If None, it defaults to +# " v documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +html_short_title = "Benutzerhandbuch" + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['../_shared_assets/static'] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +#html_domain_indices = True + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, links to the reST sources are added to the pages. +#html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +html_show_sphinx = False + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +#html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = None + +# Output file base name for HTML help builder. +htmlhelp_basename = 'NextcloudBenutzerHandbuch' + + +# -- Options for LaTeX output -------------------------------------------------- + +latex_elements = { +# The paper size ('letterpaper' or 'a4paper'). +#'papersize': 'letterpaper', + +# The font size ('10pt', '11pt' or '12pt'). +#'pointsize': '10pt', + +# Additional stuff for the LaTeX preamble. +#'preamble': '', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, author, documentclass [howto/manual]). +latex_documents = [ + ('contents', 'Nextcloud_User_Manual.tex', u'Nextcloud Benutzerhandbuch', + u'Die Nextcloud Entwickler', 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +latex_logo = '../_shared_assets/static/logo-blue.pdf' + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = False + +# If true, show page references after internal links. +#latex_show_pagerefs = False + +# If true, show URL addresses after external links. +#latex_show_urls = False + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_domain_indices = True + +# -- Options for pdf page output ----------------------------------------------- + +pdf_documents = [('contents', u'NextcloudBenutzerhandbuch', u'Nextcloud Benutzerhandbuch', u'Die Nextcloud Entwickler'),] + +# -- Options for manual page output -------------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + ('contents', 'nextcloudbenutzerhandbuch', u'Nextcloud Benutzerhandbuch', + [u'Die Nextcloud Entwickler'], 1) +] + +# If true, show URL addresses after external links. +#man_show_urls = False + + +# -- Options for Texinfo output ------------------------------------------------ + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + ('contents', 'NextcloudBenutzerhandbuch', u'Nextcloud Benutzerhandbuch', + u'Die Nextcloud Entwickler', 'Nextcloud', 'Das Nextcloud Benutzerhandbuch.', + 'Miscellaneous'), +] + +# Documents to append as an appendix to all manuals. +#texinfo_appendices = [] + +# If false, no module index is generated. +#texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#texinfo_show_urls = 'footnote' + + +# -- Options for Epub output --------------------------------------------------- + +# Bibliographic Dublin Core info. +epub_title = u'Nextcloud Benutzerhandbuch' +epub_author = u'Die Nextcloud Entwickler' +epub_publisher = u'Die Nextcloud Entwickler' +epub_copyright = u'2012-2016, Die Nextcloud Entwickler' + +# The language of the text. It defaults to the language option +# or en if the language is not set. +#epub_language = '' + +# The scheme of the identifier. Typical schemes are ISBN or URL. +#epub_scheme = '' + +# The unique identifier of the text. This can be a ISBN number +# or the project homepage. +#epub_identifier = '' + +# A unique identification for the text. +#epub_uid = '' + +# A tuple containing the cover image and cover page html template filenames. +#epub_cover = () + +# HTML files that should be inserted before the pages created by sphinx. +# The format is a list of tuples containing the path and title. +#epub_pre_files = [] + +# HTML files shat should be inserted after the pages created by sphinx. +# The format is a list of tuples containing the path and title. +#epub_post_files = [] + +# A list of files that should not be packed into the epub file. +#epub_exclude_files = [] + +# The depth of the table of contents in toc.ncx. +#epub_tocdepth = 3 + +# Allow duplicate toc entries. +#epub_tocdup = True + +# Include todos? +todo_include_todos = True + +# substitutions go here +rst_epilog = '.. |version| replace:: %s' % version diff --git a/user_manual_de/contents.rst b/user_manual_de/contents.rst new file mode 100644 index 000000000..2da75e5b5 --- /dev/null +++ b/user_manual_de/contents.rst @@ -0,0 +1,19 @@ +.. _contents: + +================== +Inhaltsverzeichnis +================== + +.. toctree:: + :maxdepth: 2 + + index + whats_new + webinterface + files/index + pim/index + userpreferences + user_2fa + session_management + external_storage/index + diff --git a/user_manual_de/external_storage/external_storage.rst b/user_manual_de/external_storage/external_storage.rst new file mode 100644 index 000000000..d9abfcbad --- /dev/null +++ b/user_manual_de/external_storage/external_storage.rst @@ -0,0 +1,10 @@ +============================ +Einrichten externer Speicher +============================ + +Mithilfe der "Externe Speicher"-App können Sie externen Speicher von z.B. Google Drive, +Dropbox, Amazon S3, SMB/CIFS Fileservern sowie FTP-Servern in Ihre Nextcloud einbinden. +Ihr Nextcloud-Administrator kann einstellen, welche dieser Anbieter verwendet werden +können. Mehr dazu finden Sie unter `Externen Speicher verwalten (GUI) `_. + +.. TODO ON RELEASE: Update version number above on release diff --git a/user_manual_de/external_storage/index.rst b/user_manual_de/external_storage/index.rst new file mode 100644 index 000000000..c98187eca --- /dev/null +++ b/user_manual_de/external_storage/index.rst @@ -0,0 +1,8 @@ +================= +Externer Speicher +================= + +.. toctree:: + :maxdepth: 1 + + external_storage diff --git a/user_manual_de/files/access_webdav.rst b/user_manual_de/files/access_webdav.rst new file mode 100644 index 000000000..e863067db --- /dev/null +++ b/user_manual_de/files/access_webdav.rst @@ -0,0 +1,544 @@ +======================================== +Zugriff auf Nextcloud-Dateien mit WebDAV +======================================== + +Nextcloud hat volle Unterstützung für das WebDAV-Protokoll. Sie können eine +Verbindung zu Ihren Nextcloud-Dateien über WebDAV herstellen und diese +synchronisieren. In folgenden Kapitel erfahren Sie, wie Sie Linux, Mac OS X, +Windows und mobile Geräte über WebDAV zu Ihrem Nextcloud-Server verbinden. +Bevor mit der Konfiguration von WebDAV angefangen wird, wird ein kurzer Einblick +auf die empfohlene Art der Verbindung von Client-Geräten mit Ihren +Nextcloud-Servern gegeben. + +Nextcloud Desktop und Mobile Clients +------------------------------------ + +Die empfohlene Methode, um Ihren Desktop-PC mit Ihrem Nextcloud-Server zu +synchronisieren, ist die Verwendung der `Nextcloud/ownCloud Sync-Clients +`_. Sie können den Client so +konfigurieren, dass Dateien in einem beliebigen lokalen Ordner gespeichert +werden. Sie können auch auswählen, welche Ordner des Nextcloud-Servers +synchronisiert werden soll. Der Client zeigt den aktuellen Verbindungsstatus an +und protokolliert alle Aktivitäten, sodass Sie immer wissen, welche +entfernte Dateien auf Ihren PC heruntergeladen wurden. Sie können auch überprüfen, +ob die auf Ihrem lokalen PC erstellten und aktualisierten Dateien ordnungsgemäß +mit dem Server synchronisiert wurden. Die empfohlene Methode zur Synchronisation +Ihres Nextcloud-Servers mit Android- und Apple iOS-Geräten ist die Verwendung +der `mobilen Apps `_. + +Für die Verbindung zu einem Netxtcloud-Server mit Mobile-Apps, wird folgende +URL inklusive dem Ordnernamen benötigt:: + + example.com/nextcloud + +Neben den von Nextcloud oder ownCloud bereitgestellten mobilen Apps +können Sie mit WebDAV auch andere Apps nutzen, um sich mit +Ihrem Nextcloud-Server zu verbinden. `WebDAV Navigator`_ ist eine gute +(proprietäre) App für `Android Geräte`_ und `iPhones`_. + +Die zu verwendende Adresse lautet:: + + example.com/nextcloud/remote.php/dav/files/USERNAME/ + +WebDAV-Konfiguration +-------------------- + +Über das WebDAV-Protokoll können Sie Ihren Desktop-PC mit Ihrem Nextcloud-Server +verbinden. Anstatt eine spezielle Client-Anwendung, kann das WebDAV-Protokoll +verwendet werden. Web Distributed Authoring and Versioning (WebDAV) ist eine +Hypertext Transfer Protocol (HTTP) Erweiterung, die es einfach macht, Dateien +auf Webservern zu erstellen, zu lesen und zu bearbeiten. Mit WebDAV haben Sie +eine weitere Option auf Ihre Nextcloud-Freigaben zuzugreifen. Unter Linux, +Mac OS X und Windows funktioniert die Verbindung wie mit jeder entfernten +Netzwerkfreigabe. + +.. note:: In den folgenden Beispielen müssen Sie **example.com/** an die URL + Ihrer Nextcloud-Serverinstallation anpassen. + +Dateizugriff unter Linux +------------------------ + +Sie können auf Nextcloud-Dateien in Linux-Betriebssystemen zugreifen, indem +Sie folgenden Optionen wählen. + +Nautilus-Dateimanager +^^^^^^^^^^^^^^^^^^^^^ + +Benutzen Sie das ``davs://`` Protokoll, um Ihre Nextcloud-Freigaben mit dem +Nautilus-Dateimanager zu verbinden:: + + davs://example.com/nextcloud/remote.php/dav/files/USERNAME/ + +.. note:: Nutzen Sie `dav://` anstelle `davs://` wenn Ihr Server HTTPS nicht + unterstützt. + +.. image:: ../images/webdav_gnome3_nautilus.png + :alt: WebDAV-Konfiguration mit dem Nautilus-Dateimanager + +Dateizugriff unter KDE mit dem Dolphin-Dateimanager +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Benutzen Sie das ``webdav://`` Protokoll um Ihre Nextcloud-Freigaben unter KDE +mit dem Dolphin-Dateimanager zu verbinden:: + + webdav://example.com/nextcloud/remote.php/dav/files/USERNAME/ + +.. image:: ../images/webdav_dolphin.png + :alt: WebDAV-Konfiguration mit dem Dolphin-Dateimanager + +Sie können einen permanenten Link zu Ihrem Nextcloud-Server erstellen: + +#. Öffnen Sie Dolphin und klicken Sie auf "Netzwerk" im linken Fensterbereich + unter "Persönliche Ordner". +#. Klicken Sie auf das Symbol mit der Aufschrift **Netzwerkordner hinzufügen**. +#. Wenn WebDAV nicht ausgewählt ist, wählen Sie es aus. +#. Klicken Sie auf **Weiter**. +#. Geben Sie die folgenden Einstellungen ein: + + * Name: Der Name, den Sie im Bereich **Persönliche Ordner** als Lesezeichen + sehen möchten, z.B. Nextcloud. + * Benutzer: Der Nextcloud-Benutzername, mit dem Sie sich angemeldet haben, + z.B. "admin". + * Server: Der Nextcloud-Domain, z.B. **example.com** (ohne + **http://** davor oder den weiterführenden Ordner). + * Ordner -- Geben Sie diesen Pfad ein: + ``nextcloud/remote.php/dav/files/USERNAME/``. +#. (Optional) Aktivieren Sie das Kontrollkästchen "Symbol für diesen + Netzwerkordner anlegen", damit ein Lesezeichen in der Spalte "Persönliche + Ordner" angelegt wird. +#. (Optional) Aktivieren Sie das Kontrollkästchen "Verschlüsselung verwenden", + um HTTPS zu verwenden. + +Erstellen von WebDAV-Verbindungen im Linux Terminal +--------------------------------------------------- + +Sie können WebDAV-Verbindungen über ein Linux Terminal erstellen. Dies ist +nützlich, wenn Sie auf Nextcloud genauso wie auf alle anderen entfernten +Dateisysteme zugreifen möchten. Im folgenden Beispiel wird gezeigt, wie Sie +eine Verbindung herstellen und diese bei jedem Systemneustart automatisch auf +Ihrem Linux-Computer eingebunden wird. + +1. Installieren Sie zunächst für das WebDAV-Dateisystem den Treiber ``davfs2``. + Dieser Treiber erlaubt Ihnen Verbindungen zu WebDAV-Freigaben herzustellen. + Folgende Anweisung installiert den Treiber unter Debian/Ubuntu:: + + apt-get install davfs2 + +2. Für CentOS, Fedora und openSUSE wird folgendes Kommando verwendet:: + + yum install davfs2 + +3. Den Linuxbenutzer der WebDAV-Gruppe ``davfs2`` hinzufügen:: + + usermod -aG davfs2 + +3. Im nächsten Schritt wird der Ordner ``nextcloud`` und ``.davfs2`` in + Ihrem Benutzer-Verzeichis erstellt. Dieser Ordner wird in den weiteren + Schritten mit Ihrer Nextcloud verbunden. Geben Sie zunächst Folgendes ein:: + + mkdir ~/nextcloud + mkdir ~/.davfs2 + +4. Kopieren Sie ``/etc/davfs2/secrets`` nach ``~/.davfs2``:: + + cp /etc/davfs2/secrets ~/.davfs2/secrets + +5. Setzen Sie den Dateieigentümer und den Lese-/Schreibzugriff auf folgende Datei:: + + chown : ~/.davfs2/secrets + chmod 600 ~/.davfs2/secrets + +6. Fügen Sie Ihre Nextcloud-Anmeldeinformationen an das Ende der ``secrets`` + Datei, mit Ihrer Nextcloud Server-Adresse, sowie Ihrem Nextcloud + Benutzernamen und Passwort ein. + + example.com/nextcloud/remote.php/dav/files/USERNAME/ + +7. Für die automatische Einbindung beim Systemstart muss Folgendes in + ``/etc/fstab`` eingetragen werden:: + + example.com/nextcloud/remote.php/dav/files/USERNAME/ /home//nextcloud + davfs user,rw,auto 0 0 + +8. Wenn Nextcloud mit folgendem Befehl eingebunden wird, benötigen Sie keine + Root-Rechte:: + + mount ~/nextcloud + +9. WebDAV-Verbindung mit Nextcloud ausbinden:: + + umount ~/nextcloud + +Bei jedem Neustart sollte Ihr Linux-System automatisch eine Verbindung zu Ihrem +Nextcloud-Server herstellen. Dabei wird über WebDAV der Nextcloud-Server in den +"nextcloud" Ordner auf Ihrem Linux-System eingebunden. Für eine manuelle +Einbindung genügt es, das Attribut in ``/etc/fstab`` von ``auto`` auf ``noauto`` +zu setzen. + +Bekannte Probleme +----------------- + +Problem +^^^^^^^ +Resource temporarily unavailable / Ressource vorübergehend nicht verfügbar + +Lösung +^^^^^^ +Wenn Sie Probleme beim Erstellen einer Datei im Ordner haben, bearbeiten +Sie ``/etc/davfs2/davfs2.conf`` und fügen Folgendes hinzu:: + + use_locks 0 + +Problem +^^^^^^^ +Zertifikatswarnung + +Lösung +^^^^^^ +Wenn Sie ein selbstsigniertes Zertifikat verwenden, erhalten Sie eine Warnung. +Um dies zu ändern, müssen Sie ``davfs2`` konfigurieren, damit das Zertifikat von +Ihrem System erkannt wird. Kopieren Sie zunächst ``mycertificate.pem`` nach +``/etc/davfs2/certs/``. Editieren Sie nun ``/etc/davfs2/davfs2.conf`` und +kommentieren die Zeile ``servercert`` aus und fügen den Dateipfad hinzu:: + + servercert /etc/davfs2/certs/mycertificate.pem + +Dateizugriff unter Mac OS X +--------------------------- + +.. note:: Da der Mac OS X Finder `eine Reihe von Implementierungsproblemen + `_ besitzt, sollte dieser nur genutzt + werden, wenn der Nextcloud-Server unter **Apache** mit **mod_php**, oder + **Nginx 1.3.8+** läuft. + +Zugriff auf Dateien über den Mac OS X Finder: + +1. Wählen Sie **Gehe zu > Mit Server verbinden**. + + Das Fenster "Mit Server verbinden" öffnet sich. + +2. Geben Sie nun die **Serveradresse** ein. + + .. image:: ../images/osx_webdav1.png + :alt: Eingabe der Serveradresse im Mac OS X Finder + + Beispiel: Die URL, die für die Verbindung zum Nextcloud-Server vom Mac OS X + Finder verwendet wird, ist:: + + https://example.com/nextcloud/remote.php/dav/files/USERNAME/ + + .. image:: ../images/osx_webdav2.png + +3. Drücken Sie nun auf **Verbinden**. + + Ihr Mac stellt nun eine Verbindung zum Nextcloud-Server her. + +Weitere Informationen zum Herstellen einer Verbindung unter Mac OS X zu einem +externen Server finden Sie in der `Dokumentation des Herstellers +`_ . + +Dateizugriff unter Microsoft Windows +------------------------------------ + +Am besten verwenden Sie einen geeigneten WebDAV-Client von der +`WebDAV Projektseite `_. + +Wenn Sie die native Windows-Implementierung verwenden müssen, können Sie +Nextcloud einem neuen Laufwerk zuordnen. Die Zuordnung zu einem Laufwerk +ermöglicht es Ihnen Dateien, die auf einem Nextcloud-Server gespeichert sind, +genau wie gewöhnliche Speichermedien zu verwenden. + +Die Verwendung dieser Funktion erfordert eine Netzwerkverbindung. Wenn Sie Ihre +Dateien lokal speichern möchten, verwenden Sie den Desktop Client. Der Desktop +Client synchronisiert ein oder mehrere Ordner Ihrer Nextcloud auf die +lokale Festplatte. + +.. note:: Vor dem Verbinden des Laufwerks müssen Sie die Verwendung der + Standardauthentifizierung in der Windows-Registry zulassen. Das Verfahren + ist in KB841215_ dokumentiert und unterscheidet sich zwischen + Windows XP/Server 2003 und Windows Vista/7. Bitte folgen Sie dem Knowledge + Base Artikel, bevor Sie fortfahren und befolgen Sie die Anweisungen von + Vista, wenn Sie Windows 7 nutzen. + +.. _KB841215: http://support.microsoft.com/kb/841215 + +Zuordnen von Laufwerken mit der Kommandozeile +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Das folgende Beispiel zeigt, wie Sie ein Laufwerk mithilfe der Kommandozeile +einbinden: + +1. Öffnen Sie die Kommandozeile in Windows. +2. Um dem Computer ein "Z"-Laufwerk zuzuordnen, geben Sie die folgende Zeile in + der Kommandozeile ein.:: + + net use Z: https:///remote.php/dav/files/USERNAME/ /user:youruser + yourpassword + + Der Platzhalter ist die URL zu Ihrem Nextcloud-Server. + +Ein Beispiel: ``net use Z: https://example.com/nextcloud/remote.php/dav/files/USERNAME/ +/user:youruser yourpassword`` + + Der Computer ordnet die Dateien Ihres Nextcloud-Servers dem Laufwerkbuchstaben + "Z" zu. + +.. note:: Obwohl nicht empfohlen, können Sie auch den Nextcloud-Server mit HTTP + einbinden – wodurch die Verbindung unverschlüsselt bleibt. Wenn Sie + HTTP-Verbindungen auf Geräten verwenden möchten, benötigen Sie + Sicherheitsvorkehrungen. Daher empfehlen wir dringend an öffentlichen + Internetanbindungen, einen VPN-Tunnel zu verwenden. + +Alternativ können Sie Folgendes in die Kommandozeile eingeben:: + + net use Z: \\example.com@ssl\nextcloud\remote.php\dav /user:youruser + yourpassword + +Laufwerke mit dem Windows-Explorer einbinden +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +So ordnen Sie ein Laufwerk mithilfe des Microsoft Windows-Explorer zu: + +1. Öffnen Sie den Windows-Explorer und wechseln Sie im oberen Dateiregister + zu **Computer**. +2. Klicken Sie auf **Netzlaufwerk verbinden**. Es öffnet sich nun ein Fenster. +3. Wählen Sie einen Laufwerkbuchstaben aus, dem Sie Nextcloud zuordnen möchten. +4. Geben Sie die Adresse Ihres Nextcloud-Server an, gefolgt von + **/remote.php/dav/files/USERNAME/**. + + Zum Beispiel:: + + https://example.com/nextcloud/remote.php/dav/files/USERNAME/ + +.. note:: Bei SSL-geschützten Servern überprüfen Sie die Option **Verbindung bei + Anmeldung wiederherstellen**, um sicherzustellen, dass das Mapping nach + Systemneustarts weiterhin besteht. Wenn Sie eine Verbindung zum + Nextcloud-Server mit anderen Benutzerdaten herstellen möchten, aktivieren + Sie die Option **Verbindung mit anderen Anmeldeinformationen herstellen**. + +.. figure:: ../images/explorer_webdav.png + :scale: 80% + :alt: WebDAV mit Windows-Explorer einbinden + +5. Klicken Sie nun auf ``Fertig stellen``. + + Der Windows-Explorer fügt nun Ihren Nextcloud-Server als Netzlaufwerk hinzu. + +Dateizugriff mit Cyberduck +-------------------------- + +`Cyberduck `_ ist ein quelloffenes (S)FTP, WebDAV, +OpenStack Swift und Amazon S3 Dateibrowser, um Dateien zwischen Mac OS X und +Windows auszutauschen. + +.. note:: Dieses Beispiel nutzt Cyberduck in Version 4.2.1. + +Um Cyberduck zu nutzen ist Folgendes einzustellen: + +1. Geben Sie einen Server ohne führende Protokollinformationen an. Zum Beispiel: + + ``example.com`` + +2. Geben Sie den entsprechenden Port an. Der von Ihnen gewählte Port hängt davon + ab, ob Ihr Nextcloud-Server SSL unterstützt oder nicht. Cyberduck erfordert, + dass Sie einen anderen Verbindungstyp wählen, wenn Sie SSL verwenden möchten. + Zum Beispiel: + + 80 (für WebDAV) + + 443 (für WebDAV über HTTPS) + +3. Verwenden Sie im Dropdown-Menü 'Erweiterte Optionen', um den Rest Ihrer + WebDAV-URL in das Feld 'Pfad' einzufügen. Zum Beispiel: + + ``remote.php/dav/files/USERNAME/`` + +Jetzt ermöglicht Cyberduck den Dateizugriff auf Ihren Nextcloud-Server. + +Zugang zu öffentlichen Freigaben über WebDAV +-------------------------------------------- + +Nextcloud bietet die Möglichkeit, auf öffentliche Freigaben über WebDAV +zuzugreifen. + +Um geteilte Inhalte einzusehen, öffnen Sie:: + + https://example.com/nextcloud/public.php/dav + +verwenden Sie das Freigabe-Token als Benutzername und optional das +Freigabekennwort als Kennwort. + +Bekannte Probleme +----------------- + +Problem +^^^^^^^ +Windows verbindet sich nicht über HTTPS. + +Lösung 1 +^^^^^^^^ + +Der Windows WebDAV-Client unterstützt möglicherweise nicht die +Server Name Indication (SNI) bei HTTPS-Verbindungen. Wenn Sie einen Fehler beim +Installieren einer mit SSL/TLS verschlüsselten Nextcloud-Instanz feststellen, +wenden Sie sich an Ihren Server-Provider, um eine dedizierte IP-Adresse für +Ihren Server zu erhalten. + +Lösung 2 +^^^^^^^^ + +Der Windows-WebDAV-Client unterstützt möglicherweise keine TLSv1.1 / TLSv1.2 +Verbindungen. Wenn Sie in Ihrem Server ausschließlich TLSv1.1 und höher +verwenden, schlägt die Verbindung möglicherweise fehl. Weitere Informationen +finden Sie in der WinHTTP_ Dokumentation. + +.. _WinHTTP: https://msdn.microsoft.com/en-us/library/windows/desktop/aa382925.aspx#WinHTTP_5.1_Features + +Problem +^^^^^^^ + +Sie erhalten folgende Fehlermeldung: **Error 0x800700DF: The file size +exceeds the limit allowed and cannot be saved.** + +Lösung +^^^^^^ + +Windows beschränkt die maximale Größe einer Datei, die von einer WebDAV-Freigabe +übertragen werden kann. Sie können den Wert **FileSizeLimitInBytes** in +**HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\WebClient\\Parameters** +nach einem Klick auf **Modify** erhöhen. + +Um den maximalen Wert auf 4GB zu erhöhen, wählen Sie **Decimal** und geben +folgenden Wert ein: **4294967295**. Um die Änderungen zu übernehmen, muss Windows +oder der Dienst **WebClient** neu gestart werden. + +Problem +^^^^^^^ + +Der Zugriff auf Ihre Dateien aus Microsoft Office über WebDAV schlägt fehl. + +Lösung +^^^^^^ + +Bekannte Probleme und deren Lösungen sind im Artikel KB2123563_ dokumentiert. + +Problem +^^^^^^^ + +Nextcloud kann mit selbstsigniertem Zertifikat nicht als WebDAV-Laufwerk +in Windows eingebunden werden. + +Lösung +^^^^^^ + + #. Öffnen Sie die Nextcloud Web-Oberfläche über einen Web-Browser + #. In der Statuszeile des Browsers wird ein Zertifikatsfehler angezeigt. + #. Öffnen Sie das Zertifikat und wechseln auf der Registerkarte zu "Details". + Kopieren oder exportieren Sie die Datei. + #. Speichern Sie die Datei auf dem Desktop unter einem beliebigen Namen, z.B. + ``myNextcloud.pem``. + #. Drücken Sie die Windows-Taste und tippen **MMC** ein. Die Windows-Suche + findet ein Programm namens "mmc.exe". Öffnen Sie die + Microsoft-Management-Console. + #. Gehen Sie nun auf "Datei" und dann auf "Snap-In hinzufügen/entfernen". + #. Fügen Sie unter "verfügbare Snap-Ins" die Auswahl "Zertifikate" dem + Konsolenstamm hinzu. Wählen Sie dazu "Eigenes Benutzerkonto" aus. + #. Navigieren Sie auf der linken Seitenleiste über "Vertrauenswürdige + Stammzertifizierungsstellen" zu "Zertifikate". + #. Nach einem rechten Mausklick auf den Ordner Zertifikate, öffnet sich eine + Auswahl. Klicken Sie über "Alle Aufgaben" auf "Importieren". + #. Wählen Sie nun das zuvor gespeicherte Zertifikat von Ihrem Desktop aus. + #. Nun wird der Punkt "Alle Zertifikate in folgendem Speicher speichern" + gewählt und auf das Feld "Durchsuchen" gedrückt. + #. In diesem Schritt wird zuerst auf "Physischen Speicher anzeigen" geklickt. + Im oberen Feld wird zu "Vertrauenswürdige Stammzertifizierungsstellen" + navigiert und "Lokaler Computer" ausgewählt. Mit einem Klick auf "Weiter" + kann der Import "Fertig gestellt" werden. + #. Nachdem die Liste aktualisiert wurde, sollte das Zertifikat in der Liste + angezeigt werden. + #. Öffnen Sie Ihren Browser und navigieren Sie zu den "Einstellungen" und + bereinigen Sie die Browser Historie/Chronik. + #. Wechseln Sie nun zu der Windows Systemeinstellung in "Internetoptionen". + Im Reiter "Inhalt" drücken Sie auf "SSL-Status löschen". + #. Abschließend öffnen Sie den Browser. + +Problem +^^^^^^^ + +Der Upload mit dem Web-Client unter Windows 7 dauert länger als 30 Minuten, +oder Sie können nicht mehr als 50 MB herunterladen. + +Lösung +^^^^^^ + +Bekannte Probleme und deren Lösungen sind im Artikel KB2668751_ dokumentiert. + + +Dateizugriff mit cURL +--------------------- + +Da WebDAV eine Erweiterung von HTTP cURL ist, können Scriptdateien verwendet +werden. + +Erstellen Sie einen Ordner mit dem aktuellen Datum als Namen: + +.. code-block:: bash + + $ curl -u user:pass -X MKCOL "https://example.com/nextcloud/remote.php/dav/files/USERNAME/$(date '+%d-%b-%Y')" + +Laden Sie eine Datei ``error.log`` in einen Ordner hoch: + +.. code-block:: bash + + $ curl -u user:pass -T error.log "https://example.com/nextcloud/remote.php/dav/files/USERNAME/$(date '+%d-%b-%Y')/error.log" + +Verschieben Sie eine Datei: + +.. code-block:: bash + + $ curl -u user:pass -X MOVE --header 'Destination: https://example.com/nextcloud/remote.php/dav/files/USERNAME/target.jpg' https://example.com/nextcloud/remote.php/dav/files/USERNAME/source.jpg + +Erhalten Sie die Eigenschaften von Dateien im Stammordner: + +.. code-block:: bash + + $ curl -X PROPFIND -H "Depth: 1" -u user:pass https://example.com/nextcloud/remote.php/dav/files/USERNAME/ | xml_pp + + + + /nextcloud/remote.php/dav/files/USERNAME/ + + + Tue, 13 Oct 2015 17:07:45 GMT + + + + 163 + 11802275840 + "561d3a6139d05" + + HTTP/1.1 200 OK + + + + /nextcloud/remote.php/dav/files/USERNAME/welcome.txt + + + Tue, 13 Oct 2015 17:07:35 GMT + 163 + + "47465fae667b2d0fee154f5e17d1f0f1" + text/plain + + HTTP/1.1 200 OK + + + + + +.. _KB2668751: https://support.microsoft.com/kb/2668751 +.. _KB2123563: https://support.microsoft.com/kb/2123563 +.. _WebDAV Navigator: http://seanashton.net/webdav/ +.. _Android Geräte: https://play.google.com/store/apps/details?id=com.schimera.webdavnavlite +.. _iPhones: https://itunes.apple.com/app/webdav-navigator/id382551345 +.. _BlackBerry Geräte: http://appworld.blackberry.com/webstore/content/46816 diff --git a/user_manual_de/files/access_webgui.rst b/user_manual_de/files/access_webgui.rst new file mode 100644 index 000000000..97cb5bb9c --- /dev/null +++ b/user_manual_de/files/access_webgui.rst @@ -0,0 +1,235 @@ +============================================= +Dateizugriff mit der Nextcloud Web-Oberfläche +============================================= + +Sie können über die Nextcloud Web-Oberfläche Dateien erstellen, bestehende +Dateien bearbeiten, löschen, freigegeben oder bereits geteilte Inhalte +weiterleiten. Ihr Nextcloud-Administrator hat die Möglichkeit, diese +Funktionen zu deaktivieren. Wenn Funktionen bei Ihnen fehlen sollten, sollte +Ihr Administrator kontaktiert werden. + +.. figure:: ../images/files_page.png + :alt: Die Dateiansicht. + +Dateien mit Tags markieren +-------------------------- + +Dateien können mit Tags markiert werden. Um Tags zu setzen, wird zunächst die +Detailansicht geöffnet. Nach einem Mausklick auf Tags öffnet sich ein Eingabefeld, +auf dem ein oder mehrere Markierungen gesetzt werden. Alle Tags sind nach Eingabe +systemweit verfügbar und von allen Benutzern in Ihrer Nextcloud abrufbar. + +.. figure:: ../images/files_page-7.png + :alt: Einen Tag erstellen. + +Um Dateien nach Tags zu filtern, wird die "Tags"-App auf der linken Seitenleiste +verwendet. + +.. figure:: ../images/files_page-8.png + :alt: Nach Tags filtern. + +Kommentare +---------- + +In der Detailansicht können Kommentare zu beliebigen Dateien oder Ordnern +hinzugefügt und gelesen werden. Die Kommentare sind für jeden sichtbar, der +auch Zugriff auf die Datei hat. + +.. figure:: ../images/file_menu_comments_2.png + :alt: Erstellen und Anzeigen von Kommentaren. + +Video Player +------------ + +Videos können in Nextcloud mit der "Video Player"-App wiedergegeben werden. Hierzu +genügt ein Klicken auf die Video-Datei. Das Abspielen von Videos mit dem nativen +Nextcloud "Video Player"-App hängt vom Browser des Benutzer, sowie vom +Video-Dateiformat ab. Ist das Video-Streaming durch Ihren Nextcloud-Administrator +aktiviert, aber Videos nicht abgespielt werden können, kann es sich um ein +Browser-Problem handeln. Siehe https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats#Browser_compatibility +für unterstützte Multimediaformate in Web-Browser. + +.. figure:: ../images/video_player_2.png + :alt: Ein Video ansehen. + +Dateiverwaltung +--------------- + +Nextcloud kann Miniaturansichten für Bilddateien, MP3-Cover und Textdateien +anzeigen, sofern diese Funktion von Ihrem Nextcloud-Administrator aktiviert +wurde. Bewegen Sie den Mauszeiger über eine Datei oder einen Ordner, um die +Steuerelemente für die folgenden Operationen anzuzeigen: + +Favorit + Mit einem Klick auf den Stern, werden Inhalte als Favorit markiert. Um + markierte Favoriten schnell zu finden, wird die "Favoriten"-App auf + der linken Seitenleiste angeklickt. + +.. figure:: ../images/files_page-1.png + :alt: Dateien als Favorit markieren. + +Teilen + Es können Dateien oder Ordner mit einer Gruppe und anderen Benutzern geteilt + werden. Um Inhalte öffentlich zu teilen, müssen Freigaben über URLs erstellt + werden. Freigegebene Inhalte sind an den Symbolen zu erkennen, aber auch mit + wem diese geteilt wurden. Um die Freigabe aufzuheben genügt ein Mausklick auf + das Papierkorb-Symbol. + +.. note:: Seit Version 9.0, können alle wiederholt geteilte Inhalte der + ursprünglichen Dateifreigabe eingesehen werden. + + Wenn die automatische Wortvervollständigung des Benutzernamen aktiviert ist, + wird mit der Eingabe eines Benutzernamens oder des Gruppennamens das Wort + automatisch für Sie vervollständigt. Sind von Ihrem Administrator die E-Mail + Benachrichtigungen aktiviert, können E-Mail Benachrichtigungen für die neue + Freigabe über den Freigabe-Bildschirm gesendet werden. + +.. figure:: ../images/files_page-2.png + :alt: Dateifreigabe. + +Es gibt fünf Freigabeberechtigungen: + +* Kann weiterteilen; ermöglicht dem Benutzer oder der Gruppe, geteilte Inhalte + erneut zu teilen. +* Kann bearbeiten; ermöglicht dem Benutzer oder der Gruppe, Ihre Dateien oder + gemeinsamen Inhalte mit der Dokumenten-App zu bearbeiten. +* Kann erstellen; ermöglicht dem Benutzer oder der Gruppe, neue Dateien zu erstellen und diese der Freigabe hinzuzufügen. +* Kann ändern; ermöglicht dem Benutzer oder der Gruppe, eine neue Version einer freigegebenen Datei hochzuladen und zu ersetzen. +* Kann löschen; ermöglicht dem Benutzer oder der Gruppe, geteilte Dateien zu löschen. + +Überlaufmenü + Das Überlaufmenü (drei Punkte), zeigt Details an und erlaubt Ihnen, Dateien + umzubenennen, herunterzuladen und zu löschen. + +.. figure:: ../images/files_page-3.png + :alt: Überlaufmenü. + + Die Detailansicht zeigt Aktivitäten-, Freigabe- und Versionsinformationen an. + +.. figure:: ../images/files_page-4.png + :alt: Detailansicht. + +Das Symbol **Einstellungszahnrad** unten links erlaubt, versteckte Dateien in der +Nextcloud Web-Oberfläche anzuzeigen oder zu verstecken. Diese werden auch als +Punkt-Dateien bezeichnet, da sie mit einem Punkt vorangestellt sind, z.B. ``.mailfile``. +Der Punkt teilt dem Betriebssystem mit, dass diese Dateien in Ihren Dateibrowsern +ausgeblendet werden sollen – es sei denn, dass diese Dateien explizit angezeigt +werden sollen. Diese Konfigurationsdateien, können ausgeblendet werden. + +.. figure:: ../images/hidden_files.png + :alt: Dateien anzeigen oder verstecken. + +Dateivorschau +------------- + +Indem auf den Dateinamen geklickt wird, können unkomprimierte Textdateien, +OpenDocument-Dateien, Videos und Bilddateien in der Nextcloud integrierten +Dateivorschau angezeigt werden. Möglicherweise gibt es andere Dateitypen, die +angezeigt werden können, wenn Ihr Nextcloud-Administrator sie aktiviert hat. +Wenn Nextcloud keine Datei im Vorschaumodus anzeigen kann, wird diese Datei +heruntergeladen. + +Durch Nextcloud navigieren +-------------------------- + +Navigieren durch Ordner in Nextcloud ist so einfach wie das Klicken auf einen +Ordner. Um eine Ebene zurückzukehren, kann die Zurück-Taste vom Browser benutzt +werden. Für eine schnelle Navigation befindet sich am oberen Rand eine klickbare +Navigationsleiste, die den Dateipfad anzeigt. + +Statussymbole für die Freigabe +------------------------------ + +Jeder freigegebene Ordner ist mit dem Symbol ``Geteilt`` markiert. Öffentliche +Freigaben sind mit einem Kettenglied-Symbol markiert. Nicht freigegebene Ordner +haben keine Markierungen. + +.. figure:: ../images/files_page-5.png + :alt: Statussymbole für die Freigabe. + +Erstellen und Hochladen von Dateien und Ordnern +----------------------------------------------- + +In einen Nextcloud-Ordner können Dateien und Ordner erstellt oder hochgeladen +werden. Hierfür wird das *Neu*-Symbol, dargestellt durch ein Pluszeichen, +neben dem Dateipfad verwendet. + +.. figure:: ../images/files_page-6.png + :alt: Neu Datei/Ordner/Hochladen Menü. + +Die Schaltfläche *Neu* bietet folgende Optionen: + +Pfeil nach oben + Bedeutet Dateien von Ihrem Computer in die Nextcloud hochladen. Dateien können + auch per Drag & Drop hochgeladen werden. + +Textdatei + Erstellt eine neue Textdatei und fügt die Datei zum aktuellen Ordner hinzu. + +Ordner + Erstellt einen neuen Ordner im aktuellen Ordner. + +Dateien und Ordner auswählen +---------------------------- + +Es können eine oder mehrere Dateien oder Ordner ausgewählt werden, indem auf die +entsprechende Kontrollkästchen geklickt wird. Um alle Dateien im aktuellen +Ordner auszuwählen, wird auf das obere Kontrollkästchen an der Dateiliste +geklickt. + +Wenn Sie mehrere Dateien selektieren, können Sie die Auswahl löschen oder als +ZIP-Datei herunterladen. Mit der Auswahl erscheint oben die Schaltflächen +``Löschen`` und ``Herunterladen``, die entsprechend angewendet werden kann. + +.. note:: Wenn die Schaltfläche ``Herunterladen`` nicht sichtbar ist, hat der + Administrator diese Funktion deaktiviert. + +Filtern der Dateiansicht +------------------------ + +Die linke Seitenleiste enthält mehrere Filter zum schnellen Sortieren und +Verwalten Ihrer Dateien. + +Alle Dateien + Die Standardansicht; Zeigt alle Dateien an, auf die zugegriffen werden kann. + +Favoriten + Dateien oder Ordner, die mit dem gelben Stern markiert sind. + +Mit Ihnen geteilt + Zeigt alle Dateien an, die von anderen Benutzern oder Gruppen mit Ihnen + geteilt wurden. + +Von Ihnen geteilt + Zeigt alle Dateien an, die Sie mit anderen Benutzern oder Gruppen teilen. + +Geteilt über einen Link + Zeigt alle Dateien an, die von Ihnen öffentlich geteilt werden. + +Externer Speicher (optional) + Zeigt alle Dateien an, auf die Sie Zugriff von z.B. von externen Speichergeräte + und Diensten wie Dropbox, Google und Amazon S3 haben. + +Verschieben von Dateien +----------------------- + +Sie können Dateien und Ordner verschieben, indem sie per Drag & Drop in einen +anderen Ordner gezogen werden. + +Ändern des Ablaufdatum +---------------------- + +In älteren Versionen von Nextcloud kann ein Ablaufdatum für lokale und +öffentliche Freigaben festgelegt werden. In den neuen Versionen kann das +Ablaufdatum nur noch auf öffentliche Freigaben gesetzt werden, somit bleiben +die lokalen Freigaben bestehen. Um lokale Freigaben aufzuheben muss das +nebenstehende Papierkorb-Symbol angeklickt werden. + +Erstellen oder Verbinden mit einer Federated Link-Freigabe +---------------------------------------------------------- + +Mithilfe von Federated Cloud Freigaben können Dateifreigaben von entfernten +Nextcloud-Servern hinzugefügt und diese wie eine lokale Freigabe verwaltet +werden. Ab Nextcloud 9 ist die Einbindung in ein Verbund mit neuen +Freigabeverbindungen einfacher und effizienter. Siehe +:doc:`federated_cloud_sharing` für den Umgang mit Federated Cloud Freigaben. diff --git a/user_manual_de/files/deleted_file_management.rst b/user_manual_de/files/deleted_file_management.rst new file mode 100644 index 000000000..5b46d9b90 --- /dev/null +++ b/user_manual_de/files/deleted_file_management.rst @@ -0,0 +1,46 @@ +=========================== +Gelöschte Dateien verwalten +=========================== + +Wenn eine Datei in Nextcloud gelöscht wird, wird diese vorerst in den Papierkorb +verschoben. Dieser muss entweder manuell von Ihnen geleert werden, oder wird +automatisch von der "Gelöschte Dateien"-App verwaltet. + +Um Dateien aus dem Papierkorb wiederherzustellen oder permanent zu löschen, klicken +Sie auf "Gelöschte Dateien" in der linken Seitenleiste der "Dateien"-App. + +Speicherkontingent +------------------ + +Gelöschte Dateien, die sich noch im Papierkorb befinden, zählen nicht zum genutzten +Speicherplatz. Unter :doc:`quota` finden Sie nähere Informationen zum Speicherkontigent. + +Was passiert, wenn geteilte Dateien gelöscht werden +--------------------------------------------------- + +Es wird etwas komplizierter, wenn geteilte Dateien gelöscht werden. Ein Beispiel: + +1. Benutzer 1 teilt einen Ordner "test" mit Benutzer 2 und 3 +2. Benutzer 2 (der Empfänger) löscht eine Datei / einen Ordner "hallo.txt" in "test" +3. Diese Datei wird nun in den Papierkorb von Benutzer 1 (Besitzer) und Benutzer 2 (Empfänger) verschoben +4. "hallo.txt" wird aber nicht in den Papierkorb von Benutzer 3 verschoben. Dieser hat keinerlei Zugriff mehr auf "hallo.txt" + +Wenn Benutzer 1 (Besitzer) die Datei "hallo.txt" löscht, wird diese in seinen Papierkorb verschoben. +Benutzer 2 und 3 haben nun keinen Zugriff mehr auf diese Datei – nicht einmal über den Papierkorb. + +Geteilte Dateien können von anderen Benutzern kopiert, umbenannt, verschoben und erneut mit anderen Personen +geteilt werden; Nextcloud kann dies nicht verhindern. + +Wie die "Gelöschte Dateien"-App den Papierkorb verwaltet +-------------------------------------------------------- + +Um sicherzustellen, dass einem Benutzer nie der freie Speicherplatz ausgeht, löscht die +"Gelöschte Dateien"-App automatisch solange die ältesten Dateien aus dem Papierkorb, bis +wieder mindestens 50% des für den Benutzer verfügbaren Speicherkontingents frei ist. + +Standardmäßig verbleiben Dateien 180 Tage im Papierkorb, bevor sie automatisch gelöscht +werden. Ihr Nextcloud-Administrator kann diesen Wert über ``trashbin_retention_obligation`` +in ``config.php`` anpassen. Sobald eine neue Datei in den Papierkorb verschoben wird überprüft +Nextcloud, ob in diesem Dateien schon länger als ``trashbin_retention_obligation``-Tage liegen +und löscht diese dann gegebenenfalls. +Der verfügbare Speicherplatz wird neu berechnet, sobald eine Datei hinzugefügt wird. diff --git a/user_manual_de/files/desktop_mobile_sync.rst b/user_manual_de/files/desktop_mobile_sync.rst new file mode 100644 index 000000000..3a03b4b76 --- /dev/null +++ b/user_manual_de/files/desktop_mobile_sync.rst @@ -0,0 +1,26 @@ +=============================================== +Synchronisieren mit der Desktop- und Mobile-App +=============================================== + +Um Dateien mit Ihrem Desktop-Computer zu synchronisieren, empfehlen wir den +`Nextcloud Desktop Client`_ für Windows, Mac OS X und Linux zu verwenden. + + +Mit dem Nextcloud Desktop Sync Client können Sie sich mit Ihrem privaten Nextcloud-Server +verbinden. Sie können Ordner in Ihrem Home-Verzeichnis erstellen und den Inhalt dieser +Ordner über Ihren Nextcloud-Server synchronisieren. Ziehen Sie einfach Dateien in diese +Ordner und der Desktop Sync Client übernimmt den Rest. Änderungen an diesen Dateien werden +automatisch zwischen allen Clients synchronisiert. Somit haben Sie immer überall die aktuellste +Version einer Datei. + +Zur Dokumentation des `Nextcloud Desktop Client`_. + +.. _Nextcloud Desktop Client: https://nextcloud.com/install/ +.. _Nextcloud Desktop Client Handbuch: https://docs.nextcloud.org/ + +Mobile-App +---------- + +Öffnen Sie "Persönlich" in der Nextcloud Web-Oberfläche. Dort werden Ihnen Links zum +Herunterladen der Android und iOS Applikationen angezeigt. Diese Links können Sie auch +unter der `Nextcloud Downloadseite `_ vorfinden. diff --git a/user_manual_de/files/encrypting_files.rst b/user_manual_de/files/encrypting_files.rst new file mode 100644 index 000000000..dc8078027 --- /dev/null +++ b/user_manual_de/files/encrypting_files.rst @@ -0,0 +1,139 @@ +====================================== +Verschlüsseln Ihrer Daten in Nextcloud +====================================== + +Wurde in Nextcloud die integrierte Verschlüsselungs-App von Ihrem Administrator +aktiviert, werden all Ihre Daten automatisch verschlüsselt. +Die Verschlüsselung findet serverseitig statt und kann nicht deaktiviert werden, +wenn Ihr Administrator die Funktion aktiviert hat. +Die Verschlüsselung findet automatisch und transparent zu Ihnen statt. Als +Passwort für die Verschlüsselung wird Ihr Nextcloud Login-Passwort verwendet. +Sie können wie gewohnt Ihre Dateien verwalten und teilen und müssen sich auch +beim Ändern Ihres Passworts keine Sorgen machen. + +Die Verschlüsselungs-Funktion ist vor allem dann praktisch, wenn Sie Ihre Nextcloud-Daten +bei externen Anbietern wie z.B. Dropbox oder Google Drive gespeichert haben. +Dateien können wie gewohnt über Nextcloud geteilt werden, allerdings können Sie +die Daten nicht direkt von diesen externen Anbietern (z.B. Dropbox oder Google Drive) +aus teilen, da diese nicht die nötigen Passwörter für die Entschlüsselung besitzen. +Die Passwörter liegen einzig und allein auf Ihrem Nextcloud-Server. + +Falls Ihr Nextcloud-Server die Daten nicht bei externen Anbietern speichert, ist es +besser, eine andere Art von Verschlüsselung (z.B. eine Festplattenverschlüsselung) +zu wählen. Da die Passwörter für die Entschlüsselung auf Ihrem Nextcloud-Server +gespeichert sind, könnte Ihr Administrator theoretisch all Ihre Daten einsehen. +Auch andere Personen, die Zugriff auf Ihren Nextcloud-Server erlangen, könnten +Ihre Daten einsehen. Weitere Informationen dazu finden Sie in diesem Artikel: +`How Nextcloud uses encryption to protect your data `_. + +Häufig gestellte Fragen zur Verschlüsselung +------------------------------------------- + +Wie kann die Verschlüsselung deaktiviert werden? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Um die Verschlüsselung zu deaktivieren müssen Sie das :ref:`"alles entschlüsseln" +`-Skript ausführen, welches alle Daten wieder entschlüsselt und +die Verschlüsselung anschließend deaktiviert. + +Kann die Verschlüsselung mithilfe des Wiederherstellungs-Schlüssels deaktiviert werden? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Ja, *falls* jeder Nutzer den :ref:`Datei-Wiederherstellungs-Schlüssel +` verwendet, können unter Verwendung des :ref:`"alles entschlüsseln" +`-Skripts alle Daten wieder entschlüsselt werden. + +Kann die Verschlüsselung ohne das Passwort eines Nutzers deaktiviert werden? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Sollte das Passwort eines Nutzers oder sein :ref:`Datei-Wiederherstellungs-Schlüssel +` unbekannt sein, können die Daten dieses Nutzers nicht +wieder entschlüsselt werden. +Eine Entschlüsselung unmittelbar nach dem Login wäre gefährlich, da die Entschlüsselung +sehr wahrscheinlich aufgrund einer Zeitüberschreitung abgebrochen werden würde. + +Ist es geplant, eine Entschlüsselung nach dem Login zu unterstützen? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Das Passwort des Nutzers müsste dann in der Datenbank gespeichert werden. +Aus Sicherheitsgründen ist diese Funktion deshalb nicht geplant. + +Verwenden der Verschlüsselung +----------------------------- + +Die Verschlüsselung in Nextcloud ist einfach zu aktivieren und bedarf danach keiner weiteren +Wartung. Beim Aktivieren stehen Ihnen allerdings ein paar Konfigurations-Optionen bereit. + +Sobald Ihr Nextcloud-Administrator die Verschlüsselung erstmalig aktiviert hat, müssen +Sie sich einmalig ab- und wieder anmelden, um die Passwörter für die Verschlüsselung zu +generieren und Ihre Daten zu verschlüsseln. +Wenn die Verschlüsselung aktiviert wurde, sehen Sie in der "Dateien"-App einen gelben +Hinweis, der Sie über dieses ab- und wieder anmelden informiert. + +.. figure:: ../images/encryption1.png + +Die erste Anmeldung kann einige Minuten benötigen, da erst all Ihre Daten verschlüsselt +werden müssen. Ist die Verschlüsselung abgeschlossen, werden Sie automatisch weitergeleitet. + +.. figure:: ../images/encryption2.png + +.. note:: Ein Verlust Ihres Nextcloud-Passworts ist gleichzusetzen mit dem + Verlust Ihrer Daten. Deshalb kann ein optionaler Wiederherstellungs-Schlüssel + von Ihrem Nextcloud-Administrator aktiviert werden; Mehr zu dieser Funktion + finden Sie weiter unten. + +Teilen verschlüsselter Dateien +------------------------------ + +Nur Nutzer, für die bereits ihre kryptografischen Schlüssel generiert wurden, haben +Zugriff auf geteilte verschlüsselte Daten. Nutzer, für die diese Schlüssel noch +nicht generiert wurden, haben keinen Zugriff auf geteilte verschlüsselte Daten; +Sie sehen lediglich den Namen der geteilten Datei, können diese aber weder öffnen +noch herunterladen. Diesen Nutzern wird folgende Nachricht angezeigt: +"Verschlüsselungs-App ist aktiviert, aber die Schlüssel sind noch nicht initialisiert. +Bitte logge Dich aus und wieder ein." + +Geteilte Dateien müssen gegebenenfalls nach einer Verschlüsselung erneut geteilt werden. +Für individuell geteilte Daten reicht es aus, das Teilen dieser Daten zu deaktivieren +und anschließend wieder zu aktivieren. +Mit Gruppen geteilte Daten müssen mit jedem Nutzer erneut geteilt werden, der keinen +Zugriff auf diese Daten mehr hat. Dies aktualisiert die Verschlüsselung, wonach das +Teilen mit diesem Nutzer wieder deaktiviert werden kann. + +Wiederherstellungs-Schlüssel +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Wenn Ihr Nextcloud-Administrator die Wiederstellungs-Schlüssel-Funktion aktiviert hat, +können Sie die Funktion für Ihren Account aktivieren. Wenn Sie "Password-Wiederherstellung" +aktiviert haben, kann Ihr Administrator Ihre Daten mit einem speziellen Passwort lesen. +Diese Funktion ermöglicht es Ihrem Administrator Ihre Daten wiederherzustellen, sollten +Sie Ihr Nextcloud-Passwort vergessen haben. +Eine Wiederherstellung Ihrer Daten ist ohne einen Wiederstellungs-Schlüssel nicht möglich. + +.. figure:: ../images/encryption3.png + +Dateien, die nicht verschlüsselt werden +--------------------------------------- + +Lediglich der Dateiinhalt wird verschlüsselt. Metadaten wie z.B. der Dateiname oder die +Ordner-Struktur wird nicht verschlüsselt. Weiterhin werden folgende Daten nie verschlüsselt: + +- Alte Dateien im Papierkorb. +- Bild-Miniaturansichten der "Galerie"-App. +- Vorschauen der "Dateien"-App. +- Der Such-Index der Volltextsuche. +- Drittanbieter-App Daten. + +Es kann weitere Daten geben, die nicht verschlüsselt werden; Daten, die bei externen +Speicheranbietern gesichert werden, sind auf jeden Fall verschlüsselt. + +Ändern des Passworts +~~~~~~~~~~~~~~~~~~~~ + +Diese Option ist verfügbar, sollte Ihr Administrator Ihr Login-Passwort (aber nicht das +Passwort zum Verschlüsseln Ihrer Daten) geändert haben. Dies kann z.B. dann der Fall sein, +wenn Ihre Nextcloud-Instanz ein externes Nutzer-Management (beispielsweise LDAP) verwendet, +und Ihr Login-Passwort dort geändert hat. Sollte dies der Fall sein, können Sie +Ihr Verschlüsselungs-Passwort auf Ihr neues Login-Passwort setzen, indem Sie Ihr altes +und das neue Login-Passwort eingeben. Die Verschlüsselungs-App funktioniert nur dann, +wenn das Login- und Verschlüsselungs-Passwort identisch sind. diff --git a/user_manual_de/files/federated_cloud_sharing.rst b/user_manual_de/files/federated_cloud_sharing.rst new file mode 100644 index 000000000..027288b47 --- /dev/null +++ b/user_manual_de/files/federated_cloud_sharing.rst @@ -0,0 +1,66 @@ +================= +Federated-Sharing +================= + +Die Federated Freigabe ermöglicht Ihnen das Einbinden von Dateifragaben von +entfernten Nextcloud-Servern. Sie können demnach direkte Freigabe-Links mit +Benutzern auf anderen Nextcloud-Servern erstellen. + +Eine neue Federated Freigabe erstellen +-------------------------------------- + +Die Federated Freigabe wird standardmäßig bei neuen oder aktualisierten +Nextcloud-Installationen aktiviert. Gehen Sie folgendermaßen vor, um eine neue +Freigabe mit anderen Nextcloud-Servern oder ownCloud-Servern ab Version 9 zu +erstellen: + +1. Gehen Sie in der linken Seitenleiste auf ``Alle Dateien`` und klicken Sie +auf das Symbol "Freigeben" neben der Datei oder dem Ordner, den Sie freigeben +möchten. Geben Sie in der rechten Seitenleiste den Benutzernamen und die URL des +entfernten Benutzers wie folgt an: ``@``. In diesem +Beispiel lautet die Eingabe: ``layla@remote-server/nextcloud``. Das Formular +erkennt automatisch die Adresse und markiert diese als "entfernt" Freigabe. +Um die Adresse hinzuzufügen kann die Eingabetaste verwendet, oder auf die +Auswahl geklickt werden. + +.. figure:: ../images/direct-share-1.png + +2. Wenn Ihr lokaler Nextcloud-Server eine erfolgreiche Verbindung mit dem +entfernten Nextcloud-Server herstellt hat, sehen Sie eine Bestätigung. Die +einzige Freigabeberechtigung ist **Kann bearbeiten**. + +Unter dem Menüpunkt "Teilen" können die Freigaben der Datei eingesehen werden. +Die Freigabe kann jederzeit durch ein Klick auf das Papierkorb-Symbol +aufgehoben werden. Dies löscht nur die Freigabe und nicht die Datei. + +Erstellen einer neuen Federated Freigabe per E-Mail +--------------------------------------------------- + +Verwenden Sie diese Methode, wenn Sie mit Benutzern auf ownCloud 8.x und älter +Dateien teilen möchten. + +Was, wenn Benutzername oder die URL unbekannt ist? Dann kann Nextcloud +den Link erstellen und Ihrem Empfänger zusenden. + +.. figure:: ../images/create_public_share-6.png + +Wenn der Empfänger die E-Mail erhält, müssen Sie eine Reihe von Schritten +durchführen, um die Freigabe per Link abzuschließen. Zuerst müssen Sie den Link +öffnen, der per Web-Browser versendet wurde. Klicken Sie dann auf die +Schaltfläche **Zu Ihrer Nextcloud hinzufügen**. + +.. figure:: ../images/create_public_share-8.png + +Die Schaltfläche **Zu Ihrer Nextcloud hinzufügen** ändert sich in ein +Formularfeld. Der Empfänger muss in diesem Feld die URL Ihres Nextcloud- oder +ownCloud-Servers eingeben und zum Bestätigen die Eingabetaste drücken oder auf +den Pfeil klicken. + +.. figure:: ../images/create_public_share-9.png + +Im nächsten Schritt muss das Hinzufügen im Dialog bestätigt werden. Mit einem +Klick auf **Hinzufügen von entfernter Freigabe** ist das Hinzufügen einer +neuen Federated Freigabe abgeschlossen. + +Entfernen Sie Ihre Freigaben jederzeit mit einem Klick auf das Papierkorb-Symbol. +Dies entfernt lediglich die Freigabe, nicht aber die geteilten Dateien. diff --git a/user_manual_de/files/file_drop.rst b/user_manual_de/files/file_drop.rst new file mode 100644 index 000000000..8fd0674c2 --- /dev/null +++ b/user_manual_de/files/file_drop.rst @@ -0,0 +1,41 @@ +=========================== +Anonymes Hochladen erlauben +=========================== + +Ordner in Nextcloud können als eine Art Briefkasten verwendet werden: Andere, +nicht zwingend registrierte Nutzer, können Dateien in diesen Ordner hochladen, ohne +die bisher hochgeladenen Dateien einsehen oder ändern zu können. +Dies ist eine tolle Alternative zu großen Mail-Anhängen, FTP-Servern oder +kommerziellen File-Sharing Anbietern. + +Einen Datei-Briefkasten einrichten +---------------------------------- + +Öffnen Sie die "Dateien"-App und wählen Sie den als Briefkasten zu konfigurierenden +Ordner, in den anonym Dateien hochgeladen werden sollen. + +.. image:: ../images/anonym_click_sharing.png + +Klicken Sie "Link teilen", "Hochladen und Bearbeiten erlauben" und +"Dateien ablegen (nur Hochladen)". + +.. image:: ../images/anonym_hide_file_listing.png + +Sie können nun den Link zu diesem Ordner teilen oder dafür die Teilen-Funktion +verwenden, sollte diese von Ihrem Administrator freigeschaltet worden sein. + + +Dateien hochladen +----------------- + +Anonym Dateien hochzuladen ist einfach: Öffnen Sie den geteilten Link und wählen Sie +"Dateien auswählen". + +.. image:: ../images/anonym_upload.png + +Dies öffnet die Dateiauswahl, in der Sie die hochzuladenden Dateien oder Ordner +auswählen können. Die Objekte können auch per Drag & Drop ausgewählt werden. + +Bereits hochgeladene Dateien werden unter "Hochgeladene Dateien" angezeigt. + +.. image:: ../images/anonym_uploaded_files.png diff --git a/user_manual_de/files/gallery_app.rst b/user_manual_de/files/gallery_app.rst new file mode 100644 index 000000000..84be33f23 --- /dev/null +++ b/user_manual_de/files/gallery_app.rst @@ -0,0 +1,259 @@ +=========== +Galerie-App +=========== + +Die "Bilder"-App wurde umgeschrieben, verbessert und wird nun die "Galerie"-App +genannt. Es werden nun mehrere Bildformate, sowie Sortierung, Zoom und Scrollen +unterstützt. Erweiterte Anpassungen können über eine einfache Textdatei +erstellt werden. + +Auf Ihrer Nextcloud-Hauptseite befindet sich in der rechten oberen Ecke unter +dem Benutzernamen ein kleines Symbol, mit dem schnell zwischen der Galerie und der +Dateiansicht gewechselt werden kann. Die "Galerie"-App findet automatisch alle +Bilder in Ihren Nextcloud-Ordnern und erstellt eine Miniaturansicht inklusive +dem Ordnernamen. Klicken Sie auf die Ordner mit der Miniaturansicht, um die +Ordner mit den Inhalten zu öffnen. Mit den beiden Symbole an der linken oberen +Ecke, lässt sich der Inhalt alphabetisch oder nach Datum sortieren. + +.. figure:: ../images/gallery-1.png + :alt: Galerie und Miniaturansichten. + +Öffnen Sie die "Dateien"-App und wählen Sie ein beliebiges Bild, um es im +Diashow-Modus anzusehen. Der Diashow-Modus hat folgenden Funktionen: +Tasten am linken und rechten Rand um zwischen den Bildern zu wechseln, eine +Diashow-Taste an der unteren rechten Ecke, sowie Tasten zum Löschen oder +Verlassen des Diashow-Modus in der oberen rechten Ecke. + +.. figure:: ../images/gallery-2.png + :alt: Galerie Diashow-Modus. + +Benutzerdefinierte Konfiguration +-------------------------------- + +Ein Galerie-Album kann mit einer einfachen Textdatei namens **gallery.cnf** +angepasst werden. Die Konfigurations-Datei wird mit der Markup-Sprache `Yaml +`_ erstellt. Es können mehrere +**gallery.cnf** erstellt werden. Eine im Stammordner die globale Funktionen +definiert und weitere jeweils in ihren Unterordner. + +Eigenschaften +^^^^^^^^^^^^^ + +Die folgenden allgemeinen Funktionen sind derzeit implementiert: + +* Native SVG-Unterstützung. +* Zugang zu externen Freigaben. + +Die folgenden Album-Funktionen sind derzeit implementiert: + +* Hinzufügen eines Links zu einer Datei mit einer Beschreibung. +* Die Eingabe einer einfachen Copyright-Erklärung direkt in der Konfigurationsdatei. +* Hinzufügen eines Links zu einer Datei, die eine Copyright-Erklärung enthält. +* Definieren der Sortierung und Reihenfolge. +* Definieren der Hintergrundfarbe. +* Definieren, ob Unteralben die Konfiguration übernehmen. + +Die folgenden Diashow-Funktionen sind derzeit implementiert: + +* Eine Taste, die den Hintergrund im Diashow-Modus auf schwarz oder weiß setzt. + (für Bilder mit transparenten Hintergründen) + +Konfiguration +^^^^^^^^^^^^^ + +Die Konfigurationsdatei muss **gallery.cnf** lauten, damit diese vom System +erkannt wird. Um die globale Funktionen zu aktivieren, platzieren Sie eine Datei +im Stammordner. Der Stammordner ist in der Web-Oberfläche durch das Haus-Symbol +dargestellt. Weitere Konfigurationsdateien können einzeln auf Unterordner verteilt +werden. + +(Dies wird in ``data//files/`` abgelegt.) Siehe :ref:`Beispiel unten +` in dem Abschnitt **Globale Funktionen**. + +.. note:: Damit die Änderungen übernommen werden, muss die Nextcloud-Seite + neu geladen werden. + + +Format +^^^^^^ + +UTF-8, **ohne BOM**. Eine von der Nextcloud Web-Oberfläche erstellte Datei +funktioniert. + +Grundgerüst +^^^^^^^^^^^ + +Sie sollten einen Kommentar in die Datei einfügen, um deren Nutzen kurz zu +erklären. Kommentare beginnen mit einem "#". + +Der Abstand wird mit 2 Leerzeichen erstellt. **Verwenden Sie keine Tabulatoren.** + +Ein Blick in die Dokumentation für die `YAML Formatierung +`_ hilft Fehler +zu beheben. + +Ein Beispiel für die `gallery.cnf`:: + + # Gallery configuration file + # Created on 31 Jan 2016 by Nextcloud User + features: + external_shares: yes + native_svg: yes + background_colour_toggle: yes + design: + background: "#ff9f00" + inherit: yes + information: + description: This is an **album description** which is only shown if there + is no `description_link` + description_link: readme.md + copyright: Copyright 2003-2016 [interfaSys sàrl](http://www.interfasys.ch), + Switzerland + copyright_link: copyright.md + inherit: yes + sorting: + type: date + order: des + inherit: yes + +.. _supported_variables_label: + +Unterstützte Variablen +^^^^^^^^^^^^^^^^^^^^^^ + +**Globale Funktionen** + +Legen Sie diese in Ihrem Stammordner der Nextcloud ab. + +* **external_shares**: Bei der Verwendung der **files_external**-App, + können Sie den Wert in ihrer globalen-Konfigurationsdatei auf **yes** + setzen, um Bilder aus externen Speichern zu laden. +* **native_svg**: Sollen SVG-Bilder im Web-Browser angezeigt werden, setzen Sie + den Wert in ihrer globalen-Konfigurationsdatei auf **yes**. Dies kann ein + Sicherheitsrisiko darstellen, wenn Sie Ihren SVG-Dateien nicht vollständig + vertrauen können. +* **background_colour_toggle**: Möchten Sie den Hintergrund für transparente + Bilder im Diashow-Modus mit einem Knopfdruck zwischen schwarz und weiß + umschalten, setzen Sie den Wert in ihrer globalen-Konfigurationsdatei auf + **yes**. + +.. note:: Externe Freigaben sind 20-50 Mal langsamer als lokale Freigaben. + Die Wartezeit kann sehr lange sein, bis schließlich alle Bilder aus externen + Quellen angezeigt werden. + +**Album-Konfiguration** + +Jedes Album kann mit den folgenden Konfigurationsvariablen personalisiert werden. +Verwenden Sie den Parameter **inherit**, um Konfigurationen an Unteralben +weiterzugeben. + +**Design** + +* **background**: definiert die Farbe des Hintergrunds der Bilderwand in der + "Galerie"-App, wobei die RGB-hexadezimale (**"#ffa033"**) Darstellung einer + Farbe verwendet wird. Die Farbe wird vom System nicht erkannnt, + wenn keine Anführungszeichen um den Wert gesetzt werden. Bei Verwendung + dieser Funktion wird dringend empfohlen, das benutzerdefinierte Design mit + einem CSS Ladeindikator zu erweitern. `Dieses Farbrad `_ + zeigt Ihnen die RGB-Werte für die gewünschte Farbe an. +* **inherit**: Auf **yes** setzen, wenn Unterordner diesen Teil der + Konfiguration übernehmen sollen. + +**Album-Darstellung** + +* **description**: Ein mit Markdown formatierter String, der in der Info-Box + angezeigt wird. Er kann sich über mehrere Zeilen mit den Yaml-Markern + ausbreiten. +* **description_link**: Eine Markdown-Datei, die sich innerhalb des Albums + befindet, die wiederum analysiert und in der Info-Box anstelle der + normalen Beschreibung angezeigt wird. +* **copyright**: Eine mit Markdown formatierte Zeichenfolge. Links zu externen + Ressourcen werden hierbei unterstützt. +* **copyright_link**: Jede Datei (z.B. copyright.html) wird aus einem Album + automatisch heruntergeladen, wenn der Benutzer auf den Link klickt. +* **inherit**: Auf **yes** setzen, wenn Unterordner diesen Teil der + Konfiguration übernehmen sollen. + +Siehe ``_ für die Markdown-Syntax. + +.. note:: Wenn Sie die **copyright_link** Variable nutzen, fügen Sie keine + weiteren Links in "copyright" hinzu. + +**Sortieren** + +* **sorting**: **date** oder **name**. **date** funktioniert nur für Dateien. +* **sort_order**: **asc** oder **des** (aufsteigend / absteigend). +* **inherit**: Auf **yes** setzen, wenn Unterordner diesen Teil der + Konfiguration übernehmen sollen. + +Anmerkungen +----------- + +* Wenn nur die Sortiervariable **type** gesetzt ist, wird die + standard-Sortierreihenfolge verwendet. +* Wenn nur die Sortiervariable **order** gefunden wurde, wird die + Sortierkonfiguration ignoriert und das Skript sucht nach einer gültigen + Konfiguration in den höheren Ordnern. +* Um eine Funktion wie natives SVG in einer öffentlichen Freigabe zu aktivieren, + müssen Sie in diesem Ordner eine Konfigurationsdatei erstellen, die diese + Funktion enthält. +* Wenn Sie einen Ordner öffentlich freigeben, vergessen Sie nicht, alle Dateien, + die Sie verknüpfen (z.B. description.md oder copyright.md) innerhalb des + freigegebenen Ordners hinzuzufügen. Benutzer, die im übergeordneten Ordner + gespeichert sind, haben ansonsten auf Dateien keinen Zugriff. +* Mit der Option einen ganzen Ordner als Archiv herunterzuladen, bietet es + sich an, alle Dateien in einen freigegebenen Ordner zu bündeln. Dies ist + komfortabler als eine separate Konfigurationsdatei anzulegen. + +Beispiele +--------- + +**Einfaches Sortieren** + +Gilt nur für den aktuellen Ordner:: + + # Galerie-Konfigurationsdatei + sorting: + type: date + order: asc + +Kurze Beschreibung und Verweis auf das Copyright-Dokument, gilt für den +aktuellen Ordner und alle seine Unterordner. Die nächsten Zeilen zeigen die +Syntax, die Sie verwenden können, um eine Beschreibung über mehrere Zeilen +zu erweitern:: + + # Galerie-Konfigurationsdatei + information: + description: | # La Maison Bleue, Winter '16 + This is our Winter 2016 collection shot in **Kyoto** + Visit our [website](http://www.secretdesigner.ninja) for more information + copyright: Copyright 2015 La Maison Bleue, France + copyright_link: copyright_2015_lmb.html + inherit: yes + +**Bilder von externen Nextcloud-Instanzen laden** + +.. note:: Funktionen können nur im Stammordner definiert werden. + +Sie können Elemente der Standardkonfiguration zu derselben Konfigurationsdatei +hinzufügen:: + + # Galerie-Konfigurationsdatei + features: + external_shares: yes + +**Aktivieren von systemeigenem SVG** + +.. note:: Spezielle Funktionen können nur im Stammordner definiert werden. + +Sie können Elemente der Standardkonfiguration zu derselben Konfigurationsdatei +hinzufügen:: + + # Galerie-Konfigurationsdatei + features: + native_svg: yes + +Mögliche zukünftige Erweiterungen +--------------------------------- + +Verschiedene Sortierparameter für Alben. diff --git a/user_manual_de/files/index.rst b/user_manual_de/files/index.rst new file mode 100644 index 000000000..861085446 --- /dev/null +++ b/user_manual_de/files/index.rst @@ -0,0 +1,18 @@ +========================== +Dateien & Synchronisierung +========================== + +.. toctree:: + :maxdepth: 1 + + access_webgui + access_webdav + gallery_app + deleted_file_management + desktop_mobile_sync + encrypting_files + federated_cloud_sharing + file_drop + large_file_upload + quota + version_control diff --git a/user_manual_de/files/large_file_upload.rst b/user_manual_de/files/large_file_upload.rst new file mode 100644 index 000000000..ff2e440ff --- /dev/null +++ b/user_manual_de/files/large_file_upload.rst @@ -0,0 +1,20 @@ +======================== +Hochladen großer Dateien +======================== + +Beim Hochladen von Dateien über den Web-Browser wird Nextcloud durch PHP- und +Apache-Konfigurationen begrenzt. Standardmäßig erlaubt PHP nur 2 Megabyte große +Dateien hochzuladen. Da diese standard-Größe sehr klein ist, können viele Ihrer +Daten nicht hochgeladen werden. Ihr Nextcloud-Server-Administrator muss daher +die maximale Größe für Dateien neu einstellen. + +Nur der Server-Administrator ist berechtigt, Nextcloud-Variablen zu ändern. Wenn +größere Dateien hochgeladen werden sollen, als von der Standardeinstellung oder +der vom Administrator festgelegten Größe erlaubt wird: + +* Wenden Sie sich an Ihren Administrator, um eine Erhöhung dieser Variablen + anzufordern + +* Lesen Sie den Abschnitt in der `Admin-Dokumentation `_ , in dem beschrieben wird, wie die Größenbeschränkungen für die Dateigröße zu verwalten sind. + +.. TODO ON RELEASE: Update version number above on release diff --git a/user_manual_de/files/quota.rst b/user_manual_de/files/quota.rst new file mode 100644 index 000000000..1b3e3840e --- /dev/null +++ b/user_manual_de/files/quota.rst @@ -0,0 +1,35 @@ +================== +Speicherkontingent +================== + +Ihr Nextcloud-Administrator kann individuell für jeden Nutzer den zur Verfügung +gestellten Speicherplatz anpassen. Unter Ihren "Persönliche Einstellungen" können +Sie den Ihnen zugeteilten und bisher genutzten Speicherplatz einsehen. + +.. figure:: ../images/quota1.png + +Es kann hilfreich sein zu verstehen, wie der verfügbare Speicherplatz berechnet wird. + +Metadaten (Miniaturansichten, temporäre Daten, Caches, kryptografische Schlüssel) +belegen ungefähr 10% des Speichers, werden aber nicht vom Speicherkontingent eines +Nutzers abgezogen. Apps wie z.B. die "Kalender"- oder "Kontakte"-App speichern Daten +in der Nextcloud Datenbank. Diese Daten zählen ebenfalls nicht zum benutzten +Speicherplatz eines Nutzers. + +Geteilte Dateien zählen zum Speicherkontingent des Nutzers, der diese Dateien geteilt +hat. Wenn das Hochladen in geteilten Ordner erlaubt wird, zählen alle neu +hochgeladenen und editierten Dateien ebenfalls zum Speicherkontingent des Nutzers, +der diesen Ordner geteilt hat. + +Verschlüsselte Dateien sind etwas größer als unverschlüsselte Dateien; es wird +lediglich die Größe der unverschlüsselten Originaldatei mit dem Speicherkontingent +verrechnet. + +Gelöschte Dateien, die sich noch im Papierkorb befinden, zählen nicht zum genutzten +Speicherplatz. Die Größe des Papierkorbs ist auf 50% des Speicherkontingent eines +Nutzers festgelegt. Dateien werden nach 30 Tagen aus dem Papierkorb gelöscht. +Wenn die maximale Größe des Papierkorbs überschritten wird, werden nach und nach +die ältesten Dateien von dort endgültig gelöscht. + +Alle mit der Versionsverwaltung erstellten Versionen einer Datei werden nicht +zum Speicherkontingent dazugezählt. diff --git a/user_manual_de/files/version_control.rst b/user_manual_de/files/version_control.rst new file mode 100644 index 000000000..1359cb06a --- /dev/null +++ b/user_manual_de/files/version_control.rst @@ -0,0 +1,32 @@ +================== +Versionsverwaltung +================== + +Nextcloud hat ein einfaches Versionsverwaltung-System für Dateien. Versionierung +erstellt Backups, welche unter dem "Versions"-Reiter in der Detail-Sidebar zu +finden sind. Dieser Reiter enhält eine komplette Historie aller Änderungen an der +entsprechenden Datei und erlaubt es, jegliche alte Version wiederherzustellen. +Änderungen werden alle zwei Minuten unter data/[user]/versions abgelegt. + +.. figure:: ../images/files_versioning.png + +Um eine bestimmte Version einer Datei wiederherzustellen, klicken Sie den +Kreispfeil auf der linken Seite. Mit einem Klick auf den Zeitstempel kann die Datei +heruntergeladen werden. + +Um Speicherplatz zu sparen, löscht die "Versionen"-App automatisch ältere Versionen nach diesen Regeln: + +- In der ersten Sekunde wird einer Version erstellt +- Die ersten 10 Sekunden wird alle 2 Sekunden eine Version erstellt +- Die erste Minute wird alle 10 Sekunden eine Version erstellt +- Die erste Stunde wird jede Minute eine Version erstellt +- Die ersten 24 Stunden wird jede Stunde eine Version erstellt +- Die ersten 30 Tage wird jeden Tag eine Version erstellt +- Nach den ersten 30 Tagen wird jede Woche eine Version erstellt + +Sobald eine neue Version erstellt wird, passen sich alle bisher erstellten Versionen +diesem Schema an. + +Die "Versionen"-App benutzt nie mehr als 50% des für den Nutzer verfügbaren +Speicherplatzes. Wenn dieses Limit überschritten wird, werden die ältesten +Versionen gelöscht, sobald wieder mindestens 50% Speicher frei sind. diff --git a/user_manual_de/images/2fa_backupcode_1.png b/user_manual_de/images/2fa_backupcode_1.png new file mode 100644 index 000000000..ba979b910 Binary files /dev/null and b/user_manual_de/images/2fa_backupcode_1.png differ diff --git a/user_manual_de/images/2fa_backupcode_2.png b/user_manual_de/images/2fa_backupcode_2.png new file mode 100644 index 000000000..bb4c0b466 Binary files /dev/null and b/user_manual_de/images/2fa_backupcode_2.png differ diff --git a/user_manual_de/images/anonym_click_sharing.png b/user_manual_de/images/anonym_click_sharing.png new file mode 100644 index 000000000..7c7812915 Binary files /dev/null and b/user_manual_de/images/anonym_click_sharing.png differ diff --git a/user_manual_de/images/anonym_hide_file_listing.png b/user_manual_de/images/anonym_hide_file_listing.png new file mode 100644 index 000000000..eb3bc5e56 Binary files /dev/null and b/user_manual_de/images/anonym_hide_file_listing.png differ diff --git a/user_manual_de/images/anonym_upload.png b/user_manual_de/images/anonym_upload.png new file mode 100644 index 000000000..04044af9c Binary files /dev/null and b/user_manual_de/images/anonym_upload.png differ diff --git a/user_manual_de/images/anonym_uploaded_files.png b/user_manual_de/images/anonym_uploaded_files.png new file mode 100644 index 000000000..e887a3aac Binary files /dev/null and b/user_manual_de/images/anonym_uploaded_files.png differ diff --git a/user_manual_de/images/apis_auth_google_drive.png b/user_manual_de/images/apis_auth_google_drive.png new file mode 100644 index 000000000..8089490e5 Binary files /dev/null and b/user_manual_de/images/apis_auth_google_drive.png differ diff --git a/user_manual_de/images/bookmark_addurl.png b/user_manual_de/images/bookmark_addurl.png new file mode 100644 index 000000000..b9983654f Binary files /dev/null and b/user_manual_de/images/bookmark_addurl.png differ diff --git a/user_manual_de/images/bookmark_list.jpg b/user_manual_de/images/bookmark_list.jpg new file mode 100644 index 000000000..61e7c9a01 Binary files /dev/null and b/user_manual_de/images/bookmark_list.jpg differ diff --git a/user_manual_de/images/bookmark_setting.png b/user_manual_de/images/bookmark_setting.png new file mode 100644 index 000000000..0eec3bdb1 Binary files /dev/null and b/user_manual_de/images/bookmark_setting.png differ diff --git a/user_manual_de/images/caldav.png b/user_manual_de/images/caldav.png new file mode 100644 index 000000000..077bb7504 Binary files /dev/null and b/user_manual_de/images/caldav.png differ diff --git a/user_manual_de/images/calendar_caldav_icon.png b/user_manual_de/images/calendar_caldav_icon.png new file mode 100644 index 000000000..f3baf9005 Binary files /dev/null and b/user_manual_de/images/calendar_caldav_icon.png differ diff --git a/user_manual_de/images/calendar_caldav_ios.png b/user_manual_de/images/calendar_caldav_ios.png new file mode 100644 index 000000000..85e409081 Binary files /dev/null and b/user_manual_de/images/calendar_caldav_ios.png differ diff --git a/user_manual_de/images/calendar_caldav_link.png b/user_manual_de/images/calendar_caldav_link.png new file mode 100644 index 000000000..462b646c7 Binary files /dev/null and b/user_manual_de/images/calendar_caldav_link.png differ diff --git a/user_manual_de/images/calendar_create_event.png b/user_manual_de/images/calendar_create_event.png new file mode 100644 index 000000000..a298a48d6 Binary files /dev/null and b/user_manual_de/images/calendar_create_event.png differ diff --git a/user_manual_de/images/calendar_create_event_advanced.png b/user_manual_de/images/calendar_create_event_advanced.png new file mode 100644 index 000000000..19fbb67ea Binary files /dev/null and b/user_manual_de/images/calendar_create_event_advanced.png differ diff --git a/user_manual_de/images/calendar_create_event_repeat.png b/user_manual_de/images/calendar_create_event_repeat.png new file mode 100644 index 000000000..6f90f66db Binary files /dev/null and b/user_manual_de/images/calendar_create_event_repeat.png differ diff --git a/user_manual_de/images/calendar_create_event_repeat_advanced.png b/user_manual_de/images/calendar_create_event_repeat_advanced.png new file mode 100644 index 000000000..d29189efe Binary files /dev/null and b/user_manual_de/images/calendar_create_event_repeat_advanced.png differ diff --git a/user_manual_de/images/calendar_create_event_share.png b/user_manual_de/images/calendar_create_event_share.png new file mode 100644 index 000000000..bcc5ce5db Binary files /dev/null and b/user_manual_de/images/calendar_create_event_share.png differ diff --git a/user_manual_de/images/calendar_create_new.png b/user_manual_de/images/calendar_create_new.png new file mode 100644 index 000000000..c582a558b Binary files /dev/null and b/user_manual_de/images/calendar_create_new.png differ diff --git a/user_manual_de/images/calendar_createevent.png b/user_manual_de/images/calendar_createevent.png new file mode 100644 index 000000000..5ca9bb320 Binary files /dev/null and b/user_manual_de/images/calendar_createevent.png differ diff --git a/user_manual_de/images/calendar_default.png b/user_manual_de/images/calendar_default.png new file mode 100644 index 000000000..6363b149c Binary files /dev/null and b/user_manual_de/images/calendar_default.png differ diff --git a/user_manual_de/images/calendar_edit_event.png b/user_manual_de/images/calendar_edit_event.png new file mode 100644 index 000000000..479b4441f Binary files /dev/null and b/user_manual_de/images/calendar_edit_event.png differ diff --git a/user_manual_de/images/calendar_export.png b/user_manual_de/images/calendar_export.png new file mode 100644 index 000000000..916cedf95 Binary files /dev/null and b/user_manual_de/images/calendar_export.png differ diff --git a/user_manual_de/images/calendar_import.png b/user_manual_de/images/calendar_import.png new file mode 100644 index 000000000..9806f99c8 Binary files /dev/null and b/user_manual_de/images/calendar_import.png differ diff --git a/user_manual_de/images/calendar_manage-calendars.png b/user_manual_de/images/calendar_manage-calendars.png new file mode 100644 index 000000000..610cfcb53 Binary files /dev/null and b/user_manual_de/images/calendar_manage-calendars.png differ diff --git a/user_manual_de/images/calendar_newtimezone1.png b/user_manual_de/images/calendar_newtimezone1.png new file mode 100644 index 000000000..961c58c47 Binary files /dev/null and b/user_manual_de/images/calendar_newtimezone1.png differ diff --git a/user_manual_de/images/calendar_settings.png b/user_manual_de/images/calendar_settings.png new file mode 100644 index 000000000..ae4c2acfa Binary files /dev/null and b/user_manual_de/images/calendar_settings.png differ diff --git a/user_manual_de/images/calendar_share.png b/user_manual_de/images/calendar_share.png new file mode 100644 index 000000000..ac408e0da Binary files /dev/null and b/user_manual_de/images/calendar_share.png differ diff --git a/user_manual_de/images/chain-link-on-public-share.png b/user_manual_de/images/chain-link-on-public-share.png new file mode 100644 index 000000000..b5a223814 Binary files /dev/null and b/user_manual_de/images/chain-link-on-public-share.png differ diff --git a/user_manual_de/images/contact_address_book_add.png b/user_manual_de/images/contact_address_book_add.png new file mode 100644 index 000000000..9dd7fe0db Binary files /dev/null and b/user_manual_de/images/contact_address_book_add.png differ diff --git a/user_manual_de/images/contact_bottombar.png b/user_manual_de/images/contact_bottombar.png new file mode 100644 index 000000000..3d91ea982 Binary files /dev/null and b/user_manual_de/images/contact_bottombar.png differ diff --git a/user_manual_de/images/contact_crop.jpg b/user_manual_de/images/contact_crop.jpg new file mode 100644 index 000000000..6231a5a54 Binary files /dev/null and b/user_manual_de/images/contact_crop.jpg differ diff --git a/user_manual_de/images/contact_del_ab.png b/user_manual_de/images/contact_del_ab.png new file mode 100644 index 000000000..d325a880f Binary files /dev/null and b/user_manual_de/images/contact_del_ab.png differ diff --git a/user_manual_de/images/contact_emptycontact.png b/user_manual_de/images/contact_emptycontact.png new file mode 100644 index 000000000..97b0e74ec Binary files /dev/null and b/user_manual_de/images/contact_emptycontact.png differ diff --git a/user_manual_de/images/contact_new.png b/user_manual_de/images/contact_new.png new file mode 100644 index 000000000..4cef92150 Binary files /dev/null and b/user_manual_de/images/contact_new.png differ diff --git a/user_manual_de/images/contact_picture.jpg b/user_manual_de/images/contact_picture.jpg new file mode 100644 index 000000000..089ac71bf Binary files /dev/null and b/user_manual_de/images/contact_picture.jpg differ diff --git a/user_manual_de/images/contact_picture.png b/user_manual_de/images/contact_picture.png new file mode 100644 index 000000000..17e828a95 Binary files /dev/null and b/user_manual_de/images/contact_picture.png differ diff --git a/user_manual_de/images/contact_picture_default.png b/user_manual_de/images/contact_picture_default.png new file mode 100644 index 000000000..24802de2c Binary files /dev/null and b/user_manual_de/images/contact_picture_default.png differ diff --git a/user_manual_de/images/contact_syncopt.jpg b/user_manual_de/images/contact_syncopt.jpg new file mode 100644 index 000000000..7efffb5ff Binary files /dev/null and b/user_manual_de/images/contact_syncopt.jpg differ diff --git a/user_manual_de/images/contact_thunderbird-Symbol_Gear.jpg b/user_manual_de/images/contact_thunderbird-Symbol_Gear.jpg new file mode 100755 index 000000000..d9f60413c Binary files /dev/null and b/user_manual_de/images/contact_thunderbird-Symbol_Gear.jpg differ diff --git a/user_manual_de/images/contact_thunderbird-Symbol_Impeller.jpg b/user_manual_de/images/contact_thunderbird-Symbol_Impeller.jpg new file mode 100755 index 000000000..a3e7fe53b Binary files /dev/null and b/user_manual_de/images/contact_thunderbird-Symbol_Impeller.jpg differ diff --git a/user_manual_de/images/contact_thunderbird-URL_config.jpg b/user_manual_de/images/contact_thunderbird-URL_config.jpg new file mode 100755 index 000000000..9ab48faaf Binary files /dev/null and b/user_manual_de/images/contact_thunderbird-URL_config.jpg differ diff --git a/user_manual_de/images/contact_uploadbutton.png b/user_manual_de/images/contact_uploadbutton.png new file mode 100644 index 000000000..ce9027551 Binary files /dev/null and b/user_manual_de/images/contact_uploadbutton.png differ diff --git a/user_manual_de/images/contact_vcfpick.jpg b/user_manual_de/images/contact_vcfpick.jpg new file mode 100644 index 000000000..b09bea5db Binary files /dev/null and b/user_manual_de/images/contact_vcfpick.jpg differ diff --git a/user_manual_de/images/contacts_empty.png b/user_manual_de/images/contacts_empty.png new file mode 100644 index 000000000..70f045cf3 Binary files /dev/null and b/user_manual_de/images/contacts_empty.png differ diff --git a/user_manual_de/images/contacts_settings.png b/user_manual_de/images/contacts_settings.png new file mode 100644 index 000000000..a42659e0a Binary files /dev/null and b/user_manual_de/images/contacts_settings.png differ diff --git a/user_manual_de/images/create_public_share-10.png b/user_manual_de/images/create_public_share-10.png new file mode 100644 index 000000000..95b884a7f Binary files /dev/null and b/user_manual_de/images/create_public_share-10.png differ diff --git a/user_manual_de/images/create_public_share-6.png b/user_manual_de/images/create_public_share-6.png new file mode 100644 index 000000000..a2eeea183 Binary files /dev/null and b/user_manual_de/images/create_public_share-6.png differ diff --git a/user_manual_de/images/create_public_share-8.png b/user_manual_de/images/create_public_share-8.png new file mode 100644 index 000000000..d40c2bd0c Binary files /dev/null and b/user_manual_de/images/create_public_share-8.png differ diff --git a/user_manual_de/images/create_public_share-9.png b/user_manual_de/images/create_public_share-9.png new file mode 100644 index 000000000..07cf254ee Binary files /dev/null and b/user_manual_de/images/create_public_share-9.png differ diff --git a/user_manual_de/images/cross.png b/user_manual_de/images/cross.png new file mode 100644 index 000000000..3389c66e0 Binary files /dev/null and b/user_manual_de/images/cross.png differ diff --git a/user_manual_de/images/direct-share-1.png b/user_manual_de/images/direct-share-1.png new file mode 100644 index 000000000..4cac18744 Binary files /dev/null and b/user_manual_de/images/direct-share-1.png differ diff --git a/user_manual_de/images/direct-share-3.png b/user_manual_de/images/direct-share-3.png new file mode 100644 index 000000000..20d512c6b Binary files /dev/null and b/user_manual_de/images/direct-share-3.png differ diff --git a/user_manual_de/images/direct-share-4.png b/user_manual_de/images/direct-share-4.png new file mode 100644 index 000000000..081ca9478 Binary files /dev/null and b/user_manual_de/images/direct-share-4.png differ diff --git a/user_manual_de/images/direct-share-5.png b/user_manual_de/images/direct-share-5.png new file mode 100644 index 000000000..575eb8f14 Binary files /dev/null and b/user_manual_de/images/direct-share-5.png differ diff --git a/user_manual_de/images/documents_personal_settings.png b/user_manual_de/images/documents_personal_settings.png new file mode 100644 index 000000000..c7c7c0795 Binary files /dev/null and b/user_manual_de/images/documents_personal_settings.png differ diff --git a/user_manual_de/images/download.png b/user_manual_de/images/download.png new file mode 100644 index 000000000..0f71a5a77 Binary files /dev/null and b/user_manual_de/images/download.png differ diff --git a/user_manual_de/images/email_address_personal_settings.png b/user_manual_de/images/email_address_personal_settings.png new file mode 100644 index 000000000..26798f27f Binary files /dev/null and b/user_manual_de/images/email_address_personal_settings.png differ diff --git a/user_manual_de/images/email_server_smtp_wizard.png b/user_manual_de/images/email_server_smtp_wizard.png new file mode 100644 index 000000000..576dc8a31 Binary files /dev/null and b/user_manual_de/images/email_server_smtp_wizard.png differ diff --git a/user_manual_de/images/encryption1.png b/user_manual_de/images/encryption1.png new file mode 100644 index 000000000..73a0fdac8 Binary files /dev/null and b/user_manual_de/images/encryption1.png differ diff --git a/user_manual_de/images/encryption2.png b/user_manual_de/images/encryption2.png new file mode 100644 index 000000000..2a72475d2 Binary files /dev/null and b/user_manual_de/images/encryption2.png differ diff --git a/user_manual_de/images/encryption3.png b/user_manual_de/images/encryption3.png new file mode 100644 index 000000000..0b8c615e0 Binary files /dev/null and b/user_manual_de/images/encryption3.png differ diff --git a/user_manual_de/images/encryption4.png b/user_manual_de/images/encryption4.png new file mode 100644 index 000000000..e1ff5e356 Binary files /dev/null and b/user_manual_de/images/encryption4.png differ diff --git a/user_manual_de/images/event_export.png b/user_manual_de/images/event_export.png new file mode 100644 index 000000000..6249db315 Binary files /dev/null and b/user_manual_de/images/event_export.png differ diff --git a/user_manual_de/images/explorer_webdav.png b/user_manual_de/images/explorer_webdav.png new file mode 100644 index 000000000..01f5fa01f Binary files /dev/null and b/user_manual_de/images/explorer_webdav.png differ diff --git a/user_manual_de/images/external_google_drive_1_sign_in.png b/user_manual_de/images/external_google_drive_1_sign_in.png new file mode 100644 index 000000000..43db0e13e Binary files /dev/null and b/user_manual_de/images/external_google_drive_1_sign_in.png differ diff --git a/user_manual_de/images/external_google_drive_2_verify.png b/user_manual_de/images/external_google_drive_2_verify.png new file mode 100644 index 000000000..e055bc04c Binary files /dev/null and b/user_manual_de/images/external_google_drive_2_verify.png differ diff --git a/user_manual_de/images/external_google_drive_3_create_project.png b/user_manual_de/images/external_google_drive_3_create_project.png new file mode 100644 index 000000000..a706f9200 Binary files /dev/null and b/user_manual_de/images/external_google_drive_3_create_project.png differ diff --git a/user_manual_de/images/external_google_drive_4_enable_api.png b/user_manual_de/images/external_google_drive_4_enable_api.png new file mode 100644 index 000000000..31925e2c5 Binary files /dev/null and b/user_manual_de/images/external_google_drive_4_enable_api.png differ diff --git a/user_manual_de/images/external_google_drive_5_setup_ownCloud.png b/user_manual_de/images/external_google_drive_5_setup_ownCloud.png new file mode 100644 index 000000000..35b4ce4ab Binary files /dev/null and b/user_manual_de/images/external_google_drive_5_setup_ownCloud.png differ diff --git a/user_manual_de/images/external_google_drive_6_accept.png b/user_manual_de/images/external_google_drive_6_accept.png new file mode 100644 index 000000000..5e1c7ef54 Binary files /dev/null and b/user_manual_de/images/external_google_drive_6_accept.png differ diff --git a/user_manual_de/images/file_menu_comments_2.png b/user_manual_de/images/file_menu_comments_2.png new file mode 100644 index 000000000..aac661276 Binary files /dev/null and b/user_manual_de/images/file_menu_comments_2.png differ diff --git a/user_manual_de/images/files_page-1.png b/user_manual_de/images/files_page-1.png new file mode 100644 index 000000000..8e4f49f88 Binary files /dev/null and b/user_manual_de/images/files_page-1.png differ diff --git a/user_manual_de/images/files_page-2.png b/user_manual_de/images/files_page-2.png new file mode 100644 index 000000000..20f95cc82 Binary files /dev/null and b/user_manual_de/images/files_page-2.png differ diff --git a/user_manual_de/images/files_page-3.png b/user_manual_de/images/files_page-3.png new file mode 100644 index 000000000..76aa51843 Binary files /dev/null and b/user_manual_de/images/files_page-3.png differ diff --git a/user_manual_de/images/files_page-4.png b/user_manual_de/images/files_page-4.png new file mode 100644 index 000000000..04ea7b014 Binary files /dev/null and b/user_manual_de/images/files_page-4.png differ diff --git a/user_manual_de/images/files_page-5.png b/user_manual_de/images/files_page-5.png new file mode 100644 index 000000000..26a42fa3e Binary files /dev/null and b/user_manual_de/images/files_page-5.png differ diff --git a/user_manual_de/images/files_page-6.png b/user_manual_de/images/files_page-6.png new file mode 100644 index 000000000..1446ffafb Binary files /dev/null and b/user_manual_de/images/files_page-6.png differ diff --git a/user_manual_de/images/files_page-7.png b/user_manual_de/images/files_page-7.png new file mode 100644 index 000000000..02cf3aaee Binary files /dev/null and b/user_manual_de/images/files_page-7.png differ diff --git a/user_manual_de/images/files_page-8.png b/user_manual_de/images/files_page-8.png new file mode 100644 index 000000000..01b9ab767 Binary files /dev/null and b/user_manual_de/images/files_page-8.png differ diff --git a/user_manual_de/images/files_page.png b/user_manual_de/images/files_page.png new file mode 100644 index 000000000..07bde3d36 Binary files /dev/null and b/user_manual_de/images/files_page.png differ diff --git a/user_manual_de/images/files_versioning.png b/user_manual_de/images/files_versioning.png new file mode 100644 index 000000000..6464fc6e3 Binary files /dev/null and b/user_manual_de/images/files_versioning.png differ diff --git a/user_manual_de/images/full_name.png b/user_manual_de/images/full_name.png new file mode 100644 index 000000000..7a1d67064 Binary files /dev/null and b/user_manual_de/images/full_name.png differ diff --git a/user_manual_de/images/gallery-1.png b/user_manual_de/images/gallery-1.png new file mode 100644 index 000000000..11dbad6b5 Binary files /dev/null and b/user_manual_de/images/gallery-1.png differ diff --git a/user_manual_de/images/gallery-2.png b/user_manual_de/images/gallery-2.png new file mode 100644 index 000000000..bfeee9ac6 Binary files /dev/null and b/user_manual_de/images/gallery-2.png differ diff --git a/user_manual_de/images/gear.png b/user_manual_de/images/gear.png new file mode 100644 index 000000000..f6eb6ce0c Binary files /dev/null and b/user_manual_de/images/gear.png differ diff --git a/user_manual_de/images/hidden_files.png b/user_manual_de/images/hidden_files.png new file mode 100644 index 000000000..8e8290fc6 Binary files /dev/null and b/user_manual_de/images/hidden_files.png differ diff --git a/user_manual_de/images/language_personal_settings.png b/user_manual_de/images/language_personal_settings.png new file mode 100644 index 000000000..f86cf8f75 Binary files /dev/null and b/user_manual_de/images/language_personal_settings.png differ diff --git a/user_manual_de/images/mail_templates.png b/user_manual_de/images/mail_templates.png new file mode 100644 index 000000000..f09ef1929 Binary files /dev/null and b/user_manual_de/images/mail_templates.png differ diff --git a/user_manual_de/images/nautilus_webdav.png b/user_manual_de/images/nautilus_webdav.png new file mode 100644 index 000000000..929d8b323 Binary files /dev/null and b/user_manual_de/images/nautilus_webdav.png differ diff --git a/user_manual_de/images/new_project_google_drive.png b/user_manual_de/images/new_project_google_drive.png new file mode 100644 index 000000000..9f1e23704 Binary files /dev/null and b/user_manual_de/images/new_project_google_drive.png differ diff --git a/user_manual_de/images/new_project_google_drive_api_settings.png b/user_manual_de/images/new_project_google_drive_api_settings.png new file mode 100644 index 000000000..9e208d57c Binary files /dev/null and b/user_manual_de/images/new_project_google_drive_api_settings.png differ diff --git a/user_manual_de/images/new_project_google_drive_branding.png b/user_manual_de/images/new_project_google_drive_branding.png new file mode 100644 index 000000000..cc7180bdc Binary files /dev/null and b/user_manual_de/images/new_project_google_drive_branding.png differ diff --git a/user_manual_de/images/new_project_google_drive_new_client.png b/user_manual_de/images/new_project_google_drive_new_client.png new file mode 100644 index 000000000..8b64e5f0b Binary files /dev/null and b/user_manual_de/images/new_project_google_drive_new_client.png differ diff --git a/user_manual_de/images/notifications_personal_settings.png b/user_manual_de/images/notifications_personal_settings.png new file mode 100644 index 000000000..0dfc1ab83 Binary files /dev/null and b/user_manual_de/images/notifications_personal_settings.png differ diff --git a/user_manual_de/images/oc_apps_dropdown.png b/user_manual_de/images/oc_apps_dropdown.png new file mode 100644 index 000000000..52832e05b Binary files /dev/null and b/user_manual_de/images/oc_apps_dropdown.png differ diff --git a/user_manual_de/images/oc_connect.png b/user_manual_de/images/oc_connect.png new file mode 100644 index 000000000..1e7144ea3 Binary files /dev/null and b/user_manual_de/images/oc_connect.png differ diff --git a/user_manual_de/images/oc_documents_col_edit.png b/user_manual_de/images/oc_documents_col_edit.png new file mode 100644 index 000000000..c11b5c501 Binary files /dev/null and b/user_manual_de/images/oc_documents_col_edit.png differ diff --git a/user_manual_de/images/oc_documents_share.png b/user_manual_de/images/oc_documents_share.png new file mode 100644 index 000000000..41e33a255 Binary files /dev/null and b/user_manual_de/images/oc_documents_share.png differ diff --git a/user_manual_de/images/oc_edit.png b/user_manual_de/images/oc_edit.png new file mode 100644 index 000000000..a546b4820 Binary files /dev/null and b/user_manual_de/images/oc_edit.png differ diff --git a/user_manual_de/images/oc_files_share.png b/user_manual_de/images/oc_files_share.png new file mode 100644 index 000000000..e9213e855 Binary files /dev/null and b/user_manual_de/images/oc_files_share.png differ diff --git a/user_manual_de/images/oc_filesweb.png b/user_manual_de/images/oc_filesweb.png new file mode 100644 index 000000000..15b27856b Binary files /dev/null and b/user_manual_de/images/oc_filesweb.png differ diff --git a/user_manual_de/images/oc_filesweb_navigate.png b/user_manual_de/images/oc_filesweb_navigate.png new file mode 100644 index 000000000..c9694333e Binary files /dev/null and b/user_manual_de/images/oc_filesweb_navigate.png differ diff --git a/user_manual_de/images/oc_filesweb_new.png b/user_manual_de/images/oc_filesweb_new.png new file mode 100644 index 000000000..0c9535c0b Binary files /dev/null and b/user_manual_de/images/oc_filesweb_new.png differ diff --git a/user_manual_de/images/oc_main_web.png b/user_manual_de/images/oc_main_web.png new file mode 100644 index 000000000..71352f5a0 Binary files /dev/null and b/user_manual_de/images/oc_main_web.png differ diff --git a/user_manual_de/images/oc_personal_settings_dropdown.png b/user_manual_de/images/oc_personal_settings_dropdown.png new file mode 100644 index 000000000..053550a83 Binary files /dev/null and b/user_manual_de/images/oc_personal_settings_dropdown.png differ diff --git a/user_manual_de/images/oc_personal_settings_window.png b/user_manual_de/images/oc_personal_settings_window.png new file mode 100644 index 000000000..3cc0aa376 Binary files /dev/null and b/user_manual_de/images/oc_personal_settings_window.png differ diff --git a/user_manual_de/images/oc_share_expiration_calendar.png b/user_manual_de/images/oc_share_expiration_calendar.png new file mode 100644 index 000000000..1406c57ad Binary files /dev/null and b/user_manual_de/images/oc_share_expiration_calendar.png differ diff --git a/user_manual_de/images/oc_share_with_options.png b/user_manual_de/images/oc_share_with_options.png new file mode 100644 index 000000000..86b22e50b Binary files /dev/null and b/user_manual_de/images/oc_share_with_options.png differ diff --git a/user_manual_de/images/oc_ui.png b/user_manual_de/images/oc_ui.png new file mode 100644 index 000000000..c4d2b1cf4 Binary files /dev/null and b/user_manual_de/images/oc_ui.png differ diff --git a/user_manual_de/images/osx_webdav1.png b/user_manual_de/images/osx_webdav1.png new file mode 100644 index 000000000..7f0b87f44 Binary files /dev/null and b/user_manual_de/images/osx_webdav1.png differ diff --git a/user_manual_de/images/osx_webdav2.png b/user_manual_de/images/osx_webdav2.png new file mode 100644 index 000000000..52ec1cc3f Binary files /dev/null and b/user_manual_de/images/osx_webdav2.png differ diff --git a/user_manual_de/images/owncloud_webinterface_map.png b/user_manual_de/images/owncloud_webinterface_map.png new file mode 100644 index 000000000..00ef48692 Binary files /dev/null and b/user_manual_de/images/owncloud_webinterface_map.png differ diff --git a/user_manual_de/images/password_change.png b/user_manual_de/images/password_change.png new file mode 100644 index 000000000..3907bfa3c Binary files /dev/null and b/user_manual_de/images/password_change.png differ diff --git a/user_manual_de/images/pencil.png b/user_manual_de/images/pencil.png new file mode 100644 index 000000000..975bd2d70 Binary files /dev/null and b/user_manual_de/images/pencil.png differ diff --git a/user_manual_de/images/personal_settings.png b/user_manual_de/images/personal_settings.png new file mode 100644 index 000000000..1ee6bd277 Binary files /dev/null and b/user_manual_de/images/personal_settings.png differ diff --git a/user_manual_de/images/profile_picture_personal_settings.png b/user_manual_de/images/profile_picture_personal_settings.png new file mode 100644 index 000000000..988993bb6 Binary files /dev/null and b/user_manual_de/images/profile_picture_personal_settings.png differ diff --git a/user_manual_de/images/quota1.png b/user_manual_de/images/quota1.png new file mode 100644 index 000000000..f05b825dc Binary files /dev/null and b/user_manual_de/images/quota1.png differ diff --git a/user_manual_de/images/remote_shares.png b/user_manual_de/images/remote_shares.png new file mode 100644 index 000000000..1b48ef5ae Binary files /dev/null and b/user_manual_de/images/remote_shares.png differ diff --git a/user_manual_de/images/s2s-add-remote-share.png b/user_manual_de/images/s2s-add-remote-share.png new file mode 100644 index 000000000..5589747c8 Binary files /dev/null and b/user_manual_de/images/s2s-add-remote-share.png differ diff --git a/user_manual_de/images/s2s-connect-to-remote-share.png b/user_manual_de/images/s2s-connect-to-remote-share.png new file mode 100644 index 000000000..57c72e721 Binary files /dev/null and b/user_manual_de/images/s2s-connect-to-remote-share.png differ diff --git a/user_manual_de/images/s2s-create_public_share.png b/user_manual_de/images/s2s-create_public_share.png new file mode 100644 index 000000000..08566af15 Binary files /dev/null and b/user_manual_de/images/s2s-create_public_share.png differ diff --git a/user_manual_de/images/s2s-remote-share-labeled.png b/user_manual_de/images/s2s-remote-share-labeled.png new file mode 100644 index 000000000..338fe63e4 Binary files /dev/null and b/user_manual_de/images/s2s-remote-share-labeled.png differ diff --git a/user_manual_de/images/s2s_share_link.png b/user_manual_de/images/s2s_share_link.png new file mode 100644 index 000000000..3db88dfcf Binary files /dev/null and b/user_manual_de/images/s2s_share_link.png differ diff --git a/user_manual_de/images/settings_devices.png b/user_manual_de/images/settings_devices.png new file mode 100644 index 000000000..16c971d9b Binary files /dev/null and b/user_manual_de/images/settings_devices.png differ diff --git a/user_manual_de/images/settings_devices_add.png b/user_manual_de/images/settings_devices_add.png new file mode 100644 index 000000000..a826be075 Binary files /dev/null and b/user_manual_de/images/settings_devices_add.png differ diff --git a/user_manual_de/images/settings_sessions.png b/user_manual_de/images/settings_sessions.png new file mode 100644 index 000000000..5a55bcd4c Binary files /dev/null and b/user_manual_de/images/settings_sessions.png differ diff --git a/user_manual_de/images/share.png b/user_manual_de/images/share.png new file mode 100644 index 000000000..fdacbbabe Binary files /dev/null and b/user_manual_de/images/share.png differ diff --git a/user_manual_de/images/share_link.png b/user_manual_de/images/share_link.png new file mode 100644 index 000000000..3db88dfcf Binary files /dev/null and b/user_manual_de/images/share_link.png differ diff --git a/user_manual_de/images/share_link_adding.png b/user_manual_de/images/share_link_adding.png new file mode 100644 index 000000000..57c72e721 Binary files /dev/null and b/user_manual_de/images/share_link_adding.png differ diff --git a/user_manual_de/images/totp_enable.png b/user_manual_de/images/totp_enable.png new file mode 100644 index 000000000..d131a4628 Binary files /dev/null and b/user_manual_de/images/totp_enable.png differ diff --git a/user_manual_de/images/totp_login_2.png b/user_manual_de/images/totp_login_2.png new file mode 100644 index 000000000..cdb41e743 Binary files /dev/null and b/user_manual_de/images/totp_login_2.png differ diff --git a/user_manual_de/images/usage_indicator.png b/user_manual_de/images/usage_indicator.png new file mode 100644 index 000000000..7ad8bbbff Binary files /dev/null and b/user_manual_de/images/usage_indicator.png differ diff --git a/user_manual_de/images/users-files.png b/user_manual_de/images/users-files.png new file mode 100644 index 000000000..1d528a10d Binary files /dev/null and b/user_manual_de/images/users-files.png differ diff --git a/user_manual_de/images/users-overlays.png b/user_manual_de/images/users-overlays.png new file mode 100644 index 000000000..b9b518b3e Binary files /dev/null and b/user_manual_de/images/users-overlays.png differ diff --git a/user_manual_de/images/users-share-local.png b/user_manual_de/images/users-share-local.png new file mode 100644 index 000000000..e95351b39 Binary files /dev/null and b/user_manual_de/images/users-share-local.png differ diff --git a/user_manual_de/images/users-share-local2.png b/user_manual_de/images/users-share-local2.png new file mode 100644 index 000000000..a4752f86c Binary files /dev/null and b/user_manual_de/images/users-share-local2.png differ diff --git a/user_manual_de/images/users-share-public.png b/user_manual_de/images/users-share-public.png new file mode 100644 index 000000000..f0c4aca96 Binary files /dev/null and b/user_manual_de/images/users-share-public.png differ diff --git a/user_manual_de/images/version_personal_settings.png b/user_manual_de/images/version_personal_settings.png new file mode 100644 index 000000000..63c91829a Binary files /dev/null and b/user_manual_de/images/version_personal_settings.png differ diff --git a/user_manual_de/images/video_player_2.png b/user_manual_de/images/video_player_2.png new file mode 100644 index 000000000..9aa435a45 Binary files /dev/null and b/user_manual_de/images/video_player_2.png differ diff --git a/user_manual_de/images/webdav_dolphin.png b/user_manual_de/images/webdav_dolphin.png new file mode 100644 index 000000000..ba89fa77f Binary files /dev/null and b/user_manual_de/images/webdav_dolphin.png differ diff --git a/user_manual_de/images/webdav_gnome3_nautilus.png b/user_manual_de/images/webdav_gnome3_nautilus.png new file mode 100644 index 000000000..bcc2fff89 Binary files /dev/null and b/user_manual_de/images/webdav_gnome3_nautilus.png differ diff --git a/user_manual_de/index.rst b/user_manual_de/index.rst new file mode 100644 index 000000000..73c6e19ea --- /dev/null +++ b/user_manual_de/index.rst @@ -0,0 +1,26 @@ +.. _index: + +==================================== +Nextcloud |version| Benutzerhandbuch +==================================== + +**Willkommen bei Nextcloud: Einem sicheren Ort für all Ihre Daten.** + +Nextcloud ist eine Open-Source Software, die das Synchronisieren und Teilen Ihrer +Daten einfach macht. Der kostenlose Nextcloud-Server kann von Ihnen persönlich, +bis hin zu großen Unternehmen verwendet werden. Mit Nextcloud können Sie einfach +und sicher Dateien über Ihren eigenen Server synchronisieren und teilen. + +Teilen Sie einzelne Dateien oder ganze Ordner von Ihrem Computer und synchronisieren +Sie diese über Ihren Nextcloud-Server. Legen Sie Dateien in geteilten Ordner ab, +um diese automatisch zu Ihrem Nextcloud-Server zu synchronisieren und von dort +auf andere Computer und Mobilgeräte, die den Nextcloud / ownCloud Desktop Sync Client +oder die Android / iOS Mobile-App installiert haben. +Mehr über die Nextcloud Desktop- und Mobile-Apps können Sie im entsprechenden +Benutzerhandbuch lernen: + +* `Nextcloud/ownCloud Desktop Client`_ +* `Nextcloud Android App`_ + +.. _`Nextcloud/ownCloud Desktop Client`: https://doc.owncloud.org/desktop/2.2/ +.. _`Nextcloud Android App`: https://docs.nextcloud.org/android/ diff --git a/user_manual_de/make.bat b/user_manual_de/make.bat new file mode 100644 index 000000000..3fbb57f5d --- /dev/null +++ b/user_manual_de/make.bat @@ -0,0 +1,199 @@ +@ECHO OFF + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set BUILDDIR=_build +set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . +set I18NSPHINXOPTS=%SPHINXOPTS% . +if NOT "%PAPER%" == "" ( + set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% + set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% +) + +if "%1" == "" goto help + +if "%1" == "help" ( + :help + echo.Please use `make ^` where ^ is one of + echo. html to make standalone HTML files + echo. dirhtml to make HTML files named index.html in directories + echo. singlehtml to make a single large HTML file + echo. pdf to make a PDF file with rst2pdf + echo. pickle to make pickle files + echo. json to make JSON files + echo. htmlhelp to make HTML files and a HTML help project + echo. qthelp to make HTML files and a qthelp project + echo. devhelp to make HTML files and a Devhelp project + echo. epub to make an epub + echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter + echo. text to make text files + echo. man to make manual pages + echo. texinfo to make Texinfo files + echo. gettext to make PO message catalogs + echo. changes to make an overview over all changed/added/deprecated items + echo. linkcheck to check all external links for integrity + echo. doctest to run all doctests embedded in the documentation if enabled + goto end +) + +if "%1" == "clean" ( + for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i + del /q /s %BUILDDIR%\* + goto end +) + +if "%1" == "html" ( + %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/html. + goto end +) + +if "%1" == "dirhtml" ( + %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. + goto end +) + +if "%1" == "singlehtml" ( + %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. + goto end +) + +if "%1" == "pdf" ( + %SPHINXBUILD% -b pdf %ALLSPHINXOPTS% %BUILDDIR%/pdf + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The PDF file is in %BUILDDIR%/pdf. + goto end +) + +if "%1" == "pickle" ( + %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the pickle files. + goto end +) + +if "%1" == "json" ( + %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the JSON files. + goto end +) + +if "%1" == "htmlhelp" ( + %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run HTML Help Workshop with the ^ +.hhp project file in %BUILDDIR%/htmlhelp. + goto end +) + +if "%1" == "qthelp" ( + %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run "qcollectiongenerator" with the ^ +.qhcp project file in %BUILDDIR%/qthelp, like this: + echo.^> qcollectiongenerator %BUILDDIR%\qthelp\OwncloudDocumentation.qhcp + echo.To view the help file: + echo.^> assistant -collectionFile %BUILDDIR%\qthelp\OwncloudDocumentation.ghc + goto end +) + +if "%1" == "devhelp" ( + %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. + goto end +) + +if "%1" == "epub" ( + %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The epub file is in %BUILDDIR%/epub. + goto end +) + +if "%1" == "latex" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. + goto end +) + +if "%1" == "text" ( + %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The text files are in %BUILDDIR%/text. + goto end +) + +if "%1" == "man" ( + %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The manual pages are in %BUILDDIR%/man. + goto end +) + +if "%1" == "texinfo" ( + %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. + goto end +) + +if "%1" == "gettext" ( + %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The message catalogs are in %BUILDDIR%/locale. + goto end +) + +if "%1" == "changes" ( + %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes + if errorlevel 1 exit /b 1 + echo. + echo.The overview file is in %BUILDDIR%/changes. + goto end +) + +if "%1" == "linkcheck" ( + %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck + if errorlevel 1 exit /b 1 + echo. + echo.Link check complete; look for any errors in the above output ^ +or in %BUILDDIR%/linkcheck/output.txt. + goto end +) + +if "%1" == "doctest" ( + %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest + if errorlevel 1 exit /b 1 + echo. + echo.Testing of doctests in the sources finished, look at the ^ +results in %BUILDDIR%/doctest/output.txt. + goto end +) + +:end diff --git a/user_manual_de/pim/calendar.rst b/user_manual_de/pim/calendar.rst new file mode 100644 index 000000000..0f7bfb6f9 --- /dev/null +++ b/user_manual_de/pim/calendar.rst @@ -0,0 +1,6 @@ +=========================== +Benutzen der "Kalender"-App +=========================== + +Die "Kalender"-App ist standardmäßig nicht in Nextcloud |version| aktiviert und +muss erst manuell aktiviert werden. diff --git a/user_manual_de/pim/contacts.rst b/user_manual_de/pim/contacts.rst new file mode 100644 index 000000000..6819c06a2 --- /dev/null +++ b/user_manual_de/pim/contacts.rst @@ -0,0 +1,6 @@ +=========================== +Benutzen der "Kontakte"-App +=========================== + +Die "Kontakte"-App ist standardmäßig nicht in Nextcloud |version| aktiviert und +muss erst manuell aktiviert werden. diff --git a/user_manual_de/pim/index.rst b/user_manual_de/pim/index.rst new file mode 100644 index 000000000..ea8689429 --- /dev/null +++ b/user_manual_de/pim/index.rst @@ -0,0 +1,17 @@ +================== +Kontake & Kalender +================== + +Die "Kontakte"-, "Kalender"- und "Mail"-App wird nicht mit Nextcloud |version| ausgeliefert. Optional +können diese Apps aber mit einem Klick auf "Aktivieren" unter Apps -> Produktivität nachinstalliert werden. + +.. toctree:: + :maxdepth: 1 + + contacts + calendar + sync_ios + sync_osx + sync_kde + sync_thunderbird + troubleshooting diff --git a/user_manual_de/pim/sync_ios.rst b/user_manual_de/pim/sync_ios.rst new file mode 100644 index 000000000..46fa84e18 --- /dev/null +++ b/user_manual_de/pim/sync_ios.rst @@ -0,0 +1,47 @@ +iOS - Mit iPhone/iPad synchronisieren +===================================== + +Kalender +-------- + +#. Öffnen Sie die "Einstellungen"-App auf Ihrem iOS-Gerät. +#. Wählen Sie "Mail, Kontakte, Kalender". +#. Klicken Sie auf "Account hinzufügen". +#. Wählen Sie "Andere" als Account-Typ. +#. Wählen Sie "CalDAV-Account hinzufügen". +#. Als Server verwenden Sie: ``example.com/remote.php/dav/principals/users/USERNAME/`` +#. Geben Sie Ihren Nextcloud Benutzernamen und Ihr Passwort ein. +#. Klicken Sie "Weiter". +#. Falls Ihr Server keine verschlüsselte Verbindung unterstützt, wird Ihnen eine entsprechende Fehlermeldung angezeigt. Bestätige Sie mit "OK". +#. Wenn die Accountdaten nicht verifiziert werden können, führen Sie folgende Schritte durch: + + - Klicken Sie auf "OK". + - Öffnen Sie "Erweiterte Einstellungen". + - Falls Ihr Server keine verschlüsselte Verbindung unterstützt, deaktivieren Sie "SSL verwenden". + - Ändern Sie "Port" auf "80". + - Gehen Sie zurück zu den Account-Informationen und klicken Sie "Speichern". + +Ihr Kalender wird nun mit und über Nextcloud synchronisiert. + + +Adressbuch +---------- + +#. Öffnen Sie die "Einstellungen"-App auf Ihrem iOS-Gerät. +#. Wählen Sie "Mail, Kontakte, Kalender". +#. Klicken Sie auf "Account hinzufügen". +#. Wählen Sie "Andere" als Account-Typ. +#. Wählen Sie "CardDAV-Account hinzufügen". +#. Als Server verwenden Sie: ``example.com/remote.php/dav/principals/users/USERNAME/`` +#. Geben Sie Ihren Nextcloud Benutzernamen und Ihr Passwort ein. +#. Klicken Sie "Weiter". +#. Falls Ihr Server keine verschlüsselte Verbindung unterstützt, wird Ihnen eine entsprechende Fehlermeldung angezeigt. Bestätige Sie mit "OK". +#. Wenn die Accountdaten nicht verifiziert werden können, führen Sie folgende Schritte durch: + + - Klicken Sie auf "OK". + - Öffnen Sie "Erweiterte Einstellungen". + - Falls Ihr Server keine verschlüsselte Verbindung unterstützt, deaktivieren Sie "SSL verwenden". + - Ändern Sie "Port" auf "80". + - Gehen Sie zurück zu den Account-Informationen und klicken Sie "Speichern". + +Ihr Adressbuch wird nun mit und über Nextcloud synchronisiert. diff --git a/user_manual_de/pim/sync_osx.rst b/user_manual_de/pim/sync_osx.rst new file mode 100644 index 000000000..e212f314d --- /dev/null +++ b/user_manual_de/pim/sync_osx.rst @@ -0,0 +1,9 @@ +Synchronisieren mit OS X +======================== + +Um Nextcloud mit iCal ("Kalender") zu synchronisieren, verwenden Sie folgende URL (verwenden Sie Ihre Domain +und Ihren Benutzernamen anstelle von "example.com" und "USERNAME"):: + + https://example.com/remote.php/dav/principals/users/USERNAME/ + +Mit Mac OS X 10.7 Lion und neuer funktioniert das Setup ohne Probleme. Ältere Versionen als OS X 10.7 (z.B. OS X 10.6 Snow Leopard) werden nicht mehr unterstützt. diff --git a/user_manual_de/pim/sync_thunderbird.rst b/user_manual_de/pim/sync_thunderbird.rst new file mode 100644 index 000000000..eb1356be9 --- /dev/null +++ b/user_manual_de/pim/sync_thunderbird.rst @@ -0,0 +1,29 @@ +Thunderbird - Adressbuch synchronisieren +======================================== + +Adressbuch +----------- + +Diese Anleitung beschreibt Schritt-für-Schritt, wie Sie Ihr Adressbuch über Thunderbird synchroniseren können. +Sie benötigen die folgenden Software-Komponenten: + +#. `Thunderbird `_ +#. `SOGo Connector `_ +#. `Lightning `_ (ein Thunderbird Kalender-Add-On) + +Es wird im Folgenden davon ausgegangen, dass diese drei Software-Komponenten installiert wurden. + +#. Öffnen Sie das Thunderbird Adressbuch. Dieses ist im "Extras"-Menü zu finden. + + - Klicken Sie auf "Datei > Neu > **Entferntes Adressbuch**" (dieser Eintrag wurde von SOGo hinzugefügt) + - Im "**Name**"-Feld tragen Sie den Namen des neuen Adressbuches ein + - Im "**URL**"-Feld tragen Sie die URL ein, die Ihnen in der Nextcloud "Kontakte"-App nach Klick auf das Zahnrad-Symbol angezeigt wird. Dieses Symbol ist im unteren linken Bereich der "Kontakte"-App zu finden. + - Wenn Sie die Adressen nur in eine Richtigung (von der Nextcloud zu Thunderbird, nicht aber andersherum) synchronisieren möchten, aktivieren Sie "Nur lesen" + - Bestätigen Sie mit "OK" + +Das Verschieben eines Kontaktes kann ungewollte Folgen haben. Wenn Sie einen Kontakt beispielsweise via Drag & Drop +aus Ihrem Nextcloud-Adressbuch in das lokale Adressbuch verschieben, wird der Kontakt von Ihrer Nextcloud gelöscht +und ist dann nur noch lokal verfügbar. Sie können Ihre Kontakte als VCF-Datei mit der Nextcloud Web-Oberfläche oder +als LDIF per Thunderbird Adressbuch sichern. + +Die Bilder Ihrer Kontakte werden ebenfalls synchronisiert! diff --git a/user_manual_de/pim/troubleshooting.rst b/user_manual_de/pim/troubleshooting.rst new file mode 100644 index 000000000..7dbcda429 --- /dev/null +++ b/user_manual_de/pim/troubleshooting.rst @@ -0,0 +1,17 @@ +============== +Fehlerbehebung +============== + +BlackBerry OS 10.2 +------------------ + +BlackBerry OS bis Version 10.2.2102 kommt mit ``https://`` in URLs nicht zurecht. +Der Login wird unter Verwendung einer solchen URL immer fehlschlagen. + +Verwenden Sie statt (mit ``https://``):: + + https://example.com/remote.php/dav/principals/users/USERNAME/ + +die URL ohne ``https://``:: + + example.com/remote.php/dav/principals/users/USERNAME/ diff --git a/user_manual_de/session_management.rst b/user_manual_de/session_management.rst new file mode 100644 index 000000000..cf6a2e88e --- /dev/null +++ b/user_manual_de/session_management.rst @@ -0,0 +1,47 @@ +======================================= +Verbundene Browser und Geräte verwalten +======================================= + +In Ihren persönlichen Einstellungen finden Sie eine Übersicht aller verbundenen +Browser und Geräten. + +Verbundene Browser verwalten +============================ +In der Liste der verbundenen Browser sind alle Browser gelistet, von welchen Sie +sich in letzter Zeit in Ihren Account eingeloggt haben. + +.. figure:: images/settings_sessions.png + :alt: Liste der Browser-Sitzungen. + +Um die Sitzung eines Browsers zu schließen, klicken Sie einfach auf das Papierkorb- +Symbol neben einem Eintrag in der Liste. + +Verbundene Geräte verwalten +=========================== +In der Liste verbundener Geräte sind alle Geräte und Clients zu sehen, für welche +Sie ein App-Passwort erstellt haben. + +.. figure:: images/settings_devices.png + :alt: Liste der verbundenen Geräte. + +Mit einem Klick auf das Papierkorb-Symbol können Sie die Verbindung zu einem Gerät +trennen. + +Unter der Liste finden Sie einen Button, mit welchem Sie ein Geräte-spezifisches +Passwort generieren können. Sie können diesem Passwort (oder auch "Token") einen +Namen geben, um dieses später leichter wiederzufinden. Dieses Passwort / Token wird +verwendet, um neue Clients zu verbinden. Im Idealfall generieren Sie für jedes +Gerät, von dem Sie sich in Ihren Account anmelden, einen eigenen Token. Dies macht +es später einfacher, einzelne Geräte aus Ihrem Account abzumelden. + +.. figure:: images/settings_devices_add.png + :alt: Neues Gerät hinzufügen. + +.. note:: Das Geräte-spezifische Passwort wird nur einmalig angezeigt. Es ist später + nicht möglich, es erneut anzuzeigen. Wir empfehlen, das Passwort direkt nach + Erstellen am neuen Gerät einzugeben. + + +.. note:: Falls Sie :doc:`user_2fa`, sind Geräte- spezifische Passwörter die einzige + Möglichkeit, um neue Clients hinzuzufügen. Clients können dann nicht mit Ihrem + Login-Passwort verwendet werden. diff --git a/user_manual_de/user_2fa.rst b/user_manual_de/user_2fa.rst new file mode 100644 index 000000000..595ab62b8 --- /dev/null +++ b/user_manual_de/user_2fa.rst @@ -0,0 +1,76 @@ +======================================= +Zwei-Faktor-Authentifizierung verwenden +======================================= + +Die Zwei-Faktor-Authentifizierung ("2FA") hilft Ihnen, Ihren Nextcloud-Account +gegen unbefugten Zugriff besser zu schützen. Dies funktioniert wie folgt: +Es werden zum Anmelden zwei verschiedene Identitätsnachweise ("Faktoren") +benötigt; z.B. etwas, das Sie *wissen* (wie ein Passwort) und etwas, das Sie +*haben* (etwa einen Hardware-Token). Der erste Faktor ist für gewöhnlich Ihr +Passwort. Der zweite Faktor kann z.B. eine Textnachricht sein, die Sie auf +Ihr Handy erhalten. So müsste ein Angreifer neben Ihrem Passwort auch noch +Zugriff auf Ihr Handy haben. Nextcloud unterstützt von Haus aus bereits +einige Zweitfaktoren. Weitere können einfach hinzugefügt werden. + +Sobald die "Zwei-Faktor-Authentifizierung"-App von Ihrem Nextcloud-Administrator +aktiviert wurde, können Sie diesen in Ihren persönlichen Einstellungen aktivieren +und konfigurieren: :doc:`userpreferences` + +Konfiguration der Zwei-Faktor-Authentifizierung +=============================================== + +Suchen Sie in Ihren persönlichen Einstellungen nach der "Zwei-Faktor-Authentifizierung". +In diesem Beispiel hier wird "TOTP", eine mit dem Google Authenticator kompatible +Zwei-Faktor-Authentifizierung verwendet. + +.. figure:: images/totp_enable.png + :alt: TOTP-Konfiguration. + +Sobald aktiviert, wird Ihnen ein "TOTP-Schlüssel" und QR-Code angezeigt. Den QR-Code +können Sie mit einer TOTP-App auf Ihrem Smartphone oder anderen Gerät scannen. +Alternativ können Sie auch den "TOTP-Schlüssel" eingeben. Ihr Gerät wird nun einen +Authentifizierungscode anzeigen. Dieser wird sich alle 30 Sekunden ändern. + +Backup-Codes erstellen +====================== +Für den Fall, dass Sie Zugriff auf den Zweitfaktor verlieren, sollten Sie immer auch +einen / mehrere Backup-Code/s erstellen. Diesen können anstelle des zweiten Faktors +verwendet werden, z.B. wenn Ihr Smartphone mit der TOTP-App gestohlen wird. Diese +Backup-Codes können in Ihren persönlichen Einstellungen mit Klick auf *Backup-Codes erstellen* +generiert werden. + +.. figure:: images/2fa_backupcode_1.png + :alt: 2FA Backup-Codes erstellen + +Es wird Ihnen nun eine Liste an Backup-Codes angezeigt. Jeder dieser Codes ist nur +ein mal gültig. + +.. figure:: images/2fa_backupcode_2.png + :alt: 2FA Backup-Codes + +Diese Backup-Codes sollten an einem sicheren Ort (z.B. Zuhause) aufbewahrt werden. Sie +sollten nicht auf dem Gerät gespeichert werden, auf welchem Ihre TOTP-App installiert ist. +Wenn dieses Gerät verloren geht, wären auch Ihre Backup-Codes nicht mehr erreichbar. + +Anmelden mithilfe der Zwei-Faktor-Authentifizierung +=================================================== +Nachdem Sie die Zwei-Faktor-Authentifizierung aktiviert und sich von Nextcloud abgemeldet +haben, werden Sie nach Eingabe Ihres Benutzernamen und Passworts auch nach einem +TOTP-Schlüssel gefragt. Lassen Sie diesen von Ihrer TOTP-App generieren. + +.. figure:: images/totp_login_2.png + :alt: TOTP-Schlüssel. + +Wenn der TOTP-Schlüssel gültig ist, werden Sie wie gewohnt zu Ihrem Nextcloud-Account weitergeleitet. + +.. note:: Da TOTP ein zeitbasierendes System ist, ist es wichtig, dass sowohl die Uhr Ihres + Nextcloud-Servers als auch die Uhr Ihres Smartphones nahezu identisch sind. Eine Zeitverschiebung + von wenigen Sekunden ist kein Problem. + +Client-Applikationen mit der Zwei-Faktor-Authentifizierung verwenden +==================================================================== +Sobald die Zwei-Faktor-Authentifizierung aktiviert ist, können sich Ihre Clients nicht mehr nur mit +einem Passwort anmelden. Falls Ihr Client eine Zwei-Faktor-Authentifizierung unterstützt, werden +Sie wie beim Anmelden über die Nextcloud Web-Oberfläche nach einem zusätzlichen TOTP-Schlüssel +gefragt. Unterstützt Ihr Client die Zwei-Faktor-Authentifizierung nicht, müssen Sie ein +"App-Passwort" für ihn generieren. Nähere Informationen dazu finden Sie unter :doc:`session_management`. diff --git a/user_manual_de/userpreferences.rst b/user_manual_de/userpreferences.rst new file mode 100644 index 000000000..c6e2e31de --- /dev/null +++ b/user_manual_de/userpreferences.rst @@ -0,0 +1,43 @@ +============================== +Eigene Einstellungen vornehmen +============================== + +Jeder Nutzer von Nextcloud kann seine eigenen, persönlichen Einstellungen vornehmen. + +Die persönlichen Einstellungen sind wie folgt zu erreichen: + +1. Klicken Sie in der oberen rechten Ecke auf Ihren Benutzernamen. + + Das Benutzer-Menü öffnet sich. + + .. figure:: images/oc_personal_settings_dropdown.png + :alt: Bildschirmfoto des Benutzer-Menüs in der oberen rechten Ecke der Nextcloud Web-Oberfläche + + *Benutzer Menü* + +2. Wählen Sie "Persönlich" im Dropdown Menü. + + .. figure:: images/personal_settings.png + :alt: Bildschirmfoto des "Persönlichen Einstellungsbereich" + +.. note:: Als Administrator können Sie andere Benutzer und den Server administrieren. + Diese Menüpunkt ist nur als Administrator im Drop-Down Menü zu sehen. + +Die Einstellungsmöglichkeiten im "Persönlichen Einstellungsbereich" können variieren, je nachdem +welche Applikationen von Ihrem Administrator aktiviert wurden. Dies sind ein paar Beispiele: + +* Aktuell verbrauchten und insgesamt verfügbaren Speicherplatz einsehen. +* Profilbild ändern. +* Voller Name. Dieser kann nach Belieben gesetzt werden und ist unabhängig von Ihrem Login-Namen. +* E-Mail Adresse. +* Gruppen-Mitgliedschaften verwalten. +* Password-Verwaltung. +* :doc:`user_2fa`. +* :doc:`userpreferences`. +* Sprache der Oberfläche ändern. +* Links zu den Desktop- und Mobil-Applikationen. +* Aktivitäten und Benachrichtigungen verwalten. +* Standard-Ordner, in dem Dokumente gespeichert werden sollen. +* Federated Cloud-ID. +* Social Media Buttons zum Teilen. +* Nextcloud Versions-Informationen diff --git a/user_manual_de/webinterface.rst b/user_manual_de/webinterface.rst new file mode 100644 index 000000000..337623d7d --- /dev/null +++ b/user_manual_de/webinterface.rst @@ -0,0 +1,82 @@ +============================ +Die Nextcloud Web-Oberfläche +============================ + +Nextcloud kann über jeden Web-Browser verwendet werden; öffnen Sie einfach die URL +Ihres Nextcloud-Servers und melden sich mit Ihrem Benutzernamen und Password an. +Es werden folgende Browser unterstützt: + +* Firefox 14+ +* Chrome 18+ +* Safari 7+ +* IE11+ +* Microsoft Edge + + .. figure:: images/oc_connect.png + :alt: Nextcloud Login-Bildschirm. + +.. note:: Sind Apps wie z.B. ``files_external`` oder ``encryption`` aktiviert, + wird die **Angemeldet bleiben** Checkbox nicht angezeigt. + +Navigieren auf der Web-Oberfläche +--------------------------------- + +Die Standard-Applikation der Web-Oberfläche ist die "Dateien"-App. Diese wird +nach einem erfolgreichen Login automatisch geöffnet und erlaubt das Hinzufügen, +Löschen und Teilen Ihrer Dateien. + +.. figure:: images/files_page.png + :scale: 75% + :alt: Die "Dateien"-App. + +Die Web-Oberfläche enthält folgende Bereiche und Funktionen: + +* **App-Auswahl Menü**: Dieses Menü befindet sich in der oberen linken Ecke. + Mit einem Klick auf den Pfeil öffnet sich ein Dropdown-Menü mit allen aktuell + aktivierten Apps. Mit einem Klick auf eine Applikation, wird diese geöffnet. + +* **App-Informationen**-Bereich: In der linken Seitenleiste sind Applikations- + spezifische Filter und Aufgaben zu finden. Die "Dateien"-App zeigt in der linken + Seitenleiste diverse Filter, die das schnelle Finden von Dateien erleichtern. + So lassen sich beispielsweise schnell die "mit Ihnen geteilten" und "von Ihnen + geteilten" Dateien auflisten. Andere Apps haben andere Seitenleisten. + +* **Applikations**-Bereich: In der Mitte der Nextcloud Web-Oberfläche ist die + eigentliche Applikation zu sehen. In der "Dateien"-App werden hier z.B. Ihre + Dateien und Ordner angezeigt. + +* **Navigationsleiste**: Unmittelbar über dem Applikations-Bereich befindet sich + die Navigationsleiste, die z.B. wie in der "Dateien"-App eine "Brotkrumennavigation" + enthält, um schnell zwischen Ordnerhierarchien zu wechseln. + +* **New**-Button: Dieser Button befindet sich in der Navigationsleiste und erlaubt + das Hochladen sowie Erstellen neuer Dateien und Ordnern. + +.. note:: Dateien können auch per Drag & Drop hochgeladen werden. Diese Funktion wird + momentan nur von Chromium-basierenden Browsern unterstützt. + +* **Suchen**-Feld: In der oberen rechten Ecke lassen sich über die Suche z.B. Dateien + und Ordner finden. + +* **Galerie**-Button: Dieser Button sieht aus wie vier kleine Quadrate und springt mit + einem Klick auf ihn direkt zu Ihrer Bilder-Galerie. + ++ **Persönliche Einstellungen**-Menü: Klicken Sie auf Ihren Benutzernamen in der oberen + rechten Ecke und wählen "Persönlich", um Ihre persönlichen Einstellungen zu öffnen. + Dort können Sie folgende Funktionen und Einstellungen vorfinden: + + * Links zu den Desktop- und Mobil-Applikationen + * Den Einrichtungsassistenten erneut anzeigen + * Aktuell verbrauchten und insgesamt verfügbaren Speicherplatz einsehen + * Password-Verwaltung + * Name, E-Mail Adresse sowie Profilbild Einstellungen + * Verbundene Browser und Geräte verwalten + * Gruppen-Mitgliedschaften verwalten + * Sprache der Oberfläche ändern + * Benachrichtigungen verwalten + * Federated Cloud-ID + * Social Media Buttons zum Teilen + * SSL-Zertifikats-Manager + * Nextcloud Versions-Informationen + +Unter :doc:`userpreferences` können Sie mehr über diese Einstellungen erfahren. diff --git a/user_manual_de/whats_new.rst b/user_manual_de/whats_new.rst new file mode 100644 index 000000000..3df76773f --- /dev/null +++ b/user_manual_de/whats_new.rst @@ -0,0 +1,5 @@ +================================= +Neuerungen in Nextcloud |version| +================================= + +* Dateien in der Web-Oberfläche verstecken oder darstellen