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 |
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 1138iptables -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: technologies.
3 commentaires Add your own
Laisser un commentaire
Trackback this post | Subscribe to the comments via RSS Feed
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
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
3. thierry | 6 février 2010 à 23:21
bonjour,
l’explcation m’a bien servi.
Merci
commanet faire pour mettre la version francaise.