mardi 10 novembre 2009

Installation de FusionForge 4.8 sur Ubuntu 8.04.3

Je vous livre ici les étapes que j'ai suivi pour installer le produit FusionForge 4.8 dans l'environnement suivant :
  • machine virtuelle VMWare (ESXi)
  • Ubuntu Server 8.04.3 (Appliance TurnkeyLinux)
  • FusionForge 4.8
  • Annuaire LDAP pour l'authentification

Installation du système

Les étapes suivies sont les suivantes :

  • Booter sur le CD LAPP turnkey-linux (Linux Apache PHP PostgreSQL) et installer l'OS en suivant la procédure standard. Attention au mot de passe root, le clavier est en Qwerty lors de l'installation.
  • Sous une console root, passer le clavier en français avec la commande suivante :
dpkg-reconfigure console-setup
  • Rebooter la machine virtuelle (pour récupérer l'écran de wizard turnkey) et configurer le réseau.
  • Modification du fichier /etc/hosts :
192.168.0.1 forge forge.domain.fr
  • Modification du fichier /etc/hostname
forge
  • Reboot de la machine pour vérifier que le hostname est bien pris en compte
  • Mise à jour et installation d'outil pour importer la clé du dépôt fusionforge
apt-get update
apt-get install wget
apt-utils gnupg
  • Ajout du fichier /etc/apt/sources.list.d/fusionforge.list avec comme contenu :
deb http://fusionforge.fusionforge.org/ubuntu-brc hardy main
  • Ajout de la clé pour le dépôt fusionforge nouvellement ajouté :
wget -q http://fusionforge.fusionforge.org/key -O- | sudo apt-key add -
  • Mise à jour du système :
apt-get update
apt-get upgrade
  • reboot si changement important lors de l'upgrade
  • Installation des paquets pour fusionforge et des plugins svn et mediawiki
apt-get install libphp-jpgraph
apt-get install gforge
apt-get install gforge-plugin-scmsvn gforge-plugin-mediawiki

Configuration Fusionforge

  • Désactivation du virtualhost par défaut d'Ubuntu :
rm /etc/apache2/sites-enabled/000-default
  • droits en écriture pour apache sur le fichier de conf gforge
chmod 666 /etc/gforge/local.inc
  • Modifier le fichier /etc/gforge/gforge.conf pour paramètrer le nom du virtualhost si besoin et le mail admin
domain_name=forge.domain.fr
server_admin=lhuet@domain.fr
  • lancer l'outil gforge-config pour prendre en compte ces modifs.
  • Rédémarrer apache : /etc/init.d/apache2 restart
  • Vérifier que tout fonctionne en utilisant l'URL : https://forge.domain.fr/
  • Configuration des mails avec Exim4 à l'aide du tutoriel suivant :
http://www.xhtml.net/breves/270-configurer-exim4-sous-ubuntu-pour-envoyer-vos-emails-via-google
  • Internationalisation :
locale-gen
locale-gen fr_FR
locale-gen fr_FR.UTF-8
locale-gen fr_FR@EURO
  • Redémarrage d'apache pour prendre en compte cette modification :
/etc/init.d/apache2 restart

Bonus : Update de subversion en version 1.5

Souhaitant disposer d'une version plus récente de SVN que celle proposée par Ubuntu 8.04 (1.4 par défaut), j'ai activé les backports et installer la version 1.5 en suivant les étapes ci-dessous. (Utilisation du lien suivant : http://ubuntuforums.org/showpost.php?p=5811820&postcount=20)
  • Actication de hardy-backports dans le fichier/etc/apt/sources.list
  • Modification des priorités des dépôts (pinning backports to a lower priority of 400) en modifiant le fichier /etc/apt/preferences :
Package: *
Pin: release a=hardy-backports
Pin-Priority: 400
  • installation de subversion 1.5
sudo apt-get -t hardy-backports install subversion
sudo apt-get -t hardy-backports install libapache2-svn
L'option -t permet de remonter le niveau de priorité du dépôts des backports le temps de l'installation des paquets SVN.

mardi 7 avril 2009

Client JAX-WS avec Maven

Cela faisait longtemps que je n'avais pas fait un billet sur les Web Services. En voici donc un pour créer facilement un client JAX-WS avec Maven.

Pour commencer, dans le fichier pom.xml, il faut y mettre les repositories Sun pour les dépendances JAX-WS et le plugin utilisé pour la génération de code :



maven-repository.dev.java.net
Java.net Repository for Maven 1
http://download.java.net/maven/1/
legacy


maven2-repository.dev.java.net
Java.net Repository for Maven 2
http://download.java.net/maven/2/





maven2-repository.dev.java.net
http://download.java.net/maven/2/



Ensuite, on ajoute le plugin jaxws-maven-plugin :


org.codehaus.mojo
jaxws-maven-plugin



wsimport


client.jaxws.addnumbers
${basedir}/src/main/java





Par défaut, le goal wsimport génère le code pour les fichiers WSDL situé dans le répertoire src/wsdl. Nous allons donc mettre notre fichier wsdl dans ce répertoire(par exemple le addnumbers.wsdl des samples JAX-WS RI).
La balise sourceDestDir permet de définir la destination du code généré. Par défaut, il est dans target/jaxws/wsimport/java.

Une seule dépendance suffit pour le client :


com.sun.xml.ws
jaxws-rt
2.1.4
jar
compile


Une simple commande mvn compile permet de générer le code et de le compiler.
La génération de code ne se fait qu'une fois tant que le répertoire target/stale existe.

Il n'y a plus qu'à créer une classe de test pour faire l'appel WebService :

package client.jaxws;

import client.jaxws.addnumbers.AddNumbersFault_Exception;
import client.jaxws.addnumbers.AddNumbersPortType;
import client.jaxws.addnumbers.AddNumbersService;

public class AddNumbers {

public static void main(String[] args) {

AddNumbersPortType client =
new AddNumbersService().getAddNumbersPort();

try {
int result = client.addNumbers(2, 2);
System.out.println("Résultat : " + result);
} catch (AddNumbersFault_Exception e) {
System.out.println(e.getFaultInfo().getMessage());
}
}
}

Pour plus de facilité, voici le fichier pom.xml complet :


4.0.0
client.jaxws
addnumbers
1.0.0



maven-repository.dev.java.net
Java.net Repository for Maven 1
http://download.java.net/maven/1/
legacy


maven2-repository.dev.java.net
Java.net Repository for Maven 2
http://download.java.net/maven/2/




maven2-repository.dev.java.net
http://download.java.net/maven/2/






org.codehaus.mojo
jaxws-maven-plugin



wsimport


client.jaxws.addnumbers
${basedir}/src/main/java





org.apache.maven.plugins
maven-compiler-plugin
2.0.2

1.5
1.5







com.sun.xml.ws
jaxws-rt
2.1.4
jar
compile




mercredi 25 février 2009

Restauration d'un disque dur sous Linux

Lorsque vous avez un disque qui devient non lisible sous un OS (Windows ou Linux), il est peut-être possible de récupérer des fichiers malgré tout. La commande ci-dessous peut être très utile :
dd bs=512 if=/dev/sdb1 of=/media/diskUSB/backupPartition conv=noerror,sync

dd est un utilitaire Linux de copie binaire. Les options utilisées ci-dessus permettent de copier la partiton /dev/sdb1 dans le fichier /media/diskUSB/backupPartition même s'il y a des erreurs de lecture sur le disque.

Avec un peu de chance(ie. les données de struture du filesystem ne sont pas trop touchées) , ce fichier pourra être monté sur le répertoire /media/disk avec la commande :
mount -o loop /media/diskUSB/backupPartition /media/disk


Dans le cas où vous ne pouvez pas démonter le disque pour faire la sauvegarde sur un autre PC, vous pouvez utiliser un Live CD comme SystemRescueCD, histoire de démarrer votre PC sur un Linux à partir d'un CD qui contient tous les outils de restauration requis.

samedi 10 janvier 2009

"Nos enfants nous accuseront" à l'affiche

Dans un récent billet, je vous faisais part de la sortie du film "Nos enfants nous accuseront". Je n'ai pas pris le temps de faire un billet mais ce film a été à l'affiche au TNB à Rennes pendant les congés de fin d'année jusqu'au 6 janvier.
Si vous n'avez pu y aller, vous pouvez vous rattraper en allant au :
cinéma de Chartres de Bretagne
le lundi 26 Janvier à 20h3
0

Vous aurez en plus un débat avec le réalisateur (Jean-Paul JAUD) à l'issue de la projection.

Ayant vu ce film, je ne peux que vivement vous le conseiller.

mardi 6 janvier 2009

Bonne Année !!

Bonne année à tous et à toutes ...

En ce début d'année, on a toujours plein de bonnes résolutions.

Si une de vos résolutions est de diminuer votre consommation d'énergie, voici un lien qui pourra vous aider pour améliorer votre habitat :



Laurent