AjaXplorer sur le Raspberry Pi, une alternative à Owncloud

Parmi les nombreuses possibilités du Raspberry Pi, il y a celle d’avoir son propre Cloud avec le fameux Owncloud. Pourtant il existe des solutions alternatives qui permettent de stocker et partager vos fichiers. Aujourd’hui nous allons tester AjaXplorer.

AjaXplorerLes fonctionnalités sont nombreuses et peuvent s’étendre grâce aux nombreux plugins. La liste est longue, trop pour être détaillée ici mais dans les grandes lignes, vous pouvez :

  • Accéder à vos documents depuis Internet,
  • Afficher les documents stockés comme les images, les PDF, les fichiers Office, la musique, etc.
  • Il y a des applications natives iOS et Android pour accéder à vos données
  • Une indexation des documents pour une recherche rapide
  • Création de mini site public pour partager certains documents
  • Une administration simplifiée
  • Des notifications sur les partages, leur accès, etc.
  • Il est possible de l’intégrer dans les CMS WordPress, Joomla et Drupal pour l’authentification

Et c’est sans compter sur les nombreux plugins existants disponibles ici.

Si vous voulez l’essayer avant de l’installer vous pouvez le faire sur le site officiel d’ajaXplorer, sur cette page.

Donc maintenant nous y voilà pour l’installer sur notre Raspberry favori !

  1. Mettre à jour le système
    apt-get update && apt-get -y upgrade
  2. Installer le serveur web Nginx avec le support PHP. Vous retrouvez les instructions sur cette page.
  3. Créer le répertoire qui va contenir ajaXplorer
    mkdir /var/www
  4. Télécharger la dernière version d’ajaXplorer sur cette page. Voici le lien que j’ai utilisé :
    wget "http://downloads.sourceforge.net/project/ajaxplorer/ajaxplorer/stable-channel/5.0.2/ajaxplorer-core-5.0.2.zip?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fajaxplorer%2Ffiles%2Fajaxplorer%2Fstable-channel%2F5.0.2%2F&ts=1376426236&use_mirror=freefr" -O ajaxplorer.zip
  5. Copier le fichier ajaxplorer.tar.gz dans le répertoire de destination
    cp ajaxplorer.zip /var/www
  6. Décompresser l’archive
    cd /var/www
    unzip ajaxplorer.zip
    cd ajaxplorer-core-5.0.2
    mv * ..
    mv .* ..
    cd..
    rm -rf ajaxplorer-core-5.0.2
  7. Changer les droits de l’arborescence :
    chown -R www-data:www-data /var/www
  8. Configurer Nginx dans le fichier /etc/nginx/sites-available/ajaxplorer
    server {
    	listen 8080;
    
    	root /var/www;
    	index index.php;
    	access_log /var/log/nginx/ajaxplorer.access.log;
    	error_log /var/log/nginx/ajaxplorer.error.log;
    
    	location / {
    	}
    
    	location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
    		expires max;
    	}
    
    	location /conf/       { deny all; }
    	location /data/       { deny all; }
    	location ~ /\.          { deny all; }
    	location ~ ~$           { deny all; }
    
    	location ~ .php$ {
    		fastcgi_pass unix:/var/run/php5-fpm.sock;
    		fastcgi_index index.php;
    		include fastcgi_params;
    	}
    }
  9. Activer la configuration et redémarrer Nginx
    ln -s /etc/nginx/sites-available/ajaxplorer /etc/nginx/sites-enabled/ajaxplorer
    service nginx restart
  10. Pour suivre les recommandations, il faut désactiver l’option output_buffering du PHP en remplacant dans /etc/php5/fpm/php.ini la ligne
    output_buffering = 4096

    par

    output_buffering = Off
  11. N’oubliez pas de modifier la locale pour mettre tout ça en français (et rebooter si besoin). En accédant au Raspberry :
    AjaXplorer
  12. Il vous reste à suivre l’assistant d’installation pour configurer l’environnement. Dommage, même pas en français (ou j’ai pas trouvé comment faire malgré les locales en français). Dans Global Options vous pouvez choisir la langue post installation.
    Pour le stockage, j’ai choisi de ne pas utiliser MySQL pour gagner en performance CPU.
    Attention le mot de passe doit avoir une longueur minimale pour activer le bouton d’installation.
    AjaXplorer_-__
  13. Vous arrivez alors sur l’écran de connexion :
    AjaXplorer_-__
  14. Vous voilà arrivez sur la page principale de l’outil :
    AjaXplorer2

Je vous laisse lire la documentation sur l’utilisation d’ajaXplorer. Ce qui est vraiment important c’est les plugins qui vont vous permettre de prévisualiser pas mal de fichiers : images, PDF, doc, MP3, etc.

Point important : lorsque vous allez envoyer des fichiers vous êtes limités à 2M. Pour changer cette limite, rendez vous dans le fichier /etc/php5/fpm/php.ini et changer les valeurs suivantes par les limites que vous voulez imposer :

post_max_size = 8M
upload_max_filesize = 2M

Dites-vous ce que vous pensez de cet outil et s’il peut remplacer votre installation Owncloud.

 

 

Vous aimerez aussi...

  • Bon article ;).

    Par contre, attention, quand tu fais ton « mv * .. » pour remonter tout le contenu au dessus, il y a 1 fichier qui ne sera pas déplacé : .htaccess ;).

    • C’est corrigé merci !

  • Nono

    Bonjour,

    Très bon tuto =)

    J’ai une question, sais tu comment supprimer le bouton « visualisation » lorsque l’on partage un répertoire. Afin de laisser à l’utilisateur que le choix de télécharger les fichiers présent dans ce dernier.

    Merci par avance.

    • Salut,
      J’ai un peu regardé et je n’ai rien trouvé. Pas dit que ce soit possible sans attaquer les sources …

  • kecheu

    Bonjour
    je te remercie pour ce tuto, mais malheureusement, ça ne marche pas très bien chez moi 🙁
    l’installation de nginx a bien fonctionné, mais par la suite il m’est devenu impossible d’accéder au server. J’obtiens seulement une erreur 502 🙁 🙁

    Je précise que c’est la première fois que j’essaie de monter un serveur sr mon raspberry pi.

    • Salut. Erreur 502 donc bad gateway. Surement un soucis vers php5. Est ce que le php fonctionne bien ? As-tu regardé dans le répertoire /var/log/nginx ? Ca t’expliquera pourquoi Nginx retourne ce message

      • kecheu

        dans le error.log il y a toujours deux lignes qui aparaissent quand je tente de me connecter au server:

        [crit] connect () to unix:/var/run/php5-fpm.sock failed (2: No such file or directory) while connecting to upstream

        [error] rewrite or internal redirection cycle while internally redirecting ro « /index.html », request: « GET /favicon.ico HTTP/1.1 »

        Voilà où j’en suis, et je ne sais pas quoi faire 🙁

        Je pense que le premier message est le plus important, puisque le index.html ne devrait pas être utilisé s’il ne se passait rien de grave dans le index.php (si j’ai bien compris le fonctionnement du server).

        Je précise (c’est peut-être important) que j’ai toujours un problème avec la commande
        service php5-fpm restart
        qui fail systématiquement.
        Du coup je fais stop puis start et ‘espere que ça fonctionne (car je ne sais pas comment vérifier l’état d’un service).

        Voilà si tu as une solution à me proposer, je suis preneur 😉

        • L’erreur vient de là. Même si tu n’utilises pas de php, le serveur va chercher à établir la liaison avec la socket. Si php5 ne démarre pas il faut résoudre en premier ce problème. Regarde dans les logs du service pour comprendre pourquoi il ne démarre pas.

          • kecheu

            J’ai fais un tour dans le fichier de log, et aparamment le service n’a réussi a démarrer correctement que la première fois.
            Du coup comme je n’avais rien d’autre d’installé dessus, j’ai reformaté et tout repris depuis le début en laissant de coté le point 9 du tuto nginx/php, et là ça marche!! 😀

            Si le besoin s’en fait sentir, j’essaierais de modifier cela plus tard.

            Petite remarque sur ce tuto ci: au point 6 il faut rajouter un cd .. avant la ligne rm -rf ajaxplorer-core-5.0.2 sinon on n’est pas dans le bon dossier.
            Et je pense qu’il n’est pas non plus utile de garder le fichier ajaxplorer.zip 😉

            Par contre il y a un truc que je ne comprends pas, pourquoi a-t-on besoin du point 7 de ce tuto alors qu’on a déjà opéré le changement de droits lors de l’installation de nginx/php ??

          • Bonne nouvelle si ca fonctionne ! 🙂
            Pour le changement de droits, le unzip va créer les fichiers avec le user qui lance la commande or il faut que le serveur web qui tourne avec www-data puisse accéder aux fichiers. Donc le plus simple est de rendre www-data de tous les fichiers situés dans /var/www et tous ses sous-répertoires.
            J’ai corrigé l’article avec tes remarques. Merci

  • kecheu

    Bonjour,
    J’ai encore une question: est-ce qu’il est intéressant de désactiver certains plugins inutiles pour gagner en performances?

  • christophe

    Bonjour,
    merci pour ce guide.
    J’ai une question: j’ai sur mon espace perso un dossier qui ne m’appartient pas mais sur lequel j’ai les droits ( via une commande ln -s /home/dossier/ home/m/monnom/perso ).
    Je ne le vois pas sur ajaxplorer alors que tout le reste fonctionne bien.
    Savez-vous quel paramètre changer pour modifier cela ??
    merci,
    Christophe

    • Bonjour,
      C’est le serveur HTTP qui doit avoir les droits car c’est lui qui va lire dedans