Utiliser Nextcloud
Nextcloud est un service similaire à Dropbox ou Google Drive, mais contrairement à ces derniers, les données hébergées restent privées et non pas confiée à une entreprise aux buts douteux1).
Vous pouvez récupérer et échanger des fichiers (photos, textes, etc) de deux façons :
- soit en passant par le web,
- soit en installant un client chez vous et en synchronisant un de vos dossiers avec ce qu'il y a dans le “cloud”.
La première solution est parfaite pour un besoin très ponctuel, mais dès qu'il y a besoin de récupérer/envoyer beaucoup de données, installer un client est plus pratique, car il va envoyer et télécharger tranquillement, sans prendre toute la bande passante et en pouvant s'interrompre et reprendre sans souci.
Passer par le web
C'est la façon la plus simple de récupérer un fichier ou un dossier, par exemple les photos de vacances d'un de vos amis.
Si vous avez reçu une adresse du type https://liev.re/cloud/s/PQJWx4Wv7Jnxic (exemple sur l'instance liev.re), vous devriez arriver sur une page similaire à la capture d'écran suivante :
S'il s'agit juste de récupérer des photos, cliquez sur Télécharger
(n°2) pour télécharger tout le dossier, ou bien sur les 3 points (n°4) puis Télécharger
(N°7) pour télécharger juste un des fichiers.
Si vous souhaitez envoyer un dossier ou un fichier, ce sera le petit +
(n°3) à cliquer.
En détail :
- 1 : si vous avez un compte nextcloud (sur cette instance ou une autre), en cliquant sur ce lien, vous pourrez entrer votre nom d'utilisateur et le nom de l'instance (
moi@liev.re
par exemple) et le dossier en question sera synchronisé depuis votre propre compte. - 2 : vous permet de télécharger tout le dossier dont les fichiers ci-dessous sont listés, en général dans un zip.
- 3 : ce petit
+
discret permet d'ajouter des dossiers et fichiers directement via l'interface web, même si vous n'avez pas de compte. L'option n'est pas forcément accessible, cela dépend des droits que vous donne la personne ayant transmis le lien. - 4 : en cliquant sur les trois petits points
…
, vous allez ouvrir un menu propre au fichier sur la même ligne. Si vous avez les droits, vous pourrez donc :- 5 : le renommer
- 6 : le déplacer, par exemple dans un autre dossier
- 7 : le télécharger, utile si un seul fichier dans la liste vous intéresse
- 7 : le détruire (assurez-vous que cela ne va pas poser de souci).
Installer un client
Pour installer le client, rendez-vous sur https://nextcloud.com/install/#install-clients et téléchargez le client suivant votre système (Windows, Mac, Linux), puis installez-le.
Une fois l'installation finie, il faut lier le client à un compte. Certaines instances Nextcloud permettent de s'inscrire soit-même, mais généralement, il faut demander un compte à la personne qui possède le serveur (probablement celle qui vous a envoyé un lien Nextcloud). Dans ce cas, demandez les trois informations suivantes, que vous rentrerez lors de l'ajout du compte sur votre client :
- L'adresse du serveur (par exemple https://liev.re/cloud )
- Le nom d'utilisateur (par exemple
moi
) - Le mot de passe ; si votre administrateur vous l'envoie, changez-le en passant par l'interface web du cloud en vous connectant puis en cliquant en haut à droite sur l'icone d'engrenage >
personnel
et dans les options de la page, changez le mot de passe.
Le client propose de choisir un dossier sur votre ordinateur : c'est dans celui-là qu'il va ensuite synchroniser ce qu'il va trouver sur le cloud.
À partir de ce moment, vous pouvez laisser le client tourner en arrière-plan. Sur votre ordinateur, allez dans le dossier que vous avez lié au cloud, vous verrez apparaître de nouveaux dossiers et fichiers, et tout ce que vous mettrez dans ce dossier sera synchronisé vers le cloud.
Attention aux effacements: tout ce que vous ajoutez sera ajouté sur le serveur, mais tout ce que vous effacerez le sera aussi, pour tous ceux qui ont accès à ce répertoire partagé. Cela n'efface pas que chez vous, dès l'instant où vous êtes dans ce répertoire partagé.
Vous pouvez donc faire un dossier “PhotosAvril”, mettre toutes vos photos d'avril, puis aller faire autre chose tandis que le client va tranquillement envoyer les photos au serveur. Cela peut prendre du temps mais ça finit par se faire.
Manipulation de sysadmin
Ce qui suit concerne uniquement les personnes qui gèrent un service nextcloud. En tant qu'utilisateur basique, ça ne sert à rien ;)
Manipuler les fichiers hors client
Pour envoyer ou déplacer beaucoup de fichiers, c'est parfois plus simple de ne pas passer par le client.
Utilisation classique de rsync (qui doit être installée sur les deux serveurs, visiblement). La commande suivante depuis le serveur final :
rsync -av serveur:/home/user/image /var/www/cloud/data/user/files/Photos/
Ou de scp sinon sur le serveur initial :
scp -r origine serveur:destination
Ensuite, pour que la base de donnée de Nextcloud soit à jour, il faut rescanner le dossier. L'user est celui de nextcloud, même casse. En cas de doute, regarder dans nextcloud/data/
:
cd /var/www/cloud/ sudo -u www-data php occ files:scan User
Ou pour scanner uniquement une partie du dossier :
sudo -u www-data php occ files:scan --path="data/user/files/Photos"
Générer des vignettes
Si on a récupéré pleins de photos, autant générer les vignettes. Sinon c'est lorsque que quelqu'un visite la page, et pour les visiteurs ça va être looooong.
Il faut installer l'application Preview Generator. Ensuite, encore en ligne de commande à la racine du cloud :
sudo -u www-data php occ preview:generate-all -vvv
Mais pour moi, ça n'avais pas fait le tour des users… Donc, dans ce cas :
sudo -u www-data php occ preview:generate-all User
C'est long, mais ça marche.
Installation
CF https://docs.nextcloud.com/server/20/admin_manual/installation/source_installation.html (attention à la version pour laquelle c'est valide).
Liste des paquets recommandés, pour Debian :
- PHP. Note que php-fpm est recommandé.
php php-fpm php-curl php-cli php-gd php-xsl php-json php-intl php-pear php-imagick php-dev php-common php-mbstring php-zip php-soap php-bz2 php-apcu php-memcached php-redis php-bcmath php-gmp php-dompdf
- Gestion du cache, des vidéos, etc.
redis-server ffmpeg
La doc préconisent d'autres trucs mais je ne sais pas où c'est sur debian…
Côté bdd :
sudo apt install mariadb-server mariadb-client php-mysql
Passe en root et paramétrer mariadb
sudo -i mysql_secure_installation
Restauration, import d'une ancienne bdd
Se connecter à mysql
mysql -u root -p
Créer la bdd et son user, recharger et quitter:
create database cloud ; GRANT ALL ON cloud.* TO clouduser@localhost IDENTIFIED BY 'motdepasse' ; FLUSH PRIVILEGES; exit;
Ensuite importer la bdd :
mysql -u root -p -D cloud < cloud.sql
Et si l'import fonctionne, on ne peux pas dire que ce soit un succès puisqu'il enregistre ça sous le nom d'origine de la bdd, et recrée son user, sans pour autant les associer. Savez pas ?
Sécurité
Dans le vhost apache2), ajouter les lignes suivantes :
# Sécurité Nextcloud Header set X-Robots-Tag "none" Header set X-Download-Options "noopen" Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"