欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Apache Solr apachesolr 与Drupal-环境搭建 有大用 有大大用 有大大大用 有大大大大用

这个不完美,看之前 ,必须先 看 /node-admin/13320/  看完本页 再看 

/node-admin/13303  /node-admin/13304

solr版本 最好使用 Solr 4.3.0

安装Solr以与Drupal一起使用


概观

Solr是Apache发布的功能强大且功能丰富的搜索平台。将其与Drupal集成可以实现更快,更高级的搜索选项。但是,这也意味着需要在某处安装和运行Solr实例,类似于需要像MySQL这样的数据库。

Solr是一个Java应用程序,可以独立于任何服务器技术运行。但是,/node-admin/17051对于生产环境,通常最好在J2EE服务器环境中运行它,例如Tomcat,Glassfish,JBoss等。本文介绍如何安装Solr 4.3.0以供在Linux上运行在Tomcat 7下的Drupal使用服务器。

Java安装

Tomcat和Solr都是Java应用程序,因此唯一真正的先决条件是安装Java。安装方法因Linux发行版和Java所需的风格而异。Redhat,CentOS,Debian和Ubuntu都在其软件存储库中提供了Java 7的OpenJDK实现,这里使用了它们。但是,任何Java实现都应该在这里工作。因此,如果需要不同的风格,或者服务器上已经安装了Java,请随意跳过此步骤。请注意,必须安装完整的Java Development Kit(JDK)。Java Runtime Environment(JRE)安装是不够的。

红帽/ CentOS的:

yum install java-1.7.0-openjdk

/node-admin/17051 源码编译安装 java1.8

见  /node-admin/17176  yum 安装 java1.8

于Debian / Ubuntu:

aptitude install java7-jdk

Tomcat安装

一些Linux发行版在其软件存储库中提供了Tomcat包。但是,从Apache Software Foundation安装
最新版本可确保存在所有最新的安全性和错误修复。
它还将所有配置和数据文件合并到一个位置,无论Linux发行版如何,它都可以正常工作。

步骤1:创建一个低权限用户,该用户将用于运行Tomcat服务。

useradd -Mb /usr/local tomcat


步骤2:将最新的Tomcat 7的tar.gz二进制文件从http://tomcat.apache.org/download-70.cgi下载  

https://tomcat.apache.org/download-80.cgi  使用tomcat8吧) 到服务器上的/ usr / local / src /

步骤3:将Tomcat tar.gz文件解压缩到/ usr / local / tomcat

tar -C /usr/local -zxf /usr/local/src/apache-tomcat-7.*.tar.gz mv /usr/local/apache-tomcat-7.* /usr/local/tomcat  

步骤4:默认情况下,Tomcat侦听端口8080.但是,这也是其他服务的常用端口。为避免冲突,请将Tomcat更改为使用端口8983而不是此搜索/替换命令。

sudo sed -i s/8080/8983/g /usr/local/tomcat/conf/server.xml

步骤5:最后,更改Tomcat目录的所有权,并启动它以验证它是否正常工作

chown -R tomcat:tomcat /usr/local/tomcat sudo -u tomcat /usr/local/tomcat/bin/startup.sh

需要注意的是,运行Tomcat需要考虑一些安全隐患。Tomcat安全性超出了本文的范围, 但是有许多可用的资源可用于描述如何强化Tomcat安装,包括由Tomcat项目直接提供的安装,如http://tomcat.apache.org/tomcat- 7.0-doc / security-howto.html但是,一般来说,

如果此Tomcat实例的唯一用途是提供内部Solr请求, 则使用防火墙阻止外部访问通常就足够了。


/node-admin/13308 加入开机启动服务

drupal 后台 使用 120.0.0.1 所以 iptables 这样阻止(  iptables -I INPUT -p tcp -m tcp  -d 本机外网ip  --dport 8983 )

(image.png)

Solr安装

某些Linux发行版还在其存储库中提供了Solr包,但它通常是旧版本。就像Tomcat一样,从上游项目安装最新的包是这里使用的方法。

步骤1:从http://lucene.apache.org/solr/

(我是到  http://archive.apache.org/dist/lucene/solr/ 下载 4.9.1 )

下载Solr-4.3.0 到服务器并解压缩下载的文件。

tar -zxf solr-4.3.0.tgz

步骤2:将Solr提供的java库复制到Tomcat库目录

cp solr-4.3.0/dist/solrj-lib/* /usr/local/tomcat/lib/

步骤3:将Solr提供的log4j配置文件复制到Tomcat配置目录

cp solr-4.3.0/example/resources/log4j.properties /usr/local/tomcat/conf/

步骤4:将Solr webapp文件复制到Tomcat webbapp目录

cp solr-4.3.0/dist/solr-4.3.0.war /usr/local/tomcat/webapps/solr.war

步骤5使用以下内容/usr/local/tomcat/conf/Catalina/localhost/solr.xml中创建Solr上下文文件

<Context docBase="/usr/local/tomcat/webapps/solr.war" debug="0" crossContext="true">  <Environment name="solr/home" type="java.lang.String" value="/usr/local/tomcat/solr" override="true" /> </Context>  

Solr索引

Solr只需使用Solr应用程序的一个实例即可提供多个搜索索引或核心。每个核心都是独立配置的,并且只有一个配置文件来定义每个核心。以下步骤显示了如何创建名为drupal的核心。这些步骤可用于创建所需数量的核心,每个核心都具有唯一的名称。

步骤1:创建基本Solr目录,并创建示例配置的副本

mkdir -p /usr/local/tomcat/solr cp -r solr-4.3.0/example/solr/collection1/conf /usr/local/tomcat/solr/  

步骤2:从https://drupal.org/project/apachesolr下载最新版本的apachesolr Drupal模块到服务器并解压缩下载的文件。

tar -zxf apachesolr-*.tar.gz

步骤3:将Solr配置文件从Drupal模块复制到上面的示例Solr配置目录。

rsync -av apachesolr/solr-conf/solr-4.x/ /usr/local/tomcat/solr/conf/

步骤4:使用以下内容在/usr/local/tomcat/solr/solr.xml中创建Solr核心定义文件,以定义drupal核心。

<?xml version="1.0" encoding="UTF-8" ?> <solr persistent="false">  <cores adminPath="/admin/cores">    <core name="drupal" instanceDir="drupal" />  </cores> </solr>

步骤5:创建如上定义的drupal Solr核心目录,并将示例Solr配置文件复制到该位置。对于此核心的任何特定要求,可以根据需要进一步修改这些配置文件。

mkdir /usr/local/tomcat/solr/drupal cp -r /usr/local/tomcat/solr/conf /usr/local/tomcat/solr/drupal/

步骤6:停止Tomcat,确保权限正确,并启动Tomcat备份

/usr/local/tomcat/bin/shutdown.sh   chown -R tomcat:tomcat /usr/local/tomcat sudo -u tomcat /usr/local/tomcat/bin/startup.sh

新的Solr核心管理界面现在可从http:// localhost:8983 / solr /#/ drupal获得。

http://localhost:8983/manager/html  ( solr 可能会有 403 错误 /node-admin/17054,还有登录用户名密码的设置 也见 /node-admin/17054)

可能 solr 无法启动 见 /node-admin/17060

sudo -u tomcat /usr/local/tomcat/bin/shutdown.sh      #停止下                                                                

sudo -u tomcat /usr/local/tomcat/bin/startup.sh         #启动下

image.png

在Drupal的Apache Solr配置中使用的URL是http:// localhost:8983 / solr / drupal。

包起来

最后的业务顺序是提供一种方法,当服务器重新启动时,Solr可以自动启动。本文附有一个init脚本

可以见   /node-admin/13308    有大用 有大大用

它将提供完全相同的内容,并且可以与基于Redhat和基于Debian的Linux发行版一起使用。/etc/init.d/tomcat创建init文件然后,确保它是可执行的,并使用以下命令将其配置为在重新启动时启动。

chmod +x /etc/init.d/tomcat

红帽/ CentOS的:

chkconfig --add tomcat

于Debian / Ubuntu:

update-rc.d tomcat defaults

如果一切顺利,您将拥有一个有效的Solr搜索服务器。有关将其与Drupal集成的更多信息,您可以访问Drupal.org上Apache Solr Integration项目。


来自  https://www.lullabot.com/articles/installing-solr-for-use-with-drupal  

普通分类: