Server Windows - IIS

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

Server Windows - IIS

Salve a tutti.

Ho installato Alfresco su Windows Server 2008 R2 foundation SP1.

Leggo spesso in giro che per far girare Tomcat con IIS è necessario configurare un Tomcat connector con la redirect, come spiegato nella pagina ufficiale di Tomcat: http://tomcat.apache.org/tomcat-3.3-doc/tomcat-iis-howto.html o per esempio anche in questa guida: http://ashrafhossain.wordpress.com/2010/09/20/how-to-configure-iis-7-and-tomcat-redirection-on-windo...

Eppure a me è bastato installare Alfresco con l'eseguibile scaricato dal sito per vederlo correttamente funzionante, da internet, all'indirizzo http://www.miosito.it:8080/wcmqs

E' stato sufficiente aprire sul Firewall la porta 8080.

Non capisco a cosa servirebbe la procedura descritta, scaricare e configurare l'ISAPI Tomcat Redirector ecc.

E' necessario che segua queste procedure e lo faccia, per qualche motivo?

Grazie mille!
6 Replies
openpj
Moderator
Moderator

Re: Server Windows - IIS

No direi di no, a meno che non vuoi fare in modo che la tua istanza Alfresco stia dietro un web server, allora si.

Ma per il corretto funzionamento del sistema no.
fable80_9340
Member II

Re: Server Windows - IIS

Ciao OpenPj, grazie per la gentile e veloce risposta.

Scusami, quale sarebbe il guadagno, o la differenza, nel farlo?





Comunque c'è solo un problema che si verifica: ogni tot ore (si può verificare dopo 4 ore o dopo 12) nel log stdout compare:

2012-07-11 22:59:00,039  ERROR [quartz.core.JobRunShell] [DefaultScheduler_Worker-4] Job DEFAULT.org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean#399197b threw an unhandled Exception:
org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'run' on target class [class org.alfresco.module.org_alfresco_module_wcmquickstart.jobs.DynamicCollectionProcessor] failed; nested exception is org.alfresco.repo.search.impl.lucene.LuceneQueryParserException: 06111195
   at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:273)
   at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)
   at org.quartz.core.JobRunShell.run(JobRunShell.java:216)
   at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:563)
Caused by: org.alfresco.repo.search.impl.lucene.LuceneQueryParserException: 06111195
   at org.alfresco.repo.search.impl.solr.SolrQueryHTTPClient.executeQuery(SolrQueryHTTPClient.java:364)
   at org.alfresco.repo.search.impl.solr.SolrQueryLanguage.executeQuery(SolrQueryLanguage.java:49)
   at org.alfresco.repo.search.impl.solr.SolrSearchService.query(SolrSearchService.java:348)
   at org.alfresco.repo.search.impl.solr.SolrSearchService.query(SolrSearchService.java:152)
   at org.alfresco.repo.search.SearcherComponent.query(SearcherComponent.java:67)
   at org.alfresco.repo.search.AbstractSearcherComponent.query(AbstractSearcherComponent.java:53)
   at sun.reflect.GeneratedMethodAccessor581.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.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 $Proxy13.query(Unknown Source)
   at org.alfresco.module.org_alfresco_module_wcmquickstart.jobs.DynamicCollectionProcessor$1$1.execute(DynamicCollectionProcessor.java:114)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:388)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:259)
   at org.alfresco.module.org_alfresco_module_wcmquickstart.jobs.DynamicCollectionProcessor$1.doWork(DynamicCollectionProcessor.java:107)
   at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:519)
   at org.alfresco.module.org_alfresco_module_wcmquickstart.jobs.DynamicCollectionProcessor.run(DynamicCollectionProcessor.java:102)
   at sun.reflect.GeneratedMethodAccessor600.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:273)
   at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:264)
   … 3 more
Caused by: java.net.SocketException: Software caused connection abort: recv failed
   at java.net.SocketInputStream.socketRead0(Native Method)
   at java.net.SocketInputStream.read(SocketInputStream.java:129)
   at com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:293)
   at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:331)
   at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:798)
   at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:755)
   at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75)
   at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
   at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
   at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78)
   at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)
   at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116)
   at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1413)
   at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1973)
   at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735)
   at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1098)
   at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
   at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
   at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
   at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
   at org.alfresco.repo.search.impl.solr.SolrQueryHTTPClient.executeQuery(SolrQueryHTTPClient.java:318)
   … 26 more
2012-07-11 22:59:00,039  ERROR [quartz.core.ErrorLogger] [DefaultScheduler_Worker-4] Job (DEFAULT.org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean#399197b threw an exception.
org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'run' on target class [class org.alfresco.module.org_alfresco_module_wcmquickstart.jobs.DynamicCollectionProcessor] failed; nested exception is org.alfresco.repo.search.impl.lucene.LuceneQueryParserException: 06111195 ]
   at org.quartz.core.JobRunShell.run(JobRunShell.java:227)
   at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:563)
Caused by: org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'run' on target class [class org.alfresco.module.org_alfresco_module_wcmquickstart.jobs.DynamicCollectionProcessor] failed; nested exception is org.alfresco.repo.search.impl.lucene.LuceneQueryParserException: 06111195
   at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:273)
   at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)
   at org.quartz.core.JobRunShell.run(JobRunShell.java:216)
   … 1 more
Caused by: org.alfresco.repo.search.impl.lucene.LuceneQueryParserException: 06111195
   at org.alfresco.repo.search.impl.solr.SolrQueryHTTPClient.executeQuery(SolrQueryHTTPClient.java:364)
   at org.alfresco.repo.search.impl.solr.SolrQueryLanguage.executeQuery(SolrQueryLanguage.java:49)
   at org.alfresco.repo.search.impl.solr.SolrSearchService.query(SolrSearchService.java:348)
   at org.alfresco.repo.search.impl.solr.SolrSearchService.query(SolrSearchService.java:152)
   at org.alfresco.repo.search.SearcherComponent.query(SearcherComponent.java:67)
   at org.alfresco.repo.search.AbstractSearcherComponent.query(AbstractSearcherComponent.java:53)
   at sun.reflect.GeneratedMethodAccessor581.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.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 $Proxy13.query(Unknown Source)
   at org.alfresco.module.org_alfresco_module_wcmquickstart.jobs.DynamicCollectionProcessor$1$1.execute(DynamicCollectionProcessor.java:114)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:388)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:259)
   at org.alfresco.module.org_alfresco_module_wcmquickstart.jobs.DynamicCollectionProcessor$1.doWork(DynamicCollectionProcessor.java:107)
   at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:519)
   at org.alfresco.module.org_alfresco_module_wcmquickstart.jobs.DynamicCollectionProcessor.run(DynamicCollectionProcessor.java:102)
   at sun.reflect.GeneratedMethodAccessor600.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:273)
   at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:264)
   … 3 more
Caused by: java.net.SocketException: Software caused connection abort: recv failed
   at java.net.SocketInputStream.socketRead0(Native Method)
   at java.net.SocketInputStream.read(SocketInputStream.java:129)
   at com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:293)
   at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:331)
   at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:798)
   at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:755)
   at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75)
   at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
   at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
   at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78)
   at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)
   at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116)
   at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1413)
   at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1973)
   at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735)
   at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1098)
   at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
   at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
   at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
   at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
   at org.alfresco.repo.search.impl.solr.SolrQueryHTTPClient.executeQuery(SolrQueryHTTPClient.java:318)
   … 26 more




Ritengo sia un problema di SOLR. Infatti connettendomi a https://miosito:8443/solr/alfresco/admin/ da browser viene restituito il messaggio:

Connessione sicura non riuscita
Si è verificato un errore durante la connessione a xxxxxxxxxxxxxx:8443.
Il peer SSL non è in grado di verificare il certificato.
(Codice di errore: ssl_error_bad_cert_alert)

e da log stderr:

AVVERTENZA: Exception getting SSL attributes
javax.net.ssl.SSLHandshakeException: null cert chain
   at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
   at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1649)
   at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:241)
   at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:231)
   at com.sun.net.ssl.internal.ssl.ServerHandshaker.clientCertificate(ServerHandshaker.java:1369)
   at com.sun.net.ssl.internal.ssl.ServerHandshaker.processMessage(ServerHandshaker.java:160)
   at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:593)
   at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:529)
   at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:893)
   at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:755)
   at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75)
   at java.io.InputStream.read(InputStream.java:85)
   at org.apache.tomcat.util.net.jsse.JSSESupport.handShake(JSSESupport.java:176)
   at org.apache.tomcat.util.net.jsse.JSSESupport.getPeerCertificateChain(JSSESupport.java:143)
   at org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:1116)
   at org.apache.coyote.Request.action(Request.java:350)
   at org.apache.catalina.authenticator.SSLAuthenticator.authenticate(SSLAuthenticator.java:135)
   at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:528)
   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:662)




Ho aperto le porte 8009 e 8443 sul firewall ma non è stato sufficiente, credo di dover sistemare il certificato esportandolo da IIS e importandolo in Tomcat, se ho capito bene.



Grazie mille.
openpj
Moderator
Moderator

Re: Server Windows - IIS

Questo perché il pacchetto che hai utilizzato consente per questa installazione consentirebbe solamente di visionare il prodotto solo per una demo e non può considerarsi un'installazione esercibile.
Non tiene conto di tutte le variabili in gioco del sistema operativo e di altri fattori importanti.

Alfresco andrebbe installato a componenti senza utilizzare alcun installer.

Suggerirei di disabilitare Solr e di usare Lucene. Solr va usato solamente nel caso di indicizzazioni non sincrone e per fare scaleout.

Spero di essere stato chiaro Smiley Tongue
fable80_9340
Member II

Re: Server Windows - IIS

Sì sei stato chiarissimo, ti sto votando a ogni post non tanto per fare, ma proprio perché mi hai dato risposte importanti.

Per quanto riguarda la parte che ho programmato io e i miei webscript (ricerca fulltext all'interno di pdf e nelle proprietà dei documenti tipo date tags ecc), uso soltanto Lucene, quindi l'uso di SOLR è quello automatico da parte di Alfresco. Ti ringrazio per il consiglio, effettivamente il problema sembra quello, quindi ora mi informerò su come disabilitare SOLR.

Comunque a parte l'installazione corrente che era più che altro dimostrativa, mi studierò anche il discorso di un'installazione fatta a pacchetti e non con l'installer, e cercherò di rinstallare il tutto senza l'eseguibile.

Grazie ancora.
fable80_9340
Member II

Re: Server Windows - IIS

Una domanda: per disabilitare SOLR è sufficiente agire su alfresco-global.properties, nel modo che riporto sotto (applicandolo effettivamente è stata creata in alf_data la cartella lucene-indexes, però solr sta ancora tutto lì), oppure è necessario un intervento più approfondito, rimuovendo la webapp solr, tutte le connessioni nei vari xml, le cartelle solr e keystore ecc? Ieri ci ho provato ma poi mi dava errori di file mancanti. Il problema è che trovo molta documentazione su come integrare SOLR in Alfresco ma non su come eliminarlo in modo pulito… Grazie

alfresco-global.properties:

### Solr indexing ###
#index.subsystem.name=solr
#dir.keystore=${dir.root}/keystore
#solr.port.ssl=8443

### Rebuilding index ###
index.recovery.mode=AUTO

### Lucene indexing ###
index.subsystem.name=lucene
fable80_9340
Member II

Re: Server Windows - IIS

Per chi avesse bisogno, spiego come ho risolto per sostituire in modo pulito Solr con Lucene. Ovunque è documentato solo il contrario, come sostituire Lucene con Solr…!

- Innanzitutto, come scrivevo sopra, in alfresco-global.properties va commentata la parte riguardante Solr e aggiunta quella di Lucene e index recovery mode:

   ### Solr indexing ###
   #index.subsystem.name=solr
   #dir.keystore=${dir.root}/keystore
   #solr.port.ssl=8443

   ### Rebuilding index ###
   index.recovery.mode=AUTO

   ### Lucene indexing ###
   index.subsystem.name=lucene

- dalla cartella alf_data rimuovere la cartella con gli indici solr;

- mettere per il primo avvio index.recovery.mode=FULL in alfresco-global.properties, per far rigenerare tutto, poi rimetterlo a AUTO per il prossimo riavvio;

- rimuovere solr.xml da tomcat\conf\Catalina\localhost