{{tag>xenial cloud sauvegarde}} ====== Installation d'un serveur ownCloud ====== Cette page traite de l'installation d'un serveur ownCloud. Pour consulter des informations sur l'utilisation comme utilisateur, veuillez consulter les pages [[:ownCloud]] et son fork [[:nextcloud#clients|Nextcloud]]. La migration d'un serveur owncloud à nextcloud est décrite [[:nextcloud-serveur#migration_d_un_serveur_owncloud_en_serveur_nextcloud|sur la page nextcloud-serveur]] ===== Dépôts officiels d'ownCloud ===== L'installation est très simple, des paquets pour ownCloud sont disponibles pour les [[:versions]] supportées d'Ubuntu sur [[https://download.owncloud.org/download/repositories/stable/owncloud/|download.owncloud.org]]. Par exemple pour une installation sur Ubuntu 16.10 : Installez la clef du dépôt wget -nv https://download.owncloud.org/download/repositories/stable/Ubuntu_16.10/Release.key -O Release.key sudo apt-key add - < Release.key Ajoutez le dépôt et installez le serveur ownCloud sudo sh -c "echo 'deb http://download.owncloud.org/download/repositories/stable/Ubuntu_16.10/ /' > /etc/apt/sources.list.d/owncloud.list" sudo apt-get update sudo apt-get install owncloud-files Votre serveur est maintenant accessible à l'adresse http://localhost/owncloud/ (si vous accédez à la page depuis le serveur, sinon remplacer localhost par l'IP du serveur). Vous devez créer un compte à la première connexion. Si le serveur se plaint de dépendances non satisfaites, redémarrer le serveur web : "sudo service apache2 reload". Pour activer les connexions sécurisées à votre serveur Apache (https) : sudo a2enmod ssl sudo a2ensite default-ssl sudo service apache2 reload Connectez-vous maintenant via l'adresse https://localhost/owncloud/. Dans le menu Administration, c'est-à-dire sur la page https://localhost/owncloud/index.php/settings/admin, cochez la case "Forcer HTTPS". Vous pourriez avoir besoin de [[:tutoriel/comment_creer_un_certificat_ssl|créer un certificat tls/ssl]] si ce n'est déjà fait. Sur **Ubuntu 16.04 LTS** : Si vous ne parvenez pas à atteindre votre interface par http://localhost/owncloud , créez un lien symbolique pour remonter du dossier /usr/www/html où vous êtes enfermé(e). sudo ln -s /var/www/owncloud /var/www/html/owncloud Avec Owncloud 10.* : Cette version ne peut plus être installée de cette façon car il n'y a plus de méta-paquet installant toutes les dépendances automatiquement. Maintenant il faut connaître et trouver toutes les dépendances manuellement... ===== Installation manuelle ===== ==== Préambule ==== Pour des raisons de sécurité et **surtout** si le service est accessible depuis Internet, il est recommandé de suivre les différentes releases (versions) proposées par le projet ownCloud. Effectivement, les releases sont souvent le fruit de corrections de failles de sécurité. Fin juin 2012, le projet OwnCloud publiait la release 4.0.3. En comparaison, le dépôt Universe ne propose que la release 3.0.0. Une bonne façon de suivre cette évolution consiste à s'abonner au flux RSS du projet ([[http://owncloud.org/blogfeed/]]) ==== Pré-requis ==== Il vous faudra avoir installé au préalable : * [[:apache2|apache]] * [[:php]] * [[:git]] * Si besoin, installer [[:mysql]], sinon la base de données utilisée sera sqlite. ==== Installation ==== Depuis un [[:terminal]], saisissez les [[:commande_shell|commandes]] suivantes : cd /var/www/ sudo git clone https://github.com/owncloud/core.git owncloud cd owncloud sudo git submodule update --init sudo mkdir data sudo groupadd www-data sudo chgrp www-data data sudo chmod 770 data sudo chgrp www-data config sudo chmod g+w config Puis, dans votre [[:navigateur]], saisissez l'adresse [[http://localhost/owncloud]] (ou l'adresse I.P. du serveur). Introduisez un login et mot de passe dans les boîtes correspondantes et vérifiez dans la boîte "Avancé" que le dossier des données est correct (logiquement oui). =====Sécurisation===== [[:adduser|Créer un utilisateur]] dédié à cet usage, tout en l'ajoutant au groupe **www-data** serait un plus.\\ On peut s'inspirer de cette méthode : [[:tutoriel/reverse_ssh#creation_d_un_utilisateur_dedie_sur_le_poste_serveur|#creation_d_un_utilisateur_dedie_sur_le_poste_serveur]] ==== Sécurisation par HTTPS ==== Une petite modification du fichier .htaccess (/var/www/owncloud/.htaccess) permet de rediriger les accès non sécurisés (HTTP) vers leur équivalent sécurisé (HTTPS). Ceci va **garantir que les communications** entre le client et le serveur au travers de l'Internet **sont chiffrées**. Ainsi, on **évite** les interceptions et **le vol des paramètres d'identification**. RewriteEngine on RewriteCond %{HTTPS} !=on RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L] RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization},last] Il existe une seconde méthode qui consiste à modifier le fichier de configuration de l'installation de ownCloud ( par défaut /var/www/owncloud/config/config.php). Dans le tableau $CONFIG, ajouter la ligne : 'forcessl' => true, Il est intéressant d'aller voir dans le même répertoire le fichier config.sample.php qui décrit les options possibles. ==== Sécurisation des données ==== __Attention, par défaut, Apache2 ne prend pas les "overrides"__, ce qui se traduit par une inefficacité du .htaccess du dossier data et donc la possibilité d'accéder aux fichiers des utilisateurs librement, depuis le web. Pour corriger cette faille : Sauvegardez le fichier de configuration sudo cp -p /etc/apache2/apache2.conf /etc/apache2/apache2.conf.orig Puis ouvrez apache2.conf sudo nano /etc/apache2/apache2.conf Dans la section '''', Cherchez "**Allow Override None**" et changez-le en **All**. En clair, vous voulez voir ceci Options Indexes FollowSymLinks AllowOverride All Require all granted ===== Problème(s) connu(s) ===== ==== Permission de téléverser ==== Si vous avez le message d'erreur suivant : Vous n'avez pas la permission de téléverser ou de créer des fichiers ici Ouvrir un terminal au nom de l'utilisateur d'owncloud, allez à la racine du serveur ownCloud, puis utilisez les commandes suivante : ~owncloud/ sudo chmod u+x occ occ files:scan --all ==== ...same user... ==== Si vous avez ce message d'erreur : Console has to be executed with the same user as the web server is operated Current user: root Web server user: "user" C'est que vous ne vous êtes pas logué sur le bon utilisateur, ouvrez un terminal au nom du "user" puis recommencez la manipulation. ===== Voir aussi ===== * [[http://owncloud.org/|Site officiel]] * [[http://demo.owncloud.org/|Démonstration]] sur le site officiel * [[http://geekdefrance.fr/2012/01/17/tuto-remplacer-dropbox-par-une-alternative-libre-owncloud/|Tutoriel: remplacer dropbox par une alternative libre owncloud]] sur Geekdefrance.fr * [[https://www.cozy.io/|Cozy Cloud]] une alternative, elle aussi libre, à ownCloud. * [[http://www.it-connect.fr/tutoriels/stockage/cloud/owncloud/|Plusieurs tutoriels sur la mise en place d'ownCloud]] sur IT-Connect ---- //Contributeurs : [[:utilisateurs:davy014]], [[:utilisateurs:bcag2]]//