{{tag>Logiciel}}
====== Owncloud : une plateforme de services en ligne de stockage et partage de fichiers ======
OwnCloud est un système libre de stockage et partage de fichiers, une alternative à DropBox par exemple.
Dans notre exemple, nous allons créer un serveur de fichiers (ou serveur cloud) sur une Raspberry Pi.
===== Pré-requis =====
- un **serveur HTTP** (LAMP / LEMP / LLMP / ...), éventuellement sur un Raspberry Pi avec un disque dur externe
- Avoir repéré la **version de php** installée :pi@framboise4:~ $ php -version
PHP 7.3.27-1~deb10u1 (cli) (built: Feb 13 2021 16:31:40) ( NTS )
...
- Avoir installé les paquets **[[apt>php7.3-gd,php7.3-sqlite,sqlite]]** ou en ligne de commande :pi@framboise4:~ $ sudo apt install php7.3-{gd,sqlite} sqlite
===== Installation =====
Sur la page **[[https://owncloud.com/fr/telecharger-le-serveur/]]**, paragraphe **Installation source**,
- faites un clic droit sur Télécharger un fichier .ZIP :{{ :logiciel:internet:owncloud:owncloud-01.png?400 |}}
- et cliquez sur **copier l'adresse du lien**.
==== Via FTP ====
- Dans un terminal, placez-vous dans le dossier **~/Téléchargements**, tapez **wget** et collez (avec un clic droit) l’URL copiée :...@...:~ $ cd ~/Téléchargements
...@...:~/Téléchargements$ wget https://download.owncloud.org/community/owncloud-complete-xxxxxxxx.zip
- **Extrayez l'archive** :...@...:~/Téléchargements$ unzip owncloud-complete-xxxxxxxx.zipCela crée le répertoire **~/Téléchargements/owncloud**
- **Via FTP, envoyez ce répertoire owncloud à la racine de l'hébergement**
- Renommez éventuellement le répertoire (par exemple **owncloud -> cloud**)
- Donnez les bonnes permissions au répertoire (ici : cloud) : propriétaire et groupe = www-data:www-data, droits = 770
==== Via SSH (ex : Raspberry) ====
- **Dans votre console ssh, tapez wget et collez (avec un clic droit) l’URL copiée** :pi@framboise4:~ $ wget https://download.owncloud.org/community/owncloud-complete-aaaammjj.zip
- **Extrayez l'archive** :pi@framboise4:~ $ unzip owncloud-complete-20201216.zip
- Copiez les fichiers dans à la racine du serveur :pi@framboise4:~ $ sudo cp -r owncloud /var/www/html
- Réglez les droits sur le répertoire :pi@framboise4:~ $ sudo chown -R www-data:www-data /var/www/html/owncloud/
==== Mise en place du client sur un PC ====
La dernière version du client de synchronisation de ownCloud est téléchargeable sur la page [[https://owncloud.org/install/#install-clients]], pour Linux, Mac OS X et Microsoft Windows.
La documentation du client se trouve ici :[[https://doc.owncloud.org/desktop/2.2/]]
++++ Sous Linux |
Pour synchroniser un PC avec owncloud, installer le paquet **[[apt>owncloud-client]]** ou en ligne de commande :
* sudo apt install owncloud-client
Renseigner :
* l'URL du serveur Cloud :{{ logiciel:internet:owncloud:connexion_owncloud_1.png?600 |}}
* les login et mot de passe :{{ logiciel:internet:owncloud:connexion_owncloud_2.png?600 |}}
Dans l'écran //Option de dossier local//, il est possible de synchroniser tous les fichiers sur le serveur ownCloud ou de sélectionner des dossiers individuels.
Le dossier local de synchronisation par défaut est **ownCloud**, dans le répertoire personnel ; on peut le changer.
{{ logiciel:internet:owncloud:connexion_owncloud_3.png?600 |}}
Le client tente de se connecter au serveur cloud. Quand il y parvient, deux boutons apparaissent : l'un pour se connecter au WebCloud et un pour ouvrir le dossier local.
Il commence également à synchroniser les fichiers.
{{ logiciel:internet:owncloud:connexion_owncloud_4.png?600 |}}
Cliquer sur le bouton Terminer, et c'est tout.
L'icône {{ logiciel:internet:owncloud:owncloud_icone.png |}} apparaît en haut à droite près de l'horloge.
++++
==== Mise à jour ====
Il suffit de remplacer les fichiers par les nouveaux. Les fichiers de configuration ne sont pas touchés.
===== Configuration =====
==== Configuration d'Apache2 ====
- Éditez avec les droits d'administration le fichier **/etc/php5/apache2/php.ini** : cherchez les lignes **post_max_size** et **upload_max_filesize** et donnez-leur une valeur élevée, par exemple **10000M** (**10 Go**).
- Pour que le serveur prenne en charge les fichiers **.htaccess**,
- créez avec les droits d'administration le fichier **/etc/apache2/conf-available/htaccess.conf** en y écrivant :
Options FollowSymLinks
AllowOverride All
Require all denied
AllowOverride All
Require all granted
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
- **Activez cette configuration et redémarrez Apache2** :...@...:~ $ sudo a2enconf htaccess
sudo apachectl restart
==== Configuration d'OwnCloud ====
- **Ouvrez la page du serveur** (ex. d'un Raspberry Pi) :[[http://owncloud.framboise4.parc/]] :{{ :logiciel:internet:owncloud:owncloud-02.png |}}
- **Créez un compte administrateur** : donnez un **nom d'utilisateur** et un **mot de passe**
- Cliquez sur le lien **Stockage & base de données** :{{ :logiciel:internet:owncloud:owncloud-03.png |}}
- le **chemin du répertoire** est pré-renseigné.
- **SQLite** sera utilisé
- Un clic sur %%Terminer l'installation%% redirige sur la page d'accueil du répertoire cloud.
Si vous obtenez un message du genre << Vous accédez au serveur à partir d'un domaine non approuvé.
Veuillez contacter votre administrateur. Si vous êtes l'administrateur, configurez les "trusted_domains" dans config/config.php. Un exemple de configuration est fourni dans config/config.sample.php ou sur la documentation. >>, éditez avec les droits d'administration le fichier **[owncloud]/config/config.php** pour renseigner le paramètre 'trusted_domains', par exemple :
...
'trusted_domains' => [
'demo.example.org',
'otherdomain.example.org',
],
...
==== Autoriser l'upload de gros fichiers ====
Éditez avec les droits d'administration le fichier **/etc/php5/cgi/php.ini** pour modifier deux lignes :
upload_max_filesize = 1024M
post_max_size= 1024M
(ici, on met la limite à 1 Go)
Cherchez la section **extension=** et ajoutez-y **extension=apc.so**
Éditez le fichier **.htaccess** pour modifier le paramètre **max upload** file aux mêmes valeurs que celles définies dans le fichier php.ini.
==== Activer .htaccess et mod_rewrite si on utilise apache ====
Avec le serveur web apache, il est recommandé d'activer les fichiers .htaccess car ownCloud les utilise pour améliorer la sécurité et permet d'utiliser webfinger.
Pour activer les fichiers .htaccess, il faut s'assurer que "AllowOverride" est réglé sur "Tous" dans la section du répertoire /var/www/ du fichier de l'hôte virtuel. C'est en général **/etc/apache2/sites-enabled/000-default**. Il faut également exécuter ...@...:~ $ a2enmod rewrite et ...@...:~ $ a2enmod headers. Ensuite, redémarrer apache :...@...:~ $ sudo systemctl restart apache2(pour les systèmes Ubuntu).
==== Rendre le cloud local accessible depuis internet ====
Pour rendre le cloud local accessible, il faut rediriger le port 80 de la box vers le serveur.
Pour cela :
C'est très simple avec une freebox. C'est le cas que nous allons prendre.
Tout se passe par l'administration de la freebox, accessible à l'adresse [[http://mafreebox.free.fr]], depuis l'ordinateur qui héberge le serveur.
onglet "RESEAU LOCAL", "REDIRECTION DE PORT" et renseigner :
* port externe: 80 (port http par défaut)
* protocole: TCP (celui de la plupart des services internet, c'est celui du service http)
* IP: adresse IP locale ; pour la connaître : dans un terminal,lancer ifconfig (sous Linux) en Ethernet, l'adresse est indiquée. C'est l'adresse locale, valable uniquement derrière la freebox, pas sur l'internet. C'est cette adresse qu'il faut entrer dans l'interface mafreebox
* Port interne: 80 (mais ce numéro de port peut être modifié si vous changez les valeurs par defaut de votre serveur web).
Il faut aussi désactiver l'accès HTTP à la freebox depuis l'extérieur.
Autoriser l'écriture dans tout owncloud pour le serveur web.
confirmer en faisant "ajouter".
Pour vérifier que le serveur web est opérationnel : depuis n'importe quelle machine du web, entrer dans un navigateur l'adresse publique de la freebox. Quand elle verra la requête qui lui est adressée pour le service 80, vous lui aurez donc précédemment indiqué d'aller sur la machine spécifiée derrière la freebox au port 80.
On peut aussi utiliser, depuis la machine locale, un proxy comme [[http://www.g07.info/]] qui permet d'appeler la machine depuis l’extérieur.
On peut même, avec la nouvelle freebox, vérifier depuis la machine locale qu'elle est accessible depuis n'importe ou dans le web. Pour cela, lancer un navigateur et donner l'ip publique de la freebox.
PENSEZ A LA SÉCURITÉ!!!! INSTALLEZ UN FIREWALL POUR CONTRÔLER LES REQUÊTES ENTRANTES. VOTRE SERVEUR WEB INSTALLE REND VOTRE PC VULNÉRABLE AUX ATTAQUES.
===== Utilisation =====
==== Sauvegarde d'ownCloud ====
Vous voila maintenant propriétaire d’un super serveur de fichiers !
Vous pouvez vous en servir comme simple système de partage de fichiers, OwnCloud vous proposera une solution libre de stockage, à l’abri des regards indiscrets de Google, DropBox, etc.
Lorsque vous sauvegardez votre serveur ownCloud, vous devez copier quatre choses :
- Votre répertoire config/
- Votre répertoire
- Votre base de données ownCloud
- Vos fichiers theme personnalisés, si vous en avez voir [[https://doc.owncloud.org/server/9.1/developer_manual/core/theming.html]].
Si vous avez installé votre serveur ownCloud à partir de paquets libres, ce que nous déconseillons, ne sauvegardez pas vos fichiers du serveur Owncloud, qui sont à d'autres emplacements. Vous risquez que ces fichiers de sauvegarde ne soient pas en phase avec les versions actuelles de package, ce qui donnera une erreur du contrôle d'intégrité du code.
Si vous avez installé votre serveur ownCloud à partir de fichiers tar.gz, vous pouvez sauvegarder l'ensemble de l'installation ownCloud en toute sécurité, à l'exception de votre base de données ownCloud pour laquelle il faut utiliser les outils de base de données.
Pour restaurer votre installation ownCloud sauvegardée, voir [[https://doc.owncloud.org/server/9.1/admin_manual/maintenance/restore.html|Restauration d'ownCloud]].
++++ Restauration d'ownCloud |
Lorsque vous installez ownCloud à partir des archives tar vous pouvez restaurer en toute sécurité l'intégralité de votre installation d'ownCloud de sauvegardée, à l'exception de votre base de données ownCloud.
Les bases de données ne peuvent pas être copiés, mais vous devez utiliser les outils de base de données pour une restauration correcte.
Lorsque vous avez terminé votre restauration, voyez [[https://doc.owncloud.org/server/9.1/admin_manual/installation/installation_wizard.html#strong-perms-label|Setting Strong Permissions]].
Pour restaurer les répertoires, Copiez simplement les dossiers configuration et data vers votre environnement ownCloud.
Vous pouvez utiliser cette commande, qui restaure l'exemple de sauvegarde donné plus haut :
* rsync -Aax config data /var/www/owncloud/
Pour restaurer la base de données, ((nous supposons que votre sauvegarde se nomme “owncloud-dbbackup.bak”))
* MySQL (moteur de base de données recommandé) :mysql -h [server] -u [username] -p[password] [db_name] < owncloud-dbbackup.bak
* SQLite :rm data/owncloud.db
sqlite3 data/owncloud.db < owncloud-dbbackup.bak
++++
=== Sauvegarde des répertoires config/ et data/ ===
Il suffit de copier vos dossiers config/ et data/ à un endroit en dehors de votre ownCloud. Par, avec rsync pour copier les deux répertoires vers /backupdir :
* rsync -Aax config data /oc-backupdir/
Vous pouvez utiliser toute autre méthode de copie.
=== Sauvegarde de la base de données ===
MySQL/MariaDB est le moteur de base de données recommandé.
Pour sauvegarder MySQL / MariaDB :
* mysqldump --single-transaction -h [server] -u [username] -p[password] [db_name] > owncloud-dbbackup_`date +"%Y%m%d"`.bak
++ Exemple | mysqldump --single-transaction -h localhost -u username -ppassword owncloud > owncloud-dbbackup_`date +"%Y%m%d"`.bak++
++ avec SQLite (non recommandé) | sqlite3 data/owncloud.db .dump > owncloud-dbbackup_`date +"%Y%m%d"`.bak ++
==== Restauration de fichiers depuis la sauvegarde lorsque le chiffrement est activé ====
Pour restaurer des fichiers qui ont été sauvegardés avec le chiffrement activé, voici comment faire.
- Restaurer le fichier depuis la sauvegarde
- Restaurer les clés de chiffrement du fichier de sauvegarde
- Exécuterocc files:scan;
ce qui permet au scanner de le trouver
- Mettre le drapeau << crypté >> à 1 dans la base de données pour tous les fichiers dans files/path mais pas ceux des répertoires.
Télécharger le fichier une fois en tant qu'utilisateur; la taille du fichier sera automatiquement corrigée
===== Désinstallation =====
===== Voir aussi =====
* **(fr)** [[https://www.windtopik.fr/owncloud/]] (1ère partie)
* **(fr)** [[https://www.windtopik.fr/configuration-owncloud/]] (2e partie)
* **(en)** [[https://doc.owncloud.org/server/9.1/admin_manual/maintenance/backup.html#]]
* **(en)** [[https://www.instructables.com/Raspberry-Pi-Owncloud-dropbox-clone/]]
* [[http://owncloud.org/install/]]
* Manuel administrateur de ownCloud : [[http://doc.owncloud.org/server/4.5/admin_manual/index.html]]
* [[http://adrienb.fr/blog/2012/01/02/installation-owncloud-creer-son-cloud-personnel/]]
* [[http://blog.bmaron.net/post/2011/10/19/Owncloud...guide-rapide-d-installation]]
* pour l'installer sur un hébergement mutualisé ovh : [[http://play.with.free.fr/index.php/installation-rapide-de-owncloud-sur-ovh/]]
----
//Basé sur << [[http://Article|Article]] >> par Auteur.//