Utilisation de la commande occ

La commande ownCloud occ (ownCloud console) est l’interface de ligne de commande d’ownCloud. Vous pouvez réaliser beaucoup d’opérations sur le serveur avec occ, comme l’installation et la mise à jour d’ownCloud, la gestion des utilisateurs, du chiffrement, des mots de passe, des paramètres LDAP et bien plus encore.

occ se trouve dans le répertoire owncloud/. Par exemple : /var/www/owncloud sous Ubuntu Linux. occ est un script PHP. Vous devez l’exécuter en tant qu’utilisateur HTTP pour s’assurer que les permissions correctes sont préservées sur vos fichiers et répertoires d’ownCloud. À compter de la version 8.2 d’ownCloud, il peut être exécuté à partir de n’importe quel répertoire (en spécifiant le chemin d’accès au fichier). Dans les versions précédente d’ownCloud, il devait être lancé à partir du répertoire owncloud/.

Lancement d’occ en tant qu’utilisateur HTTP

Le nom de l’utilisateur HTTP diffère selon les distributions Linux. Consulter Renforcement des permissions de répertoires pour savoir comment trouver votre utilisateur HTTP.

  • L’utilisateur et le groupe HTTP est « www-data » pour Debian/Ubuntu.
  • L’utilisateur et le groupe HTTP est « apache » pour Fedora/CentOS.
  • L’utilisateur et le groupe HTTP est « http » pour Arch Linux.
  • L’utilisateur HTTP est « wwwrun » et le groupe HTTP « www » pour openSUSE.

Si votre serveur HTTP est configuré pour utiliser une version de PHP différente de celle par défaut (/usr/bin/php), occ doit être lancé avec la même version. Par exemple, sous CentOS 6.5 avec SCL-PHP54 installé, la commande ressemble à ceci:

sudo -u apache /opt/rh/php54/root/usr/bin/php /var/www/html/owncloud/occ

Lancer occ sans option énumère toutes les commandes et options, comme dans cet exemple pour Ubuntu:

sudo -u www-data php occ
ownCloud version 9.0.0

Usage:
 command [options] [arguments]

Options:
 -h, --help            Display this help message
 -q, --quiet           Do not output any message
 -V, --version         Display this application version
     --ansi            Force ANSI output
     --no-ansi         Disable ANSI output
 -n, --no-interaction  Do not ask any interactive question
     --no-warnings     Skip global warnings, show command output only
 -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output,
                       2 for more verbose output and 3 for debug

Available commands:
 check                 check dependencies of the server
                       environment
 help                  Displays help for a command
 list                  Lists commands
 status                show some status information
 upgrade               run upgrade routines after installation of
                       a new release. The release has to be
                       installed before.

C’est le même résultat que pour la commande sudo -u www-data php occ list.

Lancez-le avec l’option -h pour avoir une aide sur la syntaxe:

sudo -u www-data php occ -h

Affichage de la version d’ownCloud:

sudo -u www-data php occ -V
  ownCloud version 9.0.0

Affichage de l’état du serveur ownCloud:

sudo -u www-data php occ status
  - installed: true
  - version: 9.0.0.19
  - versionstring: 9.0.0
  - edition:

occ a des options, des commandes et des arguments. Les options et les arguments sont facultatifs, alors que les commandes sont obligatoires. La syntaxe est la suivante:

occ [options] commande [arguments]

Obtention des informations détaillées des commandes avec la commande help, comme dans cet exemple pour la commande maintenance:mode:

sudo -u www-data php occ help maintenance:mode
Usage:
 maintenance:mode [options]

Options:
     --on              enable maintenance mode
     --off             disable maintenance mode
 -h, --help            Display this help message
 -q, --quiet           Do not output any message
 -V, --version         Display this application version
     --ansi            Force ANSI output
     --no-ansi         Disable ANSI output
 -n, --no-interaction  Do not ask any interactive question
     --no-warnings     Skip global warnings, show command output only
 -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output,
                       2 for more verbose output and 3 for debug

La commande status a une option permettant de définir le format de sortie. Par défaut, c’est du texte brut, mais cela peut être aussu du json:

sudo -u www-data php occ status --output=json
{"installed":true,"version":"9.0.0.19","versionstring":"9.0.0","edition":""}

ou du json_pretty:

sudo -u www-data php occ status --output=json_pretty
{
   "installed": true,
   "version": "9.0.0.19",
   "versionstring": "9.0.0",
   "edition": ""
}

Cette option de format de sortie est disponible pour toutes les commandes de type liste : status, check, app:list, config:list, encryption:status et encryption:list-modules.

Commandes pour les applications

La commande app liste, active et désactive les applications:

app
 app:check-code   vérifie la conformité du code
 app:disable      désactive une application
 app:enable       active une application
 app:getpath      récupère le chemin d'accès absolu d'une application
                  (ajouté dans la version in 9.0)
 app:list         liste toutes les applications disponibles

Pour lister toutes les applications installées et afficher si elles sont activées ou désactivées:

sudo -u www-data php occ app:list

Pour activer une application, par exemple External Storage:

sudo -u www-data php occ app:enable files_external
files_external enabled

Pour désactiver une application:

sudo -u www-data php occ app:disable files_external
files_external disabled

La commande app:check-code permet d’effectuer plusieurs vérifications : elle vérifie si une application utilise les API publiques d’ownCloud (OCP) ou des API privées (OC_). Elle vérifie la présence de méthodes obsolètes et la validité du fichier info.xml. Par défaut, toutes les vérifications sont activées. L’application Activité est un exemple d’application correctement formatée:

sudo -u www-data php occ app:check-code notifications
App is compliant - awesome job!

Si votre application a des problèmes, la sortie ressemblera à ceci:

sudo -u www-data php occ app:check-code foo_app
Analysing /var/www/owncloud/apps/files/foo_app.php
4 errors
   line   45: OCP\Response - Static method of deprecated class must not be
   called
   line   46: OCP\Response - Static method of deprecated class must not be
   called
   line   47: OCP\Response - Static method of deprecated class must not be
   called
   line   49: OC_Util - Static method of private class must not be called

Vous pouvez obtenir le chemin d’accès complet d’une application:

sudo -u www-data php occ app:getpath notifications
/var/www/owncloud/apps/notifications

Sélecteur des tâches d’arrière-plan

Utilisez la commande background pour sélectionner le programmateur à utiliser pour contrôler les tâches d’arrière-plan : Ajax, Webcron ou Cron. C’st la même chose que d’utiliser la section Cron sur votre page d’administration:

background
 background:ajax       utilise ajax pour exécuter les tâches d'arrière-plan
 background:cron       utilise cron pour exécuter les tâches d'arrière-plan
 background:webcron    utilise webcron pour exécuter les tâches d'arrière-plan

Cet exemple sélectionne Ajax:

sudo -u www-data php occ background:ajax
  Set mode for background jobs to 'ajax'

Les deux autres commandes sont :

  • background:cron
  • background:webcron

Consulter Tâches d’arrière-plan pour en savoir plus.

Commandes config

Les commandes config sont utilisées pour configurer le serveur ownCloud:

config
 config:app:delete      supprime une valeur de configuration d'une application
 config:app:get         récupère une valeur de configuration d'une application
 config:app:set         définit une valeur de configuration d'une application
 config:import          importe une liste de configurations
 config:list            Liste toutes les configurations
 config:system:delete   supprime une valeur de configuration système
 config:system:get      récupère une valeur de configuration système
 config:system:set      définit une valeur de configuration système

Vous pouvez lister toutes les valeurs de configurations en une seule commande:

sudo -u www-data php occ config:list

Par défaut, les mots de passe et autres données sensibles sont omis du rapport, ainsi le rapport peut être publié publiquement (par exemple, pour un rapport de bogue). Afin de générer un rapport complet contenant toutes les valeurs de configuration, l’option --private doit être ajoutée:

sudo -u www-data php occ config:list --private

Le contenu exporté peut aussi être importé à nouveau pour permettre la configuration rapide pour des instances similaires. La commande d’import effectue seulement l’ajout ou la mise à jour de valeurs. Les valeurs qui existent dans la configuration courante, mais pas dans la configuration qui est importée, ne sont pas modifiées:

sudo -u www-data php occ config:import filename.json

Il est aussi possible d’importer des fichiers distants:

sudo -u www-data php occ config:import < local-backup.json

Note

Bien qu’il soit possible de mettre à jour, définir ou supprimer les versions et états d’installation des applications, et ownCloud lui-même, il n’est pas recommandé de faire ceci directement. Utilisez plutôt les commandes occ app:enable, occ app:disable et occ update.

Obtention d’une seule valeur de configuration

Ces commandes récupère une seule valeur de configuration d’une application ou du système:

sudo -u www-data php occ config:system:get version
9.0.0.19

sudo -u www-data php occ config:app:get activity installed_version
2.2.1

Définition d’une seule valeur de configuration

Ces commandes définissent une seule valeur de configuration d’une application ou du système:

sudo -u www-data php occ config:system:set logtimezone
--value="Europe/Berlin"
System config value logtimezone set to Europe/Berlin

sudo -u www-data php occ config:app:set files_sharing
incoming_server2server_share_enabled --value="yes" --type=boolean
Config value incoming_server2server_share_enabled for app files_sharing set to yes

La commande config:system:set crée la valeur si elle n’existe pas déjà. Pour mettre à jour une valeur, ajouter --update-only:

sudo -u www-data php occ config:system:set doesnotexist --value="true"
--type=boolean --update-only
Value not updated, as it has not been set before.

Veuillez noter que pour définir une valeur booléenne, flottante ou entière dans le fichier de configuration, vous devez spécifier le type de votre commande. Ceci s’applique seulement à la commande config:system:set. Voici la liste des types :

  • boolean
  • integer
  • float
  • string (par défaut)

Si vous voulez par exemple désactiver le mode de maintenance, lancez la commande suivante:

sudo -u www-data php occ config:system:set maintenance --value=false
--type=boolean
ownCloud is in maintenance mode - no app have been loaded
System config value maintenance set to boolean false

Définition d’un tableau de valeurs de configuration

Certaines configurations (comme les domaines de confiance) sont des tableaux de données. Afin de définir (ou de récupérer) la valeur d’une clé, vous devez spécifier plusieurs noms de config séparés par des espaces:

sudo -u www-data php occ config:system:get trusted_domains
localhost
owncloud.local
sample.tld

Pour remplacer sample.tld par example.com trusted_domains => 2 doit être défini:

sudo -u www-data php occ config:system:set trusted_domains 2
--value=example.com
System config value trusted_domains => 2 set to string example.com

sudo -u www-data php occ config:system:get trusted_domains
localhost
owncloud.local
example.com

Suppression d’une seule valeur de configuration

Ces commandes suppriment une seule valeur de configuration d’une application ou du système:

sudo -u www-data php occ config:system:delete maintenance:mode
System config value maintenance:mode deleted

sudo -u www-data php occ config:app:delete appname provisioning_api
Config value provisioning_api of app appname deleted

Par défaut, la commande delete ne signalera pas si la configuration n’avait pas été définie auparavant. Si vous voulez en être informé, ajouter l’option --error-if-not-exists:

sudo -u www-data php occ config:system:delete doesnotexist
--error-if-not-exists
Config provisioning_api of app appname could not be deleted because it did not
exist

Commandes Dav

Un ensemble de commandes pour créer des carnets d’adresses, des agendas, et pour migrer des carnets d’adresses de la version 8.2 à la version 9.0:

dav
 dav:create-addressbook        crée un carnet d'adresses DAV
 dav:create-calendar           crée un agenda DAV
 dav:sync-birthday-calendar    synchronise l'agenda des anniversaires
 dav:sync-system-addressbook   synchronise les utilisateurs vers le carnet d'adresses
                               système

La syntaxe pour dav:create-addressbook et dav:create-calendar est dav:create-addressbook [utilisateur] [nom]. Cet exemple crée le carnet d’adresses mollybook pour l’utilisateur molly:

sudo -u www-data php occ dav:create-addressbook molly mollybook

Cet exemple crée un nouvel agenda pour molly:

sudo -u www-data php occ dav:create-calendar molly mollycal

Molly les verra immédiatement sur ses pages Agenda et Contacts.

Dans la version 9.0, le serveur CalDAV a été intégré au cœur du système. Vos agendas et carnets d’adresses devraient être migrés automatiquement lors de la mise à jour. Si qulque chose se passe mal, vous pouvez essayer de les migrer manuellement. Supprimez d’abord tout aganda ou carnet d’adresses partiellement migrés. Lancez ensuite cette commande pour migrer les contacts de l’utilisateur:

sudo -u www-data php occ dav:migrate-addressbooks [user]

Lancez cette commande pour migrer les agendas:

sudo -u www-data php occ dav:migrate-calendars [user]

Consulter ownCloud 9.0 - calendar migration analysis pour obtenir de l’aide sur le dépannage et rapporter des problèmes.

dav:sync-birthday-calendar ajoute tous les anniversaires à votre agenda des carnets d’adresses partagés avec vous. Cet exemple synchronise votre agenda à partir de celui de bernie:

sudo -u www-data php occ dav:sync-birthday-calendar bernie

dav:sync-system-addressbook synchronise tous les utilisateurs vers le carnet d’adresses système:

sudo -u www-data php occ dav:sync-system-addressbook

Ajouté dans la version 9.0.

Conversion de base de données

Le système de base de données SQLite et très bien pour les tests et pour les serveurs ownCloud avec un seul utilisateur n’utilisant pas de client de synchronisation. Pour les serveurs de production avec plusieurs utilisateurs, vous devez utiliser MariaDB, MySQL ou PostgreSQL. Vous pouvez utiliser occ pour convertir votre base SQLite vers l’un de ces système de gestion de base de données.

db
 db:convert-type           convertit la base de données ownCloud vers le nouveau
                           type configuré
 db:generate-change-script génère le script de modification à partir de la base de données
                           actuellement connectée vers db_structure.xml

Vous avez besoin :

  • d’installer le système de gestion de base de données désiré et son connecteur PHP ;
  • du nom et du mot de passe d’une administrateur du moteur de base de données ;
  • du port du moteur de base de données si celui-ci n’est pas le port standard.

Cet exemple convertit une base SQLite en une base MySQL/MariaDB:

sudo -u www-data php occ db:convert-type mysql oc_dbuser 127.0.0.1
oc_database

Pour une explication plus détaillée, veuillez consulter Conversion du moteur de base de données

Chiffrement

occ contient un jeu de commandes complet pour la gestion du chiffrement:

encryption
 encryption:change-key-storage-root   change la racine de stockage des clés
 encryption:decrypt-all               désactive le chiffrement côté serveur et
                                      déchiffre tous les fichiers
 encryption:disable                   désactive le chiffrement
 encryption:enable                    active le chiffrement
 encryption:enable-master-key         active la clé maîtresse. Seulement disponible
                                      pour de nouvelles installations sans donnée
                                      chiffrée existante ! Il n'y a pas de moyen de
                                      désactiver ceci après.
 encryption:encrypt-all               chiffre toues les fichiers pour tous les utilisateurs
 encryption:list-modules              liste tous les modules de chiffrement disponibles
 encryption:migrate                   migration initiale en chiffrement 2.0
 encryption:set-default-module        définit le module de chiffrement par défaut
 encryption:show-key-storage-root     affiche la racine de stockage des clés
 encryption:status                    affiche l'état actuel du chiffrment

encryption:status indique si le chiffrement est activé et affiche le module de chiffrement par défaut. Pour activer le chiffrement, vous devez d’abord activer l’application Encryption, puis exécuter encryption:enable:

sudo -u www-data php occ app:enable encryption
sudo -u www-data php occ encryption:enable
sudo -u www-data php occ encryption:status
 - enabled: true
 - defaultModule: OC_DEFAULT_MODULE

La commande encryption:change-key-storage-root déplace vos clés de chiffrement vers un nouveau répertoire. Elle accepte un seul argument, nouvelleRacine, qui définit votre nouveau répertoire. Le répertoire doit exister et le chemin doit être relatif à votre répertoire racine d’ownCloud :

sudo -u www-data php occ encryption:change-key-storage-root ../../etc/oc-keys

Vous pouvez consulter l’emplacement actuel de votre répertoire de clés avec la commande:

sudo -u www-data php occ encryption:show-key-storage-root
Current key storage root:  default storage location (data/)

encryption:list-modules affiche les modules de chiffrement disponibles. Vous ne verrez cette liste que si l’application Encryption est activée. Utilisez encryption:set-default-module [nom du module] pour définir le module désiré.

encryption:encrypt-all chiffre tous les fichiers de données pour tous les utilisateurs. Vouos devez auparavant passer votre serveur en mode single-user pour empêcher toute activité des utilisateurs jusqu’à ce que le chiffrement soit terminé.

encryption:decrypt-all déchiffre tous les fichiers de données des utilisateurs. Peut aussi déchiffrer les données d’un seul utilisateur:

sudo -u www-data php occ encryption:decrypt freda

Les utilisateurs doivent avoir activé leur clé de récupération sur leur page personnelle. Vous devez d’abord passer votre serveur en mode single-user pour empêcher toute activité des utilisateurs jusqu’à ce que le déchiffrement soit terminé.

Use encryption:disable to disable your encryption module. You must first put your ownCloud server into single-user mode to prevent any user activity.

encryption:enable-master-key crée une nouvelle clé maîtresse qui est utilisée pour toutes les données utilisateur à la place des clés utilisateur individuelles. Ceci est particulièrement utile pour mettre en place le single-sign on. À n’utiliser que sur de nouvelles installations sans données existantes ou sur les systèmes sur lesquels le chiffrement n’a pas encore été activé. Il n’est pas possible de désactiver ceci.

encryption:migrate migre les clés de chiffrement après une mise à jour majeure d’ownCloud. Vous pouvez aussi spécifier des utilisateurs individuels dans une liste séparés par des espaces.

Consulter Configuration du chiffrement pour en apprendre plus.

Fédération

Note

Cette commande n’st disponible que si l’application Fédération (federation) est activée.

Synchronise les carnets d’adresses de tous les serveurs ownCloud fédérés:

federation:sync-addressbooks  synchronise les carnets d'adresses de tous les
                              serveurs ownCloud fédérés

À compter de la version 9.0 d’ownCloud, les serveurs connectés avec des partages fédérés peuvent partager les carnets d’adresses de leurs utilisateurs et proposent l’auto-complétion des noms d’utilisateurs dans les dialogues de partage. Utilisez cette commande pour synchroniser les serveurs fédérés:

sudo -u www-data php occ federation:sync-addressbooks

Ajouté dans la version 9.0.

Opérations sur le fichiers

occ dispose de trois commandes pour la gestion de fichiers dans ownCloud:

files
 files:cleanup              vide le cache de fichiers
 files:scan                 re-balaye le système de fichiers
 files:transfer-ownership   tous les fichiers et dossiers sont transférés vers
                            un autre utilisateur - les partages sont aussi déplacés. (Ajouté dans la version 9.0)

La commande files:scan balaye le système de fichiers pour identifier les nouveaux fichiers et met à jour le cache de fichiers. Vous pouvez re-balayer tous les fichiers, par utilisateur, avec une liste d’utilisateurs séparés par des espaces et limiter le chemin de recherche. Si vous n’utilisez pas l’option --quiet, des statistiques seront affichées à la fin du balayage:

sudo -u www-data php occ files:scan --help
  Usage:
  files:scan [-p|--path="..."] [-q|--quiet] [-v|vv|vvv --verbose] [--all]
  [user_id1] ... [user_idN]

Arguments:
  user_id               balaye tous les fichiers du (des) utilisateur(s) indiqué(s)

Options:
  --path                limite le balayage à l'utilisateur ou au chemin donné
  --all                 balaye tous les fichiers de tous les utilisateurs connus
  --quiet               supprime toute sortie
  --verbose             les fichiers et les répertoires sont affichés pendant
                        le balayage
  --unscanned           analyse seulement les fichiers non analysés précédemment

Les niveaux de verbosité -vv ou -vvv sont automatiquement redéfinis à -v.

Note pour l’option –unscanned : En général, il y a une tâche de fond (à l’aide de cron) qui fera ce balayage périodiquement. L’option –unscanned rend possible de déclencher ceci en ligne de commande.

Lors de l’utilisation de l’option --path, le chemin doit être constitué des éléments suivants:

"id_utilisateur/files/chemin"
  ou
"id_utilisateur/files/nom_du_montage"
  ou
"id_utilisateur/files/nom_du_montage/chemin"

où le terme files est obligatoire.

Exemple:

--path="/alice/files/Musique"

Dans l’exemple ci-dessus, l’identifiant d’utilisateur alice est déterminé implicitement à partir du chemin donné.

Les paramètres --path, --all et [id_utilisateur] sont exclusifs - un seul peut être spécifié à la fois.

files:cleanup nettoie le cache de fichiers en supprimant toutes les entrées de fichiers n’ayant pas d’entrées correspondantes dans la table de stockage.

Vous pouvez transférer tous ls fichiers et partage d’un utilisateur vers un autre. Ceci est utile avant de supprimer un utilisateur:

sudo -u www-data php occ files:transfer-ownership <utilisateur-source>
<utilisateur-destination>

Fichiers externes

Ces commandes remplacent le fichier de configuration data/mount.json utilisé dans les versions ownCloud antérieures à la version 9.0.

Note

Ces commandes ne sont disponibles que si l’application « External storage support » (files_external) est activée.

Les commandes pour la gestion des stockages externes sont:

files_external
 files_external:applicable  gère les utilisateurs et groupe d'un montage
 files_external:backends    affiche les méthodes d'authentification et les
                            services de stockage disponibles
 files_external:config      gère le service de configuration d'un montage
 files_external:create      crée une nouvelle configuration de montage
 files_external:delete      supprime un montage externe
 files_external:export      exporte les configurations de montage
 files_external:import      importe les configurations de montage
 files_external:list        liste les montages configurés
 files_external:option      gère les options de montage d'un point de montage
 files_external:verify      vérifie la configuration du montage

Ces commandes répliquent la fonctionnalité de l’interface Web d’ownCloud avec deux fonctionnalités supplémentaires : files_external:export et files_external:import.

Utilisez files_external:export pour exporter tous les points de montage administrateur sur la sortie standard et files_external:export [id_utilisateur] pour exporter les points de montage de l’utilisateur ownCloud spécifié.

Utilisez files_external:import [nom du fichier] pour importer les anciennes configurations JSON et pour copier les configurations de montages externes sur un autre serveur ownCloud.

Ajouté dans la version 9.0.

Vérification d’intégrité

Les applications identifiées comme officielles DOIVENT être signées numériquement à compter de la version 9.0 d’ownCloud. Les applications officielles non signées ne seront plus installable. La signature du code est optionnelle pour toutes les applications tierces:

integrity
 integrity:check-app                 vérifie l'intégrité d'une application en utilisant une signature
 integrity:check-core                vérifié l'intégrité du cœur du système en utilisant une signature
 integrity:sign-app                  signe une application en utilisant une clé privée
 integrity:sign-core                 signe le cœur du système en utilisant une clé privée

Après la création de votre clé, signez une application comme dans l’exemple ci-après:

sudo -u www-data php occ integrity:sign-app --privateKey=/Users/lukasreschke/contacts.key --certificate=/Users/lukasreschke/CA/contacts.crt --path=/Users/lukasreschke/Programming/contacts

Vérifiez votre application:

sudo -u www-data php occ integrity:check-app --path=/pathto/app appname

Si rien n’est renvoyé, votre application a été signée correctement. Si un message est renvoyé, c’est qu’il y a une erreur. Consultez Code Signing dans le manuel du développeur pour des informations plus détaillées.

integrity:sign-core est uniquement destiné aux développeurs d’ownCloud.

Consulter Signature du code pour en apprendre plus.

Ajouté dans la version 9.0.

l10n, création de fichiers de traduction Javascript pour les applications

Cette commande sert aux développeurs d’application pour mettre à jour leur mécanisme de traduction à partir des version ownCloud 7, 8 et supérieures.

Commandes LDAP

Note

Ces commandes sont disponibles seulement quand l’application « LDAP user and group backend » (user_ldap) est activée.

Vous pouvez lancer les commandes LDAP suivantes avec occ:

ldap
 ldap:check-user               vérifie si un utilisateur existe dans l'annuaire LDAP.
 ldap:create-empty-config      crée une configuration LDAP vide
 ldap:delete-config            supprime une configuration LDAP existante
 ldap:search                   exécute une recherche sur un utilisateur ou un groupe
 ldap:set-config               modifie une configuration LDAP
 ldap:show-config              affiche la configuration LDAP
 ldap:show-remnants            affiche les utilisateurs qui n'existent plus dans l'annuaire
                               LDAP mais pou lequels il reste des traces dans ownCloud.
 ldap:test-config              teste une configuration LDAP

Rechercher un utilisateur LDAPen utilisant cette syntaxe:

sudo -u www-data php occ ldap:search [--group] [--offset="..."]
[--limit="..."] search

Cet exemple recherche dans l’attribut givenNames les valeurs commençant par « rob »:

sudo -u www-data php occ ldap:search "rob"

Ceci trouvera robbie, roberta, and robin. Pour élargir la recherche, pour trouver jeroboam par exemple, ajouter le méta-caractère astérisque:

sudo -u www-data php occ ldap:search "*rob"

Les attributs de recherche utilisateur sont définis avec ldap:set-config (ci-dessous). Par exemple, si vos attributs de recherche sont givenName et sn, vous pouvez trouver les utilisateurs avec le nom et le prénom très rapidement. Par exemple, vous trouverez Terri Hanson en recherchant te ha. Les espaces finaux sont ignorés.

Vérifier l’existence d’un utilisateur LDAP. Ceci ne fonctionne que si le serveur ownCloud ext connecté à un serveur LDAP:

sudo -u www-data php occ ldap:check-user robert

ldap:check-user ne lancera pas de recherche s’il trouve une connexion LDAP désactivée. Ceci empêche que les utilisateurs existant sur des connexions LDAP désactivées soient marqués comme supprimés. Si vous êtes certain que l’utilisateur que vou cherchez n’est pas dans l’une des connexions désactivées et existe sur une connexion active, utilisez l’option --force pour forcer à vérifier toutes les connexions LDAP actives:

sudo -u www-data php occ ldap:check-user --force robert

ldap:create-empty-config crée une configuration LDAP vide. La première que vous créez n’a pas de configID, comme dans cet exemple:

sudo -u www-data php occ ldap:create-empty-config
  Created new configuration with configID ''

C’est un reliquat des premiers jours, quand il n’y avait pas d’option pour créer des configurations supplémentaires. La seconde configuration et toutes les suivantes auront un identifiant:

sudo -u www-data php occ ldap:create-empty-config
   Created new configuration with configID 's01'

Vous pouvez alors lister et afficher vos configurations:

sudo -u www-data php occ ldap:show-config

Ou afficher la configuration pour un seul configID:

sudo -u www-data php occ ldap:show-config s01

ldap:delete-config [configID] supprime une configuration LDAP existante:

sudo -u www-data php occ ldap:delete  s01
Deleted configuration with configID 's01'

La commande ldap:set-config sert à manipuler les configurations, comme dans cet exemple qui définit les attributs de recherche:

sudo -u www-data php occ ldap:set-config s01 ldapAttributesForUserSearch
"cn;givenname;sn;displayname;mail"

ldap:test-config teste si la configuration est correcte et si la connexion au serveur se fait:

sudo -u www-data php occ ldap:test-config s01
The configuration is valid and the connection could be established!

ldap:show-remnants sert à nettoyer les tables de correspondance LDAP et est documenté dans Purge des utilisateurs LDAP.

Commandes pour les journaux

Ces commandes permettent d’afficher et de configurer les préférences de journaux d’ownCloud:

log
 log:manage     gère la configuration des journaux
 log:owncloud   manipule le service de journaux d'ownCloud

Exécuter log:owncloud pour voir l’état en cours:

sudo -u www-data php occ log:owncloud
Log backend ownCloud: enabled
Log file: /opt/owncloud/data/owncloud.log
Rotate at: disabled

Utilisez l’option --enable pour activer le fichier journal. Utilisez --file pour définir un chemin d’accès au fichier différent. Mettez en place la rotation des fichiers en indiquant la taille en octets avec --rotate-size. 0 désactive la rotation.

log:manage définit le service de journalisation, le niveau de journalisation et le fuseau horaire. Les paramètres par défaut sont : owncloud, Warning et UTC. Les options disponibles sont les suivantes :

  • –backend [owncloud, syslog, errorlog]
  • –level [debug, info, warning, error]

Commandes de maintenance

Utilisez ces commandes quand vous mettez à jour ownCloud, quand vous gérez le chiffrement, quand vous réalisez des sauvegardes ou des tâches qui nécessitent d’empêcher l’activité des utilisateurs jusqu’à ce que vous ayez terminé:

maintenance
 maintenance:mimetype:update-db       met à jour la base de données des types MIME
                                      et le cache de fichiers
 maintenance:mimetype:update-js       met à jour mimetypelist.js
 maintenance:mode                     définit le mode de maintenance
 maintenance:repair                   répare cette installation
 maintenance:singleuser               définit le mode utilisateur unique

maintenance:mode verrouille les sessions de tous les utilisateurs connectés, y compris les administrateurs, et affiche un message d’avertissement indiquant que le serveur est en mode maintenance. Les utilisateurs qui ne sont pas déjà connectés ne pourront le faire qu’après la fin de la maintenance. Quand vous sortez le serveur du mode maintenance, les utilisateurs connectés doivent recharger leur page en cours pour continuer à travailler:

sudo -u www-data php occ maintenance:mode --on
sudo -u www-data php occ maintenance:mode --off

Passer le serveur en mode utilisateur unique, permet aux administrateurs de se connecter et de travailler, mais pas les autres utilisateurs. C’est utile pour faire de la maintenance ou du dépannage sur un serveur en cours d’exécution:

sudo -u www-data php occ maintenance:singleuser --on
Single user mode enabled

Pour revenir en mode normal:

sudo -u www-data php occ maintenance:singleuser --off
Single user mode disabled

La commande maintenance:repair se lance automatiquement pendant les mises à jour pour nettoyer la base de données. Bien que vous puissiez la lancer manuellement, il n’est généralement pas utile de le faire:

sudo -u www-data php occ maintenance:repair

maintenance:mimetype:update-db met à jour la base de données d’ownCloud et le cache de fichiers avec les types MIME modifiés trouvés dans config/mimetypemapping.json. Lancez cette commande après avoir modifié config/mimetypemapping.json. Si vous modifiez un type MIME, exécutez maintenance:mimetype:update-db --repair-filecache pour appliquer les modifications aux fichiers existants.

Sécurité

Utilisez ces commandes pour gérer les certificats SSL du serveur. C’est utile quand vous créez des partages fédérés avec d’autres serveurs ownCloud utilisant des certificats auto-signés:

security
 security:certificates         liste les certificats de confiance
 security:certificates:import  importe les certificats de confiance
 security:certificates:remove  supprime les certificats de confiance

Cet exemple liste les certificats installés:

sudo -u www-data php occ security:certificates

Importer un nouveau certificat:

sudo -u www-data php occ security:import /path/to/certificate

Supprimer un certificat:

sudo -u www-data php occ security:remove [certificate name]

Modes Shibboleth (Édition Entreprise seulement)

Note

Cette commande n’est disponible que lorsque l’application « Shibboleth user backend » (user_shibboleth) est activée.

shibboleth:mode définit votre mode Shibboleth à notactive, autoprovision ou ssoonly:

shibboleth:mode [mode]

Corbeille

Note

Cette commande n’est disponible que lorsque l’application « Deleted files » (files_trashbin) est activée.

trashbin
 trashbin:cleanup   purge les fichiers supprimés
 trashbin:expire    expiration des corbeilles utilisateurs

La commande trashbin:cleanup supprime les fichiers supprimés des utilisateurs spécifiés dans une liste séparés par des espaces, ou de tous les utilisateurs si aucun n’est spécifié:

sudo -u www-data php occ trashbin:cleanup
Remove all deleted files
Remove deleted files for users on backend Database
 freda
 molly
 stash
 rosa
 edward

Cet exemple purge les fichiers supprimés de molly et freda:

sudo -u www-data php occ trashbin:cleanup molly freda
Remove deleted files of   molly
Remove deleted files of   freda

trashbin:expire supprime seulement les fichiers expirés en fonction du paramètre trashbin_retention_obligation du fichier config.php (voir la section Fichiers supprimés dans Paramètres de Config.php). Par défaut, les fichiers expirés sont supprimés pour tous les utilisateurs, ou vous pouvez indiquer une liste d’utilisateurs séparés par des espaces.

Commandes utilisateurs

La commande user crée et supprime les utilisateurs, réinitialise les mots de passe, affiche un rapport simple indiquant combien d’utilisateurs vous avez et quand un utilisateur s’est connecté pour la dernière fois:

user
 user:add            ajoute un utilisateur
 user:delete         supprime l'utilisateur spécifié
 user:lastseen       affiche quand l'utilisateur s'est connecté pour
                     la dernière fois
 user:report         affiche le nombre d'utilisateurs ayant un accès
 user:resetpassword  réinitialise le mot de passe de l'utilisateur spécifié

Vous pouvez créer un utilisateur avec son nom d’affichage, son nom de connexion et l’appartenance à un groupe avec la commande user:add. La syntaxe est la suivante:

user:add [--password-from-env] [--display-name[="..."]] [-g|--group[="..."]]
uid

display-name correspond au Nom complet sur la page personnelle de l’utilisateur dans l’interface Web et uid correspond au compte de connexion. Cet exemple ajoute le nouvel utilisateur Layla Smith et l’ajoute aux groupes users et db-admins. Les groupes qui n’existent pas seront créés:

sudo -u www-data php occ user:add --display-name="Layla Smith"
  --group="users" --group="db-admins" layla
  Enter password:
  Confirm password:
  The user "layla" was created successfully
  Display name set to "Layla Smith"
  User "layla" added to group "users"
  User "layla" added to group "db-admins"

Rendez-vous sur la page Utilisateurs pour voir le nouvel utilisateur.

password-from-env permet de définir le mot de pase utilisateur à partir d’une variable d’environnement. Ceci empêche l’exposition du mot de passe à tous les utilisateurs via la liste des processus et ne sera visible que dans l’historique de l’utilisateur (root) exécutant la commande. Cela permet aussi de créer des scripts pour ajouter plusieurs utilisateurs.

Pour utiliser password-from-env vous devez être le root « réel » plutôt que sudo, car sudo ne récupère pas les bonnes variables. Cet exemple ajoute l’utilisateur Fred Jones:

export OC_PASS=newpassword
su -s /bin/sh www-data -c 'php occ user:add --password-from-env
  --display-name="Fred Jones" --group="users" fred'
The user "fred" was created successfully
Display name set to "Fred Jones"
User "fred" added to group "users"

Vous pouvez réinitialiser le mot de passe de tout utilisateur, y compris ceux des administrateurs (voir Réinitialisation d’un mot de passe administrateur perdu):

sudo -u www-data php occ user:resetpassword layla
  Enter a new password:
  Confirm the new password:
  Successfully reset password for layla

Vous pouvez aussi utiliser password-from-env pour réinitialiser les mots de passe:

export OC_PASS=newpassword
su -s /bin/sh www-data -c 'php occ user:resetpassword --password-from-env
  layla'
  Successfully reset password for layla

Pour supprimer un utilisateur:

sudo -u www-data php occ user:delete fred

Afficher la dernière connexion d’un utilisateur:

sudo -u www-data php occ user:lastseen layla
  layla's last login: 09.01.2015 18:46

Générer un rapport succinct indiquant le nombre d’utilisateurs, y compris ceux d’un système d’authentification externe comme LDAP:

sudo -u www-data php occ user:report
+------------------+----+
| User Report      |    |
+------------------+----+
| Database         | 12 |
| LDAP             | 86 |
|                  |    |
| total users      | 98 |
|                  |    |
| user directories | 2  |
+------------------+----+

Versions

Note

Cette commande n’est disponible que si l’application « Versions » (files_versions) est activée.

Utilisez cette commande pour supprimer des versions de fichiers pour des utilisateurs spécifiques ou pour tous les utilisateurs quand aucun n’est spécifié:

versions
 versions:cleanup   supprime les versions
 versions:expire    expiration des versions de fichiers des utilisateurs

Utiliser versions:cleanup pour supprimer les versions les plus anciennes pour des utilisateurs spécifiques (en conservant les versions les plus récentes), ou pour tous les utilisateurs si aucun n’est spécifié.

Cet exemple supprime toutes les versions pour tous les utilisateurs:

sudo -u www-data php occ versions:cleanup
Delete all versions
Delete versions for users on backend Database
  freda
  molly
  stash
  rosa
  edward

Vous pouvez supprimer des versions pour des utilisateurs spécifiques dans une liste séparés par des espaces:

sudo -u www-data php occ versions:cleanup freda molly
Delete versions of   freda
Delete versions of   molly

``versions:expire`` supprime seulement les versions ayant expiré en fonction du
paramètre ``versions_retention_obligation`` dans le fichier ``config.php`` (voir la
section Versions de fichiers dans :doc:`config_sample_php_parameters`). Par défaut,
les versions de fichiers ayant expiré sont supprimées pour tous les utilisateurs, ou
vous pouvez indiquer une liste d'utilisateurs séparés par des espaces.

Installation en ligne de commande

Ces commandes sont disponibles uniquement après avoir téléchargé et décompressé l’archive ownCloud, sans avoir effectué d’étape d’installation.

Vous pouvez installer ownCloud entièrement en ligne de commande. Après avoir téléchargé l’archive et copié ownCloud dans le répertoire désiré, ou après avoir installé le paquet d’ownCloud packages (Consulter Méthode d’installation préférée pour Linux et Manuel d’installation pour Linux), vous pouvez utiliser les commandes occ au lieu de lancer l’assistant d’installation graphique.

Appliquez les permissions correctes sur les répertoires d’ownCloud (voir Renforcement des permissions de répertoires). Ensuite, choisissez vos options``occ``. Ceci liste les options disponibles:

sudo -u www-data php /var/www/owncloud/occ
ownCloud is not installed - only a limited number of commands are available
ownCloud version 9.0.0

Usage:
 [options] command [arguments]

Options:
 --help (-h)           affiche ce message d'aide
 --quiet (-q)          ne renvoie aucun message de sortie
 --verbose (-v|vv|vvv) augmente la verbosité des messages : 1 normal,
                       2 plus verbeux, 3 débogage
 --version (-V)        affiche la version de cette application
 --ansi                force la sortie en ANSI
 --no-ansi             désactive ANSI pour la sortie
 --no-interaction (-n) ne pose pas de question interactive

Available commands:
 check                 vérifie les dépendances de l'environnement serveur
 help                  affiche l'aide pour une commande
 list                  liste les commandes
 status                affiche des informations d'état
 app
 app:check-code        vérifie la conformité du code
 l10n
 l10n:createjs         crée des fichiers JavaScript de traduction pour une application donnée
 maintenance
 maintenance:install   installe ownCloud

Affichage des options de maintenance:install:

sudo -u www-data php occ help maintenance:install
ownCloud is not installed - only a limited number of commands are available
Usage:
 maintenance:install [--database="..."] [--database-name="..."]
[--database-host="..."] [--database-user="..."] [--database-pass[="..."]]
[--database-table-prefix[="..."]] [--admin-user="..."] [--admin-pass="..."]
[--data-dir="..."]

Options:
 --database               type de la base de données(par défaut : "sqlite")
 --database-name          nom de la base de données
 --database-host          nom d'hôte du serveur de base de données(par défaut : "localhost")
 --database-user          nom d'utilisateur pour se connecter à la base de données
 --database-pass          mot de passe pour l'utilisateur de la base de données
 --database-table-prefix  préfixe pour toutes les tables (par défaut : oc_)
 --admin-user             Nom d'utilisateur de l'administrateur (par défaut : "admin")
 --admin-pass             mot de passe du compte administrateur
 --data-dir               chemin d'accès au répertoire data (par défaut :
                          "/var/www/owncloud/data")
 --help (-h)              affiche ce message d'aide
 --quiet (-q)             ne renvoie aucun message de sortie
 --verbose (-v|vv|vvv)    augmente la verbosité des messages : 1 normal,
                          2 plus verbeux, 3 débogage
 --version (-V)           affiche la version de cette application
 --ansi                   force la sortie en ANSI
 --no-ansi                désactive ANSI pour la sortie
 --no-interaction (-n)    ne pose pas de question interactive

Cet exemple termine l’installation:

cd /var/www/owncloud/
sudo -u www-data php occ maintenance:install --database
"mysql" --database-name "owncloud"  --database-user "root" --database-pass
"password" --admin-user "admin" --admin-pass "password"
ownCloud is not installed - only a limited number of commands are available
ownCloud was successfully installed

Les base de données gérées sont:

- sqlite (SQLite3 - pas pour l'Édition Entreprise)
- mysql (MySQL/MariaDB)
- pgsql (PostgreSQL)
- oci (Oracle - Édition Entreprise seulement)

Mise à jour en ligne de commande

Ces commandes sont disponibles uniquement après avoir téléchargé et décompressé l’archive ownCloud ou installé les paquets, et avant de commencer la mise à jour.

Liste toutes les options, comme cet exemple sous CentOS Linux:

sudo -u apache php occ upgrade -h
Usage:
upgrade [--skip-migration-test] [--dry-run] [--no-app-disable]

Options:
--skip-migration-test  passe outre la simulation de migration de schéma de la base de données
                       et fait la mise à jour directement
--dry-run              ne lance que la simulation de migration de schéma de la base de données
                       et ne fait pas la mise à jour
--no-app-disable       passe outre la désactivation des applications tierces
--help (-h)            affiche ce message d'aide
--quiet (-q)           ne renvoie aucun message de sortie
--verbose (-v|vv|vvv)  augmente la verbosité des messages : 1 normal,
                       2 plus verbeux, 3 débogage
--version (-V)         affiche la version de cette application
--ansi                 force la sortie en ANSI
--no-ansi              désactive ANSI pour la sortie
--no-interaction (-n)  ne pose pas de question interactive

Quand vous réalisez une mise à jour de votre serveur ownCloud (voir la section Maintenance de ce manuel), il est préférable d’utiliser occ plutôt que l’interface graphique pour réaliser l’étape de la mise à jour de la base de données, ce afin d’éviter les dépassements de temporisation. Les scripts PHP invoqués à partir de l’interface Web sont limités à 3600 seconds. Sur de très gros environnements, cela peut ne pas être suffisant, laissant le système dans un état incohérent. Après avoir réalisé toutes les étapes préliminaires (voir Comment mettre à jour votre serveur ownCloud) utilisez cette commande pour mettre à jour votre base de données, comme dans cet exemple pour CentOS Linux. Veuillez noter la façon dont les étapes sont détaillées:

sudo -u www-data php occ upgrade
ownCloud or one of the apps require upgrade - only a limited number of
commands are available
Turned on maintenance mode
Checked database schema update
Checked database schema update for apps
Updated database
Updating <gallery> ...
Updated <gallery> to 0.6.1
Updating <activity> ...
Updated <activity> to 2.1.0
Update successful
Turned off maintenance mode

L’activation de la verbosité affiche les horodatages:

sudo -u www-data php occ upgrade -v
ownCloud or one of the apps require upgrade - only a limited number of commands are available
2015-06-23T09:06:15+0000 Turned on maintenance mode
2015-06-23T09:06:15+0000 Checked database schema update
2015-06-23T09:06:15+0000 Checked database schema update for apps
2015-06-23T09:06:15+0000 Updated database
2015-06-23T09:06:15+0000 Updated <files_sharing> to 0.6.6
2015-06-23T09:06:15+0000 Update successful
2015-06-23T09:06:15+0000 Turned off maintenance mode

S’il y a une erreur, une exception est renvoyée qui sera détaillée dans le fichier journal d’ownCloud. Vous pouvez donc utiliser la sortie standard pour savoir ce qui s’est passé ou pour ouvrir un rapport de bogue:

Turned on maintenance mode
Checked database schema update
Checked database schema update for apps
Updated database
Updating <files_sharing> ...
Exception
ServerNotAvailableException: LDAP server is not available
Update failed
Turned off maintenance mode

Avant de terminer la mise à jour, ownCloud exécute d’abord une simulation en copiant toutes les tables de la base de données vers de nouvelles tables, et réalise la mise à jour sur celles-ci pour s’assurer que la mise à jour se terminera correctement. Les tables copiées sont supprimées après la mise à jour. Ceci prend deux fois plus de temps, ce qui sur de grosses installations peut prendre plusieurs heures. Vous pouvez donc omettre cette étape en utilisant l’option --skip-migration-test option:

sudo -u www-data php occ upgrade --skip-migration-test

Vous pouvez réaliser cette simulation manuellement avec l’option --dry-run:

sudo -u www-data php occ upgrade --dry-run

Authentification à deux facteurs

Si une application d’authentification à deux facteurs est activée, elle l’est pour tous les utilisateurs par défaut (bien que l’application puisse décider si l’utilisateur doit s’y conformer). Dans le cas où un utilisateur perd son accès au deuxième facteur (par un téléphone perdu avec une vérification SMS à deux facteurs), l’administrateur peut temporairement désactiver cette vérification à deux facteurs pour cet utilisateur avec la commande occ :

sudo -u www-data php occ twofactor:disable <utilisateur>

Pour réactiver l’authentification à deux facteurs, utiliser la commande suivante :

sudo -u www-data php occ twofactor:enable <utilisateur>

Désactivation d’utilisateurs

Les administrateurs peuvent désactiver les utilisateurs avec la commande occ :

sudo -u www-data php occ user:disable <utilisateur>

Et avec cette commande pour les réactiver :

sudo -u www-data php occ user:enable <utilisateur>

Veuillez noter qu’une fois les utilisateurs désactivés, leurs navigateurs en session seront déconnectés.

Toute la documentation est sous licence Creative Commons Attribution 3.0 Unported license — Traduction : Cédric Corazza.