Installatie Tomcat 6 en bijhorende packages

Laten we beginnen met een schone Ubuntu 12.04 LTS server en Tomcat 6 installeren:

sudo apt-get update sudo apt-get upgrade sudo apt-get installeer tomcat6 tomcat6-admin tomcat6-common tomcat6-user

Het volgende zal worden geïnstalleerd:

tomcat6: Servlet en JSP motor
katern6-admin: Admin webapplicaties
tomcat6-gemeenschappelijk: Gemeenschappelijke bestanden
katern6-gebruiker: Hulpmiddelen voor het maken van user-instances

Als de installatie goed is verlopen zou u in staat moeten zijn om verbinding te maken met uw server op poort 8080.

Probeer het eens op http://localhost:8080 of http://ServerNameOrIP:8080. U zou de standaard 'Het werkt' pagina moeten zien.

Let op: Solr wordt geleverd zonder standaard beveiliging! Als uw server poort 8080 zonder beperkingen toestaat, zal iedereen in staat zijn om gegevens te posten naar uw systeem of een index volledig te verwijderen. Het beste is dus om IP-beperkingen toe te voegen aan poort 8080! Vergeet het niet!

Download en installatie van Solr 4

Download de nieuwste stabiele solr 4 build naar uw home directory.

Haal hem op via een van de mirrors op http://www.apache.org/dyn/closer.cgi/lucene/solr.

cd ~/ wget apache.cu.be/lucene/solr/4.0.0/apache-solr-4.0.0.tgz tar -zxvf apache-solr-4.0.0.tgz

Include de Solr application als een Tomcat webapp

Nu gaan we Tomcat vertellen dat hij de Solr applicatie moet laden als een van zijn webapps.

Uw Tomcat 6 installatie bevindt zich waarschijnlijk op de volgende locaties:

/etc/tomcat6 /usr/share/tomcat6

Tip: U kunt het volgende commando gebruiken om uit te vinden waar Tomcat6 is geïnstalleerd:

whereis tomcat6

Kopieer het solr.war bestand van je uitgepakte Solr build naar de Tomcat webapps directory:

sudo mkdir /usr/share/tomcat6/webapps sudo cp ~/apache-solr-4.0.0/dist/apache-solr-4.0.0.war /usr/share/tomcat6/webapps/solr4.war

U mag het natuurlijk elders plaatsen, maar zorg ervoor dat de tomcat6 groep voldoende rechten heeft om er toegang toe te krijgen.

Kopieer nu de volledige uitgepakte solr applicatie naar een nieuwe directory:

sudo cp -R ~/apache-solr-4.0.0/ /usr/share/solr4/

We zullen de meegeleverde 'voorbeeld' solr-applicatie later wijzigen om werkbaar te zijn voor Drupal 7.

Voorlopig hernoemen we de onderliggende 'voorbeeld' map naar een meer bedrijf/klant/... vriendelijke naam:

( hernoem {mycompanyname} naar wens in de rest van de handleiding )

sudo mv /usr/share/solr4/voorbeeld /usr/share/solr4/{mycompanyname}

Daarnaast kunt u enkele overbodige voorbeeldsubmappen verwijderen:

sudo rm -r /usr/share/solr4/{mycompanyname}/voorbeeld-DIH sudo rm -r /usr/share/solr4/{mycompanyname}/voorbeeldocs sudo rm -r /usr/share/solr4/{mycompanyname}/solr-webapp

Maak een configuratiebestand aan zodat Tomcat de Solr startmap kan herkennen.

sudo nano /etc/tomcat6/Catalina/localhost/solr4.xml

En voeg het volgende toe:

<Context docBase="/usr/share/tomcat6/webapps/solr4.war" debug="0" privileged="true" allowLinking="true" crossContext="true"> <Environment name="solr/home" type="java.lang.String" value="/usr/share/solr4/{mycompanyname}/multicore" override="true" /> </Context>

Beheer de Tomcat 6 application

We hebben het tomcat6-admin en tomcat6-user pakket geïnstalleerd om gebruik te kunnen maken van de Tomcat6 manager webapplicatie.

Om toegang te hebben tot deze applicatie moeten we de rechten ervan aanpassen:

sudo nano /etc/tomcat6/tomcat-users.xml

Verander het zodat het er minder op lijkt:

<tomcat-users> <role rolename="admin"/> <role rolename="manager"/> <user username="{mycompanyuser}" password="{mycompanypassword}" roles="admin,manager"/> </tomcat-users>

We zullen de Tomcat service binnenkort herstarten, maar eerst gaan we de multi-core mogelijkheden van Solr configureren.

Drupal-specifieke Solr & multi-core configuratie
Op het moment van schrijven heeft u de laatste versie van de apachesolr Drupal module nodig om met Solr 4 te kunnen communiceren. U kunt bijvoorbeeld de laatste ontwikkelingsversie downloaden op http://ftp.drupal.org/files/projects/apachesolr-7.x-1.x-dev.tar.gz.

cd ~/ wget ftp.drupal.org/files/projects/apachesolr-7.x-1.x-dev.tar.gz tar –zxvf apachesolr-7.x-1.x-dev.tar.gz

De apachesolr-module wordt geleverd met aangepaste Drupal Solr-configuratiebestanden. In de apachesolr module subdirectory 'solr-conf' kunt u de benodigde bestanden vinden voor elke verschillende Solr versie.

Om Drupal verzoeken te kunnen begrijpen moet u deze configuratiebestanden kopiëren naar uw Solr core 'conf' directory. Laten we ze dus kopiëren naar Solr's 'core0' subdirectory:

sudo cp ~/apachesolr/solr-conf/solr-4.x/schema.xml /usr/share/solr4/{mycompanyname}/multicore/core0/conf/schema.xml sudo cp ~/apachesolr/solr-conf/solr-4.x/solrconfig.xml /usr/share/solr4/{mycompanyname}/multicore/core0/conf/solrconfig.xml sudo cp ~/apachesolr/solr-conf/solr-4.x/protwords.txt /usr/share/solr4/{mycompanyname}/multicore/core0/conf/protwords.txt sudo cp ~/apachesolr/solr-conf/solr-4.x/solrcore.properties /usr/share/solr4/{mycompanyname}/multicore/core0/conf/solrcore.properties

Persoonlijk gebruik ik graag de nieuwste Solr-configuratiebestanden als basis en maak ik aanpassingen aan die bestanden. Op deze manier is het makkelijker om Solr configuratieverschillen te herkennen na een upgrade.

Het bijgevoegde configuratiepakket conf-en-nl.zip is bijvoorbeeld geoptimaliseerd voor een tweetalige Nederlandse / Engelse website. Voel je vrij om dat te gebruiken voor referentiedoeleinden als je een meertalige Drupal-site wilt opzetten. U kunt het bestand downloaden en de volledige /usr/share/solr4/{mycompanyname}/multicore/core0/conf/directory met de inhoud overschrijven.

Na het kopiëren van deze bestanden, start u de Tomcat service opnieuw op en kunt u uw Drupal 7 site verbinden met de Solr service.

Gebruik het volgende commando om de Tomcat service te herstarten:

sudo /etc/init.d/tomcat6 restart

Rechtenbeheer

Als u geen verbinding meer kunt maken met http://localhost:8080 of http://ServerNameOrIP:8080 heeft u waarschijnlijk een probleem met de rechten!

Het kan nuttig zijn om de Tomcat-logs op de volgende locatie te controleren:

/var/log/tomcat6/

How to fix it?

Stel de solr directory in om deel uit te maken van de tomcat6 groep:

sudo chgrp -R tomcat6 /usr/share/solr4

Wijzig de toegangsrechten in de solr-directory:

sudo chmod -R 2750 /usr/share/solr4

Maak de core-mappen beschrijfbaar, standaard worden de indexbestanden en spellingscontrolebestanden onder elke core-map geplaatst. Wanneer u een nieuwe core toevoegt, zorg er dan voor dat de rechten in orde zijn:

sudo chmod -R 2770 /usr/share/solr4/{mycompanyname}/multicore/

Dat zou de fix moeten zijn. Start nu de Tomcat service opnieuw op:

sudo /etc/init.d/tomcat6 restart

Als alles goed gaat, zou u in staat moeten zijn om verbinding te maken met http://localhost:8080 of http://ServerNameOrIP:8080 en u zou ook een nieuw aangemaakte datamap at/usr/share/solr4/{mycompanyname}/multicore/core0/ moeten zien.

Verbind je Drupal 7 site met Solr 4

Eindelijk het makkelijke deel: Drupal vertellen waar de Solr service te vinden is.

De belangrijkste module is de 'Apache Solr search' module (http://drupal.org/project/apachesolr).

Zoals gezegd, zorg ervoor dat je de nieuwste dev-versie gebruikt, want Solr 4 - die vrij nieuw is - is nog niet in de stabiele versie opgenomen.

Na het installeren en inschakelen van de module hoeft u alleen maar de Solr-server en de kerngegevens in te vullen:

En je bent klaar om te gaan!

En nu?

  • Als u gebruik wilt maken van de meertalige mogelijkheden, bekijk dan de module 'Apache Solr Multilingual' (http://drupal.org/project/apachesolr_multilingual).
  • Als u het bijgevoegde tweetalige configuratievoorbeeld gebruikt: Tika is ook inbegrepen! Dus installeer ook de module 'Apache Solr Attachments' (http://drupal.org/project/apachesolr_attachments) en u kunt alle soorten documenten indexeren!
  • Als je de 'meer zoals deze' functie van de kern 'Apache Solr search' module wilt gebruiken: deze is op dit moment kapot omdat Solr 4 de forward slash heeft geïntroduceerd als een speciaal karakter voor verbeterde regex-bewerkingen. De Drupal-module houdt hier nog geen rekening mee en stuurt bij het aanvragen van een 'more like this' query een onverkorte forward slash naar de Solr-server. Dit zal waarschijnlijk binnenkort worden opgelost, maar voorlopig kun je de bijgevoegde patch apachesolr-solr4-escape-karakters-mlt.zip gebruiken om de voorwaartse schuine streep te laten ontsnappen.
  • Deze handleiding gaat niet te veel in op het maken van cores in Solr en het configureren van verschillende talen en zo verder. De bijgevoegde configuratie zou een goede basis moeten zijn voor wat zelflerend onderzoek, maar als u nog meer vragen heeft over de installatie en configuratie van Solr, aarzel dan niet om het te vragen!