alfresco中的solr提出单独搭建solr服务器
alfresco安装好的目录中有一个自带的web容器tomcat,里面同时跑了alfresco和solr两个web工程,两个工程之间互相通信
如果想分别部署,需要分别部署在两个web容器中,两个web容器可以放在不同的机器上,这样可以单独有一台搜索服务器,提高性能
下面来说说步骤下面的web容器全部以tomcat为准
1.web容器中先部署solr工程
在web容器中,tomcat_home\Catalina\localhost加入solr.xml文件,里面配置了solr搜索服务器的物理位置,通过其中的配置项,指定solr的关键配置文件所在的位置
现在是搜索服务器是205,所以solr.xml在205上
2.web容器中分别修改alfresco和solr配置tomcat后台登陆的用户
X:\Alfresco\tomcat\conf找到tomcat-users.xml,在安装好的alfresco中有这么一段话这个文件是Tomcat后台登录的用户配置文件
(这是安装完默认的效果)
<tomcat-users>
<userusername="CN=AlfrescoRepositoryClient,OU=Unknown,O=AlfrescoSoftwareLtd.,L=Maidenhead,ST=UK,C=GB"roles="repoclient"password="null"/>
<userusername="CN=AlfrescoRepository,OU=Unknown,O=AlfrescoSoftwareLtd.,L=Maidenhead,ST=UK,C=GB"roles="repository"password="null"/>
</tomcat-users>
这里是要改的
在alfresco安装的web容器中的tomcat-users.xml去掉
<userusername="CN=AlfrescoRepository,OU=Unknown,O=AlfrescoSoftwareLtd.,L=Maidenhead,ST=UK,C=GB"roles="repository"password="null"/>
在solr安装的web容器中的tomcat-users.xml去掉
<userusername="CN=AlfrescoRepositoryClient,OU=Unknown,O=AlfrescoSoftwareLtd.,L=Maidenhead,ST=UK,C=GB"roles="repoclient"password="null"/>
3.在solr搜索服务器端配置告诉solr去索引哪个内容库,solr和alfresco通信的时候不用ssl协议(去掉了alfresco中的公匙)
(1)X:\Alfresco\alf_data\solr\workspace-SpacesStore\conf文件夹中有两个文件文件1=solrconfig.xml这个可以修改solr中的性能参数,也可以直接修改solrcore.properties配置
solrcore.properties修改
alfresco.host=localhost----------------alfresco.host=192.168.0.203(改为alfresco部署的地址)
alfresco.secureComms=https--------------alfresco.secureComms=none(去掉密匙验证)
alfresco.url=http://192.168.0.203:8080/alfresco/service
(2)X:\Alfresco\alf_data\solr\archive-SpacesStore\conf在做一次同样的动作
4.在alfresco内容库端配置,告诉alfresco搜索需要使用的solr服务器在哪里
文件位置X:\Alfresco\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\subsystems\Search\solr\solr-search.properties
修改项:
solr.host=192.168.0.205(改为solr的部署地址)
5.在alfresco内容库端配置,告诉alfresco和solr通信的时候不用ssl协议,直接用8443端口通信
文件位置X:\Alfresco\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\repository.properties
修改项:
solr.host=192.168.0.205(改为solr的部署地址)
solr.secureComms=none(和solr通信不用密匙)
6.在solr搜索服务器端配置,去掉solrweb工程中的安全限制
文件位置:X:\apache-tomcat-6.0.35\webapps\solr\WEB-INF\web.xml
去掉:<security-constraint>
<web-resource-collection>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>repository</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Solr</realm-name>
</login-config>
<security-role>
<role-name>repository</role-name>
</security-role>
7.在alfresco内容库端配置,去掉alfrescoweb工程中的安全限制
文件位置:X:\Alfresco\tomcat\webapps\alfresco\WEB-INF\web.xml
去掉:<security-constraint>
<web-resource-collection>
<web-resource-name>SOLR</web-resource-name>
<url-pattern>/service/api/solr/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>repoclient</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Repository</realm-name>
</login-config>
<security-role>
<role-name>repoclient</role-name>
</security-role>
8.6,7和2有关系,理论上去掉6,7中的安全限制,2中有没有都没有用了,没试过,现在是6,7和2中的去掉