Owncloud, installation avec nginx 1.0.8 (gestion fichiers & webdav) (1/5)

Voila de nombreux mois que je suis avec attention le projet owncloud et la sortie de sa version stable. Auto-hébergeant certains de mes services tels que les mails, les flux RSS et d’autres encore, j’étais à la recherche d’une solution de sauvegarde multiplateforme de mes fichiers avec laquelle je puisse travailler de n’importe où depuis Linux ou windows.

Overview

De nombreuses solutions prometteuses sont en developpement et de bons articles parus sur planet-libre en font l’éloges. Je citerais :

  • Sparkleshare (Basé sur git et ssh, un client linux/mac est disponible. Celui pour windows est en développement)
  • Syncany (Supporte de nombreux protocoles tels que le ftp,sftp, webdav etc….)
  • DCVS-autosync

Owncloud se différencie des autres solutions alternative à Dropbox par l’intégration d’une interface web très abouti :

  • Gestion des utilisateurs et groupes
  • Partage de fichiers entre utilisateurs, génération de liens pour une diffusion publique
  • Upload multiple de fichiers
  • Versionning des documents
  • Gestion de quotas pour les utilisateurs

Voilà en ce qui concerne les fonctionnalités de gestion des fichiers offerte par l’interface web. Je détaillerais les suivantes dans les articles suivants.

La dernière fonctionnalité très importante (pour moi) est le support du protocole WEBDAV. Celui-ci permets de monter un dossier web dans son environnement de travail sans avoir à se soucier de l’OS.

La suite de cet article détaille l’installation d’owncloud sur nginx 1.0.8 et l’utilisation des fonctionnalités de gestion des fichiers.

Installation d’ownCloud

Je suppose ici que vous ayez initialement une installation de votre serveur web sous nginx, php fast-cgi et mysql de fonctionnel, sinon se référer à un précédant article.

(re)Compilation de nginx 1.0.8

Par défaut le module HttpDavModule n’est pas compilé, c’est pourquoi nous allons devoir recompiler nginx, afin de bénéficier du support webdav d’ownCloud.

Pensez tout de même à désinstaller votre ancienne version d’nginx. Vos fichiers de configuration et script de démarrage ne devraient pas être supprimés.

cd /tmp
wget http://nginx.org/download/nginx-1.0.8.tar.gz
tar -zxvf nginx-1.0.8.tar.gz
cd nginx-1.0.8
 ./configure \\ --prefix=/usr \\ --conf-path=/etc/nginx/nginx.conf \\ --http-log-path=/var/log/nginx/access_log \\ --error-log-path=/var/log/nginx/error_log \\ --pid-path=/var/run/nginx.pid \\ --user=www-data \\ --group=www-data \\ --http-client-body-temp-path=/var/lib/nginx/body \\ --http-proxy-temp-path=/var/lib/nginx/proxy \\ --http-fastcgi-temp-path=/var/lib/nginx/fastcgi \\ --with-md5=/usr/lib \\ --with-http_ssl_module \\ --with-http_gzip_static_module \\ --with-http_realip_module \\ --with-http_stub_status_module \\ --with-http_flv_module \\ --with-pcre \\ --without-mail_pop3_module \\ --without-mail_imap_module \\ --without-mail_smtp_module \\ --with-http_dav_module \\ --with-debug 

On lance la compilation puis la création d’un « pseudo » paquet durant l’installation afin de pouvoir désinstallaer proprement nginx si besoin (dpkg -r nginx).

make
checkinstall make install

A présent vous devriez avoir nginx réinstallé avec HttpDavModule.

Il faut maintenant creer un vhost approprié à l’utilisation du WebDav. Je précise que ce vhost peut, et va être amélioré.

La conf disponible avec nginx disponible sur le site d’owncloud est celle-ci ajoutée après avoir terminé mon install de nginx.

Je n’arrive cependant pas encore à faire fonctionner le webdav sous windows.


server {

listen 80;

server_name yourdomainname; #name server

root /var/www/owncloud; # root directory

#this is to avoid Request Entity Too Large error

client_max_body_size 1000M;

index index.php index.html index.htm;

dav_methods PUT DELETE MKCOL COPY MOVE;

create_full_put_path on;

dav_access user:rw group:rw all:r;

# Below there is only what you need to have php-fastcgi

location ~ \\.php$ {

root /var/www/owncloud;

fastcgi_pass 127.0.0.1:9000; # IMPORTANT: php-fastcgi listening port.

include /etc/nginx/fastcgi_params; # IMPORTANT: import fastcgi_params

fastcgi_param SCRIPT_FILENAME /var/www/owncloud/$fastcgi_script_name;

fastcgi_index index.php;

}

#owncloud directory same as root

location / {

index index.php;

try_files $uri $uri/ @webdav;

}

location @webdav {

fastcgi_split_path_info ^(.+\\.php)(/.+)$;

fastcgi_param SCRIPT_FILENAME /var/www/owncloud/$fastcgi_script_name;

include fastcgi_params;

#fastcgi_param HTTP on;

fastcgi_pass 127.0.0.1:9000;

}

location ~ \\.htaccess {

deny all;

}

}

Acitvation du fichier du vhost:

ln -s /etc/nginx/site-available/mycloud etc/nginx/site-enabled/mycloud

/etc/init.d/nginx reload

Déploiement d’ownCloud

cd /var/www
wget http://owncloud.org/releases/owncloud-2.tar.bz2
tar -jxvf owncloud-2.tar.bz2

Donner les permission appropriées à owncloud :

chown -R www-data:www-data owncloud/

Création de la bdd et du user mysql:


CREATE DATABASE IF NOT EXISTS mycloud;
CREATE USER 'yourlogin'@'localhost' IDENTIFIED BY 'yourpass';
GRANT USAGE ON *.* TO 'yourlogin'@'localhost' IDENTIFIED BY 'yourpassword' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
GRANT ALL PRIVILEGES ON mycloud.* TO yourlogin@localhost IDENTIFIED BY 'yourpassword';

Connectez-vous sur owncloud et complétez l’installation (renseigner la bdd, le user, le pass etc…).

Monter un partage webdav

Le support du webdav par ownCloud est une aubaine pour qui souhaite travailler indifférent sur un OS sur ses documents accessibles via un répertoire web.

Sous linux avec Nautilus : 

Fichier > se connecter à un serveur

  • Serveur : yourcloud.tld/files/webdav.php
  • Identifiant: votre login

Cochez Ajouter un signet si vous souhaitez avoir votre répertoire à portée de main dans nautilus. Vous devriez avoir un prompt pour renseigner votre mot de passe.

Sous windows :

J’ai essayé diverses méthodes pour connecter un partage webdav, mais sans succès. Il se peut que cette fonction soit opérationnelle avec un serveur Apache2.

Sources

http://owncloud.org/install/advanced/

http://wiki.nginx.org/HttpDavModule

Vus : 2221
Publié par Openwebtech : 26