Donnerstag, 6. Mai 2010

Apache und Tomcat mit mod_jk unter Ubuntu 10.04

Zielsetzung:

Es war gar nicht so einfach, eine funktionierende Anleitung zu finden, wie man Apache2 und Tomcat6 mit libapache2-mod-jk verbindet. Unter http://www.docshare.com/doc/197611/Installing-Tomcat6-on-Ubuntu-with-Jk-Connecto habe ich eine gefunden, die ich hier im Wesentlichen wiedergebe, die Pfade (u.a. auf das mit Ubuntu-Server standardmäßig installierte OpenJDK) habe ich angepasst.
Meine Beschreibung setzt Gnome voraus, wenn keine grafische Oberfläche (apt-get install ubuntu-desktop) installiert wurde, kann man die Dateien natürlich statt mit gedit auch mit vi oder dem mc bearbeiten.

Vorgehen:

  1. Starte gnome-console
  2. sudo apt-get install tomcat6
  3. sudo apt-get install libapache2-mod-jk
    (Ubuntu lädt bei der Installation den Connector automatisch als Apache2-Modul)
  4. sudo gedit /etc/libapache2-mod-jk/workers.properties
  5. Bearbeite folgende Zeile:
    workers.tomcat_home = /usr/share/tomcat6
  6. Bearbeite folgende Zeile:
    workers.java_home = /usr/lib/jvm/java-6-openjdk
  7. Speichern und gedit beenden
  8. sudo gedit /etc/apache2/sites-enabled/000-default
  9. Füge zwischen dem letzten </Directory> und dem abschließenden </VirtualHost> folgende Zeile ein:
    JkMount /* ajp13_worker
  10. Speichern und gedit beenden
  11. sudo gedit /etc/apache2/mods-available/jk.load
  12. Füge am Ende folgende Zeilen hinzu:
    JkWorkersFile /etc/libapache2-mod-jk/workers.properties
    JkLogFile /var/log/apache2/mod_jk.log
    JkLogLevel error
  13. Speichern und gedit beenden
  14. sudo gedit /etc/tomcat6/server.xml
  15. In Zeile 93-95 steht folgendes:
    <!--
    <Connector port =”8009” protocol=”AJP/1.3” redirectPort= “8443” />
    -->
    Die Zeile 94 auskommentieren (also das <!-- und das --> löschen)
  16. Speichern und gedit beenden
  17. sudo /etc/init.d/apache2 restart
  18. sudo /etc/init.d/tomcat6 restart
Fertig! Fortan können .jsp-Seiten statt unter http://localhost:8080 direkt unter http://localhost aufgerufen werden.

Intrexx 5 unter Ubuntu Server 10.04 LTS mit Tomcat und Postgres

Zielsetzung:

Seit ein paar Tagen ist die Final von Ubuntu 10.04 draußen, wieder eine Version mit Long Term Support (in der Serverversion gibt es also Sicherheitsupdates für 5 Jahre). Es soll die Grundlage für eine Intrexx 5 Professional Installation werden.

Um von den automatischen Sicherheitsupdates durch Ubuntu zu profitieren, verwende ich nicht den in Intrexx “eingebauten” Tomcat, sondern den bei Ubuntu-Server installierbaren.

[Update: Ich habe inzwischen festgestellt, dass der mit Ubuntu 10.04 mitgelieferte Tomcat 6 nicht mit Intrexx harmoniert! Wer Intrexx verwenden will, sollte also doch auf den bei Intrexx mitgelieferten Tomcat 5.5 zurückgreifen!]

Als Datenbank verwende ich PostgreSQL, ebenfalls in Ubuntu mitgeliefert.

Ubuntu-Grundinstallation:

Ich verwende die 64bit-Version von Ubuntu (der Server hat mehr als 4GB RAM), das Vorgehen bei der 32bit-Version ist aber völlig identisch.

  1. Download des 10.04-Server-64bit-Images vom Ubuntu-Server.
  2. Brennen der CD.
  3. Installation von Ubuntu. Die Fragen bei der Installation sind selbsterklärend, das einzige Problem war bei mir die Partitionierung des RAIDs, mit LVM wollte der Server anschließend nicht vom RAID booten, ich habe dann die geführte Partitionierung ohne LVM verwendet, damit lief alles problemlos. Bei der Auswahl der Software-Pakete habe ich Häckchen gesetzt bei:
  • LAMP-Server
  • Tomcat-Servlet [Update: NICHT installieren, wenn Intrexx 5 verwendet werden soll!]
  • PostgreSQL-Datenbank
  • OpenSSH-Server (nicht zwingend, aber bei Fernwartung erhöht das die Sicherheit)

Jetzt sollte die Installation durchlaufen und nach dem Reboot ein Login möglich sein.

erweiterte Ubuntu-Installation:

Ich bin kein Kommandozeilen-Fetischist, ganz ohne geht’s unter Linux nicht, aber man kann sich die Sache doch etwas erleichtern. Die Server-Version bietet keine grafische Oberfläche, also installiere ich sie nach:

  1. sudo apt-get install ubuntu-desktop (dauert eine ganze Weile, es werden viele Dateien aus dem Netz gezogen und installiert)
  2. sudo shutdown –r now (sofortiger Reboot)

Jetzt sollte der grafische Desktop (Gnome) starten. Die deutsche Übersetzung ist noch nicht vollständig, beim ersten Aufruf der Spracheinstellungen im System-Menü werden die fehlenden Teile nachinstalliert, nach einem Logout und Login ist die deutsche Übersetzung dann vollständig.

Hilfsprogramme:

Im Software-Verzeichnis folgende Programme suchen und installieren:

  • mc (midnight-commander, praktisch für Datei-Operationen auf der Console)
  • sysv-rc-conf (brauchen wir später, um die intrexx-Prozesse beim Server-Start automatisch starten zu lassen)
  • pgadmin (grafisches Verwaltungstool für PostgreSQL)

PostgreSQL vorbereiten:

(hier beziehe ich mich im Wesentlichen auf die Beschreibung unter http://wiki.ubuntuusers.de/postgresql)

  1. gnome-console öffnen
  2. sudo –u postgres psql template1 (man ist nun in der PostgreSQL- Eingabeaufforderung)
  3. ALTER ROLE postgres WITH PASSWORD
  4. ‘xxxxx’; (die ickse zwischen den einfachen Anführungszeichen sind natürlich durch ein gutes Passwort zu ersetzen! Semikolon am Ende nicht vergessen! bei Erfolg quittiert die Datenbank die Eingabe mit ALTER ROLE)
  5. \q (Eingabeaufforderung verlassen)
  6. sudo gedit /etc/postgresql/8.4/main/postgresql.conf
  7. Folgende Zeile suchen und korrigieren: listen_addresses = ‘*’
  8. Speichern und gedit beenden.
  9. sudo /etc/init.d/postgresql-8.4 restart

Intrexx 5 installieren:

  1. Installationspaket auf dem Desktop auspacken.
  2. gnome-console öffnen
  3. cd ~/Desktop/IX500
  4. sudo ./setup.sh
  5. Dialoge durchklicken bis die Übersicht der zu installierenden Pakete erscheint, hier Derby und Oracle-Datenbanktreiber abwählen [Update: Tomcat ausgewählt lassen!].
  6. Intrexx installieren.
  7. Am Besten jetzt noch den Intrexx-Portalmanager ins Ubuntu-Menü einbinden (System-Hauptmenü, neuen Eintrag erstellen, die Portalmanager-Datei und das Icon findet man unter: /opt/intrexx/bin/linux/)

[Update: Der folgende Schritt ist bei einer Installation mit Intrexx 5 nicht nötig, weil hier der Tomcat 5.5 mitinstalliert werden sollte!]

Intrexx mit Tomcat6 “bekanntmachen”:

(hier beziehe ich mich auf das pdf “Intrexx Xtreme Installation auf Ubuntu 8.04.2” von United Planet, ich habe jedoch die Pfadangaben für die neuen Versionen aktualisiert)

  1. gnome-console öffnen
  2. sudo gedit /etc/tomcat6/catalina.properties
  3. Folgende Zeile suchen: common.loader=$…….
  4. Am Ende dieser Zeile folgendes anhängen: ,/opt/intrexx/lib/*.jar,/opt/intrexx/lib/update
  5. Datei speichern und gedit beenden.
  6. sudo /etc/init.d/tomcat6 restart
  7. sudo mkdir /opt/intrexx/tomcat
  8. sudo ls –s /etc/tomcat6 /opt/intrexx/tomcat/conf

[/Update]

Jetzt kann man im Portalmanager von Intrexx ein neues Portal einrichten. Beim nächsten Serverstart werden aber weder die Intrexx-Dienste noch das Portal gestartet, deswegen jetzt der letzte Schritt:

“Autostart” der Intrexx-Dienste:

Dieser Schritt ist sowohl nach der Intrexx-Installation wie auch nach dem Anlegen eines neuen Portals in Intrexx notwendig. Sonst startet das Portal nach einem Reboot nicht automatisch!

  1. gnome-console öffnen
  2. sudo sysv-rc-conf
  3. mit Pfeiltaste-nach-unten die Prozesse mit ui…. heraussuchen und mit der Leertaste jeweils Häckchen beim Startlevel 2, 3, 4 und 5 setzen.
  4. q (Programm beenden)

Fertig!