Obsolete Pages{{Obsolete}}
The official documentation is at: http://docs.alfresco.com
Alfresco uses a number of TCP network ports.
Alfresco exposes several RMI services that can be used remotely. The 'well known' port number that you must specify in your remote client is for the RMI registry. Then each separate service has its own port number. You can also run all services over a single port by specifying the same number for the registry and the service.
Please note that older versions (prior to version 3) of Alfresco uses random port numbers for these services. See #Alfresco Port Configuration for details of how to change the configuration of version 2 Alfresco to not use random unused ports.
The following properties in custom-repository.properties define which ports to use.
alfresco.rmi.services.port=50500
avm.rmi.service.port=50501
avmsync.rmi.service.port=50502
attribute.rmi.service.port=50503
authentication.rmi.service.port=50504
repo.rmi.service.port=50505
action.rmi.service.port=50506
deployment.rmi.service.port=50507
CIFS server can bind to the privileged ports (TCP 139/445 UDP 137/138). See more in File Server Subsystem.
The alfresco repository and explorer web client run on this application server.
If you want to change these port numbers then change <TOMCAT HOME>/conf/server.xml
The virtualisation server runs on its own instance of Tomcat.
This information is for older versions (Version 2 and below) of Alfreso. This configuration is now standard in version 3 of Alfresco.
There are a collection of services which are defined in remote-services-context.xml which are by default randomly selected. The individual service ports may also be hard coded rather than randomly selected if this helps with security. To hard code port numbers add a servicePort property to the
configuration of the org.springframework.remoting.rmi.RmiServiceExporter class.
<property name='servicePort'>
<value>12345</value>
Sample remote-services-context.xml file
<beans>
<bean id='avmRemoteTransport' class='org.alfresco.repo.avm.AVMRemoteTransportService'
init-method='init' destroy-method='shutDown'>
<property name='idleTimeout'>
<value>${avm.remote.idlestream.timeout}</value>
</property>
<property name='avmService'>
<ref bean='AVMService'/>
</property>
<property name='authenticationService'>
<ref bean='AuthenticationService'/>
</property>
</bean>
<bean id='avmRemoteService' class='org.springframework.remoting.rmi.RmiServiceExporter'>
<property name='service'>
<ref bean='avmRemoteTransport'/>
</property>
<property name='serviceInterface'>
<value>org.alfresco.service.cmr.remote.AVMRemoteTransport</value>
</property>
<property name='serviceName'>
<value>avm</value>
</property>
<property name='registryPort'>
<value>${alfresco.rmi.services.port}</value>
</property>
</bean>
<bean id='avmSyncServiceTransport' class='org.alfresco.repo.avm.AVMSyncServiceTransportImpl'>
<property name='authenticationService'>
<ref bean='AuthenticationService'/>
</property>
<property name='avmSyncService'>
<ref bean='AVMSyncService'/>
</property>
</bean>
<bean id='avmSyncServiceTransportRMI' class='org.springframework.remoting.rmi.RmiServiceExporter'>
<property name='service'>
<ref bean='avmSyncServiceTransport'/>
</property>
<property name='serviceInterface'>
<value>org.alfresco.service.cmr.remote.AVMSyncServiceTransport</value>
</property>
<property name='serviceName'>
<value>avmsync</value>
</property>
<property name='registryPort'>
<value>${alfresco.rmi.services.port}</value>
</property>
</bean>
<bean id='attributeServiceTransport' class='org.alfresco.repo.attributes.AttributeServiceTransportService'>
<property name='authenticationService'>
<ref bean='AuthenticationService'/>
</property>
<property name='attributeService'>
<ref bean='AttributeService'/>
</property>
</bean>
<bean id='attributeServiceTransportRMI' class='org.springframework.remoting.rmi.RmiServiceExporter'>
<property name='service'>
<ref bean='attributeServiceTransport'/>
</property>
<property name='serviceInterface'>
<value>org.alfresco.service.cmr.remote.AttributeServiceTransport</value>
</property>
<property name='serviceName'>
<value>attributes</value>
</property>
<property name='registryPort'>
<value>${alfresco.rmi.services.port}</value>
</property>
</bean>
<bean id='rmiAuthenticationService' class='org.springframework.remoting.rmi.RmiServiceExporter'>
<property name='service'>
<ref bean='AuthenticationService'/>
</property>
<property name='serviceInterface'>
<value>org.alfresco.service.cmr.security.AuthenticationService</value>
</property>
<property name='serviceName'>
<value>authentication</value>
</property>
<property name='registryPort'>
<value>${alfresco.rmi.services.port}</value>
</property>
</bean>
<bean id='repoRemoteService' class='org.alfresco.repo.remote.RepoRemoteService'>
<property name='nodeService'>
<ref bean='dbNodeService'/>
</property>
<property name='fileFolderService'>
<ref bean='fileFolderService'/>
</property>
<property name='contentService'>
<ref bean='contentService'/>
</property>
</bean>
<bean id='RepoRemoteService' class='org.springframework.transaction.interceptor.TransactionProxyFactoryBean'>
<property name='proxyInterfaces'>
<value>org.alfresco.service.cmr.remote.RepoRemote</value>
</property>
<property name='target'>
<ref bean='repoRemoteService'/>
</property>
<property name='transactionManager'>
<ref bean='transactionManager'/>
</property>
<property name='transactionAttributes'>
<props>
<prop key='create*'>${server.transaction.mode.default}</prop>
<prop key='get*'>${server.transaction.mode.readOnly}</prop>
<prop key='lookup'>${server.transaction.mode.readOnly}</prop>
<prop key='read*'>${server.transaction.mode.readOnly}</prop>
<prop key='remove*'>${server.transaction.mode.default}</prop>
<prop key='rename'>${server.transaction.mode.default}</prop>
<prop key='write*'>${server.transaction.mode.default}</prop>
</props>
</property>
</bean>
<bean id='repoRemoteTransport' class='org.alfresco.repo.remote.RepoRemoteTransportService'>
<property name='authenticationService'>
<ref bean='AuthenticationService'/>
</property>
<property name='repoRemote'>
<ref bean='RepoRemoteService'/>
</property>
<property name='idleTimeout'>
<value>30000</value>
</property>
</bean>
<bean id='repoRemoteTransportRMI' class='org.springframework.remoting.rmi.RmiServiceExporter'>
<property name='service'>
<ref bean='repoRemoteTransport'/>
</property>
<property name='serviceInterface'>
<value>org.alfresco.service.cmr.remote.RepoRemoteTransport</value>
</property>
<property name='serviceName'>
<value>repo</value>
</property>
<property name='registryPort'>
<value>${alfresco.rmi.services.port}</value>
</property>
</bean>
<bean id='actionServiceTransport' class='org.alfresco.repo.action.ActionServiceTransportImpl'>
<property name='actionService'>
<ref bean='ActionService'/>
</property>
<property name='authenticationService'>
<ref bean='AuthenticationService'/>
</property>
</bean>
<bean id='actionServiceTransportRMI' class='org.springframework.remoting.rmi.RmiServiceExporter'>
<property name='service'>
<ref bean='actionServiceTransport'/>
</property>
<property name='serviceInterface'>
<value>org.alfresco.service.cmr.action.ActionServiceTransport</value>
</property>
<property name='serviceName'>
<value>action</value>
</property>
<property name='registryPort'>
<value>${alfresco.rmi.services.port}</value>
</property>
</bean>
</beans>
Ports are configured within the deployment.properties file referenced by 'application-context.xml'
If the configuration does not specify a port to use for the deployment service then one will be chosen at random which may cause a problem if there is a firewall between Alfresco and its File System Receiver.
You can also run the FSR over a single port by specifying the same port for the RMI registry and the deployment service.
deployment.properties
dep.datadir=depdata
dep.logdir=deplog
dep.metadatadir=depmetadata
dep.rmi.port=44100
dep.rmi.service.port=44101
If you are running Alfresco on Tomcat then tomcat will itself may be listening on some ports
The ports are configured in the following file within tomcat
'conf/server.xml'
Please refer to Tomcat's documentation for further details of tomcat.
Ask for and offer help to other Alfresco Content Services Users and members of the Alfresco team.
Related links:
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.