Nextcloud

Ubuntu 20.04 – Installation de Nextcloud 20 (Nginx, PHP7-FPM, MariaDB et SSL/TLS)



L’article a été déplacé sur Ubuntu Self-Hosted -> https://ubuntu.self-hosted.fr/installation-nextcloud-nginx-php7-fpm-mariadb-ssl-tls/



35 réponses
  1. tforgione
    tforgione dit :

    Merci pour vos fichiers de config…

    J’avais des problèmes de cycle de redirection avec les fichiers de config de nginx donnés sur le site officiel de nextcloud, mais avec le votre, tout fonctionne !

    Répondre
  2. dj59
    dj59 dit :

    Merci pour votre super tuto, fonctionnel sous Debian 9.5 !

    A la place de l’étape 9.1, il suffit juste d’ajouter les backports dans /etc/apt/sources.list :

    sudo nano /etc/apt/sources.list

    # Debian Stretch, dépôt de rétroportages (« backports »)
    deb http://deb.debian.org/debian/ stretch-backports main

    sudo apt-get install certbot -t stretch-backports

    De plus, pour éviter l’avertissement sur la fuite d’informations suivante :
    L’en-tête HTTP « Referrer-Policy » n’est pas défini sur « no-referrer », « no-referrer-when-downgrade », « strict-origin » ou « strict-origin-when-cross-origin ». Cela peut entraîner une fuite d’informations.

    Il faut ajouter « add_header Referrer-Policy no-referrer; » dans le virtual host /etc/nginx/sites-available/nextcloud après la ligne # Add headers to serve security related headers

    Répondre
  3. burd
    burd dit :

    Bonjour,
    Bravo pour ce tuto qui est de loin le plus clair et détaillé que j’ai pu trouver.
    J’avais déjà un serveur Nextcloud auto-hébergé mais il m’a permis de de corriger ou d’ajouter certaines petites choses.
    J’aurais juste une petite question. Mes besoins évoluant, J’aimerais garder mon reverse proxy via Nginx tout en ayant un accès en local, ce que je n’ai pas actuellement.
    Après documentation j’envisage soit de monter un serveur DNS pour gérer les redirections soit de faire une nouvelle configuration apache2, mais je crains que mes connaissance ne soit trop maigre pour choisir l’option la plus judicieuse.
    Auriez-vous une idée de la démarche à suivre ?

    Répondre
  4. Christian
    Christian dit :

    Quel tuto ! Chapeau bas !
    Cela fonctionne bien sous Linux Mint 19.

    3 questions :

    • Letsencrypt : est-ce que le cron pour le renouvellement est obligatoire ? J’ai lu que la paquet CERTBOT installé s’occupe maintenant de lancer 2 fois par jour via systemd timer.
    • REDIS : ne faut-il pas charger et lancer le service redis ? et ajouter le user nextcloud au groupe redis ? Ou est-ce que votre procédure rend cela caduque ?
    • J’accède bien à nextcloud via mon nom de domaine mais pas par localhost ou l’IP local. localhost me renvoie sur la page d’accueil d’apache (normal). Par contre, localhost/nextcloud semble vouloir pointer sur une page localhost/nextcloud/nextcloud/status.php et j’obtiens une erreur 404 Not found avec nginx en petit sous le message d’erreur.

    Merci pour votre aide et esprit de partage.

    Répondre
    • Edouard WATTECAMPS
      Edouard WATTECAMPS dit :

      Merci Christian,

      Voici mes réponses :

      • En effet vous avez raison. L’installation du paquet certbot ajoute une tâche planifiée permettant le renouvellement des certificats. L’article a été mis à jour dans ce sens.
      • Le service redis est automatiquement lancé après installation du paquet. Nul besoin de le lancer ou de gérer de quelconque droit.
      • J’ai ajouté une section permettant l’accès en local en fin d’article.

      W.

      Répondre
  5. Yann
    Yann dit :

    Un très grand merci pour votre tuto, tout simplement le plus clair que l’on puisse trouver : tout y est parfaitement bien expliqué, vous prenez le temps de dire ce que font les commandes que nous tapons.
    J’ai vraiment pris plaisir à le suivre pour configurer Nextcloud sur mon serveur et tout a marché du premier coup (sauf la configuration du cache des données mais c’était de ma faute, une erreur de syntaxe).
    Je place votre site en favoris. :D

    Répondre
  6. niko
    niko dit :

    Un très bon tuto.
    Je l’utilise depuis déjà plus d’un an, à chaque fois que je monte une instance nextcloud et il reste toujours fonctionnel, simple et efficace.
    Je précise que mes serveurs sont sous debian buster.

    Répondre
  7. Giacomo Angeloni
    Giacomo Angeloni dit :

    Salut, merci pour ce super tuto, tout marche très bien… en local…

    Quand je suis connecté ailleurs que sur ma box (en 4G avec mon téléphone par exemple…) mon serveur est inaccessible…
    J’ai bien redirigé mon nom de domaine vers l’adresse IPV4 de mon routeur (freebox révolution) et redirigé tout le trafic entrant vers mon serveur (pour le test).
    J’ai vu que la plage de ports disponibles sur le routeur ne comprend pas les ports 80 et 443 (qui sont ceux utilisés si j’ai bien compris). Est-il possible d’utiliser d’autres ports personnalisés (compris entre 16384 et 32767) et si oui, comment procéder, quels fichiers modifier ?

    Merci d’avance pour la réponse =P

    P.S. : De plus, l’obtention du certificat SSL/TLS ne marche pas (j’obtiens un request timed out au moment de la vérification). Je pense que cela vient aussi de mon problème de ports…

    Répondre
    • Edouard WATTECAMPS
      Edouard WATTECAMPS dit :

      Bonjour,

      Nous nous éloignons un peu du sujet car Free partage les adresses IP publiques entre plusieurs de leurs abonnés et allouent ainsi une plage de ports à chacun d’eux. Pour contourner ce problème, vous avez deux solutions :

      • la plus simple est d’obtenir une IP unique en suivant la procédure ici
      • la plus contraignante est de spécifier un port différent du port 80 dans la configuration du vhost Nginx, par exemple le port 16384, et ajouter une redirection du port 16384 dans l’interface admin de votre Freebox vers l’IP locale de votre serveur (192.168.1.X). Vous pourrez accéder à votre cloud de l’extérieur via http://cloud.mondomaine.com:16384
        Concernant l’accès en HTTPS et l’obtention du certificat SSL/TLS, vous avez tout à fait raison, cela ne fonctionnera pas. Lors de la génération du certificat, l’outil certbot tente d’accéder à votre serveur via les ports 80 ou 443. Il ne faut pas oublier que HTTPS = 443 donc vous ne pourrez obtenir un certificat SSL/TLS sur un port différent…

      W.

      Répondre
      • Giacomo Angeloni
        Giacomo Angeloni dit :

        Merci pour la réponse précise.

        J’ai finalement utilisé la solution la plus contraignante : rediriger deux des ports disponibles vers les ports 80 et 443 de mon serveur et je me connecte donc en spécifiant le bon port après mon nom de domaine.

        Pour le certificat, je m’en suis créé un auto-signé pour pouvoir profiter du https. Je me connecte ensuite en spécifiant le port de ma box associé au port 443 du serveur.

        Je change de FAI d’ici deux semaines donc je garde cette solution et tenterai de faire quelque chose de plus propre le moment venu.

        En tous cas, merci encore pour les explications et le tuto, tout fonctionne à merveille !

        Répondre
  8. Jacques VALLOIS
    Jacques VALLOIS dit :

    Bonjour et merci pour ce tuto bien clair.

    J’aurais une question : Après avoir suivi les instructions pour accéder en local à mon serveur, ça ne semble fonctionner que si j’ajoute dans le fichier « hosts » des machines à partir desquelles je veux y accéder.
    Est-ce bien normal ?

    Bien cordialement,

    Jacques.

    Répondre
    • Edouard WATTECAMPS
      Edouard WATTECAMPS dit :

      Bonjour,

      Oui c’est tout à fait normal. Votre domaine local « cloud.local » n’est pas du domaine publique et n’est donc pas enregistré auprès d’un fournisseur de noms de domaine. Ce domaine, étant inconnu de vos machines, il est nécessaire d’indiquer et d’associer votre IP locale à ce nom de domaine sur chacune des machines souhaitant accéder à votre serveur via la configuration du fichier hosts.

      Répondre
      • Jacques VALLOIS
        Jacques VALLOIS dit :

        Bonjour et merci pour la réponse.

        Je m’en doutais un peu, mais ne voyant pas cela mentionné, je me demandais s’il n’y avait pas une astuce qui faisait que ça n’était pas utile.

        Du coup, je me demande si c’est faisable pour une tablette avec l’application android ?

        Bien cordialement,

        Jacques.

        Répondre
  9. Assim Raza Nathoo
    Assim Raza Nathoo dit :

    Merci pour ce superbe tuto
    Pourriez-vous svp en faire un aussi dans la continuité de ce tuto pour le déploiement de Collabora Online ?
    Merci d’avance

    Répondre
  10. bakka
    bakka dit :

    super tuto et conf, juste un petit détail il n’est pas utile de préciser
    ssl on;
    avec la directive listen qui à déjà ssl c’est juste deprecated.

    Merci pour la conf. très complète

    Répondre

Trackbacks (rétroliens) & Pingbacks

Laisser un commentaire

Participez-vous à la discussion?
N'hésitez pas à contribuer!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *