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/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 Fletcher
•
18 Aug 2023
How to set up password authentication with Nginx on Ubuntu 20.04
Goal: Restrict content access through username and password entry on an Nginx server.1: Apache Utilities PackageFirst, update your server’s package index:sudo apt updateCheck if the utilities package exists in your environment by executing the commanddpkg --get-selections | grep...
Andrew Fletcher
•
20 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 Fletcher
•
12 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 && sudo apt upgrade -y
For more details about this process see How To Update All Packages Linux.
PHP version
Check the current PHP version using
php -v
The response I had...