ubuntuusers.de

Solr auf Ubuntu 16.04.2 Server installieren geht nicht

Status: Gelöst | Ubuntu-Version: Server 16.04 (Xenial Xerus)
Antworten |

sonja

Avatar von sonja

Anmeldungsdatum:
17. Dezember 2004

Beiträge: 224

Hallo, wer kennt sich mit Nextcloud / Nextant aus?

  • Ubuntu server 16.04 funktioniert

  • Nextcloud 10.0.4 funktioniert

  • Nextcloud Datenbank ist verschlüsselt !

Ich möchte nun eine Volltextsuche (Index) installieren per app, search lucene scheidet wegen der Verschlüsselten Datenbank aus !

Lösung Die Nextant app, diese benötigt die Suchmaschine Solr, Es gibt eine Installationsanleitung für Solr unter Nextcloud/Nextant https://github.com/nextcloud/nextant/wiki/Setup-your-local-standalone-Solr

Die installation klappt, beim Start kommen dann Fehler:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
sonja@nextcloud1-NUC:/opt/solr/solr-6.5.0$ bin/solr start
Exception in thread "main" java.nio.file.AccessDeniedException: /opt/solr/solr-6.5.0/server/logs
	at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
	at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:384)
	at java.nio.file.Files.createDirectory(Files.java:674)
	at java.nio.file.Files.createAndCheckIsDirectory(Files.java:781)
	at java.nio.file.Files.createDirectories(Files.java:767)
	at org.apache.solr.util.SolrCLI$UtilsTool.archiveGcLogs(SolrCLI.java:3565)
	at org.apache.solr.util.SolrCLI$UtilsTool.runTool(SolrCLI.java:3548)
	at org.apache.solr.util.SolrCLI.main(SolrCLI.java:250)
Failed archiving old GC logs
Exception in thread "main" java.nio.file.AccessDeniedException: /opt/solr/solr-6.5.0/server/logs
	at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
	at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:384)
	at java.nio.file.Files.createDirectory(Files.java:674)
	at java.nio.file.Files.createAndCheckIsDirectory(Files.java:781)
	at java.nio.file.Files.createDirectories(Files.java:767)
	at org.apache.solr.util.SolrCLI$UtilsTool.archiveConsoleLogs(SolrCLI.java:3594)
	at org.apache.solr.util.SolrCLI$UtilsTool.runTool(SolrCLI.java:3551)
	at org.apache.solr.util.SolrCLI.main(SolrCLI.java:250)
Failed archiving old console logs

ERROR: Logs directory /opt/solr/solr-6.5.0/server/logs could not be created. Exiting

Falls ich Solr als sudo starten will:

1
2
3
4
sonja@nextcloud1-NUC:/opt/solr/solr-6.5.0$ sudo bin/solr start
[sudo] Passwort für sonja: 
WARNING: Starting Solr as the root user is a security risk and not considered best practice. Exiting.
         Please consult the Reference Guide. To override this check, start with argument '-force'

Moderiert von Vej:

Dieser Beitrag wurde aus System einrichten und verwaltenin ein passenderes Forum verschoben. Bitte beachtedie Forenbeschreibungen und die als wichtig markierten Themen am Beginn der Foren.

Taomon Team-Icon

Supporter
Avatar von Taomon

Anmeldungsdatum:
30. Januar 2011

Beiträge: 8463

Wohnort: Digiworld

ls -al  /opt/solr/solr-6.5.0/server/logs

Mit welchen Rechten wird das Teil gestartet?

Gruß Taomon

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

Taomon hat Recht, du solltest dir Gedanken machen, wie die Rechte aussehen sollen. Ich empfehle dir einen eigenen User dafür anzulegen, und Solr unter dem laufen zu lassen:

$ sudo useradd -M -d /opt/solr -s /bin/false solr
$ sudo chown -R solr:solr /opt/solr
$ sudo -u solr /opt/solr/solr-6.5.0/bin/solr start

Außerdem sollte das Ding natürlich automatisch starten. Da du Ubuntu 16.04 hast, kommt als Init-System systemd zum Einsatz. Solr bringt kein eigenes systemd-Target mit, aber da gibts welche im Internet, beispielsweise hier.

sonja

(Themenstarter)
Avatar von sonja

Anmeldungsdatum:
17. Dezember 2004

Beiträge: 224

Hallo zusammen,

ich glaube ihr habt den Anfang meines Eingangs-threads überlesen. ich möchte kein standalone solr installieren

es handelt sich um einen Nextcloud Server, zu diesem gibt es eine "Sucherweiterungs-App Nextant" siehe hier:https://apps.nextcloud.com/apps/nextant

und diese benötigt,wie auf der o.g. Seite beschrieben ein "Solr servlet"

Nextant soll dann für alle User des Nextcloud-Servers funktionieren, es ist zwar nicht in der Anleitung beschrieben, aber bei mir würde wohl nur "www-data" als user Sinn machen. Oder ich habe da eine Wissenslücke.

sonja

(Themenstarter)
Avatar von sonja

Anmeldungsdatum:
17. Dezember 2004

Beiträge: 224

OK, erledigt,

auf Pro-Linux ist ein recht neuer Kurztipp, der hat mir weiter geholfen !

http://www.pro-linux.de/kurztipps/2/1879/nextcloud-mit-solr-volltextsuche-ausstatten.html

Also Solr bei der ersten Einrichtung und ersten Start mit sudo (root) starten, den Dienst dann wieder stoppen und für Nextcloud dann Solr dem User www-data mit chown geben. Ist in der Pro-Linux Anleitung auch so beschrieben, und funktioniert bei mir auch!

1
2
3
sonja@nextcloud1-NUC:/opt/solr# sudo -u www-data /opt/solr/solr-6.5.0/bin/solr start -m 512m
Waiting up to 180 seconds to see Solr running on port 8983 [\]  
Started Solr server on port 8983 (pid=2307). Happy searching!
Antworten |