Rechercher dans ce blog

jeudi 25 février 2010

Bureau distant depuis Windows vers CentOS

Vu ici : http://www.commentcamarche.net/faq/17620-acceder-a-distance-a-sa-machine-vnc-ssh
Sur CentOS le vncserver était déjà installé, ainsi qu'openssh, j'ai juste autorisé l'accès au bureau distant par le menu :
et modifié le fichier /etc/ssh/sshd_config en changeant le port 22 en port 6522 et PermitRootLogin yes en PermitRootLogin no. Redémarrer le serveur ssh : /etc/init.d/sshd restart (ou service sshd restart)
Pour prendre la main sur le Windows:
Télécharger kitty ou putty, télécharger et installer tightvnc
Avec kitty.exe (ou putty.exe) il faut suivre ce qu'il y d'écrit dans le lien ci-dessus.
Ensuite, si une session X est déjà ouverte sur CentOS alors on peut depuis tightvnc avec l'adresse "localhost"


Sinon, on va configuer le vncserver pour qu'il ouvre une session X tout seul (enfin c'est ce que j'ai compris...)
Je suis parti de ça http://forum.hardware.fr/hfr/OSAlternatifs/reseaux-securite/serveur-client-xubuntu-sujet_70649_1.htm qui m'a amené sur ça http://www.ehow.com/how_5089245_install-vnc-server-ubuntu.html


Donc sur le CentOS, j'ai édité le fichier /etc/sysconfig/vncservers et j'ai écrit

VNCSERVERS="1:stef"
VNCSERVERARGS[1]="-geometry 1280x1024 -depth 16"



Ensuite il faut faire créer le répertoire .vnc par vnc (voir ici : http://wiki.centos.org/HowTos/VNC-Server):
Avec le compte voulu (ici stef, donc pas de "su") on fait

vncpasswd
puis on entre le mot de passe d'accès à vnc.Le répertoire .vnc sous /home/stef est créé.




Puis j'ai édité /home/stef/.vnc/xstartup (attention le répertoire est caché, il suffit de cocher "Afficher les fichiers cachés" sous Affichage du menu de Nautilus) et là j'ai fait comme on le dit sur le site ehow.com ci-dessus
Le fichier ne contient plus que :
(zone simplement décommentée)
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
[ -x ....etc
[ -r .... etc


le reste est mis en commentaire

#setroot...
#vnc...
#xterm...
#twm...

On sauve et on fait un chmod 755 /etc/X11/xinit/xinitrc (mais moi c'était déjà bon)
Ensuite on relance le serveur vnc (service vncserver restart).

On accède avec tightvnc à l'adresse 192.168.0.xxx:1 (attention pas de tunnel ssh !!, mais connexion en local pour moi et derrière firewall), en effet avec localhost ça ne veut pas fonctionner (je pense à cause de l'ouverture de session non faite).

On doit pouvoir résoudre ça avec ce qui est dit sur le premier lien de ce message (sur commentcamarche.net)

L'avantage pour le moment c'est qu'on n'a plus besoin de lancer kitty pour ouvrir le tunnel ssh.


Edit 15/05/2011 :

Le vnc se coupe tout seul ???

pour le relancer, se connecter avec Kitty, sous session stef, puis taper un "su -" (bien noter le "-") et taper le mot de passe su pour ensuite faire service vncserver start (ou /sbin/service vncserver start)

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


lundi 22 février 2010

Accès partage Windows après les iptables d'installation d'Alfresco

Il suffit de faire
iptables -t nat -F
et l'accès au partage du serveur Windows refonctionne.
Attention du coup le CIFS d'Alfresco ne marche plus.
Il faut refaire les iptables qui vont bien pour retrouver CIFS ou simplement redémarrer tomcat5

Installation Alfresco 3.2 Community sur CentOS 5.4

Installation Alfresco 3.2 Community sur CentOS 5.4
J'ai suivi ces instructions http://wiki.alfresco.com/wiki/Installing_Alfresco_Community_3.2_WAR_on_Centos_5.3
en installant la version 1.6.0.06 de java et non la 1.6.0.18 que Sun proposait car problème dans la suite de l'install sinon.
Au démarrage j'avais une ERREUR qui parlait de "unsupported value : EXACT_LANGUAGE_AND_ALL"
Le problème a été résolu grâce à ce post http://forums.alfresco.com/en/viewtopic.php?f=14&t=14548
en désinstallant le OpenJdk.
J'ai ensuite suivi ça http://wiki.alfresco.com/wiki/Installing_Alfresco_Community_3.2r_WAR_on_Centos_5.4
pour créer le script de démarrage d'OpenOffice (ooffice)
Pour démarrer Alfresco faire ensuite :
service mysqld start
service ooffice start
service tomcat5 start

Puis surveiller /var/log/tomcat5/catalina.outEnsuite résolution de l'erreur "xalan TransformerFactoryImpl not found" selon http://forums.alfresco.com/en/viewtopic.php?f=8&t=18857
cd /opt/alfresco/endorsed/
cp xalan.jar /usr/share/java
cd /var/lib/tomcat5/common/endorsed/
rebuild-jar-repository /var/lib/tomcat5/common/endorsed xalan.jar
(ne pas suivre la solution pour CentOS, ça n'a pas marché pour moi)
J'ai fait de même avec serializer.jar (résolution de "error OutputPropertiesFactory")
Pour le problème ImageMagik, OpenOffice et pdf2swf, j'ai fait
yum install ImageMagick rpm-build
cd /opt
wget http://www.swftools.org/swftools-0.9.0.tar.gz
tar xzf swftools-0.9.0.tar.gz
cd swftools-0.9.0
yum install gcc gcc-c++ automake zlib-devel libjpeg-devel freetype-devel giflib-devel fontconfig-devel freeglut-devel
wget ftp://ftp.pbone.net/mirror/atrpms.net/el5-x86/atrpms/stable/libmp3lame0-3.98.2-20.el5.x86.rpm \ ftp://ftp.pbone.net/mirror/atrpms.net/el5-x86/atrpms/stable/lame-devel-3.98.2-20.el5.x86.rpm \ ftp://ftp.pbone.net/mirror/ftp.freshrpms.net/pub/freshrpms/pub/dag/redhat/el5/en/x86/RPMS.dag/lame-3.98.2-1.el5.rf.x86.rpm \ ftp://ftp.pbone.net/mirror/centos.karan.org/el5/extras/testing/x86/RPMS/t1lib-5.1.0-9.el5.kb.x86.rpm \

Là j'ai eu des erreurs mais j'ai continué quand même avec :
./configure
make
make install
J'ai vérifié que j'avais bien le binaire pdf2swf dans /usr/local/bin puis
vi /var/lib/tomcat5/shared/classes/alfresco-global.properties
et changer
ooo.exe =/usr/lib/openoffice.org/program/soffice
img.dyn =/usr/lib
img.exe =/usr/bin/convert
swf.exe =/usr/local/bin/pdf2swf 

Tant qu'on est dans ce fichier on ajoute :cifs.enabled=true
cifs.Server.Name=monserveur
cifs.domain=mondomaine
cifs.hostanounce=true
cifs.broadcast=0.0.0.0
cifs.tcpipSMB.port=1445
cifs.ipv6.enabled=false
cifs.netBIOSSMB.namePort=1137
cifs.netBIOSSMB.datagramPort=1138
cifs.netBIOSSMB.sessionPort=1139

ftp.enabled=true
ftp.port=2021
en remplaçant bien sûr monserveur et mondomaine par les bonnes valeurs.

Problème "Attention failed to register in JMX ... ClassNotFoundException: org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
Ceci est dû à un fichier jar manquant (naming-factory-dbcp.jar) dans le rpm tomcat5 de la CentOS5.
Solution tirée d'ici https://bugzilla.redhat.com/show_bug.cgi?id=217630

wget https://staff.washington.edu/joshuadf/java/naming-factory-dbcp.jar -O /var/lib/tomcat5/common/lib/naming-factory-dbcp.jar
service tomcat restart



Si Erreur FileServer failed to local domain... (après correction du alfresco-gloabl.properties il semblerait qu'on n'ait pas cette erreur)
J'ai suivi ça http://forums.alfresco.com/fr/viewtopic.php?f=6&t=3243
vi /var/lib/tomcat6/webapps/alfresco/WEB-INF/classes/alfresco/file-servers.properties
puis ajout dans ce fichier de 


filesystem.name=Alfresco

cifs.enabled=true
cifs.localname=${localname}
cifs.domain=
cifs.broadcast=255.255.255.255

cifs.bindto=0.0.0.0
cifs.hostanounce=true
cifs.ipv6=disabled

ftp.enabled=true
ftp.ipv6=disabled

nfs.enabled=false
Et enfin plus aucune erreur dans le catalina.out !! ouf !!



Pour activer CIFS, j'ai complété avec la modification du fichier /etc/init.d/tomcat5
...
# Define the tomcat log file
TOMCAT_LOG="${TOMCAT_LOG:-/var/log/tomcat5/catalina.out}"
RETVAL="0"

#ajout Stef
function redirect() {
echo "Redirecting port $1 to $2 ($3)"
iptables -t nat -A OUTPUT -p $3 --dport $1 -j REDIRECT --to-ports $2
iptables -t nat -A PREROUTING -p $3 --dport $1 -j REDIRECT --to-ports $2
iptables -t nat -A OUTPUT -p $3 --dport $1 -j REDIRECT --to-ports $2
}
#
# setup_iptables
# setup iptables for redirection of CIFS and FTP
function setup_iptables () {
echo "1" >/proc/sys/net/ipv4/ip_forward
# Clear NATing tables
iptables -t nat -F
# FTP NATing
redirect 21 2021 tcp

# CIFS NATing
redirect 445 1445 tcp
redirect 139 1139 tcp
redirect 137 1137 udp
redirect 138 1138 udp
}
#fin ajout Stef

# remove when the RHEL and FC daemon functions converge
# (pulled from /etc/rc.d/init.d/functions)

...

puis plus loin dans ce même fichier
...# See how we were called.
function start() {
echo -n "Starting ${TOMCAT_PROG}: "
echo "Setting up iptables ..." setup_iptables
if [ -f "/var/lock/subsys/${NAME}" ] ; then
if [ -f "/var/run/${NAME}.pid" ]; then

...


Pour se connecter à Alfresco en CIFS, il suffit de connecter un lecteur réseau sous Windows avec l'adresse IP, par exemple
\\192.168.0.15\Alfresco
avec le bon nom d'utilisateur qui va bien et hop !!
Pareil pour un accès FTP : 192.198.0.15 port 2021, le bon nom qui va bien et hop !

Après lancement, il reste encore une erreur log4j que l'on résoud en faisant (vu ici http://forums.alfresco.com/fr/viewtopic.php?f=6&t=2544:

vi /var/lib/tomcat5/webapps/alfresco/WEB-INF/classes/log4j.properties
et en modificant 
log4j.appender.File.File=/var/log/tomcat5/alfresco.log

Ensuite il reste un problème, les emails ne sortent pas (voir ici : http://wiki.alfresco.com/wiki/Installing_Alfresco_Community_3.2r_WAR_on_Centos_5.4) . Il semble que cela soit dû à un problème de mail.jar d'Alfresco incompatible avec CentOS.

J'ai fait ça

[root@server base]# mkdir -p /var/lib/tomcat5/backup
[root@server base]# mv /var/lib/tomcat5/webapps/alfresco/WEB-INF/lib/mail.jar /var/lib/tomcat5/backup/
[root@server base]# 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
[root@server base]# 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



sans succès. Je mettrai à jour dès que j'aurai la solution.
Edit : en fait ça marche, il y avait un bug dans mon code java d'envoi.


C'est fini pour l'install d'Alfresco, maintenant installation de mon amp.

jeudi 18 février 2010

Installation CentOS 5.4 avec RAID1

Récupérer une iso network, les 3.7 Gb des iso dvd sont inutiles et j'ai jamais pu la rapatrier sans problèmes !


Utiliser unetbootin (http://unetbootin.sourceforge.net/) pour créer une clé usb bootable avec cette iso.


Booter avec cette clé, et suivre bêtement les instructions (voir ici http://www.chrisgountanis.com/technical/45-centos-netinstall.html ) et surtout ne pas cocher le repo "extra" pour chercher les packages (sinon plantage)
Pour configurer le RAID :
Tout d'abord suivre ce tuto http://www.slideshare.net/poustchi/installing-centos-5-raid-1
Finir l'install, rebooter.


Moi, ça a planté direct, pas de reboot. Alors sous l'invite Grub, faire :

root (hd0,0)
setup (hd0,0)
root (hd1,0)
setup (hd1,0)

(clavier américain, (=shit+9, )=shift+10, ,=;)Le setup (hdx,0) doit pouvoir aussi se faire avec un setup (hdx), mais moi ça ne marchait pas comme ça.
Le boot doit se faire maintenant.


Attendre la finalisation du RAID1 en surveillant avec :
cat /proc/mdstat

Mais si on retire un disk, le boot ne se fait plus. C'est con si on veut un RAID 1 full !!


Pour tout ce qui suit faut être en "su -" . 
Le tiret compte sinon on n'a pas de fdisk si on veut voir la config des disks.


J'ai fait les points 10-11-12 de http://wiki.centos.org/HowTos/Install_On_Partitionable_RAID1 :
Vérif des différents fichiers de config. de ce wiki.
Modif du /etc/grub.conf (issu de http://www.debian-administration.org/articles/238)

title       Custom Kernel 2.6.11.7
root        (hd0,0)
kernel      /boot/vmlinuz-2.6.11.7 root=/dev/md0 md=0,/dev/sda1,/dev/sdb1 ro
boot


title       Custom Kernel 2.6.11.7 (RAID Recovery)
root        (hd1,0)
kernel      /boot/vmlinuz-2.6.11.7 root=/dev/md0 md=0,/dev/sdb1 ro
boot



en adaptant avec l'existant, notamment avec le LVM.
Le numéro des disks est bien 0 et 1 (alors qu'ensuite ci-dessous on va mettre 1 et 2, va comprendre Charles...)


Ensuite, comme ça ne bootait toujours pas en l'absence d'un disk j'ai fait :
Trouver les numéros des disks en faisant sous linux :

grub --device-map=/boot/grub/device.map

puis sous l'invite de grub,
grub> find /boot/grub/stage1
et ensuite refaire avec les bons numéros trouvés ci-dessus, pour moi 1 et 2 au lieu de 0 et 1 :
root (hd1,0)
setup (hd1)
root (hd2,0)
setup (hd2)
quit



Là le setup (hdx) a fonctionné.

C'est fini, le reboot marche, avec1 ou 2 disks (j'ai pas testé en échangeant les nappes)


Après quelques essais de débranchement et rebranchement des disks, j'ai perdu le RAID 1.
Au boot il m'indique un truc du genre  /dev/md1 using (1/2)
En suivant ça http://nst.sourceforge.net/nst/docs/user/ch14.html
j'ai ajouter manuellement le 2ième disk parti en faisant
/sbin/mdadm /dev/md0 -a /dev/sdb1
/sbin/mdadm /dev/md1 -a /dev/sdb2

Ensuite j'ai surveillé le remontage avec
cat /proc/mdstat

Présentation rapide

Je crée ce blog pour pouvoir noter rapidement toutes les solutions aux différents problèmes informatiques que je rencontre dans mon job afin de rapidement les retrouver. Et si ça peut servir à d'autres ce sera parfait.