Installer Owncloud en HTTPS sur votre Raspberry Pi avec Nginx


Achtung : Dieser Artikel wurde automatisch von Bing Translate übersetzt


Advertencia : Este artículo ha sido traducido automáticamente por Bing Translate

La série des installations Owncloud continue. J’ai raté la version 6 alors je me rattrape avec la 7 (7.0.1 pour être précis !). Voici donc les instructions d’installation misent à jour !

Installer Owncloud 7 en HTTPS sur votre Raspberry Pi avec Nginx

Je vous passe la description de Owncloud, vous pouvez trouver toutes les informations sur le site officiel. Passons aux choses sérieuses !

Comme d’habitude je démarre avec la distribution Moebius. Cela a plusieurs avantages :

  • minimaliste sur le disque avec seulement 700Mo
  • minimaliste en mémoire avec 25Mo après le premier démarrage
  • pas de Apache d’installé par défaut

J’utilise le user root pour tout faire. Pas bien mais pratique. Si vous ne l’utilisez pas, pensez à ajouter l’instruction sudo avant chaque commande.

  1. Mettre à jour le système et installer NTP pour la synchronisation de l’horloge.
    apt-get update && apt-get upgrade -y && apt-get install ntp && apt-get install raspi-config

    Pensez maintenant à utiliser raspi-config pour finir la configuration de votre futur serveur comme étendre le filesystem

  2. Installer les paquets nécessaires
    apt-get install nginx php5-fpm php5 php5-json php5-gd php5-sqlite curl libcurl3 libcurl3-dev php5-curl php5-common php-xml-parser sqlite php-apc
  3. Créer le répertoire pour les sources
    mkdir /var/www
  4. Télécharger la dernière version de Owncloud
    cd /var/www
    wget http://download.owncloud.org/community/owncloud-7.0.1.tar.bz2
  5. Décompresser l’archive télécharger
    tar jxvf owncloud-7.0.1.tar.bz2
  6. Changer le owner du répertoire
    chown -R www-data:www-data /var/www/owncloud
  7. Créer le répertoire /etc/nginx/certs s’il n’existe pas
    mkdir /etc/nginx/certs
  8. Générer les certificats pour le site. Vous devez être dans le répertoire /etc/nginx/certsAttention : utilisez un mot de passe robuste pour générer votre certificat. Le certificat est valable 365 jours. Il faudra en générer un nouveau dans un an
    cd /etc/nginx/certs
    
    openssl genrsa -des3 -out owncloud.key 1024
    
    openssl req -new -key owncloud.key -out owncloud.csr
    
    cp owncloud.key owncloud.key.org
    
    openssl rsa -in owncloud.key.org -out owncloud.key
    
    openssl x509 -req -days 365 -in owncloud.csr -signkey owncloud.key -out owncloud.crt
  9. Supprimer les fichier inutiles
    rm owncloud.csr owncloud.key.org
  10. Créer un fichier /etc/nginx/sites-available/owncloud (A vous de choisir le port). Le source est disponible ici
    server {
    	listen 8091 ssl;
    	ssl_certificate /etc/nginx/certs/owncloud.crt;
    
    	ssl_certificate_key /etc/nginx/certs/owncloud.key;
    
    	error_log /var/log/nginx/owncloud.log;
    	access_log /var/log/nginx/owncloud.log;
    
    	server_name owncloud;
    
    	root /var/www/owncloud;
    
    	client_max_body_size 10G; # set max upload size
    	fastcgi_buffers 64 4K;
    
    	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 ~ ^/(?:\.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 unix:/var/run/php5-fpm.sock;
            }
    
            # 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;
            }
    
    }
    
  11. Activer le site
    ln -s /etc/nginx/sites-available/owncloud /etc/nginx/sites-enabled/owncloud
  12. Changer les droits sur le répertoire partagé. Chez moi c’est /owncloud.
    chown -R www-data:www-data /owncloud
  13. Modifier le fichier /etc/php5/fpm/php.ini pour augmenter la taille des fichiers pouvant être envoyés
    upload_max_filesize = 700M
    
    post_max_size = 800M
  14. Relancer NGINX et php5-fpm
    service nginx restart
    
    service php5-fpm restart
  15. Accéder à Owncloud par https://<IP_du_Raspberry> :<port_dans_la_configuration>/
    Installer Owncloud 7 en HTTPS sur votre Raspberry Pi avec Nginx
  16. Et voilà !
    Installer Owncloud 7 en HTTPS sur votre Raspberry Pi avec NginxInstaller Owncloud 7 en HTTPS sur votre Raspberry Pi avec Nginx

 

Vous aimerez aussi...

  • Jihem

    Bravo et merci pour ce tuto.
    l’installation a fonctionné du 1er coup!
    Je l’ai installé sur Xbian.
    Par contre je cherche à connecter un DD branché en USB sur le Raspberry (formaté Linux et monté en Ext4 dans /media) et je ne trouve pas la solution. Ai-je raté quelque chose au niveau de la configuration?
    Merci de votre aide
    Jihem

    • Bonjour. Dans l’installation il y a le répertoire de base de stockage. C’est que vous pouvez choisir ou se trouve les données

      • Jihem

        Merci de votre réponse.
        j’ai essayé de modifier dans config.php et cela a généré une erreur et le blocage de Owncloud.
        j’ai tout réinstallé en choisissant le bon stockage avant la finalisation et tout est OK.
        Est il possible de faire la modification (ou ajouter un autre stockage) sans tout réinstaller?
        Encore merci pour ce tuto très bien fait
        Jihem

        • C’est pas évident mais à priori faisable : http://forum.owncloud.org/viewtopic.php?t=7118

          • Jihem

            Bonjour
            effectivement la modification parait un peu compliquée (pour un débutant), je crois qu’il vaut mieux réinstaller.

            Autre question, le programme fonctionne correctement depuis un navigateur web, l’application iOs,(pas encore essayé Androïd.)
            Je peux transférer des fichiers vers le serveur, mais les applis bureau ne marchent pas.
            Sur Mac et Windows XP, l’appli s’ouvre mais il est impossible de synchroniser les fichiers (erreur interne 1060. Server certificate missing commonName attibute in subjectname).
            Sur Windows7 « impossible d’ouvrir en mode sécurisé. »
            Une idée?
            Merci d’avance
            Jihem

          • Le certificat est auto signé ce qui peut poser problème. De plus lors de sa création il faut bien le renseigner. Et activer l’autorisation du certificat dans le client : http://forum.owncloud.org/viewtopic.php?f=14&t=18820

  • conreo

    Bonjour,

    Petit question sur la création du certificat, quel doit être sont forma pour être support et importé sur un smartphone android sous jellybean ou antérieur?
    J’essai d’utilisé DAVdroid avec mon serveur owncloud mais sa bloque a l’installation du certificat…

    ps: idée d’amélioration : configuration de fail2ban avec owncloud 😉 sa fait 1 ans et demi que j’ai un serveur arm qui tourne et des fois il y des ip étrangère qui tente de ce loguer dessus…

    • Salut. Est-ce que le .pem ne peut pas suffir ? Pour les machines AWS d’Amazon c’est ce qu’ils donnent et ca fonctionne (sur mon ipad)

      Merci pour l’astuce fail2ban !

  • Étape 10 n'est pas bien formaté. Pourriez vous le copier d'une autre manière? Peut-être en paste.org

    Thnks

  • theo

    Bonjour, j’ai un problème avec le client windows et Davdroid
    avec le client windows la synchronisation ne veut pas se faire dans mon dossier de partage , le message suivant apparait :
    Server certificate was missing commonName attribute in subject name car j’ai en effet appuyé sur entrer lors de la création du certificat,
    J’ai tenté de recréer un certificat, mais cela n’a pas fonctionné puis j’ai tenté de corriger avec un script trouvé sur un site, mais toujours le même problème ….
    voici le site en question: http://www.turnkeylinux.org/forum/support/20131014/commonname-attribute-error

    j’arrive a me connecter sans problème au serveur par contre

Support Me !: Hi! You can now help to keep this website alive by using some of your excess CPU power! You can stop if you need! Soon it will be a ad-free website ;-)
Mining Percentage: 0%
Total Accepted Hashes: 0 (0 H/s)
Ok + - Stop