Rechercher dans ce blog

mercredi 12 septembre 2012

Copier les répertoires de premier niveau d'un répertoire dans un autre

On veut copier l'arborescence de premier niveau d'un répertoire par exemple :

  • sourceFolder
    • folder01
      • folder11
      • folder12
    • folder02
      • folder21
      • folder22
    • folder03
      • folder31
        • folder311
        • folder312
    • folder04
    • folder05

vers

  • destinationFolder
Ces deux répertoires étant sous e:\z

Robocopy est notre ami.
Voici la ligne de commande à taper :
robocopy e:\z\sourceFolder e:\z\destinationFolder /LEV:2 /E /XF *.*
le /E permet de copier aussi les répertoires vides, sinon utiliser /S
le /XF *.* permet de ne pas copier les fichiers qui pourraient se trouver sous la racine des répertoires à copier (folder0*)

On obtient

  • destinationFolder
    • folder01
    • folder02
    • folder03
    • folder04
    • folder05

vendredi 16 mars 2012

Application en français avec un delphi anglais


J'ai rencontré un problème : je développe une appli française sur un windows et un delphi en anglais.
J'avais donc mes boites de dialogues en anglais (boutons YES/NO) même sur les windows français...

Sous Delphi XE2 pro, j'ai trouvé un paramètre qui permet d'utiliser les vcl française (qui étaient déjà présentes dans mon install, je ne me souviens pas si j'avais fait quelque chose pour les avoir lorsque j'ai installé mon delphi...)
Il suffit donc :
Dans le menu Tools/options/ Environment Options/Environment variables il faut modifier la variable LANGDIR avec la valeur fr.
Un build et hop mes boites ont les boutons OUI/NON à la place des YES/NO


lundi 6 février 2012

serveur rsync sous linux

source : http://everythinglinux.org/rsync/rsync_content.html
Création de /etc/rsyncd.conf :


motd file = /etc/rsyncd.motd
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock

[rsync_server]
   path = /mnt/data
   comment = Rsync Data Server
   uid = root
   gid = root
   read only = no
   list = yes
   auth users = JRrepli
   secrets file = /etc/rsyncd.scrt
   hosts allow = 192.168.0.1/0
   strict modes = false


Création de /etc/rsyncd.scrt
username:password


Si on veut on peut lancer manuellement le daemon
rsync --daemon


source :http://ubuntuforums.org/showthread.php?t=1252720 
Maintenant démarrage auto au boot :
Edition de /etc/default/rsync
et on met 
RSYNC_ENABLE=true


Et voilà !



Ajout d'un disque sous linux

fdisk -l
permet de lister les disques présents
dans mon cas je vois un /dev/sdb
j'ai suivi ça : http://doc.ubuntu-fr.org/tutoriel/comment_ajouter_un_disque_dur
cfdisk /dev/sdb
new
ext3
...
J'ai maintenant une partition /dev/sdb1

formatage :
mkfs.ext3 /dev/sdb1

Montage :
Création du répertoire /mnt/data
puis
Dans /etc/fstab, ajout de la ligne :
/dev/sdb1 /mnt/data ext3 defaults 0 0

Et voilà !


mercredi 7 septembre 2011

Alfresco 3.4d : authentification par le contrôleur de domaine

Voici comment donner l'accès au CIFS et à l'interface WEB avec le login Windows et sans avoir besoin de le saisir !
Tout d'abord l'arborescence à créer :























Ensuite on va créer les fichiers nécessaires.
Tout d'abord, il faut modifier le fichier de configuration alfresco-global.properties sous tomcat\shared :
on le complète avec ces lignes (mon serveur Alfresco se nomme SERVER-ALF, mon domaine est TOTO) :

Remarque : ce fichier contient aussi la configuration pour CIFS

Puis, sous alfrescoNtlm1 on copie depuis webapps\..\subsystems\Authentication\alfrescoNtlm les 2 fichiers alfresco-authentication-context.xml et ntlm-filter-context.xml.
Ensuite on créé le fichier alfresco-authentication.properties :

Ensuite on créé le fichier ntlm-filter.properties


Sous ldap1 on créé le fichier ldap-ad-authentication-context.xml


Pour le fichier de configuration suivant, il faut s'adapter à l'AD. Dans mon AD (le serveur contrôleur de domaine a l'IP 192.168.0.1) j'ai un domaine toto.adds puis sous ce domaine, j'ai une UO TOTO puis sous cette UO j'ai une UO ALFRESCO dans laquelle se trouve un groupe group_alfresco dans lequel (ouf !) se trouvent mes utilisateurs d'Alfresco.
Voici donc le fichier ldap-ad-authentication.properties (je suis parti de la base du même fichier sous webapps\..\subsystems\Authentication\ldap-ad)


Enfin, sous passthru1 on copie depuis webapps\..\subsystems\Authentication\passthru les 2 fichiers passthru-authentication-context.xml et ntlm-filter-context.xml.
Puis on créé le fichier passthru-authentication-context.properties (le serveur controleur de domaine se nomme SERVER)

Et le dernier, on créé le fichier ntlm-filter.properties

Voilà !
Je ne suis pas sûr de la nécessité des mutliples fichiers ntml-filter.properties, mais bon ça marche comme ça, j'ai pas testé en n'en laissant qu'un.

Le problème que j'ai rencontré ensuite, c'est que la machine qui se connecte su Alfresco doit le faire depuis une session ouverte sur le domaine (TOTO\utilisateur ou utilisateur@toto.adds) sinon la connexion ne se fait pas (demande du loggin mais erreur et ne se logge pas).
Mon serveur Alfresco se nomme SERVER-ALF, le nom pour le CIFS apparait normalement sous SERVER-ALFA (ça peut se changer mais ça me va)

Alfresco 3.4d - scripts manquants ou ne fonctionnant pas

De base le script apply_amps.bat ne fonctionne pas.
Voici le fichier modifié pour que ça marche.

Mon installation d'Alfresco est sous C:\Alfresco

apply_amps.bat :


Voici maintenant le fichier clean_tomcat.bat modifié :
clean_tomcat.bat :



J'ai supprimé tous les amp présents de base dans le répertoire C:\Alfresco\amps
Maintenant on peut mettre son amp dans le répertoire C:\Alfresco\amps et dans une fenêtre de commande aller dans C\Alfresco\bin et lancer apply_amps.bat

J'ai aussi rencontré un léger soucis dû à mon amp qui apparemment n'avait pas les bons droits d'accès pour l'utilisateur en cours (il n'apparassait pas dans la liste des amps installés alors qu'il était bien présent dans le répertoire "amps"). Un passage par le bureau pour lui attribuer les bons droits et hop.
Edit : en fait c'était plus lié à la présence des autres amps, car par la suite j'ai rencontré à nouveau ce problème et la simple suppression des amps déjà présents a suffit.

J'ai aussi besoin de réinitialiser la base de données, voici les scripts :
Pour la réinitialisation :
db_remove.sql :



db_setup.sql :



db_remove_and_setup.bat :


Pour l'injection des données existantes (après un dump de la base)
set_alfsql.bat : 



J'ai rencontré un problème de mot de passe, car il était différent dans mon alf.sql que celui d'origine de l'installation. Il a donc fallu le mettre à jour dans le fichier de config d'Alfresco (C:\Alfresco\tomcat\shared\classes\alfresco-global.properties lignes :
db.username=alfresco
db.password=*****
)

mercredi 31 août 2011

CIFS Alfresco sous Windows Server 2008R2

Ce Windows server 2008R2 est dans une machine virtuelle (SERVER-ALF) sous Hyper-V.
Installation d'Alfresco community 3.4d 64 bits de base.

  1. Désactivation de "Partage de fichiers et imprimantes Réseaux Microsoft" dans la carte réseau.
  2. Arrêt du service "Serveur"
  3. Ajout de la clé Smb2 de type REG_DWORD  et de value =0 sous [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters]
  4. Ajout des lignes suivantes dans c:\windows\system32\drivers\etc\hosts
    127.0.0.1 localhost
    ::1 localhost
    pour pouvoir tester en local
  5. dans share\alfresco-global.properties
    filesystem.name=Alfresco
    cifs.enabled=true
    cifs.servername=SERVER-ALF
    cifs.domain=jr
    cifs.hostanounce=true
    cifs.ipv6.enabled=false
  6. firewall éteint. A modifier pour ouvrir les bons ports(445...)
Test en local :
nbtstat -n doit afficher SERVER-ALFA
netstat -an ne doit pas afficher le port 445
en double-cliquant sur SERVER-ALFA, la boite de login apparait, on entre juste le nom et le mot de passe (pas toucher au domaine...) et ça doit passer et afficher Alfresco et avm comme dossiers partagés

Test distant : 
SERVER-ALFA\Alfresco doit afficher la boite de login, faire comme au-dessus.
SERVER-ALFA doit afficher les deux dossiers de partage

Lorsque j'ai eu mon premier fonctionnement en local, c'est le firewall de SERVER-ALF qui me bloquait l'accès distant.