Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Ceci est une ancienne révision du document !


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

  1. un serveur HTTP (LAMP / LEMP / LLMP / …), éventuellement sur un Raspberry Pi avec un disque dur externe
  2. 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 )
    ...

  3. Avoir installé les paquets 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,

  1. faites un clic droit sur Télécharger un fichier .ZIP :
  2. et cliquez sur copier l'adresse du lien.

Via FTP

  1. 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

  2. Extrayez l'archive :

    ...@...:~/Téléchargements$ unzip owncloud-complete-xxxxxxxx.zip

    Cela crée le répertoire ~/Téléchargements/owncloud

  3. Via FTP, envoyez ce répertoire owncloud à la racine de l'hébergement
  4. Renommez éventuellement le répertoire (par exemple owncloud → cloud)
  5. Donnez les bonnes permissions au répertoire (ici : cloud) : propriétaire et groupe = www-data:www-data, droits = 770

Via SSH (ex : Raspberry)

  1. 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

  2. Extrayez l'archive :

    pi@framboise4:~ $ unzip owncloud-complete-20201216.zip

  3. Copiez les fichiers dans à la racine du serveur :

    pi@framboise4:~ $ sudo cp -r owncloud /var/www/html

  4. 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

Mise à jour

Il suffit de remplacer les fichiers par les nouveaux. Les fichiers de configuration ne sont pas touchés.

Configuration

Configuration d'Apache2

  1. É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).
  2. Pour que le serveur prenne en charge les fichiers .htaccess,
    1. créez avec les droits d'administration le fichier /etc/apache2/conf-available/htaccess.conf en y écrivant :
      /etc/apache2/conf-available/htaccess.conf
      <Directory />
      	Options FollowSymLinks
      	AllowOverride All
      	Require all denied
      </Directory>
      
      <Directory /usr/share>
      	AllowOverride All
      	Require all granted
      </Directory>
      
      <Directory /var/www/>
      	Options Indexes FollowSymLinks
      	AllowOverride All
      	Require all granted
      </Directory>
    2. Activez cette configuration et redémarrez Apache2 :

      ...@...:~ $ sudo a2enconf htaccess
      sudo apachectl restart

Configuration d'OwnCloud

  1. Ouvrez la page du serveur (ex. d'un Raspberry Pi) :http://owncloud.framboise4.parc/ :
  2. Créez un compte administrateur : donnez un nom d'utilisateur et un mot de passe
  3. Cliquez sur le lien Stockage & base de données :
    1. le chemin du répertoire est pré-renseigné.
    2. SQLite sera utilisé
  4. 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 :

/etc/php5/cgi/php.ini
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 :

  1. Votre répertoire config/
  2. Votre répertoire
  3. Votre base de données ownCloud
  4. 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 Restauration d'ownCloud.

Restauration d'ownCloud

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

avec SQLite (non recommandé)

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.

  1. Restaurer le fichier depuis la sauvegarde
  2. Restaurer les clés de chiffrement du fichier de sauvegarde
  3. Exécuter
    occ files:scan;

    ce qui permet au scanner de le trouver

  4. 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

1)
nous supposons que votre sauvegarde se nomme “owncloud-dbbackup.bak”