Files
alfresco-community-repo/config/alfresco/subsystems/fileServers/default/file-servers-context.xml
Gary Spencer b9ae66b146 Added RPCRegisterPort configuration value, and nfs.rpcRegisterPort property.
Defaults to zero to use next free unprivileged port when registering the NFS/mount servers with the portmapper.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@19376 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2010-03-18 16:31:57 +00:00

456 lines
19 KiB
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>${cifs.sessionDebug}</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>${ftp.sessionDebug}</value>
</property>
<!-- Data ports range -->
<property name="dataPortFrom">
<value>${ftp.dataPortFrom}</value>
</property>
<property name="dataPortTo">
<value>${ftp.dataPortTo}</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>
<property name="nfsServerPort">
<value>${nfs.nfsServerPort}</value>
</property>
<property name="mountServerPort">
<value>${nfs.mountServerPort}</value>
</property>
<!-- Setting a portMapper port of -1 stops the NFS and mount server registering with a portmapper -->
<property name="portMapperPort">
<value>${nfs.portMapperPort}</value>
</property>
<!-- RPC registration port -->
<property name="rpcRegisterPort">
<value>${nfs.rpcRegisterPort}</value>
</property>
<!-- Enable/disable the builtin portMapper service -->
<property name="portMapperEnabled">
<value>${nfs.portMapperEnabled}</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>
<property name="transactionService">
<ref bean="transactionService"/>
</property>
<property name="authenticationComponent">
<ref bean="authenticationComponent"/>
</property>
</bean>
</property>
<!-- NFS server debug settings -->
<!-- Enable 'log4j.logger.org.alfresco.fileserver=debug' in log4j.properties file -->
<property name="debugFlags">
<value>${nfs.sessionDebug}</value>
</property>
<property name="mountServerDebug">
<value>${nfs.mountServerDebug}</value>
</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="sysAdminParams">
<ref bean="sysAdminParams" />
</property>
<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>
<!-- 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>
</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>