## page was renamed from CransTechnique/OwnCloud #acl +All:read = ownCloud = {{{#!wiki caution 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 [[https://gitlab.crans.org/nounous/ansible | 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 [[ https://doc.owncloud.org/server/latest/admin_manual/installation/linux_installation.html | 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 == {{{#!wiki caution 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 : * la compilation PDFLatex * la rédaction de documents * la prévisualisation de PDF * ... 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 [[CransTechnique/ServicesMineurs/Prometheus | Prometheus]]. ---- * CatégorieCrans * CatégoriePagePublique * CatégoriePageNonTerminée