Merge pull request #608 from peterdamian/change-peterdamian

Fix headers in the admin manual only
This commit is contained in:
Morris Jobke
2017-11-17 07:54:07 +01:00
committed by GitHub
35 changed files with 1045 additions and 1037 deletions

View File

@@ -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**::

View File

@@ -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**.

View File

@@ -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

View File

@@ -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

View File

@@ -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
---------------------------

View File

@@ -1,3 +1,4 @@
============================
Configuring the Activity App
============================

View File

@@ -1,3 +1,4 @@
========================================
Configuring the ClamAV Antivirus Scanner
========================================

View File

@@ -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.

View File

@@ -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]://<domain-of-your-server>/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.

View File

@@ -940,9 +940,6 @@ enable apps that pass this check.
Defaults to ``false``
Previews
--------

View File

@@ -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

View File

@@ -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

View File

@@ -1,3 +1,4 @@
============================
Knowledge Base Configuration
============================
The usage of Nextcloud is more or less self explaining but nevertheless a user

View File

@@ -1,3 +1,4 @@
======================
Language Configuration
======================

View File

@@ -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

View File

@@ -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

View File

@@ -1,3 +1,4 @@
================================
Using Third Party PHP Components
================================

View File

@@ -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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data>
<apps>
<element>files</element>
<element>provisioning_api</element>
</apps>
</data>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data>
<info/>
<remote>
<files>appinfo/remote.php</files>
<webdav>appinfo/remote.php</webdav>
<filesync>appinfo/filesync.php</filesync>
</remote>
<public/>
<id>files</id>
<name>Files</name>
<description>File Management</description>
<licence>AGPL</licence>
<author>Robin Appelman</author>
<require>4.9</require>
<shipped>true</shipped>
<standalone></standalone>
<default_enable></default_enable>
<types>
<element>filesystem</element>
</types>
</data>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
</ocs>

View File

@@ -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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data>
<groups>
<element>admin</element>
</groups>
</data>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data/>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data>
<users>
<element>Frank</element>
</users>
</data>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<status>ok</status>
<statuscode>100</statuscode>
<message/>
</meta>
<data>
<element>Tom</element>
</data>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data/>
</ocs>

View File

@@ -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
<?xml version="1.0"?>
<ocs>
<meta>
<status>ok</status>
<statuscode>100</statuscode>
<message/>
</meta>
<data/>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data>
<users>
<element>Frank</element>
</users>
</data>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data>
<enabled>true</enabled>
<id>Frank</id>
<quota>0</quota>
<email>frank@example.org</email>
<displayname>Frank K.</displayname>
<phone>0123 / 456 789</phone>
<address>Foobar 12, 12345 Town</address>
<website>https://nextcloud.com</website>
<twitter>Nextcloud</twitter>
<groups>
<element>group1</element>
<element>group2</element>
</groups>
</data>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data/>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<status>ok</status>
<statuscode>100</statuscode>
<message/>
</meta>
<data/>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<status>ok</status>
<statuscode>100</statuscode>
<message/>
</meta>
<data/>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data/>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data>
<groups>
<element>admin</element>
<element>group1</element>
</groups>
</data>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data/>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data/>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data/>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data/>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<status>ok</status>
<statuscode>100</statuscode>
<message/>
</meta>
<data>
<element>testgroup</element>
</data>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<status>ok</status>
<statuscode>100</statuscode>
<message/>
</meta>
<data/>
</ocs>

View File

@@ -11,7 +11,8 @@ Developers can `built new two-factor provider apps <https://docs.nextcloud.com/s
.. 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

View File

@@ -1,11 +1,9 @@
======================
LDAP Configuration API
======================
==========================
The LDAP Configuration API
==========================
Any used method requires the a header "OCS-APIREQUEST" set to "true". And any method takes an optional "format" parameter, which accepts "xml" (default) or "json".
All methods require that the "OCS-APIREQUEST" header be set to "true". Methods take an optional "format" parameter, which may be "xml" (the default) or "json".
Methods
=======
Creating a configuration
------------------------
@@ -190,7 +188,7 @@ XML Output
</ocs>
Configuration Keys
==================
------------------
+-------------------------------+------+----------+-----------------------------------------------------------------------------------------------------------------------+
| Key | Mode | Required | Description |

View File

@@ -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

View File

@@ -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
<?xml version="1.0"?>
<ocs>
<meta>
<status>ok</status>
<statuscode>100</statuscode>
<message/>
</meta>
<data/>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data>
<users>
<element>Frank</element>
</users>
</data>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data>
<enabled>true</enabled>
<id>Frank</id>
<quota>0</quota>
<email>frank@example.org</email>
<displayname>Frank K.</displayname>
<phone>0123 / 456 789</phone>
<address>Foobar 12, 12345 Town</address>
<website>https://nextcloud.com</website>
<twitter>Nextcloud</twitter>
<groups>
<element>group1</element>
<element>group2</element>
</groups>
</data>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data/>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<status>ok</status>
<statuscode>100</statuscode>
<message/>
</meta>
<data/>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<status>ok</status>
<statuscode>100</statuscode>
<message/>
</meta>
<data/>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data/>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data>
<groups>
<element>admin</element>
<element>group1</element>
</groups>
</data>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data/>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data/>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data/>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data/>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<status>ok</status>
<statuscode>100</statuscode>
<message/>
</meta>
<data>
<element>testgroup</element>
</data>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<status>ok</status>
<statuscode>100</statuscode>
<message/>
</meta>
<data/>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data>
<groups>
<element>admin</element>
</groups>
</data>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data/>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data>
<users>
<element>Frank</element>
</users>
</data>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<status>ok</status>
<statuscode>100</statuscode>
<message/>
</meta>
<data>
<element>Tom</element>
</data>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data/>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data>
<apps>
<element>files</element>
<element>provisioning_api</element>
</apps>
</data>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
<data>
<info/>
<remote>
<files>appinfo/remote.php</files>
<webdav>appinfo/remote.php</webdav>
<filesync>appinfo/filesync.php</filesync>
</remote>
<public/>
<id>files</id>
<name>Files</name>
<description>File Management</description>
<licence>AGPL</licence>
<author>Robin Appelman</author>
<require>4.9</require>
<shipped>true</shipped>
<standalone></standalone>
<default_enable></default_enable>
<types>
<element>filesystem</element>
</types>
</data>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
</ocs>
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
<?xml version="1.0"?>
<ocs>
<meta>
<statuscode>100</statuscode>
<status>ok</status>
</meta>
</ocs>
instruction_set_for_users
instruction_set_for_groups
instruction_set_for_apps

View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

@@ -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`

View File

@@ -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;

View File

@@ -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.

View File

@@ -1,8 +1,7 @@
====================
Upgrade via Packages
====================
Upgrade Quickstart
------------------

View File

@@ -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"

View File

@@ -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

View File

@@ -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).

View File

@@ -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 <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