上篇文章介绍了Nextant插件,然而真正要让Nextant插件工作起来,需要Solr的支持。
打开终端,使用下面的命令:
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
看了各种类型Java
的不同之后, 让我们看如何安装他们.
在Ubuntu
上安装JRE
打开终端,使用下面的命令安装JRE :
sudo apt-get install default-jre
在Ubuntu
上安装OpenJDK
在终端,使用下面的命令安装OpenJDK Java开发工具包:
sudo apt-get install openjdk-8-jdk
java -version
创建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>
现在,生成Nextant将用于存储和搜索其数据的核心配置。我们使用最基本的配置。
cd solr/
sudo cp -fr configsets/basic_configs nextant
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。
如果使用的是默认主机,在/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>
万事具备,只欠东风,到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中激活。
本文由 橙叶博客 作者:FrankGreg 发表,转载请注明来源!
已经能够实现全文搜索,但是每次新添文件,都需要再次运行下建立文件索引,是这个情况么
将Web管理界面的文件拷贝到网站目录
这一步操作的意义是什么?是有什么特别的用途吗?
个人认为反向代理就够了吧,不必拷贝这些文件了
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’.
通过nextcloud进行设置是出现 Were not able to verify/fix schema integrity (Error #24)
sudo -u www-data ./occ nextant:index运行这个命令提示 Nextant is not yet configured
什么原因啊
第一次下载更新安装,要先运行apt-get update,不然可能报错
sudo -u www-data ./occ nextant:index运行这个命令提示 sudo: ./occ 找不到命令 请问如果解决?
试试sudo -u www-data php occ nextant:index令 请问如果解决?
大师,请教个问题:
我用的nextcloud版本是13.0.1,我按照您的方式进行配置,前面都ok,就是在 执行创建索引命令 sudo -u apache ./occ nextant:index 时 提示 需要posix扩展:The posix extensions are required – see <a href="http://php.net/manual/en/book.posix.php" rel="nofollow ugc">http://php.net/manual/en/book.posix.php</a> 。 我的PHP版本是7.0,按照始终找不到该版本对应的 posix扩展包安装。网上很多介绍 好像都是 基于 PHP 5 版本的,请问这该怎么办呀?万望解答,不胜感激!
大师求救,按照步骤成功,在【使用occ命令生成文件索引】提示:
* Extracting files:
PHP Fatal error: Allowed memory size of
没贴全……我就当PHP Fatal error: Allowed memory size of XXX bytes exhausted吧。
在php.ini里将memory_limit = 128M改得高一些
成功,谢谢解答。貌似虚拟机要的内存更高。
另外请教大师,在升级到13的时候,出现
Step 4 is currently in process. Please reload this page later.
如何操作?谢谢
但看提示的话只需要等一会就行了……
可以找到data/updater-xxxx/.step ,把.step删掉
apache2.conf里添加那两句语句后,apache2.service 就不能启动。
提示这两句新加的语法错误
“AH00526: Syntax error on line 223 of /etc/apache2/apache2.conf”
这是没启动反向代理模块的缘故。使用以下命令启用:
<pre lang='sh' title='启用反响代理模块'>sudo a2enmod proxy proxy_balancer proxy_http</pre>
哦,果然可以访问 solr 了。
再次求教,occ下扫描到 ncadmin/files/就会出错终止。其它账户却没有问题。
[status code] 500 [reason phrase] Internal Server Error
搞定了,外部存储惹的祸。
初次索引挺费时间。
您好,
我是一名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服务。楼主希望您把邮箱地址留下,我把错误发送到您邮箱,希望给予帮助。谢谢
检查这两个目录:/etc/sysconfig/apache2
/etc/apache2/