Installer Owncloud 8 sur le RaspBerry Pi 2

La nouvelle version 8 d’OwnCloud, le gestionnaire de stockage en ligne et bien plus encore, vient à peine de sortir et j’ai décidé de l’installer sur mon raspberry pi 2 pour m’affranchir de toute la suite de Google. Allez attaquons.

Pour cela je vais prendre la version Debian optimisée pour le raspberry pi 2 que je vous ai présenté hier. Avant faisons un peu le tour des fonctionnalités offertes qui sont disons le impressionnantes :

  • partage de fichiers
  • lecture de musique en ligne grâce au lecteur intégré
  • un agenda,
  • une gestion des contacts
  • la visualisation et l’édition de documents
  • la visualisation et le classement de photos
  • plus de nombreux plug-ins comme la possibilité de connecter vos autres espaces de stockage en ligne, …

Dans ce tutoriel, nous allons voir ensemble comment installer OwnCloud avec Nina pour le serveur web couplé à PHP et mariaDB.

Installation de OwnCloud 8 sur RaspBerry Pi 2

Première étape installons les applications requises :

sudo sudo apt-get install nginx openssl ssl-cert php5-cli php5-sqlite php5-gd php5-curl php5-common php5-cgi sqlite3 mariadb-sever
php-pear php-apc curl libapr1 libtool curl libcurl4-openssl-dev php-xml-parser php5 php5-dev php5-gd php5-fpm memcached php5-memcache

Maintenant, continuons avec l’installation d’ownCloud :

wget https://download.owncloud.org/community/owncloud-8.0.0.tar.bz2
tar -C /var/www -xvf owncloud-8.0.0.tar.bz2

Maintenant il faut définir www-data comme propriétaire et groupe du répertoire détaré :

sudo chown -R www-data:www-data /var/www/owncloud
sudo mv owncloud /var/www/owncloud

Créons maintenant les certificats SSL (lors des questions, renseignez common avec le votre nom de domaine) :

openssl req $@ -new -x509 -days 730 -nodes -out /etc/nginx/cert.pem -keyout /etc/nginx/cert.key

Modifions la configuration du site default :

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.old
sudo vi  /etc/nginx/sites-available/default

Collez-y ceci (remplacer cloud.example.com par votre nom de domaine):

upstream php-handler {
  server 127.0.0.1:9000;
  #server unix:/var/run/php5-fpm.sock;
  }

server {
  listen 80;
  server_name cloud.example.com;
  # enforce https
  return 301 https://$server_name$request_uri;
  }

server {
  listen 443 ssl;
  server_name cloud.example.com;

  ssl_certificate /etc/nginx/cert.pem;
  ssl_certificate_key /etc/nginx/cert.key;

  # Path to the root of your installation
  root /var/www/owncloud/;
  # set max upload size
  client_max_body_size 10G;
  fastcgi_buffers 64 4K;

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

  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 php-handler;
   }

   # 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;
   }

  }

Modifions aussi la conf de php:

sudo vi /etc/php5/fpm/php.ini

Changer les valeurs des lignes suivantes :

upload_max_filesize = 1000M
post_max_size = 1000M

Ajoutez-y ceci à la fin :

upload_tmp_dir = /media/data
extension = apc.so
apc.enabled = 1
apc.include_once_override = 0
apc.shm_size = 256

Il faut aussi modifier la config de php-fpm :

sudo vi /etc/php5/fpm/pool.d/www.conf

Et changer la ligne suivante :

listen = 127.0.0.1:9000

Maintenant créons la base de données :

mysql -u root -p
CREATE USER "owncloud"@"localhost" IDENTIFIED BY "motdepasse";
CREATE DATABASE owncloud;On donne tous les droits à l’utilisateur sur la base de données :
GRANT ALL PRIVILEGES ON owncloud.* TO "owncloud"@"localhost";
FLUSH PRIVILEGES ;

Vous pouvez maintenant vous connecter sur le site et de renseigner les champs :

Il faudra ensuite renseigner les champs correspondants (user, password, nom de la base de données ..) et de cliquer sur Terminer l’installation.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *