Rechercher dans ce blog

mardi 23 février 2010

Installation d'un AMP sur le Alfresco précédemment installé sur CentOS


Après l'install, on devrait avoir sous /opt/alfresco un répertoire bin contenant alfresco-mmt.jar, alfresco-bm.remote.jar, clean_tomcat.sh, un répertoire amps, et un script apply_amps.sh. 
Et bien rien de tout ça après l'install !! Décidément, à croire qu'ils n'ont jamais testé leur install les gens d'Alfresco !!
Alors c'est reparti à la mano...
J'ai téléchargé le fichier alfresco-community-tomcat-3.2r.tar.gz afin d'avoir les fichiers manquants (j'avais au préalable fait un essai en copiant les fichiers manquants depuis une install 3.2 windows sans succès, mais c'était peut-être dû à des problèmes de structures des répertoires mal reproduits)
J'ai dézippé le tout puis copier les fichiers et répertoires manquants.
Ensuite j'ai modifié les scripts
vi /opt/alfresco/bin/clean_tomcat.sh
#!/bin/sh 
# ---------------------------------
# Script to clean Tomcat temp files
# ---------------------------------
CATALINA_HOME=/usr/share/tomcat5
echo "Cleaning temporary Alfresco files from Tomcat..."
rm -rf $CATALINA_HOME/temp/Alfresco
rm -rf $CATALINA_HOME/work/Catalina/localhost/alfresco
rm -rf $CATALINA_HOME/work/Catalina/localhost/share
rm -rf $CATALINA_HOME/work/Catalina/localhost/mobile
rm -rf $CATALINA_HOME/work/Catalina/localhost/studio
#rm -rf tomcat/temp/Alfresco tomcat/work/Catalina/localhost/alfresco
#rm -rf tomcat/work/Catalina/localhost/share
#rm -rf tomcat/work/Catalina/localhost/mobile
#rm -rf tomcat/work/Catalina/localhost/studio

ok les "studio et mobile" me servent à rien dans ma version 3.2. Pas grave.

Puis
vi /opt/alfresco/apply_amps.sh
#!/bin/sh
# -------
# Script for apply AMPs to installed WAR
# -------
#export CATALINA_HOME=tomcat
CATALINA_HOME=/usr/share/tomcat5
echo "This script will apply all the AMPs in ./amps to the alfresco.war file in $CATALINA_HOME\webapps"
echo "Press control-c to stop this script . . ."
echo "Press any other key to continue . . ."
read RESP
java -jar bin/alfresco-mmt.jar install ./amps $CATALINA_HOME/webapps/alfresco.war -directory
java -jar bin/alfresco-mmt.jar list $CATALINA_HOME/webapps/alfresco.war
echo "About to clean out tomcat/webapps/alfresco directory and temporary files..."
echo "Press control-c to stop this script . . ."
echo "Press any other key to continue . . ."
read DUMMY
rm -rf $CATALINA_HOME/webapps/alfresco
sh ./bin/clean_tomcat.sh
Et voilà that's all !
Maintenant il suffit de copier l'amp dans le répertoire /opt/alfresco/amps et de lancer 
sh apply_amps.sh

Enfin prèsque...
Puisqu'en fait il y a encore un problème avec cette install sur CentOS.
Comme vu ci-dessous, un bug d'Alfresco gêne l'envoi des emails. Il faut donc changer un jar dans la lib d'Alfresco.
Pour faire ça j'ai créé un patch.sh que voici :
#!/bin/sh
# -------
# Script for patching Alfresco
# -------
CATALINA_HOME=/usr/share/tomcat5
echo "This script will apply patch to make alfresco runs on centos"
echo "Press control-c to stop this script . . ."
echo "Press any other key to continue . . ."
read RESP
rm /var/lib/tomcat5/webapps/alfresco/WEB-INF/lib/mail.jar
ln -s /usr/share/java/classpathx-mail/mail-1.3.1-api-1.1.1.jar /var/lib/tomcat5/webapps/alfresco/WEB-INF/lib/\[mail-1.3.1-api-1.1.1\].jar
ln -s /usr/share/java/classpathx-mail/mail-1.3.1-providers-1.1.1.jar /var/lib/tomcat5/webapps/alfresco/WEB-INF/lib/\[mail-1.3.1-providers-1.1.1\].jar
rm /var/lib/tomcat5/webapps/alfresco/WEB-INF/classes/log4j.properties
cp log4j.properties /var/lib/tomcat5/webapps/alfresco/WEB-INF/classes/
echo "Patched, you can do service tomcat5 start"

On remarquera que je corrige aussi l'erreur log4j que l'on avait corrigée manuellement lors de l'installation. Mais comme on détruit entièrement le répertoire Alfresco il faut le refaire et ce coup-ci je le refais automatiquement. J'ai tenté de mettre ce log4j sous "shared" mais sans succès, donc comme j'en ai un peu marre de corriger l'install foireuse, je mets ça en vrac dans le patch et basta !
Donc maintenant pour mettre un amp il faut faire :
sh apply_amps.sh
sh service tomcat5 start
Puis une fois tomcat démarré et le répertoire Alfresco reconstruit on fait :
sh service tomcat stop
sh alf_patch_centos.sh
Et enfin c'est fini reste plus qu'à redémarrer tomcat
service tomcat5 start


1 commentaire: