OwnCloud est un logiciel libre offrant une plate-forme de services de stockage et partage de fichiers et d’applications diverses en ligne.
Préparation du server Apache
Préparer votre serveur web de telle sorte qu’il faille, selon les recommandations de la documentation d’Owncloud, accéder au cloud via cette adresse moncloud.mondoamine.ext
Créer un Vhost dans apache
Simplement en ouvrant vim, un nouveau fichier se créera :
# vim /etc/apache2/sites-available/cloud.mon-site.fr |
Dans ce fichier :
<VirtualHost *:80> |
Penser à créer le dossier correspondant au DocumentRoot (/home/mon-site.fr/www/owncloud
), à activer le nouveau vhost et à relancer Apache :
# a2ensite cloud.mon-site.fr |
Owncloud a besoin de certains modules pour fonctionner correctement :
# a2enmod rewrite |
Vérifier la configuration d’apache avant de le reload/restart :
# apache2 -t |
ou
# apachectl configtest |
Serveur DNS
Il faut également éditer vos DNS et y ajouter l’entrée :
cloud IN CNAME mon-site.fr |
Normalement vous pouvez dorénavant accéder à cloud.mon-site.fr.
BDD MySQL
Installer la BDD pour owncloud, ici avec MySQL.
# mysql -u root -p <votreMotDePasse> |
Téléchargement de Owncloud et Vérifications
Note : Quand on installe Owncloud via le gestionnaire de paquets apt-get
, il se configure directement dans /var/www
, par contre en utilisant la commande wget
on a le choix de le mettre où on veut.
Source d’installation : https://owncloud.org/changelog/#latest10.0
Téléchargement des éléments
Téléchargement de Owncloud (10), de son MD5, de son SHA et de sa signature PGP (comme ça on a tout) :
# wget https://download.owncloud.org/community/owncloud-10.0.2.tar.bz2 |
Vérification des hash
Vérification du hashage MD5 :
# md5sum -c owncloud-10.0.2.tar.bz2.md5 < owncloud-10.0.2.tar.bz2 |
Vérification du hashage SHA256 :
# sha256sum -c owncloud-10.0.2.tar.bz2.sha256 < owncloud-10.0.2.tar.bz2 |
Vérification de la signature PGP
Vérification de la signature PGP, parce que l’on est jamais trop prudent.
Importation de la clé précédemment téléchargée :
# gpg --import owncloud.asc |
Puis vérification :
# gpg --verify owncloud-10.0.2.tar.bz2.asc owncloud-10.0.2.tar.bz2 |
Il est possible que ce message fasse suite au précédent :
gpg: Attention : cette clef n'est pas certifiée avec une signature de confiance. |
Cela ne signifie PAS que la signature est incorrecte (puisque plus haut gpg
renvoie bien “Bonne signature de ownCloud info@owncloud.com“
Elles indiquent seulement que l’authenticité n’a pas été vérifiée (on ne sait pas QUI a signé et QUI nous a fournis la clé).
Si la signature n’était pas bonne on aurait eu ce message :
gpg: Signature faite le mar. 30 mai 2017 19:25:37 CEST avec la clef RSA d'identifiant F6978A26 |
Si tout correspond, mettez-vous dans le répertoire d’installation de ownCloud et déziper.
Si vous voulez accorder votre confiance à cette clé :
# gpg --edit-key owncloud |
Décidez maintenant de la confiance que vous portez en cet utilisateur pour vérifier les clefs des autres utilisateurs (en regardant les passeports, en vérifiant les empreintes depuis diverses sources, etc.)
1 = je ne sais pas ou n'ai pas d'avis |
Veuillez remarquer que la validité affichée pour la clef n’est pas forcément correcte avant d’avoir relancé le programme.
gpg> quit |
Installer et configurer OwnCloud
Installation
Maintenant vous pouvez extraire votre archive. Mettez vous dans le répertoire d’installation de ownCloud et désarchivez.
# tar -xjf owncloud-10.0.2.tar.bz2 |
Vous avez maintenant un dossier owncloud/
qui contient tous les fichiers nécessaires à son fonctionnement.
On change le chmod
:
# chown -R www-data:www-data /home/mon-site.fr/www/owncloud |
Positionnez-vous dans le répertoire de Owncloud et lancer la commande d’installation :
# su -l www-data -c 'php /home/mon-site.fr/www/owncloud/occ maintenance:install --database "mysql" --database-name "owncloud_db" --database-user "owncloud" --database-pass "databasePass" --admin-user "admin" --admin-pass "NouveauMotDePassPourLeCloud"’ |
Si la commande ne fonctionne pas c’est certainement que le paquet sudo n’est pas installé : apt-get install sudo
Configuration
Dans vim config/config.php
, il faut rajouter le trusted domain vers la ligne 7 :
'trusted_domains' => |
Connexion à OwnCloud
Vous devriez être en mesure de vous connecter au cloud via l’adresse cloud.mon-site.fr avec le compte admin.
Administration
Dans la partie administration il est possible d’avoir ces messages :
Avertissements de sécurité & configuration |
(1) verrouillage transactionnel
Si le serveur de cache Redis n’est pas installé aller directement en (4) avant de revenir.
Après le redémarrage de votre serveur Web, ajoutez la ligne suivante dans le fichier config.php
du dossier config/
'memcache.local' => '\OC\Memcache\Redis', |
Si votre server Redis est situé sur la meme machine que owncloud il est conseillé de lui faire écouter un socket Unix
'memcache.local' => '\OC\Memcache\Redis', |
Note : ne fonctionne pas.
EDIT : dans /etc/redis/redis.conf
32 # Specify the path for the unix socket that will be used to listen for |
Puis restart le server :
# service redis-server restart |
marche toujours pas :/
(2) tâche planifiée système
Il suffit d’activer cron dans l’administration :
(3) le HTTPS
Voir directement la page sur Let’s encrypt
Une fois que le HTTPS est mis, un autre warning apparaît :
L’en-tête HTTP “Strict-Transport-Security” n’est pas configurée à “15552000” secondes. Pour renforcer la sécurité nous recommandons d’activer HSTS.
Il suffit de rentrer cette directive dans Apache :
<IfModule mod_headers.c> |
et de veiller à bien enabled le module header :
# service apache2 reload |
(4) Le cache :
Ici on choisi d’installer php5-apcu, pour les version de PHP5,5++
# apt-get install php5-apcu |
Redémarrage d’Apache
Un simple restart du service.
# service apache2 restart |
Après le redémarrage de votre serveur Web, ajoutez la ligne suivante dans le fichier /config/config.php
:
'memcache.local' => '\OC\Memcache\APCu', |
Le message d’avertissement devrait maintenant avoir disparu.
Note : Le système de cache soulage la BDD
EDIT : Nous allons finalement utiliser Redis, un serveur cache.
Installation de Redis (https://redis.io/)
# apt-get install redis-server |
Normalement l’installeur lancera automatiquement redis-server et le configurera pour être lancé au démarrage. Pour le vérifier faites :
# ps ax | grep redis |
Puis installer php5-redis :
# apt-get install php5-redis |
Redémarrage d’Apache :
# service apache2 restart |
Après le redémarrage de votre serveur Web, ajoutez la ligne suivante dans le fichier /config/config.php
:
'memcache.local' => '\OC\Memcache\Redis', |
Documentation
https://owncloud.org/changelog/#latest10.0
http://docs.ccorazza.fr/9.0/doc_web_admin/html/configuration_files/files_locking_transactional.html
http://docs.ccorazza.fr/9.0/doc_web_admin/html/configuration_server/caching_configuration.html#id4
http://docs.ccorazza.fr/9.0/doc_web_admin/html/configuration_server/caching_configuration.html
https://doc.owncloud.org/server/latest/admin_manual/configuration/server/security_setup_warnings.html
https://redis.io/