AnsweredAssumed Answered

Alfresco 3.2r2 CIFS win XP V.S. Win server 2003 64 bit

Question asked by micdy on Feb 1, 2010
Hello,
i have Alfresco 3.2r2 installed on a windows XP SP2 Desktop for testing, everything work fine with my setting including CIFS, passthru authentication, ldap synchronisation, SSO …

Now that i know everything work fine, i have try to install it on our windows server 2003 64Bit. I have apply the same setting on alfresco.
everything still work except the CIFS ,  i can't map \\[localname]a\alfresco  .

can someone tell me what i need to change on my server to make CIFS work?

alfresco-global.property

###############################
## Common Alfresco Properties #
###############################

#
# Sample custom content and index data location
#————-
dir.root=C:/Alfresco/alf_data

#
# Sample database connection properties
#————-
db.name=alfresco
db.username=alfresco
db.password=alfresco
db.host=localhost
db.port=3306

#
# External locations
#————-
ooo.exe=C:/Alfresco/OpenOffice.org/program/soffice
ooo.user=C:/Alfresco/alf_data/oouser
img.root=C:/Alfresco/ImageMagick
swf.exe=C:/Alfresco/bin/pdf2swf

#
# Initial admin password
#————-
alfresco_user_store.adminpassword=209c6174da490caeb422f3fa5a7ae634

#
# MySQL connection
#————-
db.driver=org.gjt.mm.mysql.Driver
db.url=jdbc:mysql://${db.host}:${db.port}/${db.name}
hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect

#
# Index Recovery Mode
#————-
#index.recovery.mode=Auto

#
# Outbound Email Configuration
#————-
#mail.host=
#mail.port=25
#mail.username=anonymous
#mail.password=
#mail.encoding=UTF-8
#mail.from.default=alfresco@alfresco.org
#mail.smtp.auth=false

#
# Alfresco Email Service and Email Server
#————-

# Enable/Disable the inbound email service.  The service could be used by processes other than
# the Email Server (e.g. direct RMI access) so this flag is independent of the Email Service.
#————-
#email.inbound.enabled=true

# Email Server properties
#————-
#email.server.enabled=true
#email.server.port=25
#email.server.domain=alfresco.com
#email.inbound.unknownUser=anonymous

# A comma separated list of email REGEX patterns of allowed senders.
# If there are any values in the list then all sender email addresses
# must match.  For example:
#   .*\@alfresco\.com, .*\@alfresco\.org
# Allow anyone:
#————-
#email.server.allowed.senders=.*

#
# The default authentication chain
# To configure external authentication subsystems see:
# http://wiki.alfresco.com/wiki/Alfresco_Authentication_Subsystems
#————-
#authentication.chain=alfrescoNtlm1:alfrescoNtlm


#################################################################AJOUT - Config Active Directory
authentication.chain=passthru1:passthru,ldap1:ldap

#mettre a true  pour connection avec le login de la session
#mettre a false pour forcer l'utilisateur à entrer son identifiant et mot de passe.
ntlm.authentication.sso.enabled=true

#Authentication
passthru.authentication.useLocalServer=false
#Laisser vide
passthru.authentication.domain=
passthru.authentication.servers=DOMAIN\\999.999.999.99
passthru.authentication.guestAccess=false
passthru.authentication.defaultAdministratorUserNames=Admin_Name
passthru.authentication.connectTimeout=5000
passthru.authentication.offlineCheckInterval=300
passthru.authentication.protocolOrder=TCPIP
passthru.authentication.authenticateCIFS=true
passthru.authentication.authenticateFTP=true

ldap.authentication.active=false
ldap.synchronization.active=true

ldap.authentication.java.naming.security.authentication=simple
ldap.authentication.java.naming.provider.url=ldap://999.999.999.99:389
ldap.synchronization.java.naming.security.principal=Admin_Name
ldap.synchronization.java.naming.security.credentials=Admin_Password

ldap.synchronization.queryBatchSize=1000
ldap.synchronization.groupQuery=(&(objectclass\=group))
ldap.synchronization.groupDifferentialQuery=(&(objectclass\=group)(!(modifyTimestamp<\={0})))
ldap.synchronization.personQuery=(&(objectclass\=user) (userAccountControl:1.2.840.113556.1.4.803:=512))
ldap.synchronization.personDifferentialQuery=(&(objectclass\=user) (userAccountControl:1.2.840.113556.1.4.803:=512) (!(modifyTimestamp<\={0})))
ldap.synchronization.groupSearchBase=dc\=domain,dc\=com
ldap.synchronization.userSearchBase=dc\=domain,dc\=com
ldap.synchronization.modifyTimestampAttributeName=modifyTimestamp
ldap.synchronization.timestampFormat=yyyyMMddHHmmss'.0Z'
ldap.synchronization.userIdAttributeName=sAMAccountName
ldap.synchronization.userFirstNameAttributeName=givenName
ldap.synchronization.userLastNameAttributeName=sn
ldap.synchronization.userEmailAttributeName=mail
ldap.synchronization.userOrganizationalIdAttributeName=company
ldap.synchronization.defaultHomeFolderProvider=userHomesHomeFolderProvider
ldap.synchronization.groupIdAttributeName=cn
ldap.synchronization.groupType=group
ldap.synchronization.personType=user
ldap.synchronization.groupMemberAttributeName=member
ldap.synchronization.enableProgressEstimation=true
synchronization.synchronizeChangesOnly=true
#################################################################FIN  -  AJOUT - Config Active Directory

#
# IMAP
#————-
#imap.server.enabled=true
#imap.server.port=143
#imap.server.host=localhost

file-servers.properties

filesystem.name=Alfresco
filesystem.acl.global.defaultAccessLevel=

cifs.enabled=true
cifs.serverName=${localname}A
#cifs.serverName=alfsrv
cifs.domain=domain
cifs.broadcast=255.255.255.255
# An empty value indicates bind to all available network adapters
cifs.bindto=
cifs.ipv6.enabled=false
cifs.hostannounce=true
# Enable the use of asynchronous sockets/NIO code
cifs.disableNIO=false
# Disable the use of JNI code. Only currently affects Windows
cifs.disableNativeCode=false
# Session timeout, in seconds. Defaults to 15 minutes, to match the default Windows client setting.
# If no I/O is received within that time the session is closed by the server
cifs.sessionTimeout=900

# Can be mapped to non-privileged ports, then use firewall rules to forward requests from the standard ports
cifs.tcpipSMB.port=445
cifs.netBIOSSMB.sessionPort=139
cifs.netBIOSSMB.namePort=137
cifs.netBIOSSMB.datagramPort=138

# Optional WINS server primary and secondary IP addresses. Ignored if autoDetectEnabled=true
cifs.WINS.autoDetectEnabled=true
cifs.WINS.primary=1.2.3.4
cifs.WINS.secondary=5.6.7.8

ftp.enabled=true
ftp.port=21
ftp.ipv6.enabled=false

nfs.enabled=false

cifs.urlfile.prefix=http://${localname}:8081/alfresco/
#cifs.urlfile.prefix=http://alfsrv:8081/alfresco/


file-servers-context.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>

   <bean id="fileServerConfiguration" class="org.alfresco.filesys.config.ServerConfigurationBean" parent="fileServerConfigurationBase">
      <property name="cifsConfigBean">
         <ref bean="cifsServerConfig" />
      </property>
      <property name="ftpConfigBean">
         <ref bean="ftpServerConfig" />
      </property>
      <property name="nfsConfigBean">
         <ref bean="nfsServerConfig" />
      </property>
      <property name="filesystemContexts">
         <ref bean="filesystemContexts" />
      </property>
      <property name="securityConfigBean">
         <ref bean="fileSecurityConfig" />
      </property>
   </bean>

   <!– CIFS Server –>

   <bean id="cifsServer" class="org.alfresco.filesys.CIFSServerBean" destroy-method="stopServer">
      <constructor-arg>
         <ref local="fileServerConfiguration" />
      </constructor-arg>
      <property name="sessionListeners">
         <list>
            <!– Allow authentication subsystem to listen for SMB sessions, e.g. for passthru –>
            <ref bean="SmbSessionListener" />
         </list>
      </property>
   </bean>

   <!– FTP Server –>

   <bean id="ftpServer" class="org.alfresco.filesys.FTPServerBean" destroy-method="stopServer">
      <constructor-arg>
         <ref local="fileServerConfiguration" />
      </constructor-arg>
   </bean>

   <!– NFS Server –>

   <bean id="nfsServer" class="org.alfresco.filesys.NFSServerBean" destroy-method="stopServer">
      <constructor-arg>
         <ref local="fileServerConfiguration" />
      </constructor-arg>
   </bean>

   <!–  JMX Monitoring –>

   <bean id="FileServerConfig" class="org.alfresco.filesys.FileServerConfig">
      <property name="fileServerConfiguration">
         <ref bean="fileServerConfiguration" />
      </property>
      <property name="ftpServer">
         <ref bean="ftpServer" />
      </property>
      <property name="cifsServer">
         <ref bean="cifsServer" />
      </property>
      <property name="nfsServer">
         <ref bean="nfsServer" />
      </property>
   </bean>

   <bean id="cifsServerConfig" class="org.alfresco.filesys.config.CIFSConfigBean">
      <property name="serverEnabled">
         <value>${cifs.enabled}</value>
      </property>
      <property name="serverName">
         <value>${cifs.serverName}</value>
      </property>
      <property name="domainName">
         <value>${cifs.domain}</value>
      </property>
      <property name="serverComment">
         <value>Alfresco CIFS Server</value>
      </property>
      <!– Set to the broadcast mask for the subnet –>
      <property name="broadcastAddress">
         <value>${cifs.broadcast}</value>
      </property>
      <!– Set to the IP for the adapter for Java socket –>
      <property name="bindToAddress">
         <value>${cifs.bindto}</value>
      </property>
      <!– Use Java socket based NetBIOS over TCP/IP and native SMB on linux –>
      <property name="tcpipSMB">
         <bean class="org.alfresco.filesys.config.TcpipSMBConfigBean">
            <!–
               Can be mapped to non-privileged ports, then use firewall rules to forward requests from the standard
               ports
            –>
            <property name="port">
               <value>${cifs.tcpipSMB.port}</value>
            </property>
            <property name="platforms">
               <value>linux,solaris,macosx</value>
            </property>
            <property name="ipv6Enabled">
               <value>${cifs.ipv6.enabled}</value>
            </property>
         </bean>
      </property>
      <property name="netBIOSSMB">
         <bean class="org.alfresco.filesys.config.NetBIOSSMBConfigBean">
            <property name="bindTo">
               <value>${cifs.bindto}</value>
            </property>
            <property name="sessionPort">
               <value>${cifs.netBIOSSMB.sessionPort}</value>
            </property>
            <property name="namePort">
               <value>${cifs.netBIOSSMB.namePort}</value>
            </property>
            <property name="datagramPort">
               <value>${cifs.netBIOSSMB.datagramPort}</value>
            </property>
            <property name="platforms">
               <value>linux,solaris,macosx</value>
            </property>
         </bean>
      </property>

      <property name="hostAccouncerEnabled">
         <value>${cifs.hostannounce}</value>
      </property>
      <property name="hostAccounceInterval">
         <value>5</value>
      </property>

      <!– Use Win32 NetBIOS interface on Windows –>
      <property name="win32NetBIOS">
         <bean class="org.alfresco.filesys.config.Win32NetBIOSConfigBean" />
      </property>
      <property name="win32HostAnnouncerEnabled">
         <value>${cifs.hostannounce}</value>
      </property>
      <property name="win32HostAnnounceInterval">
         <value>5</value>
      </property>

      <!– CIFS authentication –>
      <property name="authenticator">
         <ref bean="CifsAuthenticator" />
      </property>

      <!– Disable the use of asynchronous sockets/NIO code –>
      <property name="disableNIO">
         <value>${cifs.disableNIO}</value>
      </property>

      <!– Disable the use of JNI code –>
      <!– Only currently affects Windows –>
      <property name="disableNativeCode">
         <value>${cifs.disableNativeCode}</value>
      </property>

      <!– Session timeout, in seconds –>
      <!– Defaults to 15 minutes, to match the default Windows client setting        –>
      <!– If no I/O is received within that time the session is closed by the server –>
      <property name="sessionTimeout">
         <value>${cifs.sessionTimeout}</value>
      </property>

      <!– Enable WINS if used for NetBIOS name lookups –>
      <property name="WINSConfig">
         <bean class="org.alfresco.filesys.config.WINSConfigBean">
            <property name="autoDetectEnabled">
               <value>${cifs.WINS.autoDetectEnabled}</value>
            </property>
            <property name="primary">
               <value>${cifs.WINS.primary}</value>
            </property>
            <property name="secondary">
               <value>${cifs.WINS.secondary}</value>
            </property>
         </bean>
      </property>

      <!–
      <property name="sessionDebugFlags"> <value>Negotiate,Socket</value> </property>
      –>
   </bean>

   <bean id="ftpServerConfig" class="org.alfresco.filesys.config.FTPConfigBean">
      <property name="serverEnabled">
         <value>${ftp.enabled}</value>
      </property>

      <property name="port">
         <value>${ftp.port}</value>
      </property>

      <!– IPv6 support –>
      <property name="ipv6Enabled">
         <value>${ftp.ipv6.enabled}</value>
      </property>

      <!– FTP authentication –>
      <property name="authenticator">
         <ref bean="FtpAuthenticator" />
      </property>

      <!– FTP server debug settings –>
      <!– Enable 'log4j.logger.org.alfresco.fileserver=debug' in log4j.properties file –>
      <!–
         <property name="debugFlags"> <value>File,Search,Error,Directory,Info,DataPort</value> </property>
      –>

   </bean>

   <!–The configurable RPC user mappings - actually a post-processed composite property! –>
   <bean id="nfs.user.mappings" class="org.springframework.beans.factory.config.ListFactoryBean">
      <property name="sourceList">
         <list>
            <bean class="org.alfresco.filesys.auth.nfs.UserMapping">
               <property name="beanName">
                  <value>${alfresco_user_store.adminusername}</value>
               </property>
               <property name="uid">
                  <value>0</value>
               </property>
               <property name="gid">
                  <value>0</value>
               </property>
            </bean>
         </list>
      </property>
   </bean>

   <bean id="nfsServerConfig" class="org.alfresco.filesys.config.NFSConfigBean">
      <property name="serverEnabled">
         <value>${nfs.enabled}</value>
      </property>

      <!– Map NFS user/group ids to Alfresco users –>
      <property name="rpcAuthenticator">
         <bean class="org.alfresco.filesys.auth.nfs.AlfrescoRpcAuthenticator">
            <property name="userMappings">
               <ref bean="nfs.user.mappings" />
            </property>
         </bean>
      </property>
   </bean>

   <bean id="filesystemContexts" class="org.springframework.beans.factory.config.ListFactoryBean">
      <property name="sourceList">
         <list>
            <!– Alfresco repository access shared filesystem –>
            <bean class="org.alfresco.filesys.repo.ContentContext">
               <property name="deviceName">
                  <value>${filesystem.name}</value>
               </property>
               <property name="storeName">
                  <value>${spaces.store}</value>
               </property>
               <property name="rootPath">
                  <value>/${spaces.company_home.childname}</value>
               </property>
               <!– Add a URL file to each folder that links back to the web client –>
               <property name="URLFileName">
                  <value>__Alfresco.url</value>
               </property>
               <property name="URLPrefix">
                  <value>${cifs.urlfile.prefix}</value>
               </property>
               <!– Mark locked files as offline –>
               <property name="offlineFiles">
                  <value>true</value>
               </property>

               <!– Desktop actions –>
               <!– Uses a client-side application to trigger a server-side action                         –>
               <!–   Echo - displays a message echoed from the server                                     –>
               <!–   URL  - launches a URL via the Windows shell                                          –>
               <!–   CmdLine - launches the Notepad application                                           –>
               <!–   CheckInOut - checks files in/out, drag and drop files onto the application           –>
               <!–   JavaScript - run a server-side script                                                –>
               <!–   JavaScriptURL - server-side script that generates a URL to the folder using a ticket –>
               <!–                   to avoid having to logon                                             –>
               <property name="globalDesktopActionConfig">
                  <bean class="org.alfresco.filesys.config.GlobalDesktopActionConfigBean">
                     <property name="path">
                        <value>alfresco/desktop/Alfresco.exe</value>
                     </property>
                     <property name="webpath">
                        <value>${cifs.urlfile.prefix}</value>
                     </property>
                  </bean>
               </property>
               <property name="desktopActionList">
                  <list>
                     <bean class="org.alfresco.filesys.repo.desk.CheckInOutDesktopAction">
                        <property name="name">
                           <value>CheckInOut</value>
                        </property>
                        <property name="filename">
                           <value>__CheckInOut.exe</value>
                        </property>
                     </bean>
                     <bean class="org.alfresco.filesys.repo.desk.JavaScriptDesktopAction">
                        <property name="name">
                           <value>JavaScriptURL</value>
                        </property>
                        <property name="filename">
                           <value>__ShowDetails.exe</value>
                        </property>
                        <property name="scriptName">
                           <value>alfresco/desktop/showDetails.js</value>
                        </property>
                        <property name="attributeList">
                           <value>anyFiles</value>
                        </property>
                        <property name="preprocess">
                           <value>copyToTarget</value>
                        </property>
                     </bean>
                     <!– Other desktop actions which may be enabled –>
                     <!–
                        <bean class="org.alfresco.filesys.repo.desk.EchoDesktopAction"> <property name="name">
                        <value>Echo</value> </property> <property name="filename"> <value>__AlfrescoEcho.exe</value>
                        </property> </bean> <bean class="org.alfresco.filesys.repo.desk.URLDesktopAction"> <property
                        name="name"> <value>URL</value> </property> <property name="filename">
                        <value>__AlfrescoURL.exe</value> </property> </bean> <bean
                        class="org.alfresco.filesys.repo.desk.CmdLineDesktopAction"> <property name="name">
                        <value>CmdLine</value> </property> <property name="filename"> <value>__AlfrescoCmd.exe</value>
                        </property> </bean> <bean class="org.alfresco.filesys.repo.desk.JavaScriptDesktopAction">
                        <property name="name"> <value>JavaScript</value> </property> <property name="filename">
                        <value>__AlfrescoScript.exe</value> </property> <property name="scriptName">
                        <value>alfresco/desktop/dumpRequest.js</value> </property> <property name="attributeList">
                        <value>anyFiles, multiplePaths, allowNoParams</value> </property> <property name="preprocess">
                        <value>confirm, copyToTarget</value> </property> </bean>
                     –>
                  </list>
               </property>
               <!– Additional access control of the filesystem –>
               <!– Access type of 'none' will stop the filesystem from showing up for that user/address/protocol –>
               <!–
                  <property name="accessControl"> <bean class="org.alfresco.filesys.config.acl.AccessControlListBean">
                  <property name="defaultAccessLevel"> <value>Write</value> </property> </bean> </property>
               –>
            </bean>
            <!– AVM virtualization view of all stores/versions for WCM –>
            <!– virtual view stores filter can be any of the following: normal, site, staging, author, preview –>
            <bean class="org.alfresco.filesys.avm.AVMContext">
               <property name="deviceName">
                  <value>AVM</value>
               </property>
               <property name="virtualView">
                  <value>true</value>
               </property>
               <property name="stores">
                  <value>site,staging,author</value>
               </property>
            </bean>
         </list>
      </property>
   </bean>

   <!–Configurable global ACLS - actually post-processed composite properties –>
   <bean id="filesystem.acl.global.domainAccessControls" class="org.springframework.beans.factory.config.ListFactoryBean" />

   <bean id="filesystem.acl.global.protocolAccessControls" class="org.springframework.beans.factory.config.ListFactoryBean" />

   <bean id="filesystem.acl.global.userAccessControls" class="org.springframework.beans.factory.config.ListFactoryBean" />

   <!– Domain mappings used for passthru authentication routing –>
   <!– Used when the client does not provide a domain name in the NTLM logon –>
   <bean id="filesystem.domainMappings" class="org.springframework.beans.factory.config.ListFactoryBean" />

   <bean id="fileSecurityConfig" class="org.alfresco.filesys.config.SecurityConfigBean">
      <property name="domainMappings">
         <ref bean="filesystem.domainMappings" />
      </property>

      <!– Custom share mapper when multi-tenancy is enabled –>
      <!–
         <property name="shareMapper"> <bean class="org.alfresco.filesys.alfresco.MultiTenantShareMapper"> <property
         name="serverConfiguration"> <ref bean="fileServerConfiguration" /> </property> <property name="debug">
         <value>true</value> </property> </bean> </property>
      –>

      <!– Global access control list                                                                    –>
      <!– Applied to all filesystems that do not have an accessControl property                         –>
      <property name="globalAccessControl">
         <bean class="org.alfresco.filesys.config.acl.AccessControlListBean">
            <!– Access type of 'none' will stop the filesystem from showing up for that user/address/protocol –>
            <property name="defaultAccessLevel">
               <value>${filesystem.acl.global.defaultAccessLevel}</value>
            </property>
            <property name="domainAccessControls">
               <ref bean="filesystem.acl.global.domainAccessControls" />
            </property>
            <property name="protocolAccessControls">
               <ref bean="filesystem.acl.global.protocolAccessControls" />
            </property>
            <property name="userAccessControls">
               <ref bean="filesystem.acl.global.userAccessControls" />
            </property>
         </bean>
      </property>
   </bean>

</beans>

Thank you so much for your time.

Outcomes