请求:本地手动部署带AOS的Alfresco 6.2及Solr故障解决指南
嗨,咱们一步步解决你的Alfresco部署问题——先搞定眼前的Solr密钥库错误,再带你走完包含AOS的完整手动部署流程,毕竟你之前提到自动安装程序不支持AOS所需的SSL配置嘛。
一、先解决Solr启动的密钥库错误
你遇到的Failed to initialize keystore: Location: ssl.repo.client.keystore Provider: Type: JCEKS错误,核心是Solr找不到或无法正确加载与Alfresco通信的SSL密钥库。6.2版本要求Solr和ACS必须通过双向SSL联动,按以下步骤修复:
确认密钥库文件存在并权限正确
从Alfresco安装包的alfresco_data/keystore目录,复制ssl.repo.client.keystore和ssl.repo.client.truststore到Solr的solrhome/alfresco/conf和solrhome/archive/conf目录(两个核心都需要)。
还要确保Solr进程用户(比如tomcat)有读取权限:chown tomcat:tomcat /path/to/solrhome/*/conf/ssl.* chmod 640 /path/to/solrhome/*/conf/ssl.*核对Solr配置参数与Alfresco一致
编辑Solr每个核心的solrcore.properties文件(alfresco/conf/solrcore.properties和archive/conf/solrcore.properties),确保以下参数和Alfresco的alfresco-global.properties完全匹配:# 密钥库绝对路径 ssl.repo.client.keystore=/path/to/solrhome/alfresco/conf/ssl.repo.client.keystore ssl.repo.client.truststore=/path/to/solrhome/alfresco/conf/ssl.repo.client.truststore # 密钥库类型、密码要和Alfresco设置同步 ssl.repo.client.keystore.type=JCEKS ssl.repo.client.keystore.password=你的密钥库密码 ssl.repo.client.truststore.password=你的信任库密码 ssl.repo.client.keyPassword=你的密钥密码提示:默认密码可以在Alfresco的
alfresco-global.properties里找到,如果你修改过,必须同步到Solr配置中。重启Solr验证
停止Solr后用-f参数重新启动,观察日志是否还有密钥库错误:./solr stop ./solr start -f
二、Alfresco 6.2 手动完整部署指南(Ubuntu环境)
以下是从0到1的部署步骤,涵盖AOS的SSL配置:
1. 环境准备
- 系统:Ubuntu 18.04/20.04(64位)
- 依赖:OpenJDK 11(6.2版本强制要求)、PostgreSQL 11/12、Tomcat 9
- 先安装依赖包:
apt update && apt install openjdk-11-jdk postgresql postgresql-contrib tomcat9 tomcat9-admin
2. 配置PostgreSQL数据库
- 创建Alfresco专属用户和数据库:
sudo -u postgres psql CREATE USER alfresco WITH PASSWORD '你的数据库密码'; CREATE DATABASE alfresco OWNER alfresco ENCODING 'UTF8'; GRANT ALL PRIVILEGES ON DATABASE alfresco TO alfresco; \q - 修改
/etc/postgresql/12/main/pg_hba.conf,添加一行允许本地连接:host alfresco alfresco 127.0.0.1/32 md5 - 重启PostgreSQL:
systemctl restart postgresql
3. 配置Tomcat
- 下载Alfresco 6.2的
alfresco.war、share.war、aos.war包,放到Tomcat的webapps目录。 - 编辑
conf/tomcat-users.xml,添加管理员权限:<user username="admin" password="Tomcat管理员密码" roles="manager-gui,admin-gui"/> - 配置JVM参数,编辑
/etc/default/tomcat9:
提前创建Alfresco主目录并设置权限:JAVA_OPTS="-Djava.awt.headless=true -Xmx2G -Xms1G -XX:MaxMetaspaceSize=512M -Dalfresco.home=/opt/alfresco -Dcom.sun.management.jmxremote"mkdir -p /opt/alfresco && chown tomcat:tomcat /opt/alfresco
4. 部署Alfresco Content Service(ACS)
- 解压Alfresco安装包的
alfresco_data目录到/opt/alfresco,确保权限正确。 - 创建
/opt/alfresco/alfresco-global.properties,添加核心配置:# 数据库配置 db.driver=org.postgresql.Driver db.url=jdbc:postgresql://localhost:5432/alfresco db.username=alfresco db.password=你的数据库密码 # Solr配置 solr.host=localhost solr.port=8983 solr.secureComms=https solr.base.url=/solr # 密钥库默认配置(可修改) keystore.location=/opt/alfresco/alfresco_data/keystore/ssl.keystore keystore.password=kT9X6oe68t keystore.type=JCEKS keystore.aliases=ssl-alfresco keystore.keyPasswords=kT9X6oe68t truststore.location=/opt/alfresco/alfresco_data/keystore/ssl.truststore truststore.password=kT9X6oe68t truststore.type=JCEKS # AOS开启配置 aos.enabled=true aos.baseUrl=https://你的Alfresco域名/aos - 启动Tomcat:
systemctl start tomcat9,查看logs/catalina.out确认ACS初始化完成。
5. 部署Alfresco Search Service(Solr)
- 下载Alfresco Search Service 6.2版本,解压到
/opt/solr。 - 创建Solr home目录:
mkdir -p /opt/solr/solrhome && chown tomcat:tomcat /opt/solr/solrhome - 复制Solr模板配置到核心目录:
cp -r /opt/solr/solr/server/solr/configsets/alfrescoTemplate /opt/solr/solrhome/alfresco cp -r /opt/solr/solr/server/solr/configsets/archiveTemplate /opt/solr/solrhome/archive - 按第一部分的步骤复制Alfresco密钥库到每个核心的conf目录。
- 编辑Solr的
solr.in.sh配置文件:SOLR_HOME=/opt/solr/solrhome SOLR_JAVA_MEM="-Xmx2G -Xms1G" SOLR_SSL_KEY_STORE=/opt/solr/solrhome/alfresco/conf/ssl.repo.client.keystore SOLR_SSL_KEY_STORE_PASSWORD=kT9X6oe68t SOLR_SSL_TRUST_STORE=/opt/solr/solrhome/alfresco/conf/ssl.repo.client.truststore SOLR_SSL_TRUST_STORE_PASSWORD=kT9X6oe68t SOLR_SSL_NEED_CLIENT_AUTH=true - 启动Solr:
/opt/solr/bin/solr start -f,确认Solr能正常连接ACS。
6. 配置Alfresco Office Service(AOS)
AOS必须通过HTTPS访问,所以要给Tomcat配置SSL:
- 生成SSL证书(自签名或正式证书)
用keytool生成自签名证书:keytool -genkey -alias tomcat -keyalg RSA -keystore /opt/alfresco/tomcat_keystore.jks -storepass TomcatSSL密码 -keypass TomcatSSL密码 - 配置Tomcat SSL连接器
编辑Tomcat的conf/server.xml,取消注释并修改SSL连接器:<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> <SSLHostConfig> <Certificate certificateKeystoreFile="/opt/alfresco/tomcat_keystore.jks" type="RSA" certificateKeystorePassword="TomcatSSL密码"/> </SSLHostConfig> </Connector> - 验证AOS可用性
重启Tomcat后,访问https://你的Alfresco域名:8443/aos,应该能看到AOS目录结构。在Office中通过WebDAV地址https://你的Alfresco域名:8443/aos/alfresco/aos连接,测试文档编辑保存功能。
三、常见故障排查
- Solr无法连接ACS:检查防火墙是否开放8983端口,确认密钥库密码完全一致,Solr和ACS的JDK版本都是11。
- AOS无法编辑文档:确保HTTPS配置正确,Office客户端信任SSL证书(自签名证书需手动添加信任),AOS的baseUrl与实际访问地址一致。
内容的提问来源于stack exchange,提问作者Clement

