Raspberry Pi et Owncloud en HTTPS avec Nginx

Si vous souhaitez installer ce service, vous trouverez des dizaines (au moins) de tutos avec votre ami Google. Alors ici je vais faire simple et rapide pour partager une partition du disque USB sur Internet le tout en HTTPS !

Raspberry Pi Home Server - Etape 14 : installer Owncloud en HTTPS avec Nginx

Les tutoriels pour installer Owncloud vous en trouvez donc partout (vous en avez un excellent et simple sur tropfacile.net). Donc un de plus sur ce site ! 🙂 On va installer Owncloud pour pouvoir partager une partition du disque USB. Nous allons aussi voir la gestion des certificats pour faire une connexion en HTTPS.

  1. Installer les packages nécessaires
    apt-get install php5 php5-json php5-gd php5-sqlite curl libcurl3 libcurl3-dev php5-curl php5-common php-xml-parser sqlite
  2. Installer le package php-apc pour optimizer les performances (merci le forum raspberrypi.org)
    apt-get install php-apc
  3. Télécharger OwnCloud
    http://doc.owncloud.org/server/5.0/admin_manual/
  4. Décompresser l’archive dans /var/www
    cd /var/www
    
    tar jxvf <archive>
  5. Changer le owner du répertoire
    chown -R www-data:www-data /var/www/owncloud
  6. Créer le répertoire /etc/nginx/certs s’il n’existe pas
    mkdir /etc/nginx/certs
  7. Générer les certificats pour le site 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
    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
  8. Supprimer les fichier inutiles
    rm owncloud.csr owncloud.key.org
  9. Créer un fichier /etc/nginx/sites-available/owncloud (A vous de choisir le port)
    server {
    
     listen 8091 ssl;
    
     ssl on;
    
     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;
    
     index index.php;
    
     client_max_body_size 1000M;
    
    # 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_pass unix:/var/run/php5-fpm.sock;
    
     fastcgi_split_path_info ^(.+.php)(/.*)$;
    
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    
     fastcgi_param HTTPS on;
    
     include fastcgi_params;
    
     }
    
    location ~ .php$ {
    
     include /etc/nginx/fastcgi_params;
    
     try_files $uri =404;
    
     fastcgi_param HTTPS on;
    
     fastcgi_index index.php;
    
     fastcgi_split_path_info ^(.+.php)(/.+)$;
    
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    
     fastcgi_pass unix:/var/run/php5-fpm.sock;
    
     }
    
     }
  10. Activer le site
    ln -s /etc/nginx/sites-available/owncloud /etc/nginx/sites-enabled/owncloud
  11. Changer les droits sur le répertoire partagé
    chown -R www-data:www-data /media/usbdrive/internet
  12. 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
  13. Relancer NGINX et php5-fpm
    service nginx restart
    
    service php5-fpm restart
  14. Accéder à Owncloud par https://<IP_du_Raspberry> :<port_dans_la_configuration>/

    Affichage du certificat pour se connecter à votre Owncloud

    Affichage du certificat pour se connecter à votre Owncloud

  15. Il vous suffit alors de suivre les instructions à l’écran

    Paramètres de configuration de Owncloud

    Paramètres de configuration de Owncloud

  16. Rendez-vous sur http://owncloud.org/support/ pour la documentation sur l’utilisation de Owncloud
  17. Un petit tour dans votre répertoire de data vous confirmera que les données seront stockées au bon endroit

Voilà j’espère vous avoir aidé dans votre installation.

Bonne soirée


Pour la version 5.0.4, merci à Tef (son site ici) pour son aide :

    1. le nom du serveur (attention il apparaît à deux endroits) –> server_name owncloud;
    2. le port ssl –> listen 8091 ssl;
    3. l’emplacement et le nom des certificats :
      • –> ssl_certificate /etc/nginx/certs/owncloud.crt;
      • –> ssl_certificate_key /etc/nginx/certs/owncloud.key;
    4. le root –> root /var/www/owncloud;

Vous aimerez aussi...