Linode修改root SSH登录后Solr无法连接Drupal 8站点
问题解答
1. 修改root SSH登录是否影响Solr与Drupal的连接?
修改root SSH登录本身不会直接导致Solr与Drupal断开连接,但如果操作过程中误改了文件权限、Solr服务的运行用户,或者重启服务时使用了错误的用户身份,就可能导致Solr无法读取配置文件(比如你遇到的solrconfig.xml无法加载问题)。
2. 解决Solr核心初始化失败的步骤
第一步:修复文件权限问题
Solr默认以solr用户运行,需确保配置文件目录权限正确:
# 递归设置目录所属用户/组为solr chown -R solr:solr /var/solr/data/drupal # 确保配置目录有可读权限 chmod -R 755 /var/solr/data/drupal/conf
第二步:处理unlockOnStartup错误
新版本Solr已移除unlockOnStartup配置项,需手动清理:
- 打开
/var/solr/data/drupal/conf/solrconfig.xml,找到包含unlockOnStartup的行,直接删除或用<!-- 内容 -->注释掉 - 删除Solr索引目录下的旧锁文件:
rm /var/solr/data/drupal/data/index/write.lock
- 重启Solr服务:
systemctl restart solr
第三步:重新创建Solr核心
完成上述操作后,再次在仪表盘创建核心,保持以下参数:
- instanceDir: drupal
- dataDir: data
- config: solrconfig.xml
- schema: schema.xml
3. Solr仪表盘不再提示管理员登录的问题
这通常是Solr安全验证配置被意外改动导致,检查以下文件:
- 编辑
/var/solr/solr.in.sh,确认SOLR_AUTHENTICATION_CLIENT_CONFIG相关配置是否存在且指向正确的安全配置文件 - 检查
/var/solr/solr.xml中的<security>节点,若配置丢失,可重新添加基础认证(加密密码用Solr自带工具生成):
<security> <authentication class="solr.BasicAuthPlugin"> <credentials>admin=生成的加密密码</credentials> </authentication> <authorization class="solr.RuleBasedAuthorizationPlugin"> <rule name="admin" role="admin"> <path>/**</path> </rule> </authorization> </security>
生成加密密码的命令:
java -cp /opt/solr/server/lib/solr-core-*.jar org.apache.solr.security.SimpleEncryptor 你的明文密码
添加配置后重启Solr服务即可恢复登录验证。
内容的提问来源于stack exchange,提问作者Scott
相关产品推荐
相关产品推荐

