Installer Glassfish v3 sous Ubuntu Lucid 10.04 LTS avec modjk

Un chtit coup d’install de ce magnifique serveur notre distribution préférée


1.Si vous n’avez pas le jdk installer le (Attention à activer les dépots partner dans ubuntu)
sudo apt-get install sun-java6-jdk
2.Récupérer glassfish
wget http://download.java.net/glassfish/3.0.1/release/glassfish-3.0.1.zip
3.Dézipper glassfish (Si vous n’avez pas unzip sudo apt-get install unzip )
sudo unzip glassfish-3.0.1.zip
4.Déplacer le tout dans un dossier
sudo mv glassfishv3 /opt
5.Ajouter un utilisateur système pour glassfish
sudo useradd --system glassfish -d /opt/glassfishv3
6.Mettre le groupe admon sur glassfish
sudo chgrp -R admin /opt/glassfishv3
7.Mettre glassfish comme propriétaire
sudo chown -R glassfish glassfishv3
8.Allez dans le répertoire
cd glassfishv3
9.Mettre les fichiers exécutables
sudo chmod -R +x bin/ sudo chmod -R +x glassfish/bin/
10.Start glassfish sur le domain1
sudo -u glassfish bin/asadmin start-domain domain1
11.Et le service pour finir en beauté
sudo nano /etc/init.d/glassfish

Entrer le code suivant

#! /bin/sh
 
GLASSFISHPATH=/opt/glassfishv3-prelude/bin
 
case "$1" in
start)
echo "starting glassfish from $GLASSFISHPATH"
sudo -u glassfish $GLASSFISHPATH/asadmin start-domain domain1
;;
restart)
$0 stop
$0 start
;;
stop)
echo "stopping glassfish from $GLASSFISHPATH"
sudo -u glassfish $GLASSFISHPATH/asadmin stop-domain domain1
;;
*)
echo $"usage: $0 {start|stop|restart}"
exit 3
;;
esac
:

Changer les droits
sudo chmod a+x /etc/init.d/glassfish
Installer en run level
sudo update-rc.d glassfish defaults
12. Installation du mod_jk, avec Apache2
sudo apt-get install apache2 libapache2-mod-jk

Editer le ficher jk.load

nano /etc/apache2/mods-available/jk.load

Afin qu’il ressemble à ceci:

LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so
JkWorkersFile /etc/apache2/workers.properties
JkLogFile /var/log/apache2/mod_jk.log
JkLogLevel debug
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

Créer ce fichier /etc/apache2/workers.properties

sudo nano /etc/apache2/workers.properties

Placer y le code ci-dessous:

# Define 1 real worker using ajp13
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300

Creér les règle dans /etc/apache2/sites-enabled/000-default » comme ceci:

<VirtualHost *:80>
  ServerAdmin webmaster@localhost
 
  DocumentRoot /var/www/
 
  ...
 
  JkMount /contextA/* worker1
  JkMount /contextB/jsps/*.jsp worker1
</VirtualHost>

4)Démarrer Apache

/etc/init.d/apache2 start

Contrôler les logs

cat /var/log/apache2/mod_jk.log

Démarrer glassfish

asadmin start-domain domain1

Installer les écouteurs

asadmin create-http-listener --listenerport 8009 --listeneraddress 0.0.0.0 --defaultvs server jk-connector
asadmin set configs.config.server-config.network-config.network-listeners.network-listener.jk-connector.jk-enabled=true
13.Modifications nécessaires pour un bon fonctionnement

Après quelques essais en production j’ai pu remarqué qu’il y a avait de temps un bug, au niveau du chargement de la page. Voici donc les manips pour un bon fonctionnement

1. Aller dans l’admin de glassfish, dans network listener et supprimer le jk connector

2. Se procurer un version de tomcat et copier les jar : commons-logging-1.1.jar, commons-modeler-2.0.1.jar, tomcat-ajp.jar dans glassfish/lib

3. Aller dans l’admin de glassfish, Configuration->JVM Settings->JVM Options puis ajouter cette option
-Dcom.sun.enterprise.web.connector.enableJK=8009

4. Redéarrez apache et glassfish

5. Dans à la fin du fichier Jkload ajouter ceci

JkMountCopy all

6. Supprimer le trafic dans le dossier WEB-INF de votre application en ajoutant ceci dans votre virtualhost

<Location "/myapp/WEB-INF/">
  deny from all
</Location>

14. Tunning en production

Dans Configuration->JVM Settings->JVM Options , remplacer ces options

-client
-Xmx512m

par :

-server
-XX:+AggressiveHeap -Xmx1400m -Xms1400m -Xss128k -XX:+DisableExplicitGC

Une réflexion au sujet de « Installer Glassfish v3 sous Ubuntu Lucid 10.04 LTS avec modjk »

  1. bonjour et merci pour ce jolie et très bon tuto que j’ai suivi à la lettre et sa marche très bien

    c’est juste que je veus clusterisé mais j’aimerais savoir ou sont stocké les nodes merci bien

Laisser un commentaire