Skip to main content

The following the CKAN source install docs from start to finish including solr.  At this point, the site should load but you'll get solr errors.  Make the following solr updates:

Go the the directory

/etc/systemd/system

Check if there is a directory jetty9.service.d.  In my situation there was, but if it doesn't exist

sudo mkdir /etc/systemd/system/jetty9.service.d

Now review or add a file solr.conf with

[Service]
ReadWritePaths=/var/lib/solr

sudo nano /etc/solr/solr-jetty.xml and replace with

<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">

<!-- Context configuration file for the Solr web application in Jetty -->

<Configure class="org.eclipse.jetty.webapp.WebAppContext">
  <Set name="contextPath">/solr</Set>
  <Set name="war">/usr/share/solr/web</Set>

  <!-- Set the solr.solr.home system property -->
  <Call name="setProperty" class="java.lang.System">
    <Arg type="String">solr.solr.home</Arg>
    <Arg type="String">/usr/share/solr</Arg>
  </Call>

  <!-- Enable symlinks -->
  <!-- Disabled due to being deprecated
  <Call name="addAliasCheck">
    <Arg>
      <New class="org.eclipse.jetty.server.handler.ContextHandler$ApproveSameSuffixAliases"/>
    </Arg>
  </Call>
  -->
</Configure>

Restart jetty9

systemctl daemon-reload
sudo service jetty9 restart

If the command 'systemctl daemon-reload', requires a password and you don't have it try

sudo reboot

Finally you might need to edit the port from 8080 to 8983

/etc/jetty9/start.ini

And change

# What host to listen on (leave commented to listen on all interfaces)
#jetty.host=myhost.com

# HTTP port to listen on
# Enable authbind in /etc/default/jetty9 to use a port lower than 1024
jetty.port=8080

# HTTP idle timeout in milliseconds
http.timeout=30000

Changing jetty.port=8983, as follows

# HTTP port to listen on
# Enable authbind in /etc/default/jetty9 to use a port lower than 1024
jetty.port=8983

 

Related articles

Andrew Fletcher20 Jun 2023
Error: Class "MyCLabs\Enum\Enum" not found in include()
Whilst attempting to download the latest config.zip file for Solr, I was greeted by the following error: Error: Class "MyCLabs\Enum\Enum" not found in include() (line 18 of /var/www/vhosts/{domain.com}/vendor/maennchen/zipstream-php/src/Option/Method.php) #0...
Andrew Fletcher12 Feb 2023
How to install PHP 8.1 on Ubuntu 20.04
Update Ubuntu 20.04 To begin update the server using the command sudo apt update &amp;&amp; sudo apt upgrade -y For more details about this process see&nbsp;How To Update All Packages Linux. &nbsp; PHP version Check the current PHP version using php -v The response I had...