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 Fletcher21 Nov 2024
How to update your Ubuntu server efficiently
Maintaining your Ubuntu server is essential to ensure it operates smoothly, stays secure, and benefits from the latest features. Whether you're managing a server for personal projects or enterprise-level applications, regularly updating your system is a critical best practice. Here’s a...