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.
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 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 créer un certificat tls/ssl si ce n'est déjà fait.
sudo ln -s /var/www/owncloud /var/www/html/owncloud
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 :
- Si besoin, installer mysql, sinon la base de données utilisée sera sqlite.
Installation
Depuis un terminal, saisissez les 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
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 : #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.
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTPS} !=on RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L] RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization},last] </IfModule>
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 <Directory /var/www/>
, Cherchez "Allow Override None" et changez-le en All.
En clair, vous voulez voir ceci
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>
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
- Démonstration sur le site officiel
- Tutoriel: remplacer dropbox par une alternative libre owncloud sur Geekdefrance.fr
- Cozy Cloud une alternative, elle aussi libre, à ownCloud.
- Plusieurs tutoriels sur la mise en place d'ownCloud sur IT-Connect