Alfresco Community 3.2 sur Ubuntu server 9.04 NTLM – passthru – SSO – CIFS

2 septembre 2009 at 15:15 3 commentaires


Ceci n’est pas un article habituel sur ce blog mais j’en ai tellement bavé pour installer et comprendre les mécanismes d’installation d’Alfresco que je crois que ça pourra aider d’autres qui seraient tentés par la même aventure.

Le but a atteindre est d’obtenir une installation d’Alfresco sur un serveur Ubuntu de manière à ce que les utilisateurs identifiés sur un active directory accèdent de manière transparente aux shares d’Alfresco et à l’interface Web (sans devoir se réauthentifier).

L’installation proprement dite est assez simple:

Dans le /etc/apt/source.list, vous ajoutez le repository ‘partner’

deb http://archive.canonical.com/ubuntu jaunty partner
deb-src http://archive.canonical.com/ubuntu jaunty partner

Ensuite, apt-get update (mettre à jour la db apt) et, enfin,

apt-get install alfresco-community

Dès que le processus est terminé, vous pouvez d’ores et déjà atteindre l’interface web en pointant sur:

http://addresse_du_serveur:8080/alfresco en vous authentifiant par admin/admin (par défaut)

Contrairement à l’installateur  fourni par Alfresco, le package Ubuntu n’installe pas les fichiers dans /opt/Alfresco. Voici quelques répertoires utiles à connaître pour configurer (et débugger) le serveur.

  • Alfresco indexes and contentstore: The Alfresco indexes and contentstore can be found under /var/lib/alfresco
  • Alfresco war files: The alfresco and share war files can be found under /var/lib/tomcat6/webapps
  • Alfresco extension directories: The extension directory, where you should make configuration changes to alfresco and share, can be found under /var/lib/tomcat6/shared
  • Alfresco log files: The alfresco log files can be found under /var/log/tomcat

J’ai créé quelques liens symboliques dans mon home afin de me simplifier la vie:

ln -s /var/lib/tomcat6/webapps/alfresco/WEB-INF/classes/alfresco/subsystems/ subsystems
ln -s /usr/share/tomcat6/shared/classes/alfresco-global.properties alfresco.properties
ln -s /var/log/tomcat6/alfresco.log alfresco.log

  • ‘subsystems’ comprends tous les fichiers de configuration du file server et de l’authentification
  • Alfresco-global.properties comprends tous les paramètres d’Alfresco qui ont préséance sur les autres paramètres.
  • Alfresco.log est le log d’alfresco en tant qu’application (différent du log tomcat)

Dans alfresco.properties :

authentication.chain=passthru1:passthru,alfrescoNtlm1:alfrescoNtlm
ntlm.authentication.sso.enabled=true
passthru.authentication.authenticateCIFS=true

Ensuite, dans le subsystem passthru:

subsystems/Authentication/passthru/passthru-authentication-context.properties

passthru.authentication.useLocalServer=false
passthru.authentication.domain=Nom_de_votre domaine
passthru.authentication.servers=IP_AD_SERVER1,AD_SERVER1,Nom_de_votre domaine\\AD_SERVER1 (les doubles ‘\’ sont nécessaires)
passthru.authentication.guestAccess=true
passthru.authentication.defaultAdministratorUserNames=administrator (qui vous voulez. Séparés par une virgule sans espace)

#Timeout value when opening a session to an authentication server, in millisecondspassthru.authentication.connectTimeout=5000

#Offline server check interval in seconds
passthru.authentication.offlineCheckInterval=300
passthru.authentication.protocolOrder=TCPIP,NetBIOS
passthru.authentication.authenticateCIFS=true
passthru.authentication.authenticateFTP=true

Pour que le NTLM fonctionne, il faut que:

Internet Explorer will use your Windows logon credentials when requested by the web server when NTLM is configured. If IE sends the login popup window this probably means you will need to add the URL of your alfresco server to your IE Intranet sites in

Tools->Options->Security->Local Intranet ->Sites->adavanced In the Intranet security->custom, at the bottom of the list did you tick User Authentication->Logon->Automatic login with current user name and password? (the 2nd possibility «  »automatic logon only in Intranet zone » may also work depending on your settings)
Firefox and Mozilla also support the use of NTLM but you need to add the URI to the Alfresco site that you want to access to network.automatic-ntlm-auth.trusted-uris option (available through writing about:config in the URL field) to allow the browser to use your current credentials for login purposes.

The Opera web browser does not support NTLM authentication, the browser is detected and will be sent to the usual Alfresco logon page.

Dès lors, le SSO fonctionne sur l’interface Web. Pour le CIFS, comme Tomcat n’est pas lancé en tant que root, les ports CIFS ne lui sont pas directement accessibles. Pour contourner ce problème, il faut donc configurer les protocoles nécessairessur  d’autres port (>1024):

Dans subsystems/fileServers/default/file-servers.properties (en tenant compte des liens symboliques):

cifs.tcpipSMB.port=1445
cifs.netBIOSSMB.namePort=1137
cifs.netBIOSSMB.datagramPort=1138
cifs.netBIOSSMB.sessionPort=1139

Et faire du NATting avec IPtables (je vous conseille de le scripter):

echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe iptable_nat
iptables -F
iptables -t nat -F
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 445 -j REDIRECT --to-ports 1445
iptables -t nat -A PREROUTING -p tcp --dport 139 -j REDIRECT --to-ports 1139
iptables -t nat -A PREROUTING -p udp --dport 137 -j REDIRECT --to-ports 1137
iptables -t nat -A PREROUTING -p udp --dport 138 -j REDIRECT --to-ports 1138
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080 (cette ligne permet à l'utilisateur de se connecter à l'interface web via le port 80)

L’usager peut accéder au share: net use * \\IP_DU_SERVER\Alfresco toutefois, pour y accèder en utilisant le nom du serveur, veillez à créer une entrée DNS (ou dans votre fichier host) qui mappe ‘nomduserverA’ avec ‘nom du serveur’. Je n’ai pas compris le mécanisme mais autrement, ni

net use * \\Nom_DU_SERVEUR\Alfresco

ni

net use * \\Nom_DU_SERVEURA\Alfresco

ne fonctionnent.

Entry filed under: Technologie. Tags: .

L’immeuble Yacoubian – Alaa El Aswany Réalité de la peur

3 commentaires Add your own

  • 1. Stephane  |  17 septembre 2009 à 10:58

    Merci beaucoup, ce doc est génial. Je pensais partir pour des nuits de recherche pour interfacer AD et Alfresco et grâce à ce doc, j’ai mis 10 minutes.

    Génial

    Réponse
  • 2. Franck  |  13 novembre 2009 à 14:11

    Trés efficace ce billet, il m’ a bien aidé pour ma conf d’alfresco 3.2 sur une distrib Centos.

    Merci beaucoup

    Réponse
  • 3. thierry  |  6 février 2010 à 23:21

    bonjour,

    l’explcation m’a bien servi.
    Merci
    commanet faire pour mettre la version francaise.

    Réponse

Laisser un commentaire

Trackback this post  |  Subscribe to the comments via RSS Feed


Entrer votre adresse e-mail pour vous inscrire a ce blog et recevoir les notifications des nouveaux articles par e-mail.

Rejoignez les 11 autres abonnés

Archives

Blog Stats

  • 46 306 hits

Paperblog