CransWiki:

ownCloud

Cette page contient la documentation technique à destiantion principalement des membres actif⋅ves du Crans. La page pour les utilisateurices est VieCrans/Owncloud

ownCloud est une sorte de Dropbox mais libre. Nous l'avons mis en place sur nos serveurs pour qu'il soit possible de déposer et partager facilement des fichiers. Ce service est accessible via le site https://owncloud.crans.org et par des applications disponibles sur toutes les plateformes (GNU/Linux, Windows, MacOS, Android et iOS).

L'authentification se fait avec vos identifiants Crans habituels (login/ mot de passe identiques à ceux de votre boîte mail).

Installation

Le serveur ownCloud n'est plus dans Debian.

Ansible

Depuis que le serveur a été mis à jour vers Buster, ownCloud est géré via ansible. Il peut être installé via le playbook services_web.yml.

./services_web.yml --limit owncloud-srv.adm.crans.org --check

Si rien ne s'est passé, félicitations vous avez copié-collé une commande trouvée sur le net sans réflechir. Le playbook a été lancé en mode dry-run. Pour véritablement lancer le playbook, retirer l'option --check

Installation à la main

Si vous voulez vraiment savoir comment installer owncloud à la main, suivez la méthode recommandée :

Ajout de la clé de signature à APT

curl -fsSL https://download.opensuse.org/repositories/isv:ownCloud:server:10/Debian_11.0/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/isv_ownCloud_server_10.gpg > /dev/null

Ajout du dépot et installation

echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/server:/10/Debian_11/ /' > /etc/apt/sources.list.d/owncloud.list
apt update
apt install owncloud-complete-files

Le méta paquet owncloud n'existe plus, il faut installer les dépendances à la main. Les dépendances requises sont liées à php7.4.

Lors du premier lancement sur l'interface, il est demandé de créer un utilisateur root, de choisir son mot de passe et de choisir un type de base de données parmi SQLite, MYSQL ou POSTgresql. Cette base de données est celle qui liste les utilisateurs et leurs fichiers. Dans notre cas, la base de données postegresql a été créée sur thot, qui centralise toutes les bases, et le lien est possible via l'option "Adresse URL du serveur".

Une fois la configuration terminée, l'utilisateur est loggué sur sa page personnelle (qui contient par défaut quelques fichiers).

Mode maintenance

Lorsque vous touchez au serveur Owncloud, il peut être de bon alois d'empêcher les utilisateurs de se connecter au service. Pour cela, il existe le mode maintenance. Pour l'activer, il suffit de lancer la commande

sudo -u www-data /var/www/owncloud/occ maintenance:mode --on

Un nouveau message apparaît sur l'interface web pour préciser que le service est en mode maintenance. Aucune application owncloud n'est alors utilisable.

Pour désactiver le mode maintenance, rien de plus simple :

sudo -u www-data /var/www/owncloud/occ maintenance:mode --off

Mise à jour

Via Ansible

Au Crans, on fait gérer les mises à jour des serveurs via Ansible depuis la version Buster de Debian. Pour cela rien de plus simple, il suffit de lancer le playbook upgrade.yml.

Ce playbook en profite aussi pour mettre à jour le service ownCloud via l'utilitaire en ligne de commande occ.

À la main

Lorsque le serveur est mis à jour, il faut parfois faire une opération supplémentaire pour qu'Owncloud remarche. C'est marqué lorsque l'on tente de se connecter sur l'interface web (évidemment, après une mise à jour on teste donc cette information est vue par la nounou ;) ). Il suffit alors de lancer la commande

sudo -u www-data /var/www/owncloud/occ upgrade                                                                    

Si le service a été mis à jour par occ il faudra alors désactiver le mode maintenance

sudo -u www-data /var/www/owncloud/occ maintenance:mode --off

Annuaire LDAP

On souhaite lier owncloud à notre base des adhérents. Pour cela, un administrateur active l'application "LDAP user and group backend" dans l'onglet idoine. Ainsi, dans la page d'administration apparaissent les options de configuration du binding LDAP, que l'on remplit via les données de notre annuaire (la base en lecture seule suffit amplement).

Authentification CAS

L'application pour le CAS est cassée avec ownCloud > 8.2. À voir pour trouver autre chose.

Si l'application CAS pause soucis, pensez à la désactiver :

sudo -u www-data /var/www/owncloud/occ app:disable user_cas

Pour permettre l'authentification via le CAS du crans https://cas.crans.org, un administrateur active l'application https://github.com/owncloud/user_cas. Il suffit ensuite de renseigner les informations de configuration du CAS (adresse, port…) et bien penser à cocher la case qui dit de faire correspondre les utilisateurs du CAS avec les utilisateurs LDAP.

Utilisation du dossier Owncloud du home

Le dossier Crans dans Owncloud correspond au dossier Owncloud dans le home des adhérents.

Owncloud étant exécuté en tant que www-data, il faut qu'il puisse écrire dans le dossier Owncloud du home des adhérents, mais on veut que les adhérents puissent modifier aussi ces fichiers. La solution employée est la suivante, le dossier /home/${user}/Owncloud est monté via sftp dans /home-owncloud/${user} par autofs. Ensuite le dossier /home-owncloud/${user} est utilisé comme stockage externe dans Owncloud.

Montage auto par sftp

Dans /etc/auto.master, /home-owncloud est déclaré utilisant /etc/auto.home-owncloud. /etc/auto.home-owncloud s'occupe de créer et vérifier les permissions de /home-owncloud/${user} et /home/${user}/Owncloud puis monte le dossier. L'authentification se fait via la clef ssh /root/.ssh/id_rsa_all_user. La clef publique de /root/.ssh/id_rsa_all_user est mise dans /etc/ssh/authorized_keys qui est référencé explicitement dans /etc/ssh/sshd_config sur le serveur. Cette clef ne peut se connecter que depuis localhost et seulement pour un montage sftp.

Options supplémentaires

ownCloud peut être enrichi de plusieurs applications, comme :

Les utilisateurs peuvent se partager des fichiers. Pour prévenir les utilisateurs de partages, le serveur SMTP peut être configuré pour envoyer des notifications. Pour l'instant, cette option n'est pas activée.

Fichier de configuration

ownCloud s'installe par défaut dans /var/www/owncloud. Un modèle très complet de fichier de configuration est disponible dans config/config.sample.php.

Dossiers et fichiers par défauts

On modifie les fichiers et les dossiers proposés par défauts dans /var/localhome/skeleton Ces fichiers sont copiés dans le répertoire de l'utilisateur lors de sa première connexion, donc ils ne sont pas mis à jour avec les nouveaux fichiers. Pour l'instant un fichier ReadMe.pdf explique la configuration de base au Crans

Logs

/var/localhome/owncloud.log

Monitoring

Nginx et php7-fpm sont monitorés par monit sur le serveur

Et comme tous les serveurs du Crans, il est monitoré par Prometheus.


CransWiki: CransTechnique/ServicesMineurs/OwnCloud (dernière édition le 2023-10-08 14:24:42 par WikiBleizi)