How To Install Nextant Full Text Search For NextCloud
and (links to)

To install java depenencies:

1. Update the system

$ sudo apt-get update && apt-get upgrade -y

2. Install Java

$ sudo add-apt-repository ppa:webupd8team/java

$ sudo apt-get update

$ sudo apt-get install oracle-java8-installer

check the java version:

$ java -version

output example:

java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

3. Install Solr

mirrors available at:
… and check the root of each of these mirrors for the latest version

$ mkdir ~/solr_install/
$ cd ~/solr_install/
$ wget
$ tar -zxvf solr-6.6.0.tgz
$ sudo ./solr-6.6.0/bin/ solr-6.6.0.tgz

By default, Solr will listen onto every host of your server. There is two ways of fixing this; you can edit the configuration of your Solr or add some iptables rules. I will edit the config:

Ctrl+c to exit the output screen. Then:

$ sudo service solr stop
$ sudo nano /opt/solr/server/etc/jetty-http.xml

modify this line (around line number 36):

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

to (substituing ip.address for the ip address of your server, e.g.

 <Set name="host"><Property name="" default="ip.address" /></Set>

Ctrl+x then ‘Y’ to save and exit.

Also, if you have https and encryption set up, edit the file below:

sudo nano /opt/solr/server/etc/jetty-https.xml

change the line below:

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

to (substituing ip.address for the ip address of your server, e.g.

<Set name="host"><Property name="" default="ip.address" /></Set>

Start the Solr servlet:

$ sudo /etc/init.d/solr start

you should see something like:

Archiving 1 old GC log files to /var/solr/logs/archived
Archiving 1 console log files to /var/solr/logs/archived
Rotating solr logs, keeping a max of 9 generations
Waiting up to 180 seconds to see Solr running on port 8983 [\]
Started Solr server on port 8983 (pid=516). Happy searching!

Now, generate the core that will be used by Nextant:

$ sudo -u solr /opt/solr/bin/solr create -c nextant

you should see something like:

Copying configuration to new core instance directory:

Creating new core 'nextant' using command:


If you have an error like this: ERROR: Error CREATEing SolrCore ‘nextant’: Unable to create core [nextant] Caused by: /var/solr/data/nextant/data you will need to delete your core and try again using the code below:

$ sudo /opt/solr/bin/solr delete -c nextant

After the setup complete, you will need to initiate the first indexing of your files (first, change into the directory where nextcloud is installed):

$ cd /var/www/html/nextcloud
$ sudo -u www-data php ./occ nextant:index


On the github nextant page, it says that the code below should be run to initiate the first indexing of files however, when trying to run I get an error:

$ ./occ nextant:index 

The error is:

sudo: unable to execute ./occ: Permission denied

The solution was to us the modify the code into what was presented above:

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

Also, it seems that solr will somehow stop for unknown reasons. This happened when I ran the first index with Error #21 – so I had to restart the solr and index again (I had to do this a couple of times).

sudo /etc/init.d/solr start

Then I ran the code below:

$ sudo -u www-data php occ nextant:index --background --unlock

the output to this was:

nextant v1.0.6
A background indexing process is scheduled

Solr continued to crash when trying to index, so I did this:

1. Increased Solr memory,-Live-Update

Solr will needs memory when you start indexing/querying a descent number of documents, you can increase the allocated pool of memory (default is 512 MB):

edit ‘/etc/default/’

$ sudo nano /etc/default/

Ctrl+W and enter ‘solr_heap’ to find the line and change to:


Ctrl+X, then ‘Y’ to save and exit.

Still didn’t work, solr crashed again. Then set the index to run in debug mode:

$ sudo -u www-data php ./occ nextant:index --debug

When solr crashed this time, I was able to see which file during the extracting process was the culprit. In my case, it was a tiddlywiki .html file but it turns out I had to eliminate the entire folder from being indexed.

1. In Nextcloud, go into the folder that you want to exclude from the index. 2. Then click the ‘+’ plus sign to add a text file but instead of a text file, create a file with the name ‘.noindex’. This will exclude the folder from Nextant indexing.

After excluding the file with all tiddlywiki .html files, I re-ran the index command and everything ran OK.

When this is done, you have enabled a full-text search within your own files and shared document of your cloud.

The code below produces errors

Optionally, for remote access to the webadmin of your Solr; we will generate a htpasswd file to store your login and password (using ‘admin’ as the login_:

$ sudo htpasswd -c /etc/apache2/htpasswd-solr admin

edit the file below:

$ sudo nano /etc/apache2/sites-enabled/nextcloud.conf

add this to your current configuration (inside the <Directory:> </Directory>):

# Solr
ProxyPass /solr/ http://localhost:8983/solr/
ProxyPassReverse /solr/ http://localhost:8983/solr/

<Location /solr/>
  AuthType Basic
  AuthName "solr"
  AuthUserFile /etc/apache2/htpasswd-solr
  Require valid-user

To update solr to a new version, you must uninstall solr and then re-install the new version

replace ‘solr-6.6.0’ with the version that you will be uninstalling:

$ sudo service solr stop
$ sudo rm -r /var/solr
$ sudo rm -r /opt/solr-6.6.0
$ sudo rm -r /opt/solr
$ sudo rm /etc/init.d/solr
$ sudo deluser --remove-home solr
$ sudo deluser --group solr

Then go back to Step 3 and repeat the install process.


How To Install Tesseract OCR For Nextant and Nextcloud

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.