Andrew Fletcher published: 3 August 2022 2 minutes read
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/systemCheck 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.dNow review or add a file solr.conf with
[Service]
ReadWritePaths=/var/lib/solrsudo 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 restartIf the command 'systemctl daemon-reload', requires a password and you don't have it try
sudo rebootFinally you might need to edit the port from 8080 to 8983
/etc/jetty9/start.iniAnd 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=30000Changing 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