OwnCloud : créer son cloud personnel

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search
ownCloud

Software version 4.5.6
Operating System Debian 7
Website ownCloud Website
Last Update 26/02/2013
Others MariaDB 5.5

1 Introduction

ownCloud[1] est une implémentation open source de services en ligne de stockage et d'applications diverses (cloud computing).

Ce tutoriel base l'installation d'ownCloud sur Nginx et MariaDB.

2 Installation du serveur

2.1 MariaDB

Nous allons devoir un MariaDB d'installé. Ensuite, nous devons créer une base de données, ainsi qu'un compte :

Command mysql
> mysql -uroot -p
CREATE DATABASE owncloud;
CREATE USER 'owncloud_user'@'localhost' IDENTIFIED BY 'owncloud_password';
GRANT USAGE ON * . * TO 'owncloud_user'@'localhost' IDENTIFIED BY 'owncloud_password';
GRANT ALL ON `owncloud` .* TO 'owncloud_user'@'localhost';
FLUSH privileges;

2.2 ownCloud

Installons d'abord les dépendances :

Command aptitude
aptitude install php5 php5-gd php-xml-parser php5-intl php5-mysql smbclient curl libcurl3 php5-curl

Nous allons télécharger la dernière version :

Command
cd /usr/share/nginx/www/
wget http://mirrors.owncloud.org/releases/owncloud-4.5.6.tar.bz2
tar -xjf owncloud-4.5.6.tar.bz2
rm -f owncloud-4.5.6.tar.bz2
chown -Rf www-data. owncloud

3 Configuration

3.1 Nginx

3.1.1 ownCloud 4.X

Voici la configuration d'ownCloud 4.X pour Nginx :

Configuration File /etc/nginx/sites-available/owncloud.deimos.fr
server {
    include listen_port.conf;
    listen 443 default ssl;
    ssl on;
 
    ssl_certificate /etc/nginx/ssl/deimos.fr/server-unified.crt;
    ssl_certificate_key /etc/nginx/ssl/deimos.fr/server.key;
 
    server_name owncloud.deimos.fr;
    root /usr/share/nginx/www/deimos.fr/owncloud;
    index index.php;
    client_max_body_size 1024M;
 
    access_log /var/log/nginx/cloud.deimos.fr_access.log;
    error_log /var/log/nginx/cloud.deimos.fr_error.log;
 
    # Force SSL
    if ($scheme = http) {
        return 301 https://$host$request_uri;
    }   
 
    # deny direct access
    location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
        deny all;
    }
 
    # default try order
    location / {
        try_files $uri $uri/ @webdav;
    }
 
    # owncloud WebDAV
    location @webdav {
        fastcgi_cache mycache;
        fastcgi_cache_key $request_method$host$request_uri;
        fastcgi_cache_valid any 1h;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param HTTPS on;
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_intercept_errors on;
    }
 
    location ~ \.php$ {
        try_files $uri = 404;
        fastcgi_cache mycache;
        fastcgi_cache_key $request_method$host$request_uri;
        fastcgi_cache_valid any 1h;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param HTTPS on;
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_intercept_errors on;
    }
 
    # Drop config
    include drop.conf;
}

3.1.2 ownCloud 5.X

Et pour la version 5 :

Configuration File /etc/nginx/sites-available/owncloud.deimos.fr
server {
    include listen_port.conf;
    listen 443 default ssl;
    ssl on; 
 
    ssl_certificate /etc/nginx/ssl/deimos.fr/server-unified.crt;
    ssl_certificate_key /etc/nginx/ssl/deimos.fr/server.key;
 
    server_name cloud.deimos.fr;
    root /usr/share/nginx/www/deimos.fr/owncloud;
    index index.php;
    client_max_body_size 1024M;
 
    access_log /var/log/nginx/cloud.deimos.fr_access.log;
    error_log /var/log/nginx/cloud.deimos.fr_error.log;
 
    # Force SSL 
    if ($scheme = http) {
        return 301 https://$host$request_uri;
    }   
 
    rewrite ^/caldav((/|$).*)$ /remote.php/caldav$1 last;
    rewrite ^/carddav((/|$).*)$ /remote.php/carddav$1 last;
    rewrite ^/webdav((/|$).*)$ /remote.php/webdav$1 last;
 
    error_page 403 = /core/templates/403.php;
    error_page 404 = /core/templates/404.php;
 
    location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
            deny all;
    }   
 
    location / { 
        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 ~ ^(?<script_name>.+?\.php)(?<path_info>/.*)?$ {
        try_files $script_name = 404;
        fastcgi_cache_valid any 1h; 
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
    }   
 
    location ~* ^.+.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
        expires 30d;
        # Optional: Don't log access to assets
        access_log off;
    }   
 
    # Drop config
    include drop.conf;
}

Redémarrez Nginx et accédez à votre cloud : http://owncloud.monserver.fr

4 Clients

Il existe des clients lourds, permettant de faire des synchronisations automatiques de fichiers. Vous pouvez télécharger ces versions ici. Si vous avez besoin d'avoir un niveau de log plus important, vous pouvez également en lançant comme ceci le client owncloud :

Command owncloud
owncloud --logwindow

Il est également possible d'ajuster l'intervalle de temps de pooling :

Configuration File $HOME/.local/share/data/ownCloud/owncloud.cfg
[ownCloud]
remotePollInterval=30000
localPollInterval=10000
PollTimerExceedFactor=10
maxLogLines=20000
[...]

Pour plus d'informations sur ces options, consultez la documentation associée[2].

5 FAQ

5.1 csync n'a pu créer le fichier de verrouillage

Si vous avez ce genre de message sur le client :

csync n'a pu créer le fichier de verrouillage

C'est tout simplement qu'il persiste un fichier de lock. Quittez l'application, supprimez le fichier de lock :

Command rm
rm ~/.local/share/data/ownCloud/lock

Et relancez ownCloud :-)

6 References

  1. ^ http://owncloud.org/
  2. ^ http://owncloud.org/support/sync-clients/