OwnCloud

De Banane Atomic
Aller à la navigationAller à la recherche

Sommaire

Problème de mise à jour

Bash.svg
cd /usr/share/webapps/owncloud
sudo -u http php ./occ upgrade
# Erreur: The posix extensions are required - see http://php.net/manual/en/book.posix.php

# désactiver le mode maintenance
sudo -u http php ./occ maintenance:mode --off

Apps

Ajouts d'Apps

Se connecter avec un compte admin → menu en haut à gauche → + Apps

  • Calendars
  • Documents: édition de fichiers *.odt en ligne
  • Music

Calendrier

Importer un fichier *.ics

  1. Uploader le fichier *.ics
  2. Cliquer sur le fichier

Impossible de supprimer seulement une occurrence d'un événement répétitif

Toutes les occurrences de l'événement sont supprimées sans possibilités d'annulation.

Lister et désactiver les application depuis la ligne de commande

Bash.svg
sudo -u http php /usr/share/webapps/owncloud/occ app:list

sudo -u http php /usr/share/webapps/owncloud/occ app:disable <nameOfExtension>

Taille max des fichiers envoyés / téléchargés

/usr/share/webapps/owncloud/.user.ini
upload_max_filesize=2G
post_max_size=2G
memory_limit=2G

File size limitation in ArchWiki

/etc/nginx/servers/owncloud.conf
# par défaut à 1m
client_max_body_size 5G;
# par défaut à 60s
fastcgi_read_timeout 600s;
Modifier plutôt le fichier .user.ini.
/etc/php/php.ini
; seulement pour l'interface web, mais limité de toute façon à 513MB
; par défaut à 2M
upload_max_filesize = 5G
; par défaut à 8M
post_max_size = 5G

; inutile
max_input_time = 3600
max_execution_time = 3600
output_buffering = 0
memory_limit = 512M
Le bouton Télécharger qui permet de télécharger tous les fichiers d'un dossier en les archivant au sein d'un fichier zip ne fonctionne que si l'archive créée respecte la taille maximale autorisée.

Cache

/etc/webapps/owncloud/config/config.php
'memcache.local' => '\OC\Memcache\APCu',
/etc/php/conf.d/apcu.ini
; pour owncloud
apc.enable_cli=1

Changer de dossier data

/etc/webapps/owncloud/config/config.php
// par défaut /usr/share/webapps/owncloud/data
  'datadirectory' => '/chemin/dossier_data',

Le dossier data doit être

  • accessible en écriture par l'utilisateur http
  • inclus dans open_basedir

Davfs

Accessing Files Using WebDAV

Bash.svg
sudo pacman -S davfs2

# pour owncloud
sudo mount -t davfs https://cloud.mon-domaine.fr/remote.php/webdav /media/cloud

Monter le système de fichier à la connexion d'un utilisateur

Bash.svg
# ajouter l'utilisateur au groupe « network »
sudo gpasswd -a [user] network
# il faut se reloguer pour que le changement soit effectif

# créer le dossier de montage
sudo mkdir /media/cloud
sudo chown [user]:[user] /media/cloud
/etc/fstab
https://cloud.mon-domaine.fr/remote.php/webdav /media/cloud davfs user,noauto 0 0
# https://cloud.mon-domaine.fr/remote.php/webdav /media/cloud davfs uid=username,gid=groupname,file_mode=600,dir_mode=700 0 1
~/.bashrc
# monte le système de fichier à la connexion de l'utilisateur
mount /media/cloud

Clients

OwnCloud Desktop Client (Windows)

Configuration

  • ~/.local/share/data/ownCloud/owncloud.cfg
  • C:\Users\xxx\AppData\Local\ownCloud

Mémorisation du mot de passe

Installer gnome-keyring

Log

Presser F12

Connection Timeouts on Desktop Client

Lors de la synchronisation de gros fichiers (>1G), le client reçoit le message Gateway Time-out.

~/.local/share/data/ownCloud/owncloud.cfg
[General]
timeout=3600

Command Line

Bash.svg
# lancer une synchronisation
owncloudcmd /path/folder https://user:password@server/owncloud/remote.php/webdav/folder

Désinstaller

  • supprimer le dossier %AppData%/ownCloud
  • enlever le dossier owncloud de la sidebar d'explorer
    • regeditHKEY_CURRENT_USER\Software\Classes\CLSID\{6f285bef-5af3-444b-a8da-01b2ce448159}System.IsPinnedToNameSpaceTree = 0
    • regeditHKEY_CURRENT_USER\Software\Classes\CLSIDctrl + F owncloud F3 (suivant)
    • System.IsPinnedToNameSpaceTree = 0

OwnCloud Android Application

Pas de synchronisation entre un dossier local et un dossier distant.

FolderSync Android Application

Erreur Chunked stream ended unexpectedly lors d'envoie de données local vers le serveur distant.

Log

Se connecter avec un compte administrateur → cliquer sur le nom d'utilisateur en haut à droite → Admin → Log

/etc/webapps/owncloud/config/config.php
// 0 = Debug, 1 = Info, 2 = Warning, 3 = Error, and 4 = Fatal. The default value is 2 = Warning
'loglevel' => 2,
// Enables log rotation and limits the total size of logfiles. The default is 0, or no rotation.
// Specify a size in bytes, for example 10 MB = 10 * 1024 * 1024 = 10485760 bytes.
// A new logfile is created with a new name when the old logfile reaches your limit.
// If a rotated log file is already present, it will be overwritten.
'log_rotate_size' => 10485760,

Reset admin password

Bash.svg
sudo -u http php /usr/share/webapps/owncloud/occ user:resetpassword admin

Installation

Bash.svg
pacman -S owncloud php-intl php-mcrypt
Depuis la version 9.x, uwsgi ne fonctionne plus correctement.

Droits d'écritures dans les dossiers

  • /usr/share/webapps/owncloud/apps
  • /etc/webapps/owncloud/config
  • /usr/share/webapps/owncloud/data
Créez le dossier /usr/share/webapps/owncloud/data car il n'existe pas.

Base de données

Mysql.svg
create database owncloud;

create user 'owncloud-user'@'localhost' IDENTIFIED BY 'xxx';

grant all on owncloud.* to 'owncloud-user'@'localhost';

Warnings

php does not seem to be setup properly to query system environment variables

php does not seem to be setup properly to query system environment variables. The test with getenv("PATH") only returns an empty response.
Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm.
/etc/php/php-fpm.d/www.conf
; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from the current environment.
; Default Value: clean env
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
Bash.svg
# restart php-fpm
systemctl restart php-fpm.service

The "Strict-Transport-Security" HTTP header is not configured to least "15768000" seconds

/etc/nginx/servers/owncloud.conf
server {
    # Enable HTTP Strict Transport Security
    add_header Strict-Transport-Security "max-age=15768000; includeSubdomains; preload";
Ceci cause l'erreur suivante, visible dans la WebConsole:
Strict-Transport-Security: The connection to the site is untrustworthy, so the specified header was ignored.

Erreurs

It was not possible to execute the cronjob via CLI

    It was not possible to execute the cronjob via CLI. The following technical errors have appeared:
        Data directory is invalid Please check that the data directory contains a file ".ocdata" in its root.
        Cannot create "data" directory. This can usually be fixed by giving the webserver write access to the root directory.
Bash.svg
# forcer l'utilisation de cron.php et vérifier que le message d'erreur à disparu
sudo -u http php /usr/share/webapps/owncloud/cron.php

# programmer cette tache toutes les 15 minutes
crontab -e

*/15 * * * *    sudo -u http php /usr/share/webapps/owncloud/cron.php

Impossible de supprimer un fichier, file is locked

/etc/webapps/owncloud/config/config.php
// passer en maintenance, à désactiver une fois la requête sql effectuée
  'maintenance' => true,
Mysql.svg
DELETE FROM oc_file_locks WHERE 1

The "X-XSS-Protection" HTTP header is not configured to equal to "1; mode=block"

Par défaut, certain header (dont X-XSS-Protection) sont envoyés dans les réponses, voir le fichier owncloud/lib/private/legacy/response.php:

Bash.svg
curl -I https://cloud.domaine.fr
# X-XSS-Protection: 1; mode=block

Si en plus on ajoute ce header dans le fichier de configuration du serveur, cela va créer un doublon du header et causer l'erreur.

/etc/nginx/nginx.conf
server {

    add_header X-XSS-Protection "1; mode=block";

/dev/urandom is not readable by PHP

/etc/uwsgi/owncloud.ini
; php config
php-set = open_basedir=/tmp/:/usr/share/webapps/owncloud/:/etc/webapps/owncloud/:/dev/urandom

Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken

Désactiver curl

/etc/php/php.ini
;extension=curl.so
Déconseillé: curl est utilisé dans d'autres services web.

Enregistrer le certificat

Bash.svg
cp /etc/ssl/private/server.crt /usr/share/ca-certificates/cloud.mon-domaine.fr.crt
/etc/ca-certificates.conf
cloud.mon-domaine.fr.crt
Bash.svg
# regenerate your certificate store
update-ca-certificates
# redémarrer le serveur
systemctl restart nginx
Cette solution ne semble pas fonctionner

[CURL] Error while making request: Could not resolve host: cloud.mon-domaine.fr (error code: 6) (Sabre_DAV_Exception)

/etc/hosts
127.0.0.1           serveur.mon-domaine.fr	localhost cloud.mon-domaine.fr
::1                 serveur.mon-domaine.fr	localhost cloud.mon-domaine.fr

CURLOPT_FOLLOWLOCATION cannot be activated when an open_basedir is set at /usr/share/webapps/owncloud/3rdparty/Sabre/DAV/Client.php#465

https://github.com/owncloud/core/issues/1916

This ownCloud server can't set system locale to en_US.UTF-8/en_US.UTF8

La langue du système doit être l'en_US

/etc/locale.conf
LANG=en_US.UTF-8
/etc/locale.gen
# décommentez cette ligne
en_US.UTF-8 UTF-8
Bash.svg
# regénérez les locales
sudo locale-gen