Nextcloud

[置顶]Ubuntu安装Nextant全文搜索工具Solr环境

上篇文章介绍了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中激活。

(0)

本文由 橙叶博客 作者:FrankGreg 发表,转载请注明来源!

关键词:

热评文章

评论:

19 条评论,访客:19 条,博主:0 条
  1. avatar
    我差不多就是条咸鱼了发布于: 

    已经能够实现全文搜索,但是每次新添文件,都需要再次运行下建立文件索引,是这个情况么

  2. avatar
    John发布于: 

    将Web管理界面的文件拷贝到网站目录
    这一步操作的意义是什么?是有什么特别的用途吗?
    个人认为反向代理就够了吧,不必拷贝这些文件了

  3. avatar
    Memory发布于: 

    solr 出现error
    org.apache.solr.api.ApiBag$ExceptionWithErrObject: error processing commands,​ errors: [{delete-field-type={name=ancestor_path},​ errorMessages=[Can’t delete ‘ancestor_path’ because it’s the field type of dynamic field ‘*_ancestor_path’.

  4. avatar
    Memory发布于: 

    通过nextcloud进行设置是出现 Were not able to verify/fix schema integrity (Error #24)

  5. avatar
    我差不多就是条咸鱼了发布于: 

    sudo -u www-data ./occ nextant:index运行这个命令提示 Nextant is not yet configured
    什么原因啊

  6. avatar
    lizhi发布于: 

    sudo -u www-data ./occ nextant:index运行这个命令提示 sudo: ./occ 找不到命令 请问如果解决?

    • FrankGreg发布于: 

      试试sudo -u www-data php occ nextant:index令 请问如果解决?

  7. avatar
    李云发布于: 

    大师,请教个问题:
    我用的nextcloud版本是13.0.1,我按照您的方式进行配置,前面都ok,就是在 执行创建索引命令 sudo -u apache ./occ nextant:index 时 提示 需要posix扩展:The posix extensions are required – see http://php.net/manual/en/book.posix.php 。 我的PHP版本是7.0,按照始终找不到该版本对应的 posix扩展包安装。网上很多介绍 好像都是 基于 PHP 5 版本的,请问这该怎么办呀?万望解答,不胜感激!

  8. avatar
    米的发布于: 

    大师求救,按照步骤成功,在【使用occ命令生成文件索引】提示:

    * Extracting files:

    PHP Fatal error: Allowed memory size of

    • Ye, Cheng发布于: 

      没贴全……我就当PHP Fatal error: Allowed memory size of XXX bytes exhausted吧。
      在php.ini里将memory_limit = 128M改得高一些

      • avatar
        米的发布于: 

        成功,谢谢解答。貌似虚拟机要的内存更高。

        另外请教大师,在升级到13的时候,出现
        Step 4 is currently in process. Please reload this page later.

        如何操作?谢谢

        • Ye, Cheng发布于: 

          但看提示的话只需要等一会就行了……
          可以找到data/updater-xxxx/.step ,把.step删掉

  9. avatar
    elizhao发布于: 

    apache2.conf里添加那两句语句后,apache2.service 就不能启动。
    提示这两句新加的语法错误
    “AH00526: Syntax error on line 223 of /etc/apache2/apache2.conf”

    • FrankGreg发布于: 

      这是没启动反向代理模块的缘故。使用以下命令启用:

      sudo a2enmod proxy proxy_balancer proxy_http
      • avatar
        elizhao发布于: 

        哦,果然可以访问 solr 了。
        再次求教,occ下扫描到 ncadmin/files/就会出错终止。其它账户却没有问题。
        [status code] 500 [reason phrase] Internal Server Error

        • avatar
          elizhao发布于: 

          搞定了,外部存储惹的祸。
          初次索引挺费时间。

  10. avatar
    etrail发布于: 

    您好,
    我是一名opensuse42.3用户,在主机上安装了packman的nextcloud11。nextcloud的安装路径是/srv/www/htdocs/nextcloud/,apache2的配置文件路径是/etc/apache2/。由于我文件比较多,需要进行索引,在网上找到了您的文章。按照文章的操作,没有发现/etc/apache2/apache2.conf文件,于是,我配置/etc/apache2/conf.d/nextcloud.conf,/etc/apache2/*.conf都不能启动apache2服务。楼主希望您把邮箱地址留下,我把错误发送到您邮箱,希望给予帮助。谢谢

    • FrankGreg发布于: 

      检查这两个目录:/etc/sysconfig/apache2
      /etc/apache2/

发表评论