» » Tomcat Catalina: Configuratie

Tomcat Catalina: Configuratie

Geplaatst in: Techniek, Web | 0

3DN HTTP/2 Search Engine: Catalina

Recent hebben we drieste plannen gepubliceerd omtrent de competitie die we aangaan met Google. Bij 3DN gebruiken we exclusief Debian Linux servers vanwege een consistente package administratie en configuratie. Om onze Solr installatie te fine-tunen dienen we eerst Tomcat Catalina te configureren. We hebben reeds:

Zoals we echter al vermoedden in het artikel omtrent de Solr server is de configuratie van Solr niet zo triviaal als het eerst lijkt. Uit het Solr artikel blijkt dat we tevens hoogstwaarschijnlijk:

  • Solr van een beveiliging willen voorzien mbv. een SSL certificaat.
  • Solr van een beveiliging willen voorzien mbv. een username/wachtwoord

Aan de installatie stap van Solr kunnen we eigenlijk al zien waar de complexiteit verstopt zit:

root@gamma:~# apt-get install solr-tomcat

Met de installatie van het solr-tomcat package word tevens Tomcat geinstalleerd. De Apache Tomcat software is een open source implementatie van het Java Servlet, JavaServer paginas, de Java Expression taal en Java websocket technologie. We gaven tevens aan dat we als 3DN niet een heel grote comfortzone hebben vwb. Java. Echter, dit is een mooie tijd voor ons om meer te leren. Als we in onderstaand artikel dus praatjes verkopen die niet juist zijn houden we ons aanbevolen voor commentaar.

Debian Package Management

Debian Catalina Depedency Hell
Debian Catalina Depedency Hell

Met het installeren van een Debian package worden vaak ook andere packages geïnstalleerd. Dit is ook het geval voor het solr-tomcat package:

root@gamma:/etc/tomcat8# apt-cache depends solr-tomcat
solr-tomcat
Depends: solr-common
|Depends: tomcat8
Depends: tomcat8-user
Conflicts: solr-jetty
Conflicts: <solr-tomcat6>

We zien in bovenstaande output dat solr-jetty en solr-tomcat6 niet geinstalleerd mogen zijn als solr-tomcat geinstalleerd is (Conflicts) maar dat de packages solr-common, tomcat8 en tomcat8-user geinstalleerd moeten zijn om solr-tomcat te installeren. In retrospect blijkt hier dus ook uit dat we met solr-tomcat waarschijnlijk een betere keuze hebben gemaakt dan we met solr-jetty hadden gemaakt want solr-jetty is het package wat op tomcat6 vertrouwt. Tomcat 6 is significant ouder dan Tomcat 8.

We beginnen hier langzaam maar zeker het fenomeen dependency hell te ontdekken:

Dependency hell is a colloquial term for the frustration of some software users who have installed software packages which have dependencies on specific versions of other software packages.

Gelukkig is Debian een ster in het bijhouden van alle dependencies, we zullen dit later in dit artikel nog meerdere keren zien.

Tomcat Catalina

Om Solr te kunnen configureren dienen we eerst te weten hoe we Tomcat configureren. Overigens is Catalina een mooi eiland voor de kust van Californie waar ondergetekende ooit zijn duik diploma heeft gehaald en tevens de inspiratie voor de naam van Tomcat Catalina. Catalina is tevens de centrale component van Tomcat dus wanneer we in de context van dit artikel over Tomcat spreken spreken we eigenlijk over Catalina.

Zoals we net zagen is solr-tomcat dus oa. afhankelijk van het tomcat8 package. We kunnen echter recursief in de Debian guts duiken en uitvinden welke packages tomcat8 nu zelf eigenlijk van afhankelijk is:

root@gamma:/etc/tomcat8# apt-cache depends tomcat8
tomcat8
Depends: adduser
Depends: lsb-base
Depends: tomcat8-common
Depends: ucf
|Depends: debconf
Depends: <debconf-2.0>
cdebconf
debconf
Recommends: authbind
Recommends: libtcnative-1
Suggests: tomcat8-admin
Suggests: tomcat8-docs
Suggests: tomcat8-examples
Suggests: tomcat8-user

Dit is interessantere output dan de dependencies van solr-tomcat. We zien hier namelijk ook een aantal ‘Suggests’. Eén van deze suggests trekt in het bijzonder onze aandacht, tomcat-admin. Eerder onderzoek heeft al opgeleverd dat het configureren van Tomcat het editten van XML bestanden met zich mee brengt.  Kan het zijn dat er een mooie tooltje bestaat om dit te vermijden? Het is zeker mogelijk:

root@gamma:/etc/tomcat8# apt-cache show tomcat8-admin
Package: tomcat8-admin
Source: tomcat8
Version: 8.5.29-1~bpo9+1
Installed-Size: 200
Maintainer: Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org>
Architecture: all
Depends: tomcat8-common (>= 8.5.29-1~bpo9+1)
Description-en: Apache Tomcat 8 - Servlet and JSP engine -- admin web applications
Apache Tomcat implements the Java Servlet and the JavaServer Pages (JSP)
specifications from Oracle, and provides a "pure Java" HTTP web
server environment for Java code to run.
.
This package contains the administrative web interfaces.
Description-md5: d523a3ef1ec69e0b98bfd0017ca78a6c
Homepage: http://tomcat.apache.org
Section: java
Priority: optional
Filename: pool/main/t/tomcat8/tomcat8-admin_8.5.29-1~bpo9+1_all.deb
Size: 33952
MD5sum: 3b6c36e66e77d0ce1f859d2719e36128
SHA256: f22739acac329a1544d5a8d0c73267edd284666459796f621e4d898731da0fdd

Package: tomcat8-admin
Source: tomcat8
Version: 8.5.14-1+deb9u2
Installed-Size: 188
Maintainer: Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org>
Architecture: all
Depends: tomcat8-common (>= 8.5.14-1+deb9u2)
Description-en: Apache Tomcat 8 - Servlet and JSP engine -- admin web applications
Apache Tomcat implements the Java Servlet and the JavaServer Pages (JSP)
specifications from Oracle, and provides a "pure Java" HTTP web
server environment for Java code to run.
.
This package contains the administrative web interfaces.
Description-md5: d523a3ef1ec69e0b98bfd0017ca78a6c
Homepage: http://tomcat.apache.org
Section: java
Priority: optional
Filename: pool/main/t/tomcat8/tomcat8-admin_8.5.14-1+deb9u2_all.deb
Size: 33290
MD5sum: 2b8f5a4dd30fb9db444c28ddcc40566e
SHA256: 9a7412cb962adfa893ffce7f623e77fe7f09f2bb82f9fd6fce1fa42c61548891

In een volgend artikel zullen we zien wat we kunnen doen om dit package te benutten. Als u graag op de hoogte word gehouden wanneer nieuwe artikelen worden gepubliceerd kunt u zich inschrijven op onze Technologie mailinglijst:

Als u het bovenstaande al veel te ingewikkeld vind worden en eigenlijk op zoek bent naar iemand die deze complexiteit voor u kan afhandelen kunt u ons tevens inhuren op ZZP basis.

Related

Een Product Bouwen: Systool Product Al jarenlang bouwt 3DN vele scriptjes, programma's en diensten, hulpmiddeltjes die ons in onze rol van freelancer goed van pas komen wanneer ...
Apache en HTTP/2 HTTP/2: Introductie HTTP/2 is een grote sprong vooruit van HTTP/1.0. HTTP/2 is afgeleid van het vroegere experimentele SPDY protocol. Het SPDY protoc...
Solr: Een Zoekmachine Solr: Een Zoekmachine++ Recent kondigden we aan dat we onze eigen zoekmachine gaan opzetten. Enige dagen aan onderzoek zijn voorbij en we houden u gr...

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *