Tutoriels

Tuto : Nextcloud sur Debian avec nginx

Header Nextcloud

Nextcloud est le fork d’ownCloud lancé par son propre créateur  Frank Karlitschek. Le projet se veut plus ouvert que son prédécesseur et apporte de nouvelles fonctionnalités jusqu’ici disponibles uniquement dans la version entreprise d’ownCloud. Suivez le guide pour installer Nextcloud sur votre serveur !

Pré-requis

  • Un serveur sous Debian/Ubuntu
  • LEMP en place et configuré (voir ce tuto)
  • Un peu de patience…

Création de la base de données

On se connecte à notre base de données en ligne de commande avec l’utilisateur root :

mysql -u root -p

On va maintenant créer une base de données nextcloud ainsi que l’utilisateur associé. Pensez à modifier le mot de passe par celui de votre choix.

CREATE DATABASE nextcloud;
GRANT ALL PRIVILEGES ON nextcloud.*
TO 'nextcloud'@'localhost'
IDENTIFIED BY 'mot_de_passe';
FLUSH PRIVILEGES;
exit;

Retenez bien les informations indiquées car elles seront nécessaires lors de la mise en route de votre installation Nextcloud.

Configuration de nginx

Nous allons partir du principe que la configuration de base de votre serveur nginx est faite. Voici donc un exemple de vhost pour Nextcloud, basé sur les recommandations de la documentation officielle. Nous installons ici Nextcloud sur un sous-domaine cloud.domain.tld avec un certificat généré via Let’s Encrypt.

nano /etc/nginx/sites-enabled/owncloud.conf
upstream php-handler {
    #server 127.0.0.1:9000;
    server unix:/run/php/php7.0-fpm.sock;
}

server {
    listen 80;
    server_name cloud.domain.tld;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    server_name cloud.domain.tld;

    ssl_certificate /etc/letsencrypt/live/domain.tld/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/domain.tld/privkey.pem;

    add_header X-Content-Type-Options nosniff;
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Robots-Tag none;
    add_header X-Download-Options noopen;
    add_header X-Permitted-Cross-Domain-Policies none;

    root /var/www/nextcloud/;

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location = /.well-known/carddav {
      return 301 $scheme://$host/remote.php/dav;
    }
    location = /.well-known/caldav {
      return 301 $scheme://$host/remote.php/dav;
    }

    client_max_body_size 512M;
    fastcgi_buffers 64 4K;

    gzip off;

    error_page 403 /core/templates/403.php;
    error_page 404 /core/templates/404.php;

    location / {
        rewrite ^ /index.php$uri;
    }

    location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
        deny all;
    }
    location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
        deny all;
    }

    location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\.php(?:$|/) {
        include fastcgi_params;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param HTTPS on;
        fastcgi_param modHeadersAvailable true;
        fastcgi_param front_controller_active true;
        fastcgi_pass php-handler;
        fastcgi_intercept_errors on;
        fastcgi_request_buffering off;
    }

    location ~ ^/(?:updater|ocs-provider)(?:$|/) {
        try_files $uri/ =404;
        index index.php;
    }

    location ~* \.(?:css|js)$ {
        try_files $uri /index.php$uri$is_args$args;
        add_header Cache-Control "public, max-age=7200";
        add_header X-Content-Type-Options nosniff;
        add_header X-Frame-Options "SAMEORIGIN";
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Robots-Tag none;
        add_header X-Download-Options noopen;
        add_header X-Permitted-Cross-Domain-Policies none;
        access_log off;
    }

    location ~* \.(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$ {
        try_files $uri /index.php$uri$is_args$args;
        access_log off;
    }
}

Sans oublier de redémarrer nginx pour prendre en compte les modifications :

service nginx restart

Installation de Nextcloud

Nous allons maintenant passer à l’installation de Nextcloud. On va se placer dans le répertoire /var/www, télécharger l’archive de la dernière version et l’extraire. Pensez à vérifier si une nouvelle version est disponible directement sur le site et adaptez les commandes en conséquence.

cd /var/www
wget https://download.nextcloud.com/server/releases/nextcloud-10.0.0.zip
unzip nextcloud-10.0.0.zip

Avant de lancer le setup, nous allons mettre en place les bonnes permissions sur les fichiers de Nextcloud. Pour cela, la documentation officielle propose un petit script à lancer avant d’accéder à la page d’installation.

nano /tmp/nextcloudperms.sh
#!/bin/bash
ocpath='/var/www/nextcloud'
htuser='www-data'
htgroup='www-data'
rootuser='root'

printf "Creating possible missing Directories\n"
mkdir -p $ocpath/data
mkdir -p $ocpath/assets
mkdir -p $ocpath/updater

printf "chmod Files and Directories\n"
find ${ocpath} -type f -print0 | xargs -0 chmod 0640
find ${ocpath} -type d -print0 | xargs -0 chmod 0750

printf "chown Directories\n"
chown -R ${rootuser}:${htgroup} ${ocpath}/
chown -R ${htuser}:${htgroup} ${ocpath}/apps/
chown -R ${htuser}:${htgroup} ${ocpath}/assets/
chown -R ${htuser}:${htgroup} ${ocpath}/config/
chown -R ${htuser}:${htgroup} ${ocpath}/data/
chown -R ${htuser}:${htgroup} ${ocpath}/themes/
chown -R ${htuser}:${htgroup} ${ocpath}/updater/

chmod +x ${ocpath}/occ

printf "chmod/chown .htaccess\n"
if [ -f ${ocpath}/.htaccess ]
 then
  chmod 0644 ${ocpath}/.htaccess
  chown ${rootuser}:${htgroup} ${ocpath}/.htaccess
fi
if [ -f ${ocpath}/data/.htaccess ]
 then
  chmod 0644 ${ocpath}/data/.htaccess
  chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess
fi
cd /tmp
chmod +x nextcloudperms.sh && ./nextcloudperms.sh

Les permissions sont maintenant mises en place sur les fichiers de l’application et nous pouvons passer à la phase finale de l’installation en lançant le wizard d’installation. On se rend donc sur https://cloud.domain.tld pour créer l’utilisateur administrateur et indiquer les paramètres de la base de données créée plus haut.

Nextcloud Wizard


Votre installation de Nextcloud est maintenant terminée. Si vous êtres un habitué d’ownCloud, vous ne devrez pas être trop dépaysé puisque l’interface est strictement identique. Seul un léger refresh graphique a été effectué. N’hésitez pas à parcourir les différents menus pour découvrir les quelques fonctions exclusives à Nextcloud.

Related posts

Répliquer sa sauvegarde Time Machine vers Backblaze

Julien Doclot

Guide : réussir son cable management

Edouard Patout

Logitech Harmony et Google Home : contrôler son téléviseur

Edouard Patout

63 comments

krzysiu 13 décembre 2016 at 9 h 42 min

Bonjour,
Merci pour ce tuto qui est très bien écrit. cependant, je rencontre un problème au redemarrage de nginx après avoir créer le fichier owncloud.conf.
j’ai bien sûr fait le tuto pour installer LEM. mais je ne comprend pas l’erreur, il faut dire que je suis newbie dans ce domaine, est ce quelqu’un pourrais eclairer ma lanterne Merci pour votre aide. Krzysiu
ps : je continu de chercher

Reply
Edouard Patout 13 décembre 2016 at 12 h 38 min

Peux-tu nous donner des informations sur l’erreur remontées au redémarrage de nginx ?

Reply
krzysiu 13 décembre 2016 at 13 h 35 min

Merci de m’avoir répondu… voici :
apres le : service nginx restart
Job for nginx.service failed. See ‘systemctl status nginx.service’ and ‘journalctl -xn’ for details.

puis je fais :journalctl -xn
ce qui donne :
— L’unité (unit) nginx.service a commencé à démarrer.
déc. 13 13:32:29 debian nginx[2079]: nginx: [emerg] BIO_new_file(« /etc/letsencrypt/live/domain.tld/fullchain.pem ») failed (SSL: error:0200
déc. 13 13:32:29 debian nginx[2079]: nginx: configuration file /etc/nginx/nginx.conf test failed
déc. 13 13:32:29 debian systemd[1]: nginx.service: control process exited, code=exited status=1
déc. 13 13:32:29 debian systemd[1]: Failed to start A high performance web server and a reverse proxy server.
— Subject: L’unité (unit) nginx.service a échoué
— Defined-By: systemd
— Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel

— L’unité (unit) nginx.service a échoué, avec le résultat failed.
déc. 13 13:32:29 debian systemd[1]: Unit nginx.service entered failed state.

Et ce que cela te parles ?

Reply
Edouard Patout 13 décembre 2016 at 16 h 19 min

Tu as oublié de remplacer « domain.tld » dans les lignes du certificat SSL 😉

Reply
krzysiu 13 décembre 2016 at 16 h 26 min

J’ai refais quelques tests :
mon nginx à ete configure comme dans ton tuto, j’ai fait un copié collé.
donc le nginx.conf seul fonctionne, mais quand je cree le owncloud.conf comme sue le tuto ca marche pas ;(

Reply
Edouard Patout 13 décembre 2016 at 16 h 32 min

Il faut que tu génères un certificat SSL si tu utilises le fichier de configuration du tutoriel.
Il y a un tuto disponible ici : https://www.pastoutdesuite.fr/certificat-ssl-gratuit-avec-lets-encrypt/

krzysiu 13 décembre 2016 at 18 h 09 min

Merci, j’avance… Pour le moment ce n’est qu’un test donc la sécurité est un peu négligée

Edouard Patout 13 décembre 2016 at 21 h 39 min

Tu n’es bien sûr pas obligé de générer un certificat. Il suffit alors d’écouter sur le port 80 en lieu et place du 443 et d’enlever les 2 lignes associées à la sécurité.

krzysiu 14 décembre 2016 at 8 h 24 min

J’avais compris cette subtilité que tu me confirme, mais maintenant quoi que je fasseil me redirige vers https://localhost/nextcloud avec un enabled to connect.
Je regarde les fichier de .conf, mais je ne vois rien qui fasse ce truc (pour ne pas dire je ne comprend rien ); je vais l’avoir, je vais l’avoir

krzysiu 14 décembre 2016 at 11 h 54 min

J’ai tout réinstaller, maintenant j’arrive a l’ecran de setup, je rentre mon admin et Mdp, il moulinne et ensuite il passe sur http://localhost/nextcloud/index.php/apps/files/ et là 404not found cela doit être un pb dans le nginx.conf je pense

krzysiu 19 décembre 2016 at 17 h 16 min

finalement ça fonctionne. Merci pour ton aide

Edouard Patout 19 décembre 2016 at 18 h 00 min

Heureux de l’entendre !
As-tu fais des manipulations particulières par rapport à l’article ?

Rémi 21 février 2017 at 22 h 59 min

Bonjour, j’ai le même probleme que toi, comment as-tu réussi à le résoudre ?

Antoine 3 février 2017 at 22 h 02 min

Bonjour, et tout d’abord MERCI pour les tutos mis à disposition !!!
Deuxièmement, arrivé à la fin de ce tuto, je n’arrive pas à accéder à cloud.nomdomaine.fr … En effet, je suppose qu’il faut faire une manip au niveau des DNS sur ovh mais je ne sais pas lesquelles…

Pourriez-vous m’éclairer ?

Merci

Reply
Julien Doclot 4 février 2017 at 11 h 56 min

Bonjour,

Il vous suffit d’ajouter un enregistrement de type A pour cloud.nomdomaine.fr qui pointe vers l’adresse IP de votre serveur.

Reply
Antoine 4 février 2017 at 13 h 56 min

Bonjour,

En effet, il suffisait d’attendre la nuit pour la maj des DNS … Quel impatient je suis !

Merci beaucoup pour votre réponse ! (et super site au passage !)

Reply
Julien Doclot 4 février 2017 at 16 h 13 min

En effet, une propagation DNS peut prendre jusqu’à 48h. Normalement, elle est propagée plus vite. Il faut donc toujours attendre un peu avant de tester.

Reply
ATHE GOMEZ 16 mars 2017 at 17 h 24 min

Bonjour g reussi l’installation de nextcloud avec votre tuto.
Cependant g utilisé la version 7 de php. J’ai une erreur que je n’arrive pas a resoudre même en utilisant le document d’installation Pouvez vous m’aider? :

Avertissements de sécurité & configuration

php ne semble pas être configuré de manière à récupérer les valeurs des variables d’environnement. Le test de la commande getenv(« PATH ») retourne seulement une réponse vide.
Veuillez consulter la documentation d’installation ↗ pour savoir comment configurer php sur votre serveur, en particulier en cas d’utilisation de php-fpm.

L’en-tête HTTP « Strict-Transport-Security » n’est pas configurée à « 15552000 » secondes. Pour renforcer la sécurité nous recommandons d’activer HSTS comme décrit dans notre Guide pour le renforcement et la sécurité.

Aucun cache de la mémoire n’est configuré. Si possible, configurez un « memcache » pour augmenter les performances. Pour plus d’information consultez la documentation.

Merci

Reply
hajar 5 avril 2017 at 12 h 25 min

Bonjour j’ai le même probleme que krzyslu , je n’arrive pas à redémarrer Nginx pour qu’il prenne en compte les modifications du fichier de configuration.
Merci de me dire comment puis-je le résoudre

Reply
Clu 22 août 2017 at 16 h 07 min

Bonjour Édouard, j’ai bien suivi ton tuto mais à la dernière étape; après avoir valider les données je me retrouve avec une belle erreur 404 et impossible donc de valider l’installation. Un conseil ?

Reply
Edouard Patout 22 août 2017 at 16 h 16 min

Hello Clu, le problème peut venir de plusieurs choses.
Un 404 indique que nginx n’arrive pas à trouver le fichier d’index que le navigateur essaye d’atteindre. Peux-tu nous donner un aperçu des logs de nginx ?

Reply
Clu 22 août 2017 at 18 h 35 min

J’ai effectué un nouveau test avant de te répondre et je tombe bien sur une 404.
tail -f /var/log/nginx/error.log
2017/08/22 15:08:37 [error] 15610#15610: *1 FastCGI sent in stderr: « Unable to open primary script: /var/www/info.php (No such file or directory) » while reading response header from upstream, client: 192.168.1.15, server: localhost, request: « GET /info.php HTTP/1.1 », upstream: « fastcgi://unix:/run/php/php7.0-fpm.sock: », host: « 192.168.1.16 »
2017/08/22 15:11:35 [error] 15610#15610: *7 directory index of « /var/www/ » is forbidden, client: 192.168.1.15, server: localhost, request: « GET / HTTP/1.1 », host: « 192.168.1.16 »
2017/08/22 15:14:05 [warn] 15711#15711: conflicting server name « localhost » on 0.0.0.0:80, ignored
2017/08/22 15:14:05 [warn] 15714#15714: conflicting server name « localhost » on 0.0.0.0:80, ignored
2017/08/22 15:16:58 [error] 15719#15719: *1 directory index of « /var/www/ » is forbidden, client: 192.168.1.15, server: localhost, request: « GET / HTTP/1.1 », host: « 192.168.1.16 »
2017/08/22 15:17:38 [warn] 416#416: conflicting server name « localhost » on 0.0.0.0:80, ignored
2017/08/22 15:17:38 [warn] 449#449: conflicting server name « localhost » on 0.0.0.0:80, ignored

Dans les erreurs je n’ai que ça.

Reply
Edouard Patout 23 août 2017 at 12 h 00 min

Il faudrait que tu ajoutes deux lignes pour loguer les accès à Nextcloud dans ton fichier de configuration nginx :
access_log /var/log/nginx/nextcloud-access.log combined;
error_log /var/log/nginx/nextcloud-error.log error;

Ensuite tu essayes d’accéder et tu cat les logs ici.

A première je dirais qu’il y a un problème de configuration de ton php. Tu as suivi notre tuto LEMP pour l’installation de celui-ci ?

Reply
Clu 23 août 2017 at 20 h 55 min

J’ai bien suivi le tuto à la lettre c’est justement ça que je comprend pas, j’ai simplement modifier les « domain.tld » par « localhost » avant la mise en production du serveur. Par contre, vu la sortie de Debian 9 pour Raspberry, ne serait il pas intéressant de faire une m-à-j du tuto LEMP et celui pour Nextcloud ? Je suis même prêt à jouer le tipeur pour motiver les troupes lol

Voici les logs:
sudo tail -f /var/log/nginx/error.log
2017/08/22 15:08:37 [error] 15610#15610: *1 FastCGI sent in stderr: « Unable to open primary script: /var/www/info.php (No such file or directory) » while reading response header from upstream, client: 192.168.1.15, server: localhost, request: « GET /info.php HTTP/1.1 », upstream: « fastcgi://unix:/run/php/php7.0-fpm.sock: », host: « 192.168.1.16 »
2017/08/22 15:11:35 [error] 15610#15610: *7 directory index of « /var/www/ » is forbidden, client: 192.168.1.15, server: localhost, request: « GET / HTTP/1.1 », host: « 192.168.1.16 »
2017/08/22 15:14:05 [warn] 15711#15711: conflicting server name « localhost » on 0.0.0.0:80, ignored
2017/08/22 15:14:05 [warn] 15714#15714: conflicting server name « localhost » on 0.0.0.0:80, ignored
2017/08/22 15:16:58 [error] 15719#15719: *1 directory index of « /var/www/ » is forbidden, client: 192.168.1.15, server: localhost, request: « GET / HTTP/1.1 », host: « 192.168.1.16 »
2017/08/22 15:17:38 [warn] 417#417: conflicting server name « localhost » on 0.0.0.0:80, ignored
2017/08/22 15:17:38 [warn] 455#455: conflicting server name « localhost » on 0.0.0.0:80, ignored
2017/08/23 20:48:56 [warn] 1155#1155: conflicting server name « localhost » on 0.0.0.0:80, ignored
2017/08/23 20:48:56 [warn] 1157#1157: conflicting server name « localhost » on 0.0.0.0:80, ignored

Julien Doclot 23 août 2017 at 22 h 34 min

Hello Clu,

Pourrais-tu me dire si tu as d’autres services web qui tournent sur cette machine?

Nous pouvons tout à fait envisager de mettre à jour ce tutoriel pour l’utilisation de Debian 9. Même si au final, cela ne diffère pas beaucoup.

Clu 23 août 2017 at 23 h 02 min

C’est une machine nouvellement installer donc il n’y a rien mise à part les services que le tuto LEMP m’a demander d’installer; sur le serveur qui sera en production il y aura un serveur DNS qui tourneras en parallèle mais ma machine de test est entièrement vierge.
Oui je m’en doute mais vu les nouveautés de Stretch (comme php 7 et mariadb par défaut, etc.), il doit surement y avoir quelques nuances, non ?

Julien Doclot 25 août 2017 at 20 h 07 min

Cela ne change pratiquement rien de Debian 8 à Debian 9. A part ce que tu as cité.

Pour le reste, je vois bien le log « Conflicting server name localhost » donc tu dois avoir deux fichiers de configuration avec localhost à mon avis.

Clu 27 août 2017 at 10 h 33 min

« nextcloud.conf » et « default.conf »

Cku 29 août 2017 at 22 h 09 min

En tout cas j’ai beau fouiller partout sur le net, je trouve pas de solutions :/

Edouard Patout 25 août 2017 at 21 h 25 min

Les erreurs avec le localhost ne sont pas vraiment la cause à mon sens. J’ai ces erreurs de temps en temps sans que ça perturbe le fonctionnement de mon nginx.

Lorsque tu suis le tutoriel LEMP, la page info.php s’affiche correctement ?

Clu 26 août 2017 at 10 h 34 min

Oui bien sûr

green 27 septembre 2017 at 12 h 51 min

Bonjour je suid newbie et j’ai suivi vos tutos lemp et celui-ci sur raspbian lite.
j’ai installé let’s encrypt avec https://www.supinfo.com/articles/single/3558-installer-certificat-ssl-nginx-avec-let-s-encrypt. résultat j’arrive à faire pointer mon domaine en https sur un repertoire dans /var/www/html/nomdurep/index.php dans lequel il y a <?php phpinfo();.
cela marche sans problème sauf que quand je copie dans ce rep les fichier nextcloud 12
là ne considère pas le php de index.php et il me propose le téléchargement de index.php…

à noter que j'ai ajouter les lignes du tuto lemp /etc/nginx/nginx.conf après avoir obtenu un accès fonctionnel à la page index.php dans lequel il y a <?php phpinfo();

je teste chaque ajout avec
sudo nginx -t

puis si c ok
sudo service nginx restart

avec cette technique j'ai du commenter

[code]
# !!!! déclenche une erreur nginx
#location / {
#rewrite ^ /index.php$uri;
#}
location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\.php(?:$|/) {
# !!!! déclenche une erreur nginx
#include fastcgi_params;

fastcgi_split_path_info ^(.+\.php)(/.*)$;

# !!!! déclenche une erreur nginx
#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTPS on;
fastcgi_param modHeadersAvailable true;
fastcgi_param front_controller_active true;

# !!!! déclenche une erreur nginx
#fastcgi_pass php-handler;

fastcgi_intercept_errors on;
fastcgi_request_buffering off;
}
[/code]
les erreurs en lien avec php peuvent venir du fait que j'ai une déclaration php plus bas

pouvez-vous me dire pourquoi nginx refuse d'interpréter index.php de nextcloud alors qu'il interprète index.php dans lequel il y a <?php phpinfo(); ?

merci encore pour votre réponse
green.

Reply
Edouard Patout 27 septembre 2017 at 13 h 16 min

Hello !
Je vous recommande d’utiliser directement notre fichier de configuration.
Ensuite il faut adapter la configuration de php en fonction de votre installation en jouant sur le php handler en début de fichier.

Reply
green 10 octobre 2017 at 13 h 49 min

merci pour cette réponse j’ai effectivement suivi le tuto, j’ai installé nextcloud,
j’arrive à me connecter me balader dans l’interface
mais impossible d’uploader des fichiers « Service Unavaible ».
je me demande si ce n’est pas juste un pb de droits

dans
sudo nano /tmp/nextcloudperms.sh
est-ce qu’il faut changer
rootuser=’root’
par mon nom d’utilisateur raspbian ?
?
car j’ai testé root et mon nom d’utilisateur et j’ai « opération non permise »
quand j’éxécute
sudo chmod +x nextcloudperms.sh && ./nextcloudperms.sh
?
est-ce que le problème d’upload et lié aux des droits sur /nextcloud/data/ ?
et comment modifier ?
( note: je suis arrivée à transmettre une note sur le serveur depuis l’appli android notes mais ensuite celle-ci c’est dupliquer indéfiniment)
avez-vous une solution ?
merci

Reply
Julien Doclot 10 octobre 2017 at 19 h 44 min

Hello !

Quels sont les droits sur le répertoire /nextcloud/data?

Merci

Reply
green 11 octobre 2017 at 12 h 31 min

Bonjour,
sudo ls -l (sur rep nextcloud donne)
drwxr-x— 5 www-data www-data 4096 oct. 11 12:29 data
merci

Julien Doclot 11 octobre 2017 at 19 h 01 min

et que donne un sudo ls -l /nextcloud/data ?

green 11 octobre 2017 at 19 h 11 min

drwxr-xr-x 11 www-data www-data 4096 oct. 8 17:02 appdata_ocnfgmvmtdzx
drwxr-xr-x 7 www-data www-data 4096 oct. 10 10:13 cecile
drwxr-xr-x 2 www-data www-data 4096 oct. 8 16:39 files_external

Julien Doclot 11 octobre 2017 at 19 h 25 min

Donc, c’est bien le service web propriétaire du contenu. C’est correct. Il va falloir regarder d’un autre coté. Quel est le contenu du fichier /tmp/nexcloudperms.sh ?

green 11 octobre 2017 at 19 h 33 min

le même que celui indiqué plus haut dans le tuto

green 11 octobre 2017 at 19 h 38 min

sauf /var/www/html/nextcloud
et si je l’éxécute à nouveau j’ai des « Opération non permise »

Julien Doclot 11 octobre 2017 at 19 h 40 min

Et que disent les logs quand tu essaye d’envoyer un fichier ?

green 11 octobre 2017 at 19 h 42 min

je peux pas envoyer un fichier de log sur le site car celui-ci est trop volumineux 🙂 par mail peut-être ?

green 11 octobre 2017 at 19 h 59 min

« app »: »no app in context », »method »: »PUT », »url »: »\/remote.php\/webdav\/Photos\/temp.jpg », »message »: »Encryption module \ »\ » not found, file will be stored unencrypted (No default encryption module defined) », »userAgent »: »Mozilla\/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) Gecko\/20100101 Firefox\/57.0″, »version »: »12.0.3.3″}

green 11 octobre 2017 at 20 h 00 min

« app »: »webdav », »method »: »PUT », »url »: »\/remote.php\/webdav\/Photos\/temp.jpg », »message »: »Exception: {\ »Exception\ »:\ »Sabre\\\\DAV\\\\Exception\\\\ServiceUnavailable\ »,\ »Message\ »:\ »Encryption not ready: No default encryption module defined\ »,\ »Code\ »:0,\ »Trace\ »:\ »#0 \\\/var\\\/www\\\/html\\\/nextcloud\\\/apps\\\/dav\\\/lib\\\/Connector\\\/Sabre\\\/File.php(159): OCA\\\\DAV\\\\Connector\\\\Sabre\\\\File->convertToSabreException(Object(OC\\\\Encryption\\\\Exceptions\\\\ModuleDoesNotExistsException))

green 12 octobre 2017 at 8 h 47 min

c’est bon le pb est résolu
j’ai suivis certains conseils et j’ai trouvé dans nextcloud
dans administration > chiffrement il était coché « Activer le chiffrement côté serveur « .
cela ne marche si on a pas activé « Default encryption module  » dans « applications ».
merci encore.

Julien Doclot 13 octobre 2017 at 20 h 52 min

Heureux de voir que le problème est résolu !

lilp 12 novembre 2017 at 18 h 05 min

Merci pour le tuto, par contre, je ne comprend par quoi il faut remplacer dans le fichier owncloud.conf la valeur cloud.domain.tld

Reply
Edouard Patout 12 novembre 2017 at 18 h 19 min

Hello 🙂

Il faut que tu remplaces cette valeur par ton domaine à toi, si bien-sûr tu en as un.
Dans le cas où tu utilises une adresse IP, il faut indiquer l’adresse IP par exemple.

Reply
lilp 12 novembre 2017 at 18 h 24 min

L’adresse locale? Ou celle de la box avec une redirection des ports dessus (lequel 443?)?
La partie ssl certificate est aussi à modifier avec notre adresse?

Reply
Edouard Patout 12 novembre 2017 at 18 h 28 min

Tout dépend de ta situation.
Le tuto est ici donné pour une installation sur un serveur sur lequel pointe un domaine. Dans notre exemple : « cloud.domain.tld ».
La partie SSL présentée ici -et comme indiqué dans le tuto- tient compte du fait qu’on a généré un certificat avec Let’s Encrypt (voir le tuto sur notre site).

Si ton Nextcloud est installé derrière ta box, tout dépend de l’usage que tu en feras. Tu peux très bien laisser vide le champ de domaine, nginx captera ainsi tout le traffic arriverant sur le port donné et ne tiendra pas compte du domaine.

Reply
lilp 12 novembre 2017 at 18 h 48 min

Effectivement, il est situé derrière ma box.
Qu’elle est la partie dont je peut faire abstraction?

lilp 12 novembre 2017 at 18 h 54 min

Si nextcloud est derrire ma box mais que je souhaite avoir une connexion en ssl c’eszt possible? Sans domaine?

Edouard Patout 12 novembre 2017 at 19 h 03 min

Non.

lilp 12 novembre 2017 at 19 h 17 min

🙁 avec un no-ip? cela est possible? Je devrais donc mettre mon adresse no-ip a la place de cloud.domaine?

Edouard Patout 12 novembre 2017 at 19 h 21 min

C’est ça 🙂

lilp 12 novembre 2017 at 19 h 26 min

Avec une redirection du port 443 vers mon IP locale j’imagine?

Edouard Patout 12 novembre 2017 at 19 h 27 min

Et 80 pour la validation du domaine.

lilp 12 novembre 2017 at 19 h 41 min

Merci pour l’aide ultra rapide et précise.

Edouard Patout 12 novembre 2017 at 19 h 43 min

C’est un plaisir 😉

lilp 13 novembre 2017 at 19 h 59 min

Est-il possible de modifier l’emplacement des data? Il faut normalement changer le champ directory dans /var/www/nextcloud/config/config.php, mais avec les différents scripts et droits appliqués, comment le changer?

Reply
Edouard Patout 14 novembre 2017 at 16 h 55 min

Oui tout à fait.
Deux choix possibles :
1°) Choisir le répertoire au moment de l’installation (il faut lui mettre les bons droits).
2°) Créer un lien symbolique sur le répertoire Data qui pointera vers le répertoire voulu.

Reply
Ben 14 novembre 2017 at 18 h 27 min

Bonjour,
Tout d’abord merci pour le tuto.
Une petite question cependant. Comment faire pour configurer une adresse de type hhtp://www.mondomaine.fr/nextcloud ?
D’avance merci 🙂

Reply

Leave a Comment

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More