Ubuntu安装Nextant全文搜索工具Solr环境

Posted by 橙叶 on Fri, Feb 10, 2017
上篇文章介绍了Nextant插件,然而真正要让Nextant插件工作起来,需要Solr的支持。

安装java环境

1 检查Java是否已经安装在Ubuntu上

打开终端,使用下面的命令:
java -version
如果你看到像下面的输出,这就意味着你并没有安装过Java:
The program ‘java’ can be found in the following packages:
*default -jre
* gcj-4.6 -jre-headless
* openjdk-6 -jre-headless
* gcj- 4.5 -jre-headless
* openjdk- 7 -jre-headless
Try: sudo apt-get install

2 在Ubuntu安装Java

看了各种类型Java的不同之后, 让我们看如何安装他们.

Ubuntu上安装JRE

2.1 安装jre

打开终端,使用下面的命令安装JRE :
sudo apt-get install default-jre

2.2 安装OpenJDK

Ubuntu上安装OpenJDK

在终端,使用下面的命令安装OpenJDK Java开发工具包:

sudo apt-get install openjdk-8-jdk

检查java

java -version

安装Apache Solr

创建Solr安装目录
sudo mkdir -p /solr
cd /solr
Solr官网:https://lucene.apache.org/solr/

从清华大学的镜像站下载并解压:

sudo wget https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/6.4.1/solr-6.4.1.zip
sudo unzip solr-6.4.1.zip
cd solr-6.4.1/server

默认情况下,Solr将侦听服务器的每个主机。你可以通过编辑etc/jetty-http.xml来指定仅使用127.0.0.1(localhost),并修改此行(行号36左右)

<Set name="host"><Property name="jetty.host" /></Set>

修改为

<Set name="host"><Property name="jetty.host" default="127.0.0.1" /></Set>

配置Solr

现在,生成Nextant将用于存储和搜索其数据的核心配置。我们使用最基本的配置。
cd solr/
sudo cp -fr configsets/basic_configs nextant

启动Solr

cd ../..

sudo bin/solr start

如果启动失败(似乎是因为用root账户启用的它),直接加上-force忽略错误

sudo bin/solr start -force

创建核心

$ bin/solr create -c nextant
现在可以使用./solr stop和./solr start从/solr/solr-6.4.1/bin/目录中停止或启动Solr。

使用反向代理访问Solr的web管理界面

如果使用的是默认主机,在/etc/apache2/appache2.conf中添加下面几行
# Solr
ProxyPass /solr/ http://localhost:8983/solr/
ProxyPassReverse /solr/ http://localhost:8983/solr/

如果是虚拟主机,也要在虚拟主机的配置文件中添加上面的内容。

将Web管理界面的文件拷贝到网站目录

sudo cp -rf /solr/solr-6.4.1/server/solr-webapp/webapp /var/www/html/solr

访问http://localhost/solr

可以看到我们刚才创建的nextant核心文件 这个web管理界面没有任何密码保护,可以使用Apache自带的访问控制

可以到这个网站去生成一个密码文件http://htaccess.uuz.cc/#a_basic,密码文件重命名为htpasswd-solr,把它放到/etc/apache2/目录里(其实放在哪儿都可以,只要在下面的配置信息中(高亮的那行)指向这个文件并保证有足够权限访问就行了)

在apache2.conf或虚拟机配置文件加入

<Location /solr>
  AuthType Basic
  AuthName "solr"
  AuthUserFile /etc/apache2/htpasswd-solr  #指向密码文件
  Require valid-user
</Location>

安装配置Nextant

万事具备,只欠东风,到https://apps.nextcloud.com/apps/nextant下载nextant的插件包,解压后复制到nextcloud/apps目录下

使用occ命令生成文件索引:

sudo -u www-data ./occ nextant:index

到Nextcloud->Apps->Not enabled中启用Nextant插件

再到Admin里的Additional Settings中找到Nextant的配置,配置如下,然后点击“Test and Save”

都是绿色的对号,配置正确。

测试

创建一个txt文件,输入chengyeboke1,点击四周的区域保存

点击右上角的放大镜,现在搜索框比原来长了不少。输入chengye

成功搜索到了包含“chengye”文本的txt文件!

没有测试在ownCloud中的运行情况,目测Nextant插件无法在ownCloud中激活。


comments powered by Disqus