Rechercher dans ce blog

jeudi 23 décembre 2010

Connexion d'une baie de stockage Dell MD3200i sur serveur Windows 2008 R2 par switch Dell PowerConnect 5424

Raccordement


J'utilise un switch DLINK indépendant pour piloter la baie.

Le serveur Dell R610 a 4 ports ethernet : 
0 - LAN : 192.168.0.1
1 - d'abord connecté sur le port 24 du switch 5424 IP : 192.168.1.1, puis une fois le switch configuré connecté au switch DLINK (indépendant donc non relié au LAN) avec IP : 192.168.128.1
2 - connecté au port 1 du switch, IP : 192.168.130.1
3 - connecté au port 13 du switch, IP : 192.168.131.1

Le switch 5424 a 24 ports ethernet et un port série
Il faut le relier par le port série au serveur et installer le client putty sur le serveur.

La MD3200i a 2 contrôleurs RAID, chacun ayant 4 ports ethernet. Il y a aussi 2 ports ethernet pour le pilotage.
RAID 0 :

  • port 0 : 192.168.130.101 connecté au port 2 du switch
  • port 1 : 192.168.131.101 connecté au port 14 du switch
  • ports 2 et 3 non connectés

RAID1 :

  • port 0 : 192.168.130.102 connecté au port 3 du switch
  • port 1 : 192.168.131.102 connecté au port 15 du switch
  • ports 2 et 3 non connectés

Les 2 ports de pilotage de la baie sont connectés au switch DLINK : 192.168.128.101, 192.168.128.102


Configuration du switch 5424

Source : Configuring iSCSI SAN with PowerConnect 5424 and 5448 | Digital Library World
Un grand merci à l'auteur !!

Le switch est branché au serveur par le port série, putty est lancé avec la config suivante :
Session : serial
Terminal / Keyboard : Control-H, VT100+
Le tout le reste par défaut.
Lancer la connexion putty, allumer le switch.
Suivre les étapes III à VI du blog source en adaptant avec les bonnes adresses IP. En profiter pour sauvegarder les config par défaut (upload en http en se connectant par l'interface web)
Ensuite on fait (adaptation du blog de digitallibraryworld) :

Je me suis connecté par l'interface web (192.168.1.201) pour faire un upload de la startup-config et changer le fuseau horaire, puis sous putty :
Ensuite une fois ça fait on a 3 "réseaux" sur le switch : 

  • vlan2 sur les ports 1 à 8 pour le premier canal iSCSI, 
  • vlan 3 ports 13 à 20 pour le second canal iSCSI, 
  • vlan 1 pour le reste inutilisé, le switch ne doit servir qu'aux canaux iSCSI, c'est important pour la vitesse de transfert.
Les canaux 2 et 3 sont taggés et n'acceptent que ça donc il va falloir tagger les ports ethernet 2 et 3 du serveur (important je l'avais oublié au début et je ne pouvais pas pinger les adresses SCSI) et ceux de la baie correspondants. 
Pour faire ça pour le serveur, il faut afficher les connexions puis aller dans la config de la carte et donner l'id du VLAN correspondant à la carte. (id = 2 pour 192.168.130.1, id =3 pour 192.168.131.1). 
Pour la baie on le fait après ci-dessous.


Configuration de la MD3200i
Un grand merci à cet auteur aussi, sans lui je n'aurais toujours pas le disque de la baie accessible dans mon serveur...
On passe à la config de la baie : pour cela on va déconnecter le câble du port ethernet 1 du serveur et le connecter sur le switch DLINK indépendant.
On change l'adresse de la carte du serveur correspondante en 192.168.128.1. 
Elle va contrôler la baie maintenant.

Rappel ordre d'allumage : les switch, la baie, le serveur après le voyant bleu de la baie.

On vérifie en pingant la baie : ping 192.168.128.101, ping 192.168.128.102
Je n'arrivait pas à pinger les ports iSCSI à ce moment à cause de mon oubli de config vlan sur les 2 NICs du serveur, mais à mon avis on doit pouvoir les pinger dès maintenant si on a rien oublié : ping 192.168.130.101,102 ping 192.168.131.101,102
Installation des logiciels Dell MDCU et MDSM (suivre en parallèle les instructions de la source, les aides pdf de Dell sont aussi précieuses)
Lancement de MDCU et y a plus qu'à suivre les options par défaut.
Un mot de passe est requis pour accéder à la baie. Ne pas rentrer l'ancien (puisque pas encore défini) mais il faut cocher l'option et en rentrer un sinon ça marche pas.
Ensuite on configure les ports de management (192.168.128.101 et 102), les ports iSCSI (192.168.130.101..192.168.131.102,255.255.255.0,0.0.0.0)
Une fois la baie trouvée et configurée, on peut lancer MDSM pour définir les groupes de disques (1 groupe de 5 disques en RAID5 + 1 de secours). 
18 heures après !! (j'avais à ce moment encore des pb de config des NIC et des ports d'hôte :  vlan oublié... peut-être que c'est ça qui a freiné...)  la matrice est prête, on peut continuer avec MDSM pour modifier les ports d'hôte iSCSI avec les options avancées d'IPV4, activer la prise en charge du VLAN avec le bon id (2 pour 192.168.130.101 et 102, 3 pour 192.168.131.101 et 102)
On en profite aussi pour passer le MTU (Jumbo frame) à 9014 pour les NIC de la baie (192.168.130.101 et 102, 192.168.131.101 et 102) et du serveur (192.168.130.1 et 192.168.131.1)
Après on lance la config en auto (euh, c'est peut-être là que ça a mis 18h ,me souviens déjà plus...)
Voilà, pas de piège trouvé dans le reste donc en suivant la source et l'aide Dell ça doit gazer.
J'ai utilisé le partitionnement, mono hôte.

Initiateur iSCSI Windows :
Onglet Découverte :192.168.130.101 sur IP 192.168.130.1
Ce qui donne 4 cibles favorites qui pointent sur :

  • 192.168.130.101
  • 192.168.130.102
  • 192.168.131.101
  • 192.168.131.102

Dans l'onglet cibles, j'ai une cible connectée.
Pour ça j'ai dû ajouter 4 sessions (pas par MCS ! mais par le bouton "Ajouter une session") :
Pour chaque session, on donne l'IP du portail cible : 192.168.130.101..192.168.131.102
Si pour une session on clique sur "Périphérique" on voit 2 LUN : 0 et 31. C'est normal, c'est le 31 qui correspond au disque (l'autre c'est la "baie")
Une fois tout ça fait, je me retrouve avec 2 groupes de portails : un groupe 0 avec 2 adresses (192.168.130.101, 192.168.131.101) et un groupe 1 avec 2 adresses (192.168.130.102, 192.168.131.102)
De retour dans l'onglet Cibles, en cliquant sur périphériques on peut paramétrer le MPIO.
Pour le MPIO j'ai choisi "longueur minimale de la file d'attente".
Il faut le faire depuis Cibles/Périphériques et non depuis Cibles/Propriétés/Périphériques. Dans ce dernier cas on ne peut pas modifier l'option. Je ne suis pas sûr de ça mais comme je ne veux plus rien toucher pour vérifier...
J'ai monté le disque en GPT (conseillé si >2To ce qui est mon cas puisque 7.27 To) puis formatté en NTFS par défaut.
Il me reste à activer les fonctions premium. (snapshot pour mon cas)

Voilà y a plus k :-)

Edit :
J'ai rencontré un problème de connexion au réseau 192.168.131.x
Impossible de pinger la baie sur 192.168.131.101 et 102
Je me suis aperçu que les ports g14 à g20 étaient en Mdix mode ON sur le switch alors que les g2 à g8 non.
Pensant que c'était le problème j'ai donc fait une commande en putty :
enable
config
interface range ethernet g(14-20)
no mdix
exit
exit
copy running-config startup-config

Sans succès.(je m'y attendais mais qd on ne trouve pas on fait tout et puis c'est plus propre comme ça)
C'est un forum Dell qui m'a donné la solution  : http://en.community.dell.com/support-forums/storage/f/1216/p/19349568/19761920.aspx#19761920
J'ai changé les IP 192.168.131.101 et 102 en 192.168.131.200 et 202 et le ping a marché !
Alors je les ai remis en 192.168.131.101 et 102 et le ping marche !!!

J'en ai profité pour ajouter les chemins dans les initiateurs iSCSI :
Attention : ne pas utiliser MCS car Dell ne le supporte pas. Utiliser MPIO à la place.


Edit 2 :

En fait j'ai ensuite rencontré des soucis qui sont allés jusqu'à m'obliger à faire intervenir un prestataire Dell.

En effet, mon serveur est aussi contrôleur de domaine, et à chaque reboot j'avais une erreur de démarrage du rôle contrôleur de domaine : avec une erreur 7022 du service "server" et une erreur 7001 du service "netlogon" qui ne démarrait pas du coup.
J'ai vérifié au moins 20 fois mon câblage sans rien trouver...
Après un premier contact chez Dell, j'ai modifié mon initateur iSCSI : pour la redondance des liens j'avais utilisé les MCS (session à connections multiples), or Dell m'a indiqué que la baie ne supportait que les MPIO (Multi Path Input/Output). Cela n'a rien changé pour mes erreurs de démarrage, mais a certainement agit sur la vitesse de transfert pour la mise en production de la baie.
Entre ma demande d'intervention et l'intervention, nous avons déménagé.
J'ai donc câblé à nouveau la baie, mais là j'ai voulu utiliser le switch du LAN (économie de place) au lieu d'en avoir un spécifique (le D-LINK utilisé au départ) pour la partie commande de la baie.
Et de ce fait j'ai aussi utilisé d'autres câbles (cat 6 au lieu de cat 5e).
Et miracle !! mon serveur s'est mis à redémarrer sans erreur !!
Le prestataire Dell a vérifié tout ça lors de son intervention sans rien trouver à redire.
Peut-être avais-je un câble (pourtant neuf) défectueux ? Je ne saurai jamais....
Mais j'en ai profité pour passer à la virtualisation sur mon serveur et j'ai appris comment faire un AD un peu plus rigoureux que ce que j'avais fait sur notre précédent serveur (utilisation des UO et des groupes).
Je ferai un post sur ça.
Voilà notre baie fonctionne parfaitement avec un débit de 2 Gbps comme prévu.
(Suite à cet Edit 2 j'ai refait un peu de propre dans ce post)

mercredi 23 juin 2010

Sauvegarde automatique d'Alfresco

J'utilise cron pour lancer un script de sauvegarde :
Le script de sauvegarde /opt/alfresco/alf_data_save.sh est le suivant:


Lui donner l'attribut "Exécution" sinon cron ne pourra pas le lancer.

Je créé le fichier suivant /var/spool/cron/root qui contient
00 02 * * * /opt/alfresco/alf_data_save.sh 2>&1 >>/var/log/alf_data_save.log
Dans le script de sauvegarde il y a un "fusesmb" et un "fusermount".
Voir le billet correspondant sur ce blog.

Pour voir si les erreurs du cron, on peut aller voir le log /var/log/alf_data_save.log mais aussi (plus intéressant même) /var/spool/mail/root
qui m'a permis par exemple de voir pour le "service" se trouve dans /sbin et que ce répertoire n'était pas dans le path (ni le /etc/init.d)

Edit du 30/06/2010
Et beh !! toujours pas en fonction le truc !
Je me bats corps et âme avec ce p.!! de fusesmb qui ne veut absolument pas prendre en compte mon fichier de config /root/.smb/fusesmb.conf dans lequel j'ai mon user et mon password pour l'accès au serveur, tout du moins avec cron, parce qu'à la mano, ça marche bien (on peut voir le log dans l'observateur d'évènements de sbs2003, dans "sécurité")
Je tente aujourd'hui même de changer le fusesmb en mount cifs, en espérant que ça va marcher enfin !!
Je corrigerai tout ça ici dès que ce sera ok...
Edit du 01/07/2010
Ca y est !!! j'ai viré le fusemount pour le remplacer par un mount cifs et ça a marché pour la première fois !!
Le script ci-dessus tient compte des modif

mardi 15 juin 2010

Synchro iPhone, thunderbird, Google Apps

Pour la synchro du calendrier et des contacts entre iPhone et Google Apps:

http://www.memoclic.com/682-google-agenda/8823-synchronisation-iphone-contacts-google-agenda.html
Si on veut avoir plusieurs calendriers Google Apps synchronisés dans l'iPhone (notamment parce que l'iPhone ne gère pas les états "public" et "privé" du calendrier Google)
Truc con : ne pas oublier d'activer l'option de synchro des mobiles dans Google Apps sinon ça marche beaucoup moins bien pour l'iPhone...

Pour la synchro entre Thunderbird et Google Apps:
Il faut : 

Edit du 25/03/2011 :
Je possède maintenant un téléphone Androïd, tout cela est vraiment plus simple et tellement plus complet ! (multi comptes Google, taches synchro...)

vendredi 21 mai 2010

Alfresco : Connexion SSO (passthru CentOS vers serveur DC SBS2003)

Editer le fichier /var/lib/tomcat5/shared/classes/alfresco-global.properties et ajouter la ligne

authentication.chain=passthru1:passthru
La version 3.2 comporte un bug empêchant la configuration du subsystem/authentication/passthru dans "shared"
Il faut obligatoirement "écraser" la version installée sous webapps, pour cela :
Editer le fichier /var/lib/tomcat5/webapps.../alfresco/subsystems/Authentication/passthru/passthru-authentication-context.properties et définir :

passthru.authentication.useLocalServer=false
passthru.authentication.domain=JR2
passthru.authentication.servers=JR2\\192.168.0.200,192.168.0.200
ntlm.authentication.sso.enabled=true
alfresco.authentication.allowGuestLogin=false
ntlm.authentication.mapUnknownUserToGuest=false
passthru.authentication.authenticateCIFS=true
passthru.authentication.authenticateFTP=false
passthru.authentication.guestAccess=false
passthru.authentication.defaultAdministratorUserNames=administrateur
# Timeout value when opening a session to an authentication server, in milliseconds
passthru.authentication.connectTimeout=5000
# Offline server check interval in seconds
passthru.authentication.offlineCheckInterval=300
passthru.authentication.protocolOrder=NetBIOS,TCPIP
passthru.authentication.authenticateCIFS=true
passthru.authentication.authenticateFTP=false

J'ai aussi édité le fichier /etc/samba/smb.conf et mis les valeurs suivantes:
[global]
workgroup = nomDuDomaine
server string = nomMachineLinux.nomDuDomaine.local
netbios name = nomMachineLinux
security = domain
password server = IPduServeurDomaine
encrypt passwords = yes
local master = no
wins server = IPduServeurDomaine
dns proxy = no
Tout le reste par défaut.


Editer le fichier /etc/init.d/tomcat5
Modifier la fonction redirect() ajoutée lors de la configuration de CIFS comme suit :

#ajout Stef
function redirect() {
            echo "Redirecting port $1 to $2 ($3)"
            iptables -t nat -A PREROUTING -d IP_du_CentOs -p $3 -m $3 --dport $1 -j REDIRECT --to-ports $2
    }





Maintenant plus besoin d'arrêter le tomcat pour accéder au serveur DC et donc l'authentification passthru va marcher aussi.
Configuration de Vista :
exécuter secpol.msc

Editer Paramètres de sécurité/Stratégies locales/Options de sécurité/Sécurité réseau : niveau d'authentification LAN Manager et mettre "envoyer uniquement les réponses NTLM" au lieu de NTLM v2

Configuration de Firefox:
Dans l'adresse taper : about:config
Dans le champs network.automatic-ntlm-auth.trusted-uris mettre l'adresse d'Alfresco http://192.168.0.*:8080/alfresco


Voilà ça doit marcher maintenant !

Attention

Je n'ai pas configuré le CIFS en SSO passthru car je n'en ai pas vraiment besoin les lecteurs réseaux étant montés avec un nom/pass.

Pareil pas de synchro LDAP, pas envie de devoir refaire toute la partie utilisateur avec la nouvelle importée.

A voir plus tard éventuellement.

vendredi 19 mars 2010

Montage lecteur réseau windows

Vu ici : http://doc.ubuntu-fr.org/fusesmb
C'est parti !

Installer "fuse" (application/ajouter des logiciels/ Recherche Fuse)
fuse et fuse-lib
Il faut maintenant récupérer fuse-smb qui n'est pas dans les packages par défaut de CentOS5.4
wget http://timeoff.wsisiz.edu.pl/rpms/fuse-smb/fuse-smb-0.8.7-1.fc8.i386.rpm
rpm -ivh fuse-smb-0.8.7-1.fc8.i386.rpm

Ensuite
su -
//ajout d'admin pas sûr que ce soit utile ??
gpasswd -a $USER fuse
//ajout utilisateur stef
gpasswd -a stef fuse
j'ai aussi mis le "root" ou alors il y est par défaut? mais on le retrouve si on édite les groupes (attention il faut afficher les groupes systèmes)
Se déconnecter comme dit dans le tuto. Si accès par vnc, le plus simple : rebooter !
avec Kitty par exemple
/sbin/reboot -f
puis après redémarrage si pas accès vnc
service vncserver restart
on va donner les infos de connection dans le fichier de conf de fuse:
on édite donc le fichier /~/.smb/fusesmb.conf (montrer les fichiers cachés)
(ce fichier sera présent dans les répertoires /home/.smb pour l'utilisateur stef et dans /root/.smb pour l'utilisateur root. Je fais les 2 car on utilise cron en root par la suite pour la sauvegarde d'Alfresco)
[global]
username=JR2\stef
password=monmotdepassewindows



Puis dans la ligne de commande
cd ~
mkdir -p Network
fusesmb Network


Pour "démonter" on tape
fusermount -u Network

Le truc étrange ensuite qui s'est passé c'est que j'ai dû faire plein d'essais en changeant le username (notamment en donnant le login de l'administrateur windows, sans succès d'ailleurs puisque je ne listait que mon NAS...linux !) pour à un moment avoir en effet accès au réseau alors que j'étais revenu à mon fusesmb.conf initial

Rien compris sur ce coup là ! et je ne sais pas ce qui va se passer à un prochain reboot...

Peut-être se souvient-il du bon parmi tout ceux que j'ai testé. Après un nouvel essai, il semble que JR2 en majuscule soit important ?




mercredi 10 mars 2010

Alfresco Backup/Restore

Pour faire le backup complet :
1/ Arrêt d'Alfresco
service tomcat5 stop
2/ Dump de mysql
mysqldump -ualfresco -palfresco > /var/lib/alfresco/alf_data/alf.sql
(pas d'espace après la commande -u et après la commande -p)
3/ Copie de tout le répertoire alf_data (/var/lib/alfresco/alf_data) vers la destination du backup souhaitée

Pour faire le restore :
1/ Arrêt d'Alfresco
2/ Suppression de tout le répertoire alf_data
3/ Réintialisation de la base à l'aide des scripts sous /opt/alfresco/extras/databases/mysql/db_remove et db_setup
4/ Copie de tout le répertoire alf_data du backup (y compris les 2 répertoires Lucene car sans ça provoque une erreur au démarrage)
5/ Restore de la base :
mysql -u alfresco -p alfresco < /var/lib/alfresco/alf_data/alf.sql
6/ Démarrage d'Alfresco


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.