Serveur d’application Java web sur Nas Synology DS210+

Suite à mon précédent post sur comment installer java en chroot sur un Nas Synology, voyons comment utiliser cette nouvelle fonctionnalité.
Il nous faut un serveur léger supportant les servlets java et proposant de l’auto déploiement des fichiers WAR.
J’ai donc choisi le serveur « Tiny Java Web Server and Servlet Container » (Merci à Dmitriy Rogatkin)
disponible sur http://tjws.sourceforge.net/
téléchargement: http://sourceforge.net/projects/tjws/files/

passons dans le chroot

Nas>./initDebChroot.sh

Si nécessaire installer le package zip:

Nas>apt-get install zip

L’installation est simple, on peut par exemple décompresser l’archive dans /opt:

Nas> mkdir /opt/tjws
Nas> cp WebServer-183.zip /opt/tjws/
Nas> cd /opt/tjws/
Nas> unzip WebServer-183.zip
Nas> cd WebServer/bin
Nas> ./tjws.sh

Allez à http://NAS:8080/

Enjoy!!

Installer Java sur un NAS Synology DS210+

UPDATE: 25/09/2011 – Corrections des paths

WARNING: On the right side, you can translate this article with « Google Translate »,
BE CAREFUL, Google modify paths and names. For good scripts, thank you for using the French original.

But:

Installer Java sur un NAS Synology DS210+ et équivalent avec processeur PowerPC SPE également connu sous le nom de « e500″/ »MPC8500 » et « e200″/ »MPC5xx ».

Problèmes:

  • Synology ne fourni pas de package java compatible ou fonctionnel.
  • Toucher le moins possible à la configuration du nas.

Solution possible:

Trouver une distribution linux compatible PowerPC SPE avec par exemple OpenJDK et l’installer en chroot sur le nas.

Prérequis:

  • Un NAS à base de PowerPC SPE
  • une connexion ssh configurer vers le NAS.

Version rapide:

Télécharger l’ archive du répertoire préconfiguré avec OpenJdk d’une distribution linux Debian pour architecture PowerPC SPE:

[Téléchargement introuvable]

ou

À propos (un téléchargement)

Décompresser cette archive sur votre nas sous le répertoire /volume1/@local/debian et créer les points de montages correspondant:

NAS> mkdir -p /volume1/@debian
NAS> cp chrootgnuspe_OpenJDKPublic.tgz /volume1/@debian
NAS> cd /volume1/@local/debian
NAS> tar xzvf chrootgnuspe_OpenJDKPublic.tgz
NAS> mkdir -p /opt/debian

vous devez donc avoir /volume1/@debian/chrootgnuspe/bin, /volume1/@debian/chrootgnuspe/boot, …etc.
le ‘@’ évite que ce répertoire soit visible dans des partages réseaux.

il ne nous reste plus qu’à monter ce répertoire en chroot…

Pour nous simplifier la tâche, 2 scripts.
initDebChroot.sh sert à initialiser cette nouvelle installation au démarrage.

#!/bin/ash
mount -o bind /volume1/@debian /opt/debian
mount -o bind /dev /opt/debian/chrootgnuspe/dev
mount -o bind /proc /opt/debian/chrootgnuspe/proc
chroot /opt/debian/chrootgnuspe /bin/bash

loadDebChroot.sh permettant de se reconnecter en chroot, on aurait pu faire un alias, mais un des buts est de ne pas modifier le nas.

#!/bin/ash

chroot /opt/debian/chrootgnuspe /bin/bash

Nous allons maintenant tester notre plateforme.

Commençons par monter tout le nécessaire et changer de répertoire racine (chroot):

Nas>./initDebChroot.sh

Nous voici dans notre environnement debian.
Dans l’archive précédemment téléchargée se trouve un hello world en java, testons-le.

#cd /root
~# ll
total 12
-rw-r--r-- 1 root root  421 Nov 11 22:13 FirstApp.class
-rw-r--r-- 1 root root  109 Oct 19 22:06 FirstApp.java
~# javac FirstApp.java
~# java FirstApp
Hello World
~#

Voilà, vous avez un kit de développement java fonctionnel sur votre nas !!

Etant basé sur une distribution debian, vous pouvez utiliser toutes les commandes de gestion de paquet, apt-*. Vous pourrez ainsi en faire un serveur web avec jetty, tomcat, installez svn, git, un serveur dns, et que sais-je.

Amusez-vous bien.

Remerciements:
Rien n’aurait été possible sans le travail de Sebastian Andrzej Siewior pour son portage vers PowerPC SPE et de ces posts sur http://lists.debian.org/debian-powerpc/2009/02/msg00128.html . Il m’a permis de bénéficier d’une distribution complète sur ce nas et d’en faire une plateforme de dev utilisable.

Références:
http://wiki.debian.org/PowerPCSPEPort

A venir, une version plus détaillée de ce tutorial expliquant comment générer soit-même ce répertoire.