Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 09-08-2013 13:56:19

chuugar
Membre
Lieu : Nancy, France
Distrib. : Jessie
Noyau : 4.7.2 (compilé)
(G)UI : Openbox
Inscription : 17-08-2012

[Résolu] Créer un serveur fichier avec un RPi (Owncloud)

Salut à tous.

Depuis quelques années je tourne sous diverses distributions Debian et dérivés, cependant je n'ai jamais eu l'occasion d'utiliser mes machines comme serveurs.
Aujourd'hui j'aimerai me créer ma propre Dropbox-like à partir de d'un Raspberry et d'un disque dur externe qui traîne dans un placard.

J'aimerais donc accéder à ce disque dur externe en local, mais aussi en online.

Je ne sais absolument pas par où commencer, mais déjà quelques questions me viennent en tête:
- est-ce que je configure là un NAS ou un serveur fichier ?
- quelles solutions libres existent-ils ?
- il y a-t-il des dispositions matérielles/softwares particulières à prendre ?

Voilà, si quelqu'un à la gentillesse de m'aiguiller je lui en serais reconnaissant.
Merci d'avance. smile

Dernière modification par chuugar (01-09-2013 11:43:24)


Vous cherchez une alternative à Google?
Essayez StartPage !

Hors ligne

#2 09-08-2013 14:11:21

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : [Résolu] Créer un serveur fichier avec un RPi (Owncloud)

Salut,

Il y a une petite discussion là dessus sur le wiki : http://debian-facile.org/doc:reseau:reseau les solutions pour le partage en réseau public sont généralement différentes qu'en local.

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#3 09-08-2013 14:46:10

Lunatic
Membre
Lieu : Lyon
Distrib. : Fedora 24
Noyau : Linux 4.6.5-300.fc24.x86_64
(G)UI : Gnome
Inscription : 03-08-2013
Site Web

Re : [Résolu] Créer un serveur fichier avec un RPi (Owncloud)

Salut,

Je ne réponds qu'à une partie de la question, mais comme « Dropbox like » libre, j'utilise avec grand bonheur Seafile. Je l'ai mis en place sur un serveur Nginx facilement (le wiki est bien fait). Le serveur dispose d'une interface Web qui fait très « pro ». Le client existe sous différentes plateformes (linux, windows, android…) On peut aisément créer plusieurs utilisateurs, qui peuvent ensuite avoir des « bibliothèques » communes.

J'avais utilisé Owncloud, mais celui-ci s'avère bien plus lent et bien moins fiable (pour le moment en tout cas) que Seafile (en réalité j'utilise encore Owncloud, mais uniquement comme serveur Carddav / Caldav).

Bref, c'est une piste, parmi d'autres possibles.

Je suis aussi sur Twitter et nouvellement sur Diaspora*
Mon blog de geekeries : HAL-9000

(J'applique la règle de proximité)

Hors ligne

#4 12-08-2013 19:01:06

chuugar
Membre
Lieu : Nancy, France
Distrib. : Jessie
Noyau : 4.7.2 (compilé)
(G)UI : Openbox
Inscription : 17-08-2012

Re : [Résolu] Créer un serveur fichier avec un RPi (Owncloud)

Bon j'ai trouvé un tuto sympa (en anglais) qui promet de convertir un RPi en NAS.
À partir de ça je vais essayer d'installer (et surtout configurer) Owncloud sur le schmilblik...

Je vous tiens au courant. smile

Vous cherchez une alternative à Google?
Essayez StartPage !

Hors ligne

#5 13-08-2013 08:37:53

Thuban
Modérateur
Distrib. : OpenBSD
Noyau : current
(G)UI : xfce ou dwm
Inscription : 09-01-2009
Site Web

Re : [Résolu] Créer un serveur fichier avec un RPi (Owncloud)

Ne soit pas surpris cependant si owncloud est un peu lent (bien que fonctionnel) sur ton RPi.
À la place, j'y ai préféré un accès en sftp. Certes, c'est un peu moins accessible pour l'utilisateur ?, mais c'est rapide et très sécurisé. (voir ma signature pour plus d'infos)

YA3HGA-H

Hors ligne

#6 28-08-2013 11:46:53

chuugar
Membre
Lieu : Nancy, France
Distrib. : Jessie
Noyau : 4.7.2 (compilé)
(G)UI : Openbox
Inscription : 17-08-2012

Re : [Résolu] Créer un serveur fichier avec un RPi (Owncloud)

Ça y est, Owncloud est installé et configuré sur mon RPi.

Pour rappel, mon objectif était d'installer Owncloud sur la carte SD du RPi, puis de synchroniser des données avec un disque dur externe de 1To.
J'ai tout d'abord réalisé une première installation avec Apache, tout a été rapidement fonctionnel mais Owncloud était terriblement lent.
En recherchant par-ci par-là j'ai compris que Apache n'était pas réputé pour sa légèreté. J'ai alors suivi un tuto très bien fait qui m'a permis d'installer (et surtout de configurer) Ngnix.
À partir de là Owncloud a été beaucoup plus réactif, néanmoins je vous conseille d'overclocker le RPi en médium (via raspi-config) et de modifier le split de mémoire en limitant les ressources pour l'interface graphique qui nous est inutile.
Owncloud est alors installé et configuré sur la carte mémoire.

Pour partager les données de mon disque dur FAT (monté sur /media/DDEXT), j'ai été confronté à différent problème de permission. Après quelques recherches il s'est avéré que FAT ne gère pas les permissions. Malgré toutes mes bidouilles dans le fstab j'ai abandonné et j'ai préféré formater le DD en ext4.
On peut alors donner la permission à Owncloud d'utiliser le DD:

chown -R www-data:www-data /media/DDEXT


On modifie également le fichier /etc/fstab pour permettre le montage automatique du disque dur externe au démarrage du RPi, en ajoutant cette ligne au fichier:

/dev/sda1 /media/DDEXT  ext4  defaults    0   0


On peut désormais se connecter (en local) à son serveur Owncloud: http://<adresse du Rpi>/owncloud
Pour partager les données du DD externe on choisit la configuration "avancée" pour indiqué le point de montage de notre DD.
On remplace donc le chemin par défaut (/var/www/owncloud il me semble) par /media/DDEXT
Voilà, le serveur est configuré en local, on peut désormais installer les clients de synchronisation.
Le service est beaucoup moins réactif que Dropbox (~ 10x plus lent), mais a l'avantage de nous permettre d'avoir toujours la main sur nos données.

Par contre pour connecter le RPi à Internet via sa Box, c'est un peu plus pénible.
Il faut ouvrir les ports 80 et 443 de la Box, puis configurer le service pour avoir une IP publique qui ne change pas (voir ici )

On peut désormais, se connecter à son RPi via Internet, et théoriquement à son Owncloud.

...
Théoriquement. big_smile

J'avoue que là j'ai un problème, à chaque fois que je me connecte à mon RPi (via Internet (https://<adresse publique RPi>/owncloud ) je tombe sur un joli message "Welcome to Nginx".
Je n'ai aucune idée de comment configure Nginx pour qu'il me laisse avoir accès à mon Owncloud via le Web.
Si quelqu'un à la solution, je suis preneur. wink
Merci d'avance !


Vous cherchez une alternative à Google?
Essayez StartPage !

Hors ligne

#7 28-08-2013 14:14:12

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : [Résolu] Créer un serveur fichier avec un RPi (Owncloud)

Salut,
Tu peux nous donner le fichier de configuration de side de nginx pour owncloud ?

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#8 28-08-2013 15:25:03

chuugar
Membre
Lieu : Nancy, France
Distrib. : Jessie
Noyau : 4.7.2 (compilé)
(G)UI : Openbox
Inscription : 17-08-2012

Re : [Résolu] Créer un serveur fichier avec un RPi (Owncloud)

/etc/nginx/nginx.conf

user www-data;
worker_processes 4;
pid /var/run/nginx.pid;

events {
  worker_connections 768;
  # multi_accept on;
}

http {

  ##
  # Basic Settings
  ##

  sendfile on;
  tcp_nopush on;
  tcp_nodelay on;
  keepalive_timeout 65;
  types_hash_max_size 2048;
  # server_tokens off;

  # server_names_hash_bucket_size 64;
  # server_name_in_redirect off;

  include /etc/nginx/mime.types;
  default_type application/octet-stream;

  ##
  # Logging Settings
  ##

  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log;

  ##
  # Gzip Settings
  ##

  gzip on;
  gzip_disable "msie6";

  # gzip_vary on;
  # gzip_proxied any;
  # gzip_comp_level 6;
  # gzip_buffers 16 8k;
  # gzip_http_version 1.1;
  # gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

  ##
  # nginx-naxsi config
  ##
  # Uncomment it if you installed nginx-naxsi
  ##

  #include /etc/nginx/naxsi_core.rules;

  ##
  # nginx-passenger config
  ##
  # Uncomment it if you installed nginx-passenger
  ##
 
  #passenger_root /usr;
  #passenger_ruby /usr/bin/ruby;

  ##
  # Virtual Host Configs
  ##

  include /etc/nginx/conf.d/*.conf;
  include /etc/nginx/sites-enabled/*;
}


#mail {
# # See sample authentication script at:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "USER";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
# server {
#   listen     localhost:110;
#   protocol   pop3;
#   proxy      on;
# }
#
# server {
#   listen     localhost:143;
#   protocol   imap;
#   proxy      on;
# }
#}



/etc/nginx/sites-availables/owncloud

server {
  listen 80;
  server_name 192.168.1.92 adresse.ip.public.rpi;
  rewrite ^ https://$server_name$request_uri? permanent;  # enforce https
  access_log  /var/log/nginx/owncloud.access.log;
  error_log /var/log/nginx/owncloud.error.log;

}

# owncloud (ssl/tls)
server {
  listen 443 ssl;
  ssl_certificate /etc/nginx/certs/owncloud.crt;
  ssl_certificate_key /etc/nginx/certs/owncloud.key;
  server_name 192.168.1.92 adresse.ip.public.rpi;
  root /var/www/owncloud;
  index index.php;
  client_max_body_size 900M; # set maximum upload size
  fastcgi_buffers 64 4K;
  access_log  /var/log/nginx/owncloud.access.log;
  error_log /var/log/nginx/owncloud.error.log;

  rewrite ^/caldav((/|$).*)$ /remote.php/caldav$1 last;
  rewrite ^/carddav((/|$).*)$ /remote.php/carddav$1 last;
  rewrite ^/webdav((/|$).*)$ /remote.php/webdav$1 last;

  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 ~ ^/(data|config|\.ht|db_structure\.xml|README|AUTHORS|COPYING-AGPL|COPYING-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 ^/apps/calendar/caldav.php /remote.php/caldav/ last;
    rewrite ^/apps/contacts/carddav.php /remote.php/carddav/ last;
    rewrite ^/apps/([^/]*)/(.*\.(css|php))$ /index.php?app=$1&getfile=$2 last;

    rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;

    try_files $uri $uri/ index.php;
  }

  location ~ ^(?<script_name>.+?\.php)(?<path_info>/.*)?$ {
    try_files $script_name = 404;
    include fastcgi_params;
    fastcgi_param PATH_INFO $path_info;
    fastcgi_param HTTPS on;
    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;

  }
}




EDIT: en relisant le fichier ci-dessus je me suis rendu compte que j'ai omis d'indiquer l'adresse ip publique de mon RPi après l'adresse ip local!
Problème résolu.

Dernière modification par chuugar (28-08-2013 15:39:38)


Vous cherchez une alternative à Google?
Essayez StartPage !

Hors ligne

#9 28-08-2013 15:36:32

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : [Résolu] Créer un serveur fichier avec un RPi (Owncloud)

Mhh, essaye de mettre "*" dans le champ server_name smile

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#10 28-08-2013 15:38:46

chuugar
Membre
Lieu : Nancy, France
Distrib. : Jessie
Noyau : 4.7.2 (compilé)
(G)UI : Openbox
Inscription : 17-08-2012

Re : [Résolu] Créer un serveur fichier avec un RPi (Owncloud)

J'ai édité, merci quand même. wink

Vous cherchez une alternative à Google?
Essayez StartPage !

Hors ligne

#11 28-08-2013 16:11:19

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : [Résolu] Créer un serveur fichier avec un RPi (Owncloud)

Yep, c'était donc bien ce que je pensais smile
Normalement, le « server_name » sert à filtrer le "Host", par exemple si tu vas sur http://debian-facile.org le "Host" est "debian-facile.org", tandis que si tu vas sur http://212.85.158.4/ (qui est l'ip associée) le serveur est différent.

Si le pb est résolu merci de le marquer comme tel smile

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#12 28-08-2013 17:12:15

chuugar
Membre
Lieu : Nancy, France
Distrib. : Jessie
Noyau : 4.7.2 (compilé)
(G)UI : Openbox
Inscription : 17-08-2012

Re : [Résolu] Créer un serveur fichier avec un RPi (Owncloud)

J'abuse de ta gentillesse, mais j'ai une dernière petite question. big_smile
Je ne peux pas me connecter à l'adresse IP publique de mon RPi depuis un ordinateur qui est connecté à mon réseau local, cela me renvoi sur le panneau de contrôle de ma Neufbox.
Est-il possible de réussir à faire pointer ma requête vers l'adresse locale du RPi quand je suis connecté à mon réseau local, et vers l'adresse IP publique de celui ci lorsque je suis connecté à un réseau extérieur.
Cela m'éviterai de jongler entre les différentes adresses lorsque je souhaite me connecté à mon Cloud avec mes différents appareils nomades (potentiellement connectés à des réseaux extérieurs donc).
(j'espère que j'ai bien exposé ma question hmm )

Vous cherchez une alternative à Google?
Essayez StartPage !

Hors ligne

#13 29-08-2013 10:36:26

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : [Résolu] Créer un serveur fichier avec un RPi (Owncloud)

Ben, le pb c'est que ton routeur écoute sur le port 80 ou 443 interne pour son interface de configuration.
Peut-être que tu devrais simplement mettre ton owncloud sur un autre port ? Genre 8080 ou 4443 ?
Sinon, il faudrait probablement jouer avec des DNS et des noms de domaine…
Je ne vois pas de solution très élégante pour faire ça.

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#14 29-08-2013 16:42:28

MaTTuX_
La Paillasse !!!
Lieu : Zoubidou-Land
Distrib. : 75 serveurs
Noyau : 3.2.0-4-amd64
(G)UI : tty et ... pas gnome en tout cas....
Inscription : 28-05-2007
Site Web

Re : [Résolu] Créer un serveur fichier avec un RPi (Owncloud)

Euhh ben juste changer le port, et faire un forward depuis la box, enfin je connais pas la box en france, mais il me semble que tu peux modifier tout ça non ?

\o/ Le closedSource c'est tabou on a viendra tous à bout \o/

Hors ligne

#15 29-08-2013 17:33:40

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : [Résolu] Créer un serveur fichier avec un RPi (Owncloud)

Oui mais, si tu veux le faire sur le port 443, comment tu fais ? Faudrait rajouter une règle de pré-routage ou de forwarding quoi, mais sur une box…

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#16 01-09-2013 11:42:57

chuugar
Membre
Lieu : Nancy, France
Distrib. : Jessie
Noyau : 4.7.2 (compilé)
(G)UI : Openbox
Inscription : 17-08-2012

Re : [Résolu] Créer un serveur fichier avec un RPi (Owncloud)

Non, apparemment la NeufBox ne gère pas le NAT loopback, ce qui m'empêche de me connecter avec mon IP publique. sad
Il va falloir que je trouve comment passer par un serveur mandataire, ou bien, je continue à switcher entre mes 2 IP de manière manuelle. smile

Après quelques jours d'utilisation mon Owncloud est bel et bien fonctionnel. Et si on enlève ce petit désagrément, ça vaut vraiment le coup de perdre un peu de temps à tout configurer.

Merci pour vos réponses.
Résolu. big_smile

Vous cherchez une alternative à Google?
Essayez StartPage !

Hors ligne

#17 01-09-2013 12:09:26

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : [Résolu] Créer un serveur fichier avec un RPi (Owncloud)

Ok, c'est cool smile

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

Pied de page des forums