Solr 5 mit Apache auf Ubuntu 14

Um das Solr 5.2.1 Admin-Interface „von außen“ verfügbar zu machen, kann man dies leicht per ProxyPass bewerkstelligen. So muss nicht mit den Ports rumgeeiert werden und der Apache2 leitet die Anfrage einfach durch ohne :8983. Ubuntu ist hier in der Version 14.04 im Einsatz.

Solr ist soweit installiert und über http://localhost:8983/solr/# erreichbar.

Schritt #1 – testen ob der Solr Admin überhaupt läuft:

curl http://localhost:8983/solr/#

Wenn der Output mit „<!DOCTYPE html PUBLIC…“ beginnt kommt das Interface und sollte laufen.

Schritt #2 – proxy_http aktivieren:

sudo a2enmod proxy_http

Sonst bekommen wir beim restarten des Apachen eine Fehlermeldung wie „Invalid command ‚ProxyPass’…“

Schritt #3 – Virtualhost editieren (/etc/apache2/sites-available):

<VirtualHost *:80>
  ProxyPass /solr http://localhost:8983/solr
  ProxyPassReverse /solr http://localhost:8983/solr
</VirtualHost>

Schritt #4 – Apachen neustarten:

service apache2 restart

wenn der Betrieb nicht beeinträchtigt werden soll (einfacher Reload):

service apache2 graceful

Schritt #5 (Optional) – Adminpanel absichern

<VirtualHost *:80>
  ...
  ... Andere configs wie DocumentRoot etc. ...
  ...

  ProxyPass /solr http://localhost:8983/solr
  ProxyPassReverse /solr http://localhost:8983/solr

  <Location /solr>
    AuthType Basic
    AuthName "Solr Admin"
    AuthBasicProvider file
    AuthUserFile "/var/www/solr-htpasswd"
    Require valid-user
  </Location>
</VirtualHost>

Nun ist das Admin-Panel auch über die IP des Servers erreichbar und nicht nur über localhost.

Die Website liegt in meinem Fall in /var/www/html.

Hier noch der Inhalt der htpasswd:

admin:admin:$apr1$6UyWENAU$ONAR897TC8zT4XKRVzHZm1

Den Inhalt der htpasswd generiert man am besten mit einem Generator wie
http://www.htaccesstools.com/htpasswd-generator/

Finale URL:
Somit kann das Admin Panel einfach über http://123.123.123.123/solr aufgerufen werden