Nextcloud : de quoi ai-je besoin ?

nextcloud_logo.png

le 05-07-24 17:27

Bon si vous avez atteri là, il est probablement que vous cherchez un peu d'informations sur Nextcloud. Allons y, si je peux vous en donner un peu :)
Moi j'ai décidé d'utiliser ce cloud en version privée pour stocker les documents et les photos des membres de ma famille. Avec les clients disponibles sur web, pc, mac, iphone ou android, tout le monde va pouvoir l'utiliser comme il lui plait, à la maison ou à distance.

Ce que j'utilise est finalement issu d'une règle simple. Je veux que ce soit : pas cher (pas de folie des grandeurs), pratique et maintenable facilement (enfin presque, les problemes info peuvent souvent etre plus compliqués qu'ils n'y paraissent)
J'ai donc choisi la configuration suivante :

  • un raspberry pi 3+ (j'avais commencé avec un 2, mais c'était trop léger) Je pourrais le changer pour un 4 ou un 5, mais pour l'instant je n'en vois pas l'utilité.
  • 2 sdcard 64go (1 de sauvegarde)
  • 2 disques 1To (perso j'utilise de la recup, des disques mecaniques d'occasions, je n'ai pas besoin d'une mega super rapidité de traitement, mais vous pouvez choisir du ssd). Je dis 2 car j'ai choisi de mettre du raid1
  • le tout propulsé par une raspbian 64b

et c'est tout. Enfin presque...

On ne va pas détailler ici l'installation de la raspbian. Mais on va dire ce que j'ai configuré et installé quand meme.

  1. Cote OS
    J'ai allégé au maximum. Ce miniserveur ne va me servir qu'à Nextcloud. Alors :

    • exit l'interface graphique
    • exit le wifi et le bluetooth (sauf si vous avez des besoins particuliers)
    • la connexion filaire réseau je garde (c'est solide)
    • les deux disques sont installés en raid1 (mirroir) Vive mdstat ! (et il m'a déjà sauvé la vie 2 fois)
  2. Cote soft
    Dans les imperatifs (les versions font référence à celle en cours à l'heure où j'écris) :

    • Nextcloud (v28)
    • Apache2
    • Php (8.2) avec pas mal de modules :
    • php-common php8.2-apcu php8.2-bcmath php8.2-bz2 php8.2-cli php8.2-common php8.2-curl php8.2-fpm php8.2-gd php8.2-gmp php8.2-igbinary php8.2-imagick php8.2-intl php8.2-mbstring php8.2-memcache php8.2-memcached php8.2-msgpack php8.2-mysql php8.2-opcache php8.2-readline php8.2-redis php8.2-xml php8.2-zip
    • Redis server

Et pour une utilisation cool depuis l'extérieur de mon réseau (donc depuis le net), j'ai :

  • Ajouté "Certbot / Letsencrypt" pour le certificat https (mais je crois que l'install se fait par défaut sur raspbian)
  • Ouvert un compte sur "Dynu.com" pour la redirection nom de domaine (gratuit) vers mon reseau privé
  • Installé "Dynu IP client update" depuis leur site ce qui va automatiquement mettre à jour l'adresse IP qui m'est attribué par mon provider (quand celle ci n'est pas fixe evidemment. Si vous avez la chance d'avoir une ip fixe, vous n'en avez pas besoin)

Voilà, ça en fait pas mal, mais vous allez voir qu'en le faisant tranquillement, ca avance sans probleme.
La suite étape par étape dans les billets qui suivent.