diff --git a/admin_manual/configuration_database/linux_database_configuration.rst b/admin_manual/configuration_database/linux_database_configuration.rst index 2d1935210..b45b44140 100644 --- a/admin_manual/configuration_database/linux_database_configuration.rst +++ b/admin_manual/configuration_database/linux_database_configuration.rst @@ -23,7 +23,7 @@ requires that you install and set up the server software first. .. _db-transaction-label: Database "READ COMMITED" transaction isolation level -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ As discussed above Nextcloud is using the ``TRANSACTION_READ_COMMITTED`` transaction isolation level. Some database configurations are enforcing other transaction isolation levels. To avoid @@ -37,7 +37,7 @@ Parameters For setting up Nextcloud to use any database, use the instructions in :doc:`../installation/installation_wizard`. You should not have to edit the respective values in the :file:`config/config.php`. However, in special cases (for example, if you want to connect your Nextcloud instance to a database created by a previous installation of Nextcloud), some modification might be required. Configuring a MySQL or MariaDB Database -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ If you decide to use a MySQL or MariaDB database, ensure the following: @@ -107,7 +107,7 @@ this: PostgreSQL Database -~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^ If you decide to use a PostgreSQL database make sure that you have installed and enabled the PostgreSQL extension in PHP. The PHP configuration in :file:`/etc/php5/conf.d/pgsql.ini` could look @@ -207,7 +207,7 @@ Troubleshooting --------------- How to workaround General error: 2006 MySQL server has gone away -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The database request takes too long and therefore the MySQL server times out. Its also possible that the server is dropping a packet that is too large. Please @@ -220,7 +220,7 @@ systems Nextcloud is providing a ``dbdriveroptions`` configuration option within Please refer to :doc:`../configuration_server/config_sample_php_parameters` for an example. How can I find out if my MySQL/PostgreSQL server is reachable? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To check the server's network availability, use the ping command on the server's host name (db.server.com in this example):: @@ -238,7 +238,7 @@ For a more detailed check whether the access to the database server software itself works correctly, see the next question. How can I find out if a created user can access a database? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The easiest way to test if a database can be accessed is by starting the command line interface: @@ -287,7 +287,7 @@ the respective host name:: Useful SQL commands -~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^ **Show Database Users**:: diff --git a/admin_manual/configuration_database/mysql_4byte_support.rst b/admin_manual/configuration_database/mysql_4byte_support.rst index d90a74eb4..ae0bdd278 100644 --- a/admin_manual/configuration_database/mysql_4byte_support.rst +++ b/admin_manual/configuration_database/mysql_4byte_support.rst @@ -29,7 +29,7 @@ installation needs to be tweaked a bit. 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**. diff --git a/admin_manual/configuration_files/external_storage/smb.rst b/admin_manual/configuration_files/external_storage/smb.rst index 708206260..0d0aa09b5 100644 --- a/admin_manual/configuration_files/external_storage/smb.rst +++ b/admin_manual/configuration_files/external_storage/smb.rst @@ -46,7 +46,6 @@ options and information. See :doc:`auth_mechanisms` for more information on authentication schemes. ------------------------- SMB update notifications ------------------------ @@ -70,9 +69,8 @@ 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 diff --git a/admin_manual/configuration_files/previews_configuration.rst b/admin_manual/configuration_files/previews_configuration.rst index 3722828bf..79e70cc9d 100644 --- a/admin_manual/configuration_files/previews_configuration.rst +++ b/admin_manual/configuration_files/previews_configuration.rst @@ -31,7 +31,7 @@ defaults, and therefore it is usually unnecessary to adjust those configuration values. Disabling previews: -~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^ Under certain circumstances, for example if the server has limited resources, you might want to consider disabling the generation of previews. @@ -47,7 +47,7 @@ Set the configuration option ``enable_previews`` in config.php to ``false``: 'enable_previews' => false, Maximum preview size: -~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^ There are two configuration options to set the maximum size of a preview. @@ -70,7 +70,7 @@ to a maximum size of 100×100px: 'preview_max_x' represents the x-axis and 'preview_max_y' represents the y-axis. Maximum scale factor: -~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^ If a lot of small pictures are stored on the Nextcloud instance and the preview system generates blurry previews, you might want to consider setting a maximum diff --git a/admin_manual/configuration_files/primary_storage.rst b/admin_manual/configuration_files/primary_storage.rst index fd641ad65..ae73a322b 100644 --- a/admin_manual/configuration_files/primary_storage.rst +++ b/admin_manual/configuration_files/primary_storage.rst @@ -1,14 +1,13 @@ -=========================== +=============== 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. @@ -22,9 +21,8 @@ Because of this primary object stores usually perform better than when using the 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. @@ -43,9 +41,8 @@ The configuration has the following structure. ), ), -~~~~~~~~~~~~~~~ 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` @@ -70,7 +67,6 @@ The Swift backend mounts a container on an OpenStack Object Storage server into ), ), ---------- Amazon S3 --------- @@ -104,7 +100,6 @@ but can be used with non-Amazon servers where the DNS infrastructure cannot be c 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 --------------------------- diff --git a/admin_manual/configuration_server/activity_configuration.rst b/admin_manual/configuration_server/activity_configuration.rst index 803377935..2dea11a5a 100644 --- a/admin_manual/configuration_server/activity_configuration.rst +++ b/admin_manual/configuration_server/activity_configuration.rst @@ -1,3 +1,4 @@ +============================ Configuring the Activity App ============================ diff --git a/admin_manual/configuration_server/antivirus_configuration.rst b/admin_manual/configuration_server/antivirus_configuration.rst index cca73d600..005720c0d 100644 --- a/admin_manual/configuration_server/antivirus_configuration.rst +++ b/admin_manual/configuration_server/antivirus_configuration.rst @@ -1,3 +1,4 @@ +======================================== Configuring the ClamAV Antivirus Scanner ======================================== diff --git a/admin_manual/configuration_server/automatic_configuration.rst b/admin_manual/configuration_server/automatic_configuration.rst index d07d31213..ce45940ec 100644 --- a/admin_manual/configuration_server/automatic_configuration.rst +++ b/admin_manual/configuration_server/automatic_configuration.rst @@ -1,3 +1,4 @@ +============================= Automatic Configuration Setup ============================= @@ -30,7 +31,8 @@ Automatic Configurations Examples The following sections provide sample automatic configuration examples and what information is requested at the end of the configuration. Data Directory -~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^ + Using the following parameter settings, the "Finish setup" screen requests database and admin credentials settings. :: @@ -42,7 +44,8 @@ Using the following parameter settings, the "Finish setup" screen requests datab SQLite Database -~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^ + Using the following parameter settings, the "Finish setup" screen requests data directory and admin credentials settings. :: @@ -55,7 +58,8 @@ Using the following parameter settings, the "Finish setup" screen requests data ); MySQL Database -~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^ + Using the following parameter settings, the "Finish setup" screen requests data directory and admin credentials settings. :: @@ -75,7 +79,8 @@ Using the following parameter settings, the "Finish setup" screen requests data :doc:`../configuration_database/linux_database_configuration`. PostgreSQL Database -~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^ + Using the following parameter settings, the "Finish setup" screen requests data directory and admin credentials settings. :: @@ -95,7 +100,7 @@ Using the following parameter settings, the "Finish setup" screen requests data :doc:`../configuration_database/linux_database_configuration`. All Parameters -~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^ Using the following parameter settings, because all parameters are already configured in the file, the Nextcloud installation skips the "Finish setup" screen. diff --git a/admin_manual/configuration_server/background_jobs_configuration.rst b/admin_manual/configuration_server/background_jobs_configuration.rst index 5128e8bd7..ed513c4c5 100644 --- a/admin_manual/configuration_server/background_jobs_configuration.rst +++ b/admin_manual/configuration_server/background_jobs_configuration.rst @@ -1,3 +1,4 @@ +======================== Defining Background Jobs ======================== A system like Nextcloud sometimes requires tasks to be done on a regular basis @@ -33,7 +34,7 @@ default method is to use AJAX. However, the recommended method is to use cron. The following sections describe the differences between each method. AJAX -~~~~ +^^^^ The AJAX scheduling method is the default option. Unfortunately, however, it is also the least reliable. Each time a user visits the Nextcloud page, a single @@ -47,7 +48,7 @@ requires regular visits to the page for it to be triggered. preferred. Webcron -~~~~~~~ +^^^^^^^ By registering your Nextcloud ``cron.php`` script address at an external webcron service (for example, easyCron_), you ensure that background jobs are executed @@ -57,7 +58,7 @@ access your server using the Internet. For example:: URL to call: http[s]:///nextcloud/cron.php Cron -~~~~ +^^^^ Using the operating system cron feature is the preferred method for executing regular tasks. This method enables the execution of scheduled jobs without the @@ -85,7 +86,7 @@ You can verify if the cron job has been added and scheduled by executing:: .. _easyCron: http://www.easycron.com/ systemd -~~~~~~~ +^^^^^^^ If systemd is installed on the system, a systemd timer could be an alternative to a cronjob. diff --git a/admin_manual/configuration_server/config_sample_php_parameters.rst b/admin_manual/configuration_server/config_sample_php_parameters.rst index e93e306b7..739355f7b 100644 --- a/admin_manual/configuration_server/config_sample_php_parameters.rst +++ b/admin_manual/configuration_server/config_sample_php_parameters.rst @@ -940,9 +940,6 @@ enable apps that pass this check. Defaults to ``false`` - - - Previews -------- diff --git a/admin_manual/configuration_server/email_configuration.rst b/admin_manual/configuration_server/email_configuration.rst index 938a1ad1e..1fd125e7f 100644 --- a/admin_manual/configuration_server/email_configuration.rst +++ b/admin_manual/configuration_server/email_configuration.rst @@ -1,3 +1,4 @@ +=================== Email Configuration =================== @@ -137,7 +138,8 @@ If you prefer, you may set your mail server parameters in ``config/config.php``. The following examples are for SMTP, PHP, Sendmail, and Qmail. SMTP -~~~~ +^^^^ + 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 @@ -184,6 +186,7 @@ the following two variants: SSL ^^^ + A secure connection will be initiated using the outdated SMTPS protocol which uses the port 465/tcp: @@ -231,7 +234,8 @@ and password and can optionally choose between the authentication types "mail_smtppassword" => "password", PHP mail -~~~~~~~~ +^^^^^^^^ + If you want to use PHP mail it is necessary to have an installed and working email system on your server. Which program in detail is used to send email is defined by the configuration settings in the **php.ini** file. (On \*nix @@ -253,7 +257,8 @@ email out of the box. "mail_smtppassword" => "", Sendmail -~~~~~~~~ +^^^^^^^^ + If you want to use the well known Sendmail program to send email, it is necessary to have an installed and working email system on your \*nix server. The sendmail binary (**/usr/sbin/sendmail**) is usually part of that system. @@ -274,7 +279,7 @@ Nextcloud should be able to send email out of the box. "mail_smtppassword" => "", qmail -~~~~~ +^^^^^ If you want to use the qmail program to send email, it is necessary to have an installed and working qmail email system on your server. The sendmail binary diff --git a/admin_manual/configuration_server/harden_server.rst b/admin_manual/configuration_server/harden_server.rst index 93367b40f..df1758b52 100644 --- a/admin_manual/configuration_server/harden_server.rst +++ b/admin_manual/configuration_server/harden_server.rst @@ -27,7 +27,7 @@ Operating system .. _dev-urandom-label: Give PHP read access to ``/dev/urandom`` -**************************************** +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nextcloud uses a `RFC 4086 ("Randomness Requirements for Security")`_ compliant mixer to generate cryptographically secure pseudo-random numbers. This means @@ -42,7 +42,7 @@ a way that PHP is able to read random data from it. make sure to include ``/dev/urandom``. Enable hardening modules such as SELinux -**************************************** +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ It is highly recommended to enable hardening modules such as SELinux where possible. See :doc:`../installation/selinux_configuration` to learn more about @@ -52,7 +52,7 @@ Deployment ---------- Place data directory outside of the web root -******************************************** +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ It is highly recommended to place your data directory outside of the Web root (i.e. outside of ``/var/www``). It is easiest to do this on a new @@ -63,7 +63,7 @@ installation. .. installation; see :doc:`` Disable preview image generation -******************************** +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nextcloud is able to generate preview images of common filetypes such as images or text files. By default the preview generation for some file types that we @@ -90,7 +90,7 @@ How to setup HTTPS on your Web server depends on your setup; please consult the documentation for your HTTP server. The following examples are for Apache. Redirect all unencrypted traffic to HTTPS -***************************************** +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To redirect all HTTP traffic to HTTPS administrators are encouraged to issue a permanent redirect using the 301 status code. When using Apache this can be @@ -105,7 +105,7 @@ configuration:: .. _enable-hsts-label: Enable HTTP Strict Transport Security -************************************* +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ While redirecting all traffic to HTTPS is good, it may not completely prevent man-in-the-middle attacks. Thus administrators are encouraged to set the HTTP @@ -139,7 +139,7 @@ If you have subdomains not accessible via HTTPS, remove ``includeSubdomains;``. This requires the ``mod_headers`` extension in Apache. Proper SSL configuration -************************ +^^^^^^^^^^^^^^^^^^^^^^^^ Default SSL configurations by Web servers are often not state-of-the-art, and require fine-tuning for an optimal performance and security experience. The diff --git a/admin_manual/configuration_server/knowledgebase_configuration.rst b/admin_manual/configuration_server/knowledgebase_configuration.rst index f50b1fbb3..e1a5612b3 100644 --- a/admin_manual/configuration_server/knowledgebase_configuration.rst +++ b/admin_manual/configuration_server/knowledgebase_configuration.rst @@ -1,3 +1,4 @@ +============================ Knowledge Base Configuration ============================ The usage of Nextcloud is more or less self explaining but nevertheless a user diff --git a/admin_manual/configuration_server/language_configuration.rst b/admin_manual/configuration_server/language_configuration.rst index 1cd988c95..fbd24e2fb 100644 --- a/admin_manual/configuration_server/language_configuration.rst +++ b/admin_manual/configuration_server/language_configuration.rst @@ -1,3 +1,4 @@ +====================== Language Configuration ====================== diff --git a/admin_manual/configuration_server/reverse_proxy_configuration.rst b/admin_manual/configuration_server/reverse_proxy_configuration.rst index 952b5a3e4..dfa393fba 100644 --- a/admin_manual/configuration_server/reverse_proxy_configuration.rst +++ b/admin_manual/configuration_server/reverse_proxy_configuration.rst @@ -1,3 +1,4 @@ +=========================== Reverse Proxy Configuration =========================== @@ -53,7 +54,7 @@ Example ------- Multiple Domains Reverse SSL Proxy -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ If you want to access your Nextcloud installation **http://domain.tld/nextcloud** via a multiple domains reverse SSL proxy diff --git a/admin_manual/configuration_server/theming.rst b/admin_manual/configuration_server/theming.rst index 256babcfc..eb9a62d22 100644 --- a/admin_manual/configuration_server/theming.rst +++ b/admin_manual/configuration_server/theming.rst @@ -12,7 +12,7 @@ and verifies that all adjustments to the server work with the theming. It covers also most use cases like replacing the name, logos and colors. Theming app -=========== +----------- Check in the apps management that the theming app is enabled. Then the administrator settings show a section where you can modify the appearance of @@ -34,7 +34,7 @@ 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. @@ -45,7 +45,7 @@ This requires the following additional dependencies: - SVG support for imagick (e.g. `libmagickcore5-extra`) Theming of mobile app URLs and IDs -================================== +---------------------------------- The themes supported to change the URLs to the mobile apps (Android & iOS) that is shown when the web UI is opened on one of those devices. Then there was a diff --git a/admin_manual/configuration_server/thirdparty_php_configuration.rst b/admin_manual/configuration_server/thirdparty_php_configuration.rst index 3d9cf2427..ea7ea346e 100644 --- a/admin_manual/configuration_server/thirdparty_php_configuration.rst +++ b/admin_manual/configuration_server/thirdparty_php_configuration.rst @@ -1,3 +1,4 @@ +================================ Using Third Party PHP Components ================================ diff --git a/admin_manual/configuration_user/instruction_set_for_apps.rst b/admin_manual/configuration_user/instruction_set_for_apps.rst new file mode 100644 index 000000000..2ff7a21a2 --- /dev/null +++ b/admin_manual/configuration_user/instruction_set_for_apps.rst @@ -0,0 +1,167 @@ +======================== +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 +header. + +**Syntax: ocs/v1.php/cloud/apps/** + +* HTTP method: GET +* url argument: filter, string - optional (``enabled`` or ``disabled``) + +Status codes: + +* 100 - successful +* 101 - invalid input data + +Example +^^^^^^^ + + * GET ``http://admin:secret@example.com/ocs/v1.php/cloud/apps?filter=enabled`` + * Gets enabled apps + +XML Output +^^^^^^^^^^ + +.. code-block:: xml + + + + + 100 + ok + + + + files + provisioning_api + + + + +Get app info +------------ + +Provides information on a specific application. Authentication is done by +sending a Basic HTTP Authorization header. + +**Syntax: ocs/v1.php/cloud/apps/{appid}** + +* HTTP method: GET + +Status codes: + +* 100 - successful + +Example +^^^^^^^ + + * GET ``http://admin:secret@example.com/ocs/v1.php/cloud/apps/files`` + * Get app info for the ``files`` app + +XML Output +^^^^^^^^^^ + +.. code-block:: xml + + + + + 100 + ok + + + + + appinfo/remote.php + appinfo/remote.php + appinfo/filesync.php + + + files + Files + File Management + AGPL + Robin Appelman + 4.9 + true + + + + filesystem + + + + +Enable an app +------------- + +Enable an app. Authentication is done by sending a Basic HTTP Authorization +header. + +**Syntax: ocs/v1.php/cloud/apps/{appid}** + +* HTTP method: POST + +Status codes: + +* 100 - successful + +Example +^^^^^^^ + + * POST ``http://admin:secret@example.com/ocs/v1.php/cloud/apps/files_texteditor`` + * Enable the ``files_texteditor`` app + +XML Output +^^^^^^^^^^ + +.. code-block:: xml + + + + + 100 + ok + + + +Disable an app +-------------- + +Disables the specified app. Authentication is +done by sending a Basic HTTP Authorization header. + + +**Syntax: ocs/v1.php/cloud/apps/{appid}** + +* HTTP method: DELETE + +Status codes: + +* 100 - successful + +Example +^^^^^^^ + + * DELETE ``http://admin:secret@example.com/ocs/v1.php/cloud/apps/files_texteditor`` + * Disable the ``files_texteditor`` app + +XML Output +^^^^^^^^^^ + +.. code-block:: xml + + + + + 100 + ok + + + diff --git a/admin_manual/configuration_user/instruction_set_for_groups.rst b/admin_manual/configuration_user/instruction_set_for_groups.rst new file mode 100644 index 000000000..78d3be4c5 --- /dev/null +++ b/admin_manual/configuration_user/instruction_set_for_groups.rst @@ -0,0 +1,197 @@ +========================== +Instruction Set For Groups +========================== + +Search/get groups +----------------- + +Retrieves a list of groups from the Nextcloud server. Authentication is done by +sending a Basic HTTP Authorization header. + +**Syntax: ocs/v1.php/cloud/groups** + +* HTTP method: GET +* url arguments: search - string, optional search string +* url arguments: limit - int, optional limit value +* url arguments: offset - int, optional offset value + +Status codes: + +* 100 - successful + +Example +^^^^^^^ + + * GET ``http://admin:secret@example.com/ocs/v1.php/cloud/groups?search=adm`` + * Returns list of groups matching the search string. + +XML Output +^^^^^^^^^^ + +.. code-block:: xml + + + + + 100 + ok + + + + admin + + + + +Create a group +-------------- + +Adds a new group. Authentication is done by +sending a Basic HTTP Authorization header. + +**Syntax: ocs/v1.php/cloud/groups** + +* HTTP method: POST +* POST argument: groupid, string - the new groups name + +Status codes: + +* 100 - successful +* 101 - invalid input data +* 102 - group already exists +* 103 - failed to add the group + +Example +^^^^^^^ + + * POST ``http://admin:secret@example.com/ocs/v1.php/cloud/groups -d + groupid="newgroup"`` + * Adds a new group called ``newgroup`` + +XML Output +^^^^^^^^^^ + +.. code-block:: xml + + + + + 100 + ok + + + + +Get members of a group +---------------------- + +Retrieves a list of group members. Authentication is done by sending a Basic +HTTP Authorization header. + +**Syntax: ocs/v1.php/cloud/groups/{groupid}** + +* HTTP method: GET + +Status codes: + +* 100 - successful + +Example +^^^^^^^ + + * POST ``http://admin:secret@example.com/ocs/v1.php/cloud/groups/admin`` + * Returns a list of users in the ``admin`` group + +XML Output +^^^^^^^^^^ + +.. code-block:: xml + + + + + 100 + ok + + + + Frank + + + + +Get subadmins of a group +------------------------ + +Returns subadmins of the group. Authentication is done by +sending a Basic HTTP Authorization header. + +**Syntax: ocs/v1.php/cloud/groups/{groupid}/subadmins** + +* HTTP method: GET + +Status codes: + +* 100 - successful +* 101 - group does not exist +* 102 - unknown failure + +Example +^^^^^^^ + + * GET + ``https://admin:secret@example.com/ocs/v1.php/cloud/groups/mygroup/subadmins`` + * Return the subadmins of the group: ``mygroup`` + +XML Output +^^^^^^^^^^ + +.. code-block:: xml + + + + + ok + 100 + + + + Tom + + + +Delete a group +-------------- + +Removes a group. Authentication is done by +sending a Basic HTTP Authorization header. + +**Syntax: ocs/v1.php/cloud/groups/{groupid}** + +* HTTP method: DELETE + +Status codes: + +* 100 - successful +* 101 - group does not exist +* 102 - failed to delete group + +Example +^^^^^^^ + + * DELETE ``http://admin:secret@example.com/ocs/v1.php/cloud/groups/mygroup`` + * Delete the group ``mygroup`` + +XML Output +^^^^^^^^^^ + +.. code-block:: xml + + + + + 100 + ok + + + diff --git a/admin_manual/configuration_user/instruction_set_for_users.rst b/admin_manual/configuration_user/instruction_set_for_users.rst new file mode 100644 index 000000000..c83e44d46 --- /dev/null +++ b/admin_manual/configuration_user/instruction_set_for_users.rst @@ -0,0 +1,576 @@ +========================= +Instruction Set For Users +========================= + +Add a new user +-------------- + +Create a new user on the Nextcloud server. Authentication is done by sending a +basic HTTP authentication header. + +**Syntax: ocs/v1.php/cloud/users** + +* HTTP method: POST +* POST argument: userid - string, the required username for the new user +* POST argument: password - string, the required password for the new user + +Status codes: + +* 100 - successful +* 101 - invalid input data +* 102 - username already exists +* 103 - unknown error occurred whilst adding the user + +Example +^^^^^^^ + +* POST ``http://admin:secret@example.com/ocs/v1.php/cloud/users -d + userid="Frank" -d password="frankspassword"`` +* Creates the user ``Frank`` with password ``frankspassword`` + +XML Output +^^^^^^^^^^ + +.. code-block:: xml + + + + + ok + 100 + + + + + +Search/get users +---------------- + +Retrieves a list of users from the Nextcloud server. Authentication is done by +sending a Basic HTTP Authorization header. + +**Syntax: ocs/v1.php/cloud/users** + +* HTTP method: GET +* url arguments: search - string, optional search string +* url arguments: limit - int, optional limit value +* url arguments: offset - int, optional offset value + +Status codes: + +* 100 - successful + +Example +^^^^^^^ + +* GET ``http://admin:secret@example.com/ocs/v1.php/cloud/users?search=Frank`` +* Returns list of users matching the search string. + +XML Output +^^^^^^^^^^ + +.. code-block:: xml + + + + + 100 + ok + + + + Frank + + + + +Get data of a single user +------------------------- + +Retrieves information about a single user. Authentication is done by sending a +Basic HTTP Authorization header. + +**Syntax: ocs/v1.php/cloud/users/{userid}** + +* HTTP method: GET + +Status codes: + +* 100 - successful + +Example +^^^^^^^ + + * GET ``http://admin:secret@example.com/ocs/v1.php/cloud/users/Frank`` + * Returns information on the user ``Frank`` + +XML Output +^^^^^^^^^^ + +.. code-block:: xml + + + + + 100 + ok + + + true + Frank + 0 + frank@example.org + Frank K. + 0123 / 456 789 +
Foobar 12, 12345 Town
+ https://nextcloud.com + Nextcloud + + group1 + group2 + +
+
+ +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 +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 + + displayname + + display (**deprecated** use `displayname` instead) + + phone + + address + + website + + twitter + + password + +* PUT argument: value, the new value for the field + +Status codes: + +* 100 - successful +* 101 - user not found +* 102 - invalid input data + +Examples +^^^^^^^^ + + * 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 ``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 + + + + + 100 + ok + + + + +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. + +**Syntax: ocs/v1.php/cloud/users/{userid}** + +* HTTP method: DELETE + +Statuscodes: + +* 100 - successful +* 101 - failure + +Example +^^^^^^^ + + * DELETE ``http://admin:secret@example.com/ocs/v1.php/cloud/users/Frank`` + * Deletes the user ``Frank`` + +XML Output +^^^^^^^^^^ + +.. code-block:: xml + + + + + 100 + ok + + + + +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. + +**Syntax: ocs/v1.php/cloud/users/{userid}/groups** + +* HTTP method: GET + +Status codes: + +* 100 - successful + +Example +^^^^^^^ + + * GET ``http://admin:secret@example.com/ocs/v1.php/cloud/users/Frank/groups`` + * Retrieves a list of groups of which ``Frank`` is a member + +XML Output +^^^^^^^^^^ + +.. code-block:: xml + + + + + 100 + ok + + + + admin + group1 + + + + +Add user to group +----------------- + +Adds the specified user to the specified group. Authentication is done by +sending a Basic HTTP Authorization header. + +**Syntax: ocs/v1.php/cloud/users/{userid}/groups** + +* HTTP method: POST +* POST argument: groupid, string - the group to add the user to + +Status codes: + +* 100 - successful +* 101 - no group specified +* 102 - group does not exist +* 103 - user does not exist +* 104 - insufficient privileges +* 105 - failed to add user to group + +Example +^^^^^^^ + + * POST ``http://admin:secret@example.com/ocs/v1.php/cloud/users/Frank/groups + -d groupid="newgroup"`` + * Adds the user ``Frank`` to the group ``newgroup`` + +XML Output +^^^^^^^^^^ + +.. code-block:: xml + + + + + 100 + ok + + + + +Remove user from group +---------------------- + +Removes the specified user from the specified group. Authentication is done by +sending a Basic HTTP Authorization header. + +**Syntax: ocs/v1.php/cloud/users/{userid}/groups** + +* HTTP method: DELETE +* DELETE argument: groupid, string - the group to remove the user from + +Status codes: + +* 100 - successful +* 101 - no group specified +* 102 - group does not exist +* 103 - user does not exist +* 104 - insufficient privileges +* 105 - failed to remove user from group + +Example +^^^^^^^ + + * DELETE + ``http://admin:secret@example.com/ocs/v1.php/cloud/users/Frank/groups -d + groupid="newgroup"`` + * Removes the user ``Frank`` from the group ``newgroup`` + +XML Output +^^^^^^^^^^ + +.. code-block:: xml + + + + + 100 + ok + + + + +Promote user to subadmin +------------------------ + +Makes a user the subadmin of a group. Authentication is done by sending a Basic +HTTP Authorization header. + +**Syntax: ocs/v1.php/cloud/users/{userid}/subadmins** + +* HTTP method: POST +* POST argument: groupid, string - the group of which to make the user a + subadmin + +Status codes: + +* 100 - successful +* 101 - user does not exist +* 102 - group does not exist +* 103 - unknown failure + +Example +^^^^^^^ + + * POST + ``https://admin:secret@example.com/ocs/v1.php/cloud/users/Frank/subadmins + -d groupid="group"`` + * Makes the user ``Frank`` a subadmin of the ``group`` group + +XML Output +^^^^^^^^^^ + +.. code-block:: xml + + + + + 100 + ok + + + + +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. + +**Syntax: ocs/v1.php/cloud/users/{userid}/subadmins** + +* HTTP method: DELETE +* DELETE argument: groupid, string - the group from which to remove the user's + subadmin rights + +Status codes: + +* 100 - successful +* 101 - user does not exist +* 102 - user is not a subadmin of the group / group does not exist +* 103 - unknown failure + +Example +^^^^^^^ + + * DELETE + ``https://admin:secret@example.com/ocs/v1.php/cloud/users/Frank/subadmins + -d groupid="oldgroup"`` + * Removes ``Frank's`` subadmin rights from the ``oldgroup`` group + +XML Output +^^^^^^^^^^ + +.. code-block:: xml + + + + + 100 + ok + + + + +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. + +**Syntax: ocs/v1.php/cloud/users/{userid}/subadmins** + +* HTTP method: GET + +Status codes: + +* 100 - successful +* 101 - user does not exist +* 102 - unknown failure + +Example +^^^^^^^ + + * GET + ``https://admin:secret@example.com/ocs/v1.php/cloud/users/Frank/subadmins`` + * Returns the groups of which ``Frank`` is a subadmin + +XML Output +^^^^^^^^^^ + +.. code-block:: xml + + + + + ok + 100 + + + + 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 + + + + diff --git a/admin_manual/configuration_user/two_factor-auth.rst b/admin_manual/configuration_user/two_factor-auth.rst index fb13e1c04..2a447778a 100644 --- a/admin_manual/configuration_user/two_factor-auth.rst +++ b/admin_manual/configuration_user/two_factor-auth.rst @@ -11,7 +11,8 @@ Developers can `built new two-factor provider apps Configuration Keys -================== +------------------ +-------------------------------+------+----------+-----------------------------------------------------------------------------------------------------------------------+ | Key | Mode | Required | Description | diff --git a/admin_manual/configuration_user/user_configuration.rst b/admin_manual/configuration_user/user_configuration.rst index e9816b5c5..2304bfe1a 100644 --- a/admin_manual/configuration_user/user_configuration.rst +++ b/admin_manual/configuration_user/user_configuration.rst @@ -59,7 +59,7 @@ User accounts have the following properties: storage in user quotas. Creating a New User -~~~~~~~~~~~~~~~~~~~ +------------------- To create a user account: @@ -84,7 +84,7 @@ Set the **Send email to new user**-checkbox allows you to leave the **Password** field empty. The user will get an activation-email to set his own password. Reset a User's Password -~~~~~~~~~~~~~~~~~~~~~~~ +----------------------- You cannot recover a user's password, but you can set a new one: @@ -98,7 +98,7 @@ password resets. Please see :doc:`../configuration_files/encryption_configuration`. Renaming a User -~~~~~~~~~~~~~~~ +--------------- Each Nextcloud user has two names: a unique **Login Name** used for authentication, and a **Full Name**, which is their display name. You can edit @@ -112,7 +112,7 @@ To set or change a user's display name: Granting Administrator Privileges to a User -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +------------------------------------------- Nextcloud has two types of administrators: **Super Administrators** and **Group Administrators**. Group administrators have the rights to create, edit and @@ -129,7 +129,7 @@ a user, simply add them to the ``admin`` group. Managing Groups -~~~~~~~~~~~~~~~ +--------------- You can assign new users to groups when you create them, and create new groups when you create new users. You may also use the **Add Group** button at the top @@ -137,7 +137,7 @@ of the left pane to create new groups. New group members will immediately have access to file shares that belong to their new groups. Setting Storage Quotas -~~~~~~~~~~~~~~~~~~~~~~ +---------------------- Click the gear on the lower left pane to set a default storage quota. This is automatically applied to new users. You may assign a different quota to any user @@ -177,7 +177,7 @@ When a user creates a public share via URL, and allows uploads, any uploaded files count against that user's quota. Disable and Enable users -~~~~~~~~~~~~~~~~~~~~~~~~ +------------------------ .. figure:: ../images/users-actions.png @@ -195,7 +195,7 @@ Enabling users is as easy as disabling them. Just click on the "..."-menu, and select **Enable**. Deleting users -~~~~~~~~~~~~~~ +-------------- .. figure:: ../images/users-actions.png diff --git a/admin_manual/configuration_user/user_provisioning_api.rst b/admin_manual/configuration_user/user_provisioning_api.rst index 83d4dcf82..7c9ac107c 100644 --- a/admin_manual/configuration_user/user_provisioning_api.rst +++ b/admin_manual/configuration_user/user_provisioning_api.rst @@ -15,944 +15,11 @@ The base URL for all calls to the share API is **nextcloud_base_url/ocs/v1.php/c 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) +All POST requests require the ``Content-Type: application/x-www-form-urlencoded`` header. (Note: Some libraries like cURL set this header automatically, others require setting the header explicitly.) -Instruction Set For Users -========================= +.. toctree:: + :maxdepth: 1 -Add a new user --------------- - -Create a new user on the Nextcloud server. Authentication is done by sending a -basic HTTP authentication header. - -**Syntax: ocs/v1.php/cloud/users** - -* HTTP method: POST -* POST argument: userid - string, the required username for the new user -* POST argument: password - string, the required password for the new user - -Status codes: - -* 100 - successful -* 101 - invalid input data -* 102 - username already exists -* 103 - unknown error occurred whilst adding the user - -Example -^^^^^^^ - -* POST ``http://admin:secret@example.com/ocs/v1.php/cloud/users -d - userid="Frank" -d password="frankspassword"`` -* Creates the user ``Frank`` with password ``frankspassword`` - -XML Output -^^^^^^^^^^ - -.. code-block:: xml - - - - - ok - 100 - - - - - -Search/get users ----------------- - -Retrieves a list of users from the Nextcloud server. Authentication is done by -sending a Basic HTTP Authorization header. - -**Syntax: ocs/v1.php/cloud/users** - -* HTTP method: GET -* url arguments: search - string, optional search string -* url arguments: limit - int, optional limit value -* url arguments: offset - int, optional offset value - -Status codes: - -* 100 - successful - -Example -^^^^^^^ - -* GET ``http://admin:secret@example.com/ocs/v1.php/cloud/users?search=Frank`` -* Returns list of users matching the search string. - -XML Output -^^^^^^^^^^ - -.. code-block:: xml - - - - - 100 - ok - - - - Frank - - - - -Get data of a single user -------------------------- - -Retrieves information about a single user. Authentication is done by sending a -Basic HTTP Authorization header. - -**Syntax: ocs/v1.php/cloud/users/{userid}** - -* HTTP method: GET - -Status codes: - -* 100 - successful - -Example -^^^^^^^ - - * GET ``http://admin:secret@example.com/ocs/v1.php/cloud/users/Frank`` - * Returns information on the user ``Frank`` - -XML Output -^^^^^^^^^^ - -.. code-block:: xml - - - - - 100 - ok - - - true - Frank - 0 - frank@example.org - Frank K. - 0123 / 456 789 -
Foobar 12, 12345 Town
- https://nextcloud.com - Nextcloud - - group1 - group2 - -
-
- -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 -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 - + displayname - + display (**deprecated** use `displayname` instead) - + phone - + address - + website - + twitter - + password - -* PUT argument: value, the new value for the field - -Status codes: - -* 100 - successful -* 101 - user not found -* 102 - invalid input data - -Examples -^^^^^^^^ - - * 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 ``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 - - - - - 100 - ok - - - - -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. - -**Syntax: ocs/v1.php/cloud/users/{userid}** - -* HTTP method: DELETE - -Statuscodes: - -* 100 - successful -* 101 - failure - -Example -^^^^^^^ - - * DELETE ``http://admin:secret@example.com/ocs/v1.php/cloud/users/Frank`` - * Deletes the user ``Frank`` - -XML Output -^^^^^^^^^^ - -.. code-block:: xml - - - - - 100 - ok - - - - -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. - -**Syntax: ocs/v1.php/cloud/users/{userid}/groups** - -* HTTP method: GET - -Status codes: - -* 100 - successful - -Example -^^^^^^^ - - * GET ``http://admin:secret@example.com/ocs/v1.php/cloud/users/Frank/groups`` - * Retrieves a list of groups of which ``Frank`` is a member - -XML Output -^^^^^^^^^^ - -.. code-block:: xml - - - - - 100 - ok - - - - admin - group1 - - - - -Add user to group ------------------ - -Adds the specified user to the specified group. Authentication is done by -sending a Basic HTTP Authorization header. - -**Syntax: ocs/v1.php/cloud/users/{userid}/groups** - -* HTTP method: POST -* POST argument: groupid, string - the group to add the user to - -Status codes: - -* 100 - successful -* 101 - no group specified -* 102 - group does not exist -* 103 - user does not exist -* 104 - insufficient privileges -* 105 - failed to add user to group - -Example -^^^^^^^ - - * POST ``http://admin:secret@example.com/ocs/v1.php/cloud/users/Frank/groups - -d groupid="newgroup"`` - * Adds the user ``Frank`` to the group ``newgroup`` - -XML Output -^^^^^^^^^^ - -.. code-block:: xml - - - - - 100 - ok - - - - -Remove user from group ----------------------- - -Removes the specified user from the specified group. Authentication is done by -sending a Basic HTTP Authorization header. - -**Syntax: ocs/v1.php/cloud/users/{userid}/groups** - -* HTTP method: DELETE -* DELETE argument: groupid, string - the group to remove the user from - -Status codes: - -* 100 - successful -* 101 - no group specified -* 102 - group does not exist -* 103 - user does not exist -* 104 - insufficient privileges -* 105 - failed to remove user from group - -Example -^^^^^^^ - - * DELETE - ``http://admin:secret@example.com/ocs/v1.php/cloud/users/Frank/groups -d - groupid="newgroup"`` - * Removes the user ``Frank`` from the group ``newgroup`` - -XML Output -^^^^^^^^^^ - -.. code-block:: xml - - - - - 100 - ok - - - - -Promote user to subadmin ------------------------- - -Makes a user the subadmin of a group. Authentication is done by sending a Basic -HTTP Authorization header. - -**Syntax: ocs/v1.php/cloud/users/{userid}/subadmins** - -* HTTP method: POST -* POST argument: groupid, string - the group of which to make the user a - subadmin - -Status codes: - -* 100 - successful -* 101 - user does not exist -* 102 - group does not exist -* 103 - unknown failure - -Example -^^^^^^^ - - * POST - ``https://admin:secret@example.com/ocs/v1.php/cloud/users/Frank/subadmins - -d groupid="group"`` - * Makes the user ``Frank`` a subadmin of the ``group`` group - -XML Output -^^^^^^^^^^ - -.. code-block:: xml - - - - - 100 - ok - - - - -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. - -**Syntax: ocs/v1.php/cloud/users/{userid}/subadmins** - -* HTTP method: DELETE -* DELETE argument: groupid, string - the group from which to remove the user's - subadmin rights - -Status codes: - -* 100 - successful -* 101 - user does not exist -* 102 - user is not a subadmin of the group / group does not exist -* 103 - unknown failure - -Example -^^^^^^^ - - * DELETE - ``https://admin:secret@example.com/ocs/v1.php/cloud/users/Frank/subadmins - -d groupid="oldgroup"`` - * Removes ``Frank's`` subadmin rights from the ``oldgroup`` group - -XML Output -^^^^^^^^^^ - -.. code-block:: xml - - - - - 100 - ok - - - - -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. - -**Syntax: ocs/v1.php/cloud/users/{userid}/subadmins** - -* HTTP method: GET - -Status codes: - -* 100 - successful -* 101 - user does not exist -* 102 - unknown failure - -Example -^^^^^^^ - - * GET - ``https://admin:secret@example.com/ocs/v1.php/cloud/users/Frank/subadmins`` - * Returns the groups of which ``Frank`` is a subadmin - -XML Output -^^^^^^^^^^ - -.. code-block:: xml - - - - - ok - 100 - - - - 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 -========================== - -Search/get groups ------------------ - -Retrieves a list of groups from the Nextcloud server. Authentication is done by -sending a Basic HTTP Authorization header. - -**Syntax: ocs/v1.php/cloud/groups** - -* HTTP method: GET -* url arguments: search - string, optional search string -* url arguments: limit - int, optional limit value -* url arguments: offset - int, optional offset value - -Status codes: - -* 100 - successful - -Example -^^^^^^^ - - * GET ``http://admin:secret@example.com/ocs/v1.php/cloud/groups?search=adm`` - * Returns list of groups matching the search string. - -XML Output -^^^^^^^^^^ - -.. code-block:: xml - - - - - 100 - ok - - - - admin - - - - -Create a group --------------- - -Adds a new group. Authentication is done by -sending a Basic HTTP Authorization header. - -**Syntax: ocs/v1.php/cloud/groups** - -* HTTP method: POST -* POST argument: groupid, string - the new groups name - -Status codes: - -* 100 - successful -* 101 - invalid input data -* 102 - group already exists -* 103 - failed to add the group - -Example -^^^^^^^ - - * POST ``http://admin:secret@example.com/ocs/v1.php/cloud/groups -d - groupid="newgroup"`` - * Adds a new group called ``newgroup`` - -XML Output -^^^^^^^^^^ - -.. code-block:: xml - - - - - 100 - ok - - - - -Get members of a group ----------------------- - -Retrieves a list of group members. Authentication is done by sending a Basic -HTTP Authorization header. - -**Syntax: ocs/v1.php/cloud/groups/{groupid}** - -* HTTP method: GET - -Status codes: - -* 100 - successful - -Example -^^^^^^^ - - * POST ``http://admin:secret@example.com/ocs/v1.php/cloud/groups/admin`` - * Returns a list of users in the ``admin`` group - -XML Output -^^^^^^^^^^ - -.. code-block:: xml - - - - - 100 - ok - - - - Frank - - - - -Get subadmins of a group ------------------------- - -Returns subadmins of the group. Authentication is done by -sending a Basic HTTP Authorization header. - -**Syntax: ocs/v1.php/cloud/groups/{groupid}/subadmins** - -* HTTP method: GET - -Status codes: - -* 100 - successful -* 101 - group does not exist -* 102 - unknown failure - -Example -^^^^^^^ - - * GET - ``https://admin:secret@example.com/ocs/v1.php/cloud/groups/mygroup/subadmins`` - * Return the subadmins of the group: ``mygroup`` - -XML Output -^^^^^^^^^^ - -.. code-block:: xml - - - - - ok - 100 - - - - Tom - - - -Delete a group --------------- - -Removes a group. Authentication is done by -sending a Basic HTTP Authorization header. - -**Syntax: ocs/v1.php/cloud/groups/{groupid}** - -* HTTP method: DELETE - -Status codes: - -* 100 - successful -* 101 - group does not exist -* 102 - failed to delete group - -Example -^^^^^^^ - - * DELETE ``http://admin:secret@example.com/ocs/v1.php/cloud/groups/mygroup`` - * Delete the group ``mygroup`` - -XML Output -^^^^^^^^^^ - -.. code-block:: xml - - - - - 100 - ok - - - - -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 -header. - -**Syntax: ocs/v1.php/cloud/apps/** - -* HTTP method: GET -* url argument: filter, string - optional (``enabled`` or ``disabled``) - -Status codes: - -* 100 - successful -* 101 - invalid input data - -Example -^^^^^^^ - - * GET ``http://admin:secret@example.com/ocs/v1.php/cloud/apps?filter=enabled`` - * Gets enabled apps - -XML Output -^^^^^^^^^^ - -.. code-block:: xml - - - - - 100 - ok - - - - files - provisioning_api - - - - -Get app info ------------- - -Provides information on a specific application. Authentication is done by -sending a Basic HTTP Authorization header. - -**Syntax: ocs/v1.php/cloud/apps/{appid}** - -* HTTP method: GET - -Status codes: - -* 100 - successful - -Example -^^^^^^^ - - * GET ``http://admin:secret@example.com/ocs/v1.php/cloud/apps/files`` - * Get app info for the ``files`` app - -XML Output -^^^^^^^^^^ - -.. code-block:: xml - - - - - 100 - ok - - - - - appinfo/remote.php - appinfo/remote.php - appinfo/filesync.php - - - files - Files - File Management - AGPL - Robin Appelman - 4.9 - true - - - - filesystem - - - - -Enable an app -------------- - -Enable an app. Authentication is done by sending a Basic HTTP Authorization -header. - -**Syntax: ocs/v1.php/cloud/apps/{appid}** - -* HTTP method: POST - -Status codes: - -* 100 - successful - -Example -^^^^^^^ - - * POST ``http://admin:secret@example.com/ocs/v1.php/cloud/apps/files_texteditor`` - * Enable the ``files_texteditor`` app - -XML Output -^^^^^^^^^^ - -.. code-block:: xml - - - - - 100 - ok - - - -Disable an app --------------- - -Disables the specified app. Authentication is -done by sending a Basic HTTP Authorization header. - - -**Syntax: ocs/v1.php/cloud/apps/{appid}** - -* HTTP method: DELETE - -Status codes: - -* 100 - successful - -Example -^^^^^^^ - - * DELETE ``http://admin:secret@example.com/ocs/v1.php/cloud/apps/files_texteditor`` - * Disable the ``files_texteditor`` app - -XML Output -^^^^^^^^^^ - -.. code-block:: xml - - - - - 100 - ok - - - + instruction_set_for_users + instruction_set_for_groups + instruction_set_for_apps diff --git a/admin_manual/file_workflows/access_control.rst b/admin_manual/file_workflows/access_control.rst index 0a187b407..814f4990d 100644 --- a/admin_manual/file_workflows/access_control.rst +++ b/admin_manual/file_workflows/access_control.rst @@ -68,7 +68,7 @@ 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, @@ -81,7 +81,7 @@ 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 diff --git a/admin_manual/file_workflows/retention.rst b/admin_manual/file_workflows/retention.rst index 326671bc2..149f06135 100644 --- a/admin_manual/file_workflows/retention.rst +++ b/admin_manual/file_workflows/retention.rst @@ -17,14 +17,14 @@ Common misconfigurations ------------------------ Public collaborative tag -======================== +^^^^^^^^^^^^^^^^^^^^^^^^ Similar to :doc:`access_control` retention should use ``restricted`` or ``invisible`` tags. Otherwise any user can remove the tag and the file is not removed after the given period. Use :doc:`automated_tagging` to assign such tags to newly uploaded files. File age -======== +^^^^^^^^ Currently retention is based on the creation date of the file. The sync client sends the **original** creation date to the server, while uploading through the web interface diff --git a/admin_manual/installation/nginx.rst b/admin_manual/installation/nginx.rst index a53b50e06..a3ff4e308 100644 --- a/admin_manual/installation/nginx.rst +++ b/admin_manual/installation/nginx.rst @@ -316,7 +316,7 @@ Tips and Tricks --------------- 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 @@ -331,7 +331,7 @@ your nginx configuration to suppress them: } JavaScript (.js) or CSS (.css) files not served properly -======================================================== +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ A common issue with custom nginx configs is that JavaScript (.js) or CSS (.css) files are not served properly leading to a 404 (File not found) diff --git a/admin_manual/installation/source_installation.rst b/admin_manual/installation/source_installation.rst index 25251da2b..889e44b4a 100644 --- a/admin_manual/installation/source_installation.rst +++ b/admin_manual/installation/source_installation.rst @@ -314,7 +314,7 @@ Pretty URLs ----------- Pretty URLs remove the ``index.php``-part in all Nextcloud URLs, for example -in sharing links like ``https://example.org/nextcloud/index.php/s/Sv1b7krAUqmF8QQ```, +in sharing links like ``https://example.org/nextcloud/index.php/s/Sv1b7krAUqmF8QQ``, making URLs shorter and thus prettier. ``mod_env`` and ``mod_rewrite`` must be installed on your webserver and the :file:`.htaccess` diff --git a/admin_manual/installation/system_requirements.rst b/admin_manual/installation/system_requirements.rst index 43f546e09..30e8033ff 100644 --- a/admin_manual/installation/system_requirements.rst +++ b/admin_manual/installation/system_requirements.rst @@ -48,7 +48,8 @@ The following is currently required if you're running Nextcloud together with a * "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; diff --git a/admin_manual/issues/code_signing.rst b/admin_manual/issues/code_signing.rst index 351336667..22a8b9a3e 100644 --- a/admin_manual/issues/code_signing.rst +++ b/admin_manual/issues/code_signing.rst @@ -218,7 +218,7 @@ The following errors can be encountered when trying to verify a code signature. - Another exception has prevented the code verification. There are currently these following exceptions: - - ``Signature data not found.``` + - ``Signature data not found.`` - The app has mandatory code signing enforced but no ``signature.json`` file has been found in its ``appinfo`` folder. diff --git a/admin_manual/maintenance/package_upgrade.rst b/admin_manual/maintenance/package_upgrade.rst index 54c4b575f..ab4545949 100644 --- a/admin_manual/maintenance/package_upgrade.rst +++ b/admin_manual/maintenance/package_upgrade.rst @@ -1,8 +1,7 @@ ==================== Upgrade via Packages ==================== - - + Upgrade Quickstart ------------------ diff --git a/admin_manual/maintenance/restore.rst b/admin_manual/maintenance/restore.rst index 5906830da..88f862dfb 100644 --- a/admin_manual/maintenance/restore.rst +++ b/admin_manual/maintenance/restore.rst @@ -33,9 +33,6 @@ 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. @@ -63,7 +60,7 @@ PostgreSQL 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/operations/considerations_on_monitoring.rst b/admin_manual/operations/considerations_on_monitoring.rst index 8f4eb96b7..ed138003c 100644 --- a/admin_manual/operations/considerations_on_monitoring.rst +++ b/admin_manual/operations/considerations_on_monitoring.rst @@ -14,7 +14,7 @@ to be monitored, and provide guidance on what to look for in Nextcloud in an enterprise installation. Nextcloud Deployment Architecture -================================= +--------------------------------- Before discussing how to monitor Nextcloud, it is important to understand the architecture of a typical Nextcloud deployment. These monitoring best practices are developed based on the use of load @@ -26,7 +26,7 @@ operations are available, and that Nextcloud is simply a new target for these to The Important Components of Nextcloud -===================================== +------------------------------------- Nextcloud is a PHP application that depends on a filesystem for file storage, and a database for storing user and file meta data, as well as some application specific information. @@ -38,7 +38,7 @@ there through the layers of infrastructure. Status.php ----------- +^^^^^^^^^^ Nextcloud provides a very simple mechanism for determining if an application server is up and functioning – call the status.php file on each Nextcloud server. This file can be found in the root Nextcloud directory on @@ -55,7 +55,7 @@ server is operating properly. Nextcloud.log -------------- +^^^^^^^^^^^^^ Nextcloud also provides a built in logging function. If the Nextcloud logging application is enabled, this file will track user logins and shared file activity. If these logging applications are @@ -66,28 +66,26 @@ in the log file, this should be integrated with an enterprise log manager. Logfile entries that start with the keyword “Error” should be logged and reported to Nextcloud support. -Apache -^^^^^^ +**Apache** The apache error and access log should also be monitored. Significant spontaneous changes of the number of requests per second should also be monitored and looked into. -Database server -^^^^^^^^^^^^^^^ +**Database server** The load and general health of the database server or cluster has to be monitored also. All mysql vendors provide tools to monitor this. Clustered Filesystem --------------------- +^^^^^^^^^^^^^^^^^^^^ The available space of the filesystem should be monitored to prevent a full Nextcloud. This functionality is provided by the operating-system and/or the cluster filesystem vendor. Load Balancer -------------- +^^^^^^^^^^^^^ The load balancer is monitoring the health of the application servers and is distributing the traffic in the optimal way. The application-servers should also be monitored to detect long lasting OS or diff --git a/admin_manual/operations/scaling_multiple_machines.rst b/admin_manual/operations/scaling_multiple_machines.rst index e0979a5fa..70425fc42 100644 --- a/admin_manual/operations/scaling_multiple_machines.rst +++ b/admin_manual/operations/scaling_multiple_machines.rst @@ -18,7 +18,7 @@ At each layer the goal is to provide the ability to scale, and providing a high availability while maintaining the needed level of performance. Application Layer -================= +----------------- For the application layer of this reference architecture we used Oracle Enterprise Linux as the front end servers to host the Nextcloud code. In this @@ -69,7 +69,7 @@ the IP address should one fail. .. management upon further testing. Database Layer -============== +-------------- For the purposes of this example, we have chosen a MySQL cluster using the NDB Storage engine. The cluster was configured based on the documentation found @@ -99,7 +99,7 @@ In this example we have also added a second HAProxy server with Heartbeat to pre We have also implemented NIC bonding to load balance the traffic across multiple physical NICs. Storage Layer -============= +------------- Storage was deployed using the Red Hat Storage server with the GlusterFS (pre-configured as part of the Red Hat Storage Server offering). diff --git a/admin_manual/release_notes.rst b/admin_manual/release_notes.rst index 5718a8c97..04ba7abc8 100644 --- a/admin_manual/release_notes.rst +++ b/admin_manual/release_notes.rst @@ -10,7 +10,7 @@ A detailed log of all changes can be found in the official `Changelog versions linked. Updates to Nginx configuration -============================== +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * In the Nginx configuration the Same-Origin header was removed. This is now handled in PHP and keeping it will result in a wrong header. Please remove @@ -27,7 +27,7 @@ Common questions ---------------- Could not install core app bundle -================================= +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The following error message is shown during the update: "Repair warning: Could not install core app bundle: Could not download app ". @@ -39,7 +39,7 @@ The instance will work fine, but the features that are usually provided by this app are not available. Theming changes -=============== +--------------- With Nextcloud 12, CSS files have been merged into one server.css so in order to keep your theme working you should consolidate your existing css styles into