Port numbers

Document created by resplin Employee on Jun 6, 2015
Version 1Show Document
  • View in full screen mode

Obsolete Pages{{Obsolete}}

The official documentation is at: http://docs.alfresco.com



Draft Pages

Port numbers

Administration

Alfresco uses a number of TCP network ports.

wikipedia TCP

wikiepedia port numbers


Alfresco Repository


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.    


50500/TCP : RMI Registry for Alfresco server
50501/TCP : avm remote service (avm)
50502/TCP : avm sync service (avmsync)
50503/TCP : attributes service (attributes)
50504/TCP : authentication service (authentication)
50505/TCP : repository service (repo)
50506/TCP : action service (action)
50507/TCP : deployment service (deployment)

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

Alfresco CIFS/SMB


CIFS server can bind to the privileged ports (TCP 139/445 UDP 137/138). See more in File Server Subsystem.


Alfresco's Tomcat


The alfresco repository and explorer web client run on this application server.


8080/TCP : Tomcat's default http port
8085/TCP : Tomcat's administration port.
8009/TCP : Tomcat's AJP port.
8443/TCP : Tomcat's https port.

If you want to change these port numbers then change <TOMCAT HOME>/conf/server.xml


Virtualisation Server


50510/TCP : Virtualisation server's rmi registry.   alfresco.virtserver.jmxrmi.port=50510

Virtualisation Server Tomcat


The virtualisation server runs on its own instance of Tomcat.


8180/TCP : Virtual Tomcat's default http port.   alfresco.virtserver.http.port=8180
8105/TCP : Virtual Tomcat's administration port.
8109/TCP : Virtual Tomcat's AJP port.

Alfresco File System Receiver


44100/TCP : RMI Registry for File System Receiver
44101/TCP : Deployment service part of WCM Deployment Features

Configuration


Alfresco Port Configuration


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>

Alfresco File System Receiver


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

Tomcat


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.

1 person found this helpful

Attachments

    Outcomes