OwnCloud est un logiciel libre sous licence AGPLv3, qui permet de stocker et partager des fichiers dans les « nuages ».
L’avantage d’Owncloud par rapport à d’autre solution propriétaire clé en main comme Dropbox ou Drive de google est le contrôle total des données dans le « cloud ».
Le prix à payer est de configurer entièrement son propre serveur, ce qui implique d’avoir un minimum requis de connaissances en administration système.
Pré-requis pour l’installation de Owncloud
Le premier pré-requis est de disposer d’un serveur opérationnel et à jour sous Debian 7 avec le couple Nginx/MariaDB installés et configurés, avoir créé un certificat SSL auto-signé.
L’article est décomposé comme suit :
- Préparation du serveur : Configuration de Nginx et MariaDB,
- Installation de Owncloud,
- Installation d’un client(Android et GNU/linux) pour se connecter au serveur Owncloud.
Préparation du serveur
nb : toutes les commandes sont exécutées en tant que root.
Configuration de Nginx
Fichier d’exemple du wiki owncloud :
- Création d’un virtualhost pour Nginx :
nano /etc/nginx/site-enabled/owncloud
server 127.0.0.1:9000; #server unix:/var/run/php5-fpm.sock; } server { listen 80; server_name cloud.example.com; return 301 https://$server_name$request_uri; # enforce https } server { listen 443 ssl; server_name cloud.example.com; ssl_certificate /etc/ssl/nginx/cloud.example.com.crt; ssl_certificate_key /etc/ssl/nginx/cloud.example.com.key; # Path to the root of your installation root /var/www/; client_max_body_size 10G; # set max upload size fastcgi_buffers 64 4K; rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect; rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect; rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect; index index.php; error_page 403 /core/templates/403.php; error_page 404 /core/templates/404.php; location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README) { deny all; } location / { # The following 2 rules are only needed with webfinger rewrite ^/.well-known/host-meta /public.php?service=host-meta last; rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last; rewrite ^/.well-known/carddav /remote.php/carddav/ redirect; rewrite ^/.well-known/caldav /remote.php/caldav/ redirect; rewrite ^(/core/doc/[^\/]+/)$ $1/index.html; try_files $uri $uri/ index.php; } location ~ \.php(?:$|/) { fastcgi_split_path_info ^(.+\.php)(/.+)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param HTTPS on; fastcgi_pass php-handler; } # Optional: set long EXPIRES header on static assets location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ { expires 30d; # Optional: Don't log access to assets access_log off; } }
nano /etc/php5/fpm/php.ini
A adapter suivant les besoins :
allow_url_fopen = on allow_url_include = on memory_limit = 2048M post_max_size = 10000M upload_max_filesize = 10000M max_input_time = -1 max_execution_time = 0
Création de la base de données
- Connexion au serveur MariaDB :
mysql -u user -p
(remplacer user par le votre.)
CREATE DATABASE exemplebase; CREATE USER 'userbase'@'localhost' IDENTIFIED BY 'supermdpdelamort'; GRANT ALL PRIVILEGES ON exemplebase.* TO 'userbase'@'localhost'; FLUSH PRIVILEGES;
exemplebase : c’est le nom de la base de données pour owncloud.
userbase : c’est le nom de l’utilisateur associé à la base.
supermdpdelamort : c’est le mot de passe pour l’utilisateur associé à la base.
Installation de Owncloud
Le site de Owncloud propose un script d’installation automatique.
- Téléchargement du script d’installation :
cd /var/www/ mkdir cloud cd cloud wget https://download.owncloud.org/community/owncloud-7.0.4.tar.bz2 tar -xvjf owncloud-7.0.4.tar.bz2 chown -R www-data:www-data ./cloud/
service nginx restart
Accepter le certificat :
Cliquer sur « Next »
Au choix, créer un répertoire de destination ou installer dans le répertoire courant :
Remplir les champs et cliquer sur « Finish Setup » :
Installation terminée, le système propose de télécharger des clients (cliquer sur la petite croix en haut à droite) :
Installation Client Ownclound
- Pour Android
Version 1.6.2 – Added on 2014-12-04
wget https://f-droid.org/repo/com.owncloud.android_10600200.apk
Puis transférer et installer l’apk sur le smartphone.
ArchLinux / Manjaro :
yaourt -S owncloud-client
Autres distributions : voir ce lien
Configuration du client Owncloud
La configuration et l’utilisation du client sous Android est très simple :
- Saisir l’url du serveur Owncloud et les identifiants :
- Accepter le certificat :
- Fini :
Idem avec le client sous GNU/Linux :
- Ouvrir le client :
- Saisir l’url du serveur Owncloud :
- Accepter le certificat :
- Saisir les identifiants pour se connecter :
- Synchroniser avec le serveur :
- Choisir le contenu à synchroniser :
- Terminé !
Petite erreur: après le wget, il faut décompresser l’archive avant de faire un chown
Merci Barikad !
petit oubli de ma part, qui a toute son importance :-)