Problema con SMTPS-GMAIL Alfresco

cancel
Showing results for 
Search instead for 
Did you mean: 
crazyboss
Member II

Re: Problema con SMTPS-GMAIL Alfresco

Los CR+LF (\r\n) en el editor vi los verás como ^M. Algunos samples (ej. file-servers-custom.sample2) los tiene.

Un saludo.
luisbecerra
Member II

Re: Problema con SMTPS-GMAIL Alfresco

Ya pase el código al VI dentro de  Solaris y  al parecer no tengo nada como " ^M "

¿No se puede hacer algo como forzar esa propiedad (mail.port) para que lo tome como un valor entero?, No logro entender cual pudiera ser el problema para que en Windows funcione y en Solaris no.  :cry:

Saludos.
crazyboss
Member II

Re: Problema con SMTPS-GMAIL Alfresco

Pues nose, yo en casa lo tengo igual sobre Ubuntu y funciona, en el trabajo, igual sobre Red Hat y funciona.

Lo tienes en desarrollo o en producción? en desarrollo me imagino…, lo digo porque sería buena idea vovler a desplegar el .war. O prueba, como yo, utilizando la bundle.

Asegurate de que no creas los archivos como root y luego el usuario de alfresco no pueda acceder.

[size=85]Asegurate de que no tienes ningun servidor de correo saliente en tú máquina. Fijate en la configuración justo debajo donde configuras el mail, y asegurate de que no has configurado el servidor de correo saliente.[/size]

No copies y pegues la config del servidor en Windows, modifica el archivo a mano ya que es comentar y descomentar.

[size=125]Tienes la última versión de JDK instalada, seguro que tu alfresco utiliza esta versión? Lo digo por si utilizas OpenJDK o algun kit de estos…[/size]

Borra todo tipo de reglas que tengas configuradas con iptables.

Si está activado, desactiva SELinux.

Podrías buscar los archivos modificados en x días (find . -mtime -n) para ver todos los archivos modificados y comprobar que no has tocado nada que no toca.

No te da ningún otro error, aver si es que se deriva de otra cosa mal configurada.

Has probado configurarlo con un servidor smtp no seguro?


Bueno algunas de las sugerencias son un poco absurdas otras no tanto… Pero probaría hacerlo todo.

Saludos.
luisbecerra
Member II

Re: Problema con SMTPS-GMAIL Alfresco

No, ninguna sugerencia es absurda y todas son bienvenidas,  Smiley Tongue ,  probare cada una de ellas y te comento como me fue.
Muchas gracias por la colaboración.
Saludos.
dfernandezgonza
Member II

Re: Problema con SMTPS-GMAIL Alfresco

Hola muy buenas,

tengo configurado alfresco-global.properties


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

#
# Sample custom content and index data location
#————-
dir.root=/opt/alfresco/alf_data
##
dir.indexes=/opt/alfresco/alf_data/lucene-indexes
index.recovery.mode=FULL

db.name=alfresco
db.username=alfresco
db.password=alfresco
db.host=localhost
db.port=3306

#
# External locations
#————-

ooo.exe=/usr/lib/openoffice/program/soffice
ooo.user=<%ShortInstallDir%>/alf_data/oouser
jodconverter.officeHome=/opt/alfresco
jodconverter.portNumbers=8101
img.root=/usr/bin/convert
swf.exe=/usr/bin/pdf2swf

#
# Initial admin password
#————-
alfresco_user_store.adminpassword=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

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

# Sample Gmail settings
mail.host=smtp.gmail.com
mail.port=465
mail.protocol=smtps
mail.username=usuario@gmail.com
mail.password=contraseña

# New Properties
mail.smtps.starttls.enable=true
mail.smtps.auth=true

#
cifs.enabled=true
cifs.Server.Name=server
cifs.domain=DOMAIN
cifs.hostanounce=true

cifs.broadcast=0.0.0.0
cifs.tcpipSMB.port=1445
cifs.ipv6.enabled=false
cifs.netBIOSSMB.namePort=1137
cifs.netBIOSSMB.datagramPort=1138
cifs.netBIOSSMB.sessionPort=1139


y por si acaso he copiado la misma configuración (sólo la del email) en el archivo
/opt/alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/subsystems/email/OutboundSMTP/outboundSMTP.properties






# Sample Gmail settings

mail.host=smtp.gmail.com

mail.port=465

mail.protocol=smtps

mail.username=usuario@gmail.com
mail.password=contraseña
# New Properties

mail.smtps.starttls.enable=true

mail.smtps.auth=true





#use these properties to send test message during start of subsystem

mail.testmessage.send=false

mail.testmessage.to=

mail.testmessage.subject=Outbound SMTP

mail.testmessage.text=The Outbound SMTP email subsystem is working.

y cuando logueado como administrador intento mandar un email a un usuario, me da el siguiente error


09:29:44,706 User:dfernandez WARN  [component.evaluator.BaseEvaluator] Error during ActionInstanceEvaluator evaluation of org.alfresco.web.action.evaluator.RegenerateRenditionsEvaluator@39d47789: 08090004 No root 'Web Projects' folder exists (is WCM enabled ?)
09:29:48,392 User:dfernandez WARN  [component.evaluator.BaseEvaluator] Error during ActionInstanceEvaluator evaluation of org.alfresco.web.action.evaluator.RegenerateRenditionsEvaluator@39d47789: 08090005 No root 'Web Projects' folder exists (is WCM enabled ?)
09:54:12,960 User:dfernandez ERROR [web.bean.TemplateMailHelperBean] Failed to send email to dfernandez@cesga.es
org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.MessagingException: Could not connect to SMTP host: smtp.alfresco.com, port: 25;
  nested exception is:
   java.net.ConnectException: Connection timed out
   at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:418)
   at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:341)
   at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:356)
   at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:345)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.alfresco.repo.management.subsystems.SubsystemProxyFactory$1.invoke(SubsystemProxyFactory.java:65)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
   at $Proxy209.send(Unknown Source)
   at org.alfresco.web.bean.TemplateMailHelperBean.notifyUser(TemplateMailHelperBean.java:179)
   at org.alfresco.web.bean.wizard.BaseInviteUsersWizard.finishImpl(BaseInviteUsersWizard.java:329)
   at org.alfresco.web.bean.dialog.BaseDialogBean$1.execute(BaseDialogBean.java:118)
   at org.alfresco.web.bean.dialog.BaseDialogBean$1.execute(BaseDialogBean.java:115)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:321)
   at org.alfresco.web.bean.dialog.BaseDialogBean.finish(BaseDialogBean.java:124)
   at org.alfresco.web.bean.wizard.WizardManager.finish(WizardManager.java:593)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:132)
   at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:61)
   at javax.faces.component.UICommand.broadcast(UICommand.java:109)
   at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:97)
   at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:171)
   at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
   at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95)
   at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
   at javax.faces.webapp.FacesServlet.service(FacesServlet.java:139)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:104)
   at sun.reflect.GeneratedMethodAccessor498.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:116)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
   at $Proxy204.doFilter(Unknown Source)
   at org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:82)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.alfresco.repo.web.filter.beans.NullFilter.doFilter(NullFilter.java:68)
   at sun.reflect.GeneratedMethodAccessor498.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:116)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
   at $Proxy204.doFilter(Unknown Source)
   at org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:82)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
   at java.lang.Thread.run(Thread.java:619)
Caused by: javax.mail.MessagingException: Could not connect to SMTP host: smtp.alfresco.com, port: 25;
  nested exception is:
   java.net.ConnectException: Connection timed out
   at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1282)
   at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:370)
   at javax.mail.Service.connect(Service.java:275)
   at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:388)
   … 65 more
Caused by: java.net.ConnectException: Connection timed out
   at java.net.PlainSocketImpl.socketConnect(Native Method)
   at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
   at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
   at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
   at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
   at java.net.Socket.connect(Socket.java:529)
   at java.net.Socket.connect(Socket.java:478)
   at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:232)
   at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:189)
   at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1250)
   … 68 more

No sé de que puede ser, alguna ayuda?

graciñas por adelantado
dfernandezgonza
Member II

Re: Problema con SMTPS-GMAIL Alfresco

Hola muy buenas ya he conseguido arreglar el error al enviar emaiils.

Tengo instalado Ububntu 10.04, apache-tomcat-6.0.29 instalado a mano (/usr/local/tomcat), porque el que viene con el repositorio no me funciona.Versión Alfresco-Community-3.3g-Linux-x86-Install (opt/alfresco).

Copio al archivo alfresco.war y share.war a la carpeta correspondiente de tomcat



sudo cp /opt/alfresco/tomcat/webapps/alfresco.war /usr/local/tomcat/webapps/
sudo cp /opt/alfresco/tomcat/webapps/share.war /usr/local/tomcat/webapps/


1)  Edito configuración de tomcat, porque la configuración por defecto no llega la memoria. En mi caso



sudo vim /usr/local/tomcat/bin/catalina.sh




#export JAVA_OPTS='-Xms1024m -Xmx1024m -XX:MaxPermSize=128m -server '
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8
-server -Xms1536m -Xmx1536m
-XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m
-XX:MaxPermSize=256m -XX:+DisableExplicitGC"


2)


sudo vim /usr/local/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/repository.properties




# Repository configuration



repository.name=Main Repository



# Directory configuration



dir.root=/opt/alfresco/alf_data



dir.contentstore=${dir.root}/contentstore

dir.contentstore.deleted=${dir.root}/contentstore.deleted



dir.auditcontentstore=${dir.root}/audit.contentstore



# The location for lucene index files

dir.indexes=${dir.root}/lucene-indexes



# The location for index backups

dir.indexes.backup=${dir.root}/backup-lucene-indexes



# The location for lucene index locks

dir.indexes.lock=${dir.indexes}/locks



# ######################################### #

# Index Recovery and Tracking Configuration #

# ######################################### #

#

# Recovery types are:

#    NONE:     Ignore

#    VALIDATE: Checks that the first and last transaction for each store is represented in the indexes

#    AUTO:     Validates and auto-recovers if validation fails

#    FULL:     Full index rebuild, processing all transactions in order.  The server is temporarily suspended.

index.recovery.mode=VALIDATE

# FULL recovery continues when encountering errors

index.recovery.stopOnError=false

index.recovery.maximumPoolSize=5

# Set the frequency with which the index tracking is triggered.

# For more information on index tracking in a cluster:

#    http://wiki.alfresco.com/wiki/High_Availability_Configuration_V1.4_to_V2.1#Version_1.4.5.2C_2.1.1_an...

# By default, this is effectively never, but can be modified as required.

#    Examples:

#       Never:                   * * * * * ? 2099

#       Once every five seconds: 0/5 * * * * ?

#       Once every two seconds : 0/2 * * * * ?

#       See http://quartz.sourceforge.net/javadoc/org/quartz/CronTrigger.html

index.tracking.cronExpression=0/5 * * * * ?

index.tracking.adm.cronExpression=${index.tracking.cronExpression}

index.tracking.avm.cronExpression=${index.tracking.cronExpression}

# Other properties.

index.tracking.maxTxnDurationMinutes=10

index.tracking.reindexLagMs=1000

index.tracking.maxRecordSetSize=1000

index.tracking.maxTransactionsPerLuceneCommit=100

index.tracking.disableInTransactionIndexing=false

# Index tracking information of a certain age is cleaned out by a scheduled job.

# Any clustered system that has been offline for longer than this period will need to be seeded

# with a more recent backup of the Lucene indexes or the indexes will have to be fully rebuilt.

# Use -1 to disable purging.  This can be switched on at any stage.

index.tracking.minRecordPurgeAgeDays=30



# Change the failure behaviour of the configuration checker

system.bootstrap.config_check.strict=true



# The name of the cluster

#   Leave this empty to disable cluster entry

alfresco.cluster.name=



# The protocol stack to use from the JGroups configuration file

#   Use this property to select which communication method should be used.

#   The JGroups configuration file is build up using the protocol string

alfresco.jgroups.defaultProtocol=UDP

# The bind address and interface for JGroups to use; equivalent to -Djgroups.bind_addr and -Djgroups.bind_interface

alfresco.jgroups.bind_address=

alfresco.jgroups.bind_interface=

# JGroups configuration (http://www.jgroups.org)

# The location of the JGroups configuration file

alfresco.jgroups.configLocation=classpath:alfresco/jgroups/alfresco-jgroups-${alfresco.jgroups.defaultProtocol}.xml



#

# How long should shutdown wait to complete normally before

# taking stronger action and calling System.exit()

# in ms, 10,000 is 10 seconds

#

shutdown.backstop.timeout=10000

shutdown.backstop.enabled=false



# Server Single User Mode

# note:

#   only allow named user (note: if blank or not set then will allow all users)

#   assuming maxusers is not set to 0

#server.singleuseronly.name=admin



# Server Max Users - limit number of users with non-expired tickets

# note:

#   -1 allows any number of users, assuming not in single-user mode

#   0 prevents further logins, including the ability to enter single-user mode

server.maxusers=-1



# The Cron expression controlling the frequency with which the OpenOffice connection is tested

openOffice.test.cronExpression=0 * * * * ?



#

# Properties to limit resources spent on individual searches

#

# The maximum time spent pruning results

system.acl.maxPermissionCheckTimeMillis=10000

# The maximum number of results to perform permission checks against

system.acl.maxPermissionChecks=1000



#

# Manually control how the system handles maximum string lengths.

# Any zero or negative value is ignored.

# Only change this after consulting support or reading the appropriate Javadocs for

# org.alfresco.repo.domain.schema.SchemaBootstrap for V2.1.2

system.maximumStringLength=-1



#

# Limit hibernate session size by trying to amalgamate events for the L2 session invalidation

# - hibernate works as is up to this size

# - after the limit is hit events that can be grouped invalidate the L2 cache by type and not instance

# events may not group if there are post action listener registered (this is not the case with the default distribution)

system.hibernateMaxExecutions=20000



#

# Determine if document deletion and archival must cascade delete in the same

# transaction that triggers the operation.

system.cascadeDeleteInTransaction=true



#

# Determine if modification timestamp propagation from child to parent nodes is respected or not.

# Even if 'true', the functionality is only supported for child associations that declare the

# 'propagateTimestamps' element in the dictionary definition.

system.enableTimestampPropagation=false



#

# Decide if content should be removed from the system immediately after being orphaned.

# Do not change this unless you have examined the impact it has on your backup procedures.

system.content.eagerOrphanCleanup=false

# The number of days to keep orphaned content in the content stores.

#    This has no effect on the 'deleted' content stores, which are not automatically emptied.

system.content.orphanProtectDays=14

# The CRON expression to trigger the deletion of resources associated with orphaned content.

system.content.orphanCleanup.cronExpression=0 0 4 * * ?

# The CRON expression to trigger content URL conversion.  This process is not intesive and can

#    be triggered on a live system.  Similarly, it can be triggered using JMX on a dedicated machine.

system.content.contentUrlConverter.cronExpression=* * * * * ? 2099

system.content.contentUrlConverter.threadCount=2

system.content.contentUrlConverter.batchSize=500

system.content.contentUrlConverter.runAsScheduledJob=false



# #################### #

# Lucene configuration #

# #################### #

#

# Millisecond threshold for text transformations

# Slower transformers will force the text extraction to be asynchronous

#

lucene.maxAtomicTransformationTime=20

#

# The maximum number of clauses that are allowed in a lucene query

#

lucene.query.maxClauses=10000

#

# The size of the queue of nodes waiting for index

# Events are generated as nodes are changed, this is the maximum size of the queue used to coalesce event

# When this size is reached the lists of nodes will be indexed

#

# http://issues.alfresco.com/browse/AR-1280:  Setting this high is the workaround as of 1.4.3.

#

lucene.indexer.batchSize=1000000

#

# Index cache sizes

#

lucene.indexer.cacheEnabled=true

lucene.indexer.maxDocIdCacheSize=10000

lucene.indexer.maxDocumentCacheSize=100

lucene.indexer.maxIsCategoryCacheSize=-1

lucene.indexer.maxLinkAspectCacheSize=10000

lucene.indexer.maxParentCacheSize=10000

lucene.indexer.maxPathCacheSize=10000

lucene.indexer.maxTypeCacheSize=10000

#

# Properties for merge (not this does not affect the final index segment which will be optimised)

# Max merge docs only applies to the merge process not the resulting index which will be optimised.

#

lucene.indexer.mergerMaxMergeDocs=1000000

lucene.indexer.mergerMergeFactor=5

lucene.indexer.mergerMergeBlockingFactor=1

lucene.indexer.mergerMaxBufferedDocs=-1

lucene.indexer.mergerRamBufferSizeMb=16

#

# Properties for delta indexes (not this does not affect the final index segment which will be optimised)

# Max merge docs only applies to the index building process not the resulting index which will be optimised.

#

lucene.indexer.writerMaxMergeDocs=1000000

lucene.indexer.writerMergeFactor=5

lucene.indexer.writerMaxBufferedDocs=-1

lucene.indexer.writerRamBufferSizeMb=16

#

# Target number of indexes and deltas in the overall index and what index size to merge in memory

#

lucene.indexer.mergerTargetIndexCount=5

lucene.indexer.mergerTargetOverlayCount=5

lucene.indexer.mergerTargetOverlaysBlockingFactor=1

lucene.indexer.maxDocsForInMemoryMerge=10000

lucene.indexer.maxRamInMbForInMemoryMerge=16

lucene.indexer.maxDocsForInMemoryIndex=10000

lucene.indexer.maxRamInMbForInMemoryIndex=16

#

# Other lucene properties

#

lucene.indexer.termIndexInterval=128

lucene.indexer.useNioMemoryMapping=true

# over-ride to false for pre 3.0 behaviour

lucene.indexer.postSortDateTime=true

lucene.indexer.defaultMLIndexAnalysisMode=EXACT_LANGUAGE_AND_ALL

lucene.indexer.defaultMLSearchAnalysisMode=EXACT_LANGUAGE_AND_ALL

#

# The number of terms from a document that will be indexed

#

lucene.indexer.maxFieldLength=10000

#

# Index locks (mostly deprecated and will be tidied up with the next lucene upgrade)

#

lucene.write.lock.timeout=10000

lucene.commit.lock.timeout=100000

lucene.lock.poll.interval=100



# Database configuration

db.schema.stopAfterSchemaBootstrap=false

db.schema.update=true

db.schema.update.lockRetryCount=24

db.schema.update.lockRetryWaitSeconds=5

db.driver=org.gjt.mm.mysql.Driver

db.name=alfresco

db.url=jdbc:mysql:///${db.name}

db.username=alfresco

db.password=alfresco

db.pool.initial=10

db.pool.max=40

db.txn.isolation=-1

db.pool.statements.enable=true

db.pool.statements.max=40

db.pool.min=0

db.pool.idle=8

db.pool.wait.max=-1

db.pool.validate.query=

db.pool.evict.interval=-1

db.pool.evict.idle.min=1800000

db.pool.validate.borrow=true

db.pool.validate.return=false

db.pool.evict.validate=false

db.pool.abandoned.detect=false

db.pool.abandoned.time=300



# Audit configuration

audit.enabled=false

audit.repository.enabled=true

audit.cmischangelog.enabled=true

# Setting this flag to true will cause alfresco/auditConfig.xml to be ignored

# when audit is enabled. When false both alfresco/auditConfig.xml and

# alfresco/audit/*.xml will be used.

audit.useNewConfig=false



# System Configuration

system.store=system://system

system.descriptor.childname=sys:descriptor

system.descriptor.current.childname=sys:descriptor-current



# User config

alfresco_user_store.store=user://alfrescoUserStore

alfresco_user_store.system_container.childname=sys:system

alfresco_user_store.user_container.childname=sys:people



# note: default admin username - should not be changed after installation

alfresco_user_store.adminusername=admin



# Initial password - editing this will not have any effect once the repository is installed

alfresco_user_store.adminpassword=209c6174da490caeb422f3fa5a7ae634



# note: default guest username - should not be changed after installation

alfresco_user_store.guestusername=guest



# Spaces Archive Configuration

spaces.archive.store=archive://SpacesStore



# Spaces Configuration

spaces.store=workspace://SpacesStore

spaces.company_home.childname=app:company_home

spaces.guest_home.childname=app:guest_home

spaces.dictionary.childname=app:dictionary

spaces.templates.childname=app:space_templates

spaces.imapConfig.childname=app:imap_configs

spaces.imap_templates.childname=app:imap_templates

spaces.emailActions.childname=app:email_actions

spaces.searchAction.childname=cm:search

spaces.templates.content.childname=app:content_templates

spaces.templates.email.childname=app:email_templates

spaces.templates.email.invite1.childname=app:invite_email_templates

spaces.templates.email.notify.childname=app:notify_email_templates

spaces.templates.rss.childname=app:rss_templates

spaces.savedsearches.childname=app:saved_searches

spaces.scripts.childname=app:scripts

spaces.wcm.childname=app:wcm

spaces.wcm_content_forms.childname=app:wcm_forms

spaces.content_forms.childname=app:forms

spaces.user_homes.childname=app:user_homes

spaces.sites.childname=st:sites

spaces.templates.email.invite.childname=cm:invite

spaces.rendition.rendering_actions.childname=app:rendering_actions

spaces.wcm_deployed.childname=cm:wcm_deployed

spaces.transfers.childname=app:transfers

spaces.transfer_groups.childname=app:transfer_groups

spaces.transfer_temp.childname=app:temp

spaces.inbound_transfer_records.childname=app:inbound_transfer_records

spaces.outbound_transfer_records.childname=app:outbound_transfer_records



# ADM VersionStore Configuration

version.store.deprecated.lightWeightVersionStore=workspace://lightWeightVersionStore

version.store.version2Store=workspace://version2Store

# WARNING: For non-production testing only !!! Do not change (to avoid version store issues, including possible mismatch). Should be false since lightWeightVersionStore is deprecated.

version.store.onlyUseDeprecatedV1=false



# Folders for storing people

system.system_container.childname=sys:system

system.people_container.childname=sys:people

system.authorities_container.childname=sys:authorities

system.zones_container.childname=sys:zones



# Folders for storing workflow related info

system.workflow_container.childname=sys:workflow



# Are user names case sensitive?

user.name.caseSensitive=false

domain.name.caseSensitive=false

domain.separator=



# AVM Specific properties.

avm.remote.idlestream.timeout=30000





#Format caption extracted from the XML Schema.

xforms.formatCaption=true



# ################################## #

# WCM Link Validation Configuration  #

# ################################## #

#

# Note: Link Validation is disabled by default (as per poll interval = 0)

#

# linkvalidation.pollInterval  - Poll interval to check getLatestSnapshotID (in milliseconds), eg. 5000 for 5 sec interval

#                           If pollInterval is 0, link validation is disabled.

#

# linkvalidation.retryInterval - Retry interval (Virtualization server is not accessible or an error has occurred

#                          during link validation.

#

# linkvalidation.disableOnFail - If set to TRUE link validation service will be terminated if an error will be occurred.



linkvalidation.pollInterval=0

linkvalidation.retryInterval=120000

linkvalidation.disableOnFail=false



# ECM content usages/quotas

system.usages.enabled=true



# Repository endpoint - used by Activity Service

repo.remote.url=http://localhost:8080/alfresco

repo.remote.endpoint=/service



# Create home folders as people are created (true) or create them lazily (false)

home.folder.creation.eager=true



# The well known RMI registry port is defined in the alfresco-shared.properties file

# host will need to be changed from localhost to make the services available to other

# computers.

#

# alfresco.rmi.services.port=50500

# alfresco.rmi.services.host=localhost

#

# RMI service ports for the individual services.

# These eight services are available remotely.

#

# Assign individual ports for each service for best performance

# or run several services on the same port, you can even run everything on 50500 if

# running through a firewall.

#

# Specify 0 to use a random unused port.

#

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

monitor.rmi.service.port=50508





# Should the Mbean server bind to an existing  server.   Set to true for most application servers.

# false for WebSphere clusters.

mbean.server.locateExistingServerIfPossible=true



# External executable locations

ooo.exe=/usr/bin/soffice

ooo.user=${dir.root}/oouser

img.root=/usr

img.dyn=${img.root}/lib

img.exe=${img.root}/bin/convert

swf.exe=/usr/bin/pdf2swf



# Property to enable upgrade from 2.1-A

V2.1-A.fixes.to.schema=0

#V2.1-A.fixes.to.schema=82



# The default authentication chain

authentication.chain=alfrescoNtlm1:alfrescoNtlm



# Default NFS user mappings

nfs.user.mappings=admin

nfs.user.mappings.default.uid=0

nfs.user.mappings.default.gid=0



# IMAP

imap.server.enabled=false

imap.server.port=143

imap.server.attachments.extraction.enabled=true



# Default IMAP mount points

imap.config.home.store=${spaces.store}

imap.config.home.rootPath=/${spaces.company_home.childname}

imap.config.home.folderPath=Imap Home

imap.config.server.mountPoints=AlfrescoIMAP

imap.config.server.mountPoints.default.mountPointName=IMAP

imap.config.server.mountPoints.default.modeName=ARCHIVE

imap.config.server.mountPoints.default.store=${spaces.store}

imap.config.server.mountPoints.default.rootPath=/${spaces.company_home.childname}

imap.config.server.mountPoints.value.AlfrescoIMAP.mountPointName=Alfresco IMAP

imap.config.server.mountPoints.value.AlfrescoIMAP.modeName=MIXED



# Activity feed max size and max age (eg. 44640 mins = 31 days)

activities.feed.max.size=100

activities.feed.max.age.mins=44640



# Subsystem unit test values. Will not have any effect on production servers

subsystems.test.beanProp.default.longProperty=123456789123456789

subsystems.test.beanProp.default.anotherStringProperty=Global Default

subsystems.test.beanProp=inst1,inst2,inst3

subsystems.test.beanProp.value.inst2.boolProperty=true

subsystems.test.beanProp.value.inst3.anotherStringProperty=Global Instance Default

subsystems.test.simpleProp2=true

subsystems.test.simpleProp3=Global Default3



# Deployment Service

deployment.service.numberOfSendingThreads=5

deployment.service.corePoolSize=2

deployment.service.maximumPoolSize=3



# Transfer Service

transferservice.receiver.enabled=true

transferservice.receiver.stagingDir=${java.io.tmpdir}/alfresco-transfer-staging


3)   
 

sudo vim /opt/alfresco/tomcat/shared/classes/alfresco-global.properties




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

#
# Sample custom content and index data location
#————-
dir.root=/opt/alfresco/alf_data
##
dir.indexes=/opt/alfresco/alf_data/lucene-indexes
index.recovery.mode=FULL

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

#
# External locations
#————-
ooo.exe=/usr/lib/openoffice/program/soffice
ooo.user=<%ShortInstallDir%>/alf_data/oouser
jodconverter.officeHome=/opt/alfresco
jodconverter.portNumbers=8101
img.root=/usr/bin/convert
swf.exe=/usr/bin/pdf2swf

#
# Initial admin password
#————-
alfresco_user_store.adminpassword=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

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


cifs.enabled=true
cifs.Server.Name=server
cifs.domain=DOMAIN
cifs.hostanounce=true

cifs.broadcast=0.0.0.0
cifs.tcpipSMB.port=1445
cifs.ipv6.enabled=false
cifs.netBIOSSMB.namePort=1137
cifs.netBIOSSMB.datagramPort=1138
cifs.netBIOSSMB.sessionPort=1139


3) Tengo que parar el demonio de samba, porque si no me da error



sudo service smbd stop


Aunque en este enlace explican otra manera de evitar ese error :

http://wiki.alfresco.com/wiki/Changing_Bind_Addresses_and_Ports_for_Samba_and_FTP

4) Configuro el firewall (como usuario root)



iptables -I INPUT -p tcp –dport 445 -j ACCEPT
iptables -I INPUT -p tcp –dport 139 -j ACCEPT
iptables -I INPUT -p udp –dport 137 -j ACCEPT
iptables -I INPUT -p udp –dport 138 -j ACCEPT
iptables -I INPUT -p tcp –dport 1445 -j ACCEPT
iptables -I INPUT -p tcp –dport 1139 -j ACCEPT
iptables -I INPUT -p udp –dport 1137 -j ACCEPT
iptables -I INPUT -p udp –dport 1138 -j 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 1138


Para hacer esto permanente
  4.1)


sudo vim /opt/scripts/iptables.script




#!/bin/sh
## Aplicando Reglas de Firewall…

iptables -I INPUT -p tcp –dport 445 -j ACCEPT
iptables -I INPUT -p tcp –dport 139 -j ACCEPT
iptables -I INPUT -p udp –dport 137 -j ACCEPT
iptables -I INPUT -p udp –dport 138 -j ACCEPT
iptables -I INPUT -p tcp –dport 1445 -j ACCEPT
iptables -I INPUT -p tcp –dport 1139 -j ACCEPT
iptables -I INPUT -p udp –dport 1137 -j ACCEPT
iptables -I INPUT -p udp –dport 1138 -j 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 1138

4.2 ) 


sudo chmod +x /opt/scripts/iptables.script


4.3)   

      
sudo vim /etc/init.d/firewall
   
   

      
#!/bin/bash
if [[ $1 == start ]] ; then
sudo /opt/scripts/iptables.script
else
sudo iptables -F
fi
   
4.4)

   
sudo chmod +x /etc/init.d/firewall
     

4.5) Por ultimo lo sincronizas con /etc/rc.* usando las herramientas de “update-rc.d” para que el firewall se active antes que el network:
   

      
sudo update-rc.d firewall defaults
      


5) Configuro alfresco para permitir envio de emails desde cuenta en gmail


sudo vim /usr/local/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/subsystems/email/OutboundSMTP/outboundSMTP.properties




# Sample Gmail settings

mail.host=smtp.gmail.com

mail.port=465

mail.protocol=smtps

mail.username=usuario@gmail.com

mail.password=contraseña

mail.encoding=UTF-8



# New Properties

mail.smtps.starttls.enable=true

mail.smtps.auth=true





#use these properties to send test message during start of subsystem

mail.testmessage.send=false

mail.testmessage.to=

mail.testmessage.subject=Outbound SMTP

mail.testmessage.text=The Outbound SMTP email subsystem is working.


6) Si se quiere añadir idiomas a alfresco, leer el siguiente enlace

http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=418