Oracle DB und Apache Tomcat

Wer mit einer Oracle Datenbank arbeitet und die selbige installiert hat, weis wahrscheinlich, dass bei der Installation ein Webserver mitinstalliert wird. Soweit so gut! Wenn man nun aber parallel zum Oracle DB Server einen (weiteren) Webserver laufen lassen möchte - der wie auch der “Oracle Webserver” auf Port 8080 lauscht - wird es problematisch. So kann man zum Beispiel den Apache Tomcat nicht parallel neben dem DB Server laufen lassen. Die Konsequenz, eine der beiden Serverapplicationen muss auf einen anderen Port ausweichen. Es gibt unzählige Anleitungen wie das bei Tomcat oder anderen Webservern funktioniert. Will man aber den genutzten Port des “Oracle Webservers” ändern, wird es schon etwas schwieriger einen funktionierende Lösung zu finden. Darum hier eine detailierte Anleitung:

  1. Datenbank Server starten
  2. SQL-Plus starten
    unter Windows in der CMD: sqlplus
    unter Linux in der Shell: sqlplus
  3. mit dem Benutzer SYSTEM anmelden
  4. nun kann mit folgendem Befehl der aktuelle HTTP-Port ausgelesen werden:
    select dbms_xdb.gethttpport as "HTTP-Port"
  5. mit den folgenden Anweisungen, kann der Port beliebig geändert werden:
    SQL> begin
      2  dbms_xdb.sethttpport('8888');
      3  end;
      4  /
    

Nachfolgend ein Log für das Auslesen, Ändern und anschließende nochmalige Auslesen des HTTP-Ports:

C:\Dokumente und Einstellungen\Florian>sqlplus
SQL*Plus: Release 10.2.0.1.0 - Production on So Jul 5 11:26:46 2009
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
Benutzernamen eingeben: System
Kennwort eingeben:
Verbunden mit:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
SQL> select dbms_xdb.gethttpport from dual;
GETHTTPPORT
-----------
       8080
SQL> begin
  2  dbms_xdb.sethttpport('8888');
  3  end;
  4  /
PL/SQL-Prozedur erfolgreich abgeschlossen.
SQL> select dbms_xdb.gethttpport from dual;
GETHTTPPORT
-----------
       8888

automatisches MySQL-Datenbank-Backup

Aus aktuellem Anlass habe ich mir Heute Gedanken gemacht wie ich meine Datenbanken in regelmäßigen Abständen sichern kann. Da der Mensch von Natur aus faul und vergesslich ist, sollte das ganze automatisch passieren. Beim ersten Lösungsansatz wollte ich auf Cronjobs verzichten um möglichst unabhängig zu sein. Dennoch ist die Lösung relativ simpel (für Windows!):

  • MySQLDumper auf dem eigenen Webspace installieren (ACHTUNG: für jeden mySQL-Datenbank-User ist eine eigene Installation nötig!) - Videotutorial zur Installation
  • herunterladen von WinTrigger und entpacke (keine Installation nötig)
  • erstellen einer Batchdatei die WinTrigger für jede Datenbank die Upgedatet werden soll aufruft
  • einrichten eines geplanten Tasks

Zur Konfiguration von MySQLDumper gibt es genügend Anleitungen im Netz, falls es Probleme gibt, steht auch das MySQLDumper-Forum zur Verfügung. Auf jeden Fall sollte der Verzeichnisschutz eingerichtet werden! Auch dazu gibt es ein Videotut. Nach der Installation zuerst manuell versuchen ob der Dumper auf dem Webspace funktioniert!

Auch die Batchdatei kann jeder einfach erstellen. Man öffnet den Windows Editor (Start - Ausführen - notepad) und wählt unter Datei - Speichern unter…. Nun speichert man die Datei in den Programmordner von WinTrigger. Als Datei Name wählt man “dbBackup.bat“. Nun fügt man die folgenden Zeilen ein und passt diese, wie unten beschrieben, an:

@echo off
echo Es werden nun folgende mySQL-Datenbanken gesichert:

::meine erste Datenbank die ich sichern will:
echo Host: server.at        Datenbankname: meineDB
::Aufruf von WinTrigger.exe fur diese DB:
WinTrigger.exe /exit /hide /url:server.at/msd/dump.php /user:usr /pass:pw

Die letzten vier Zeilen müssen für jeden Datenbankuser bzw. für jeden Server individuell erstellt werden. Also einfach diese vier Zeilen für jede DB-User bzw. Server kopieren und editieren. Was die einzelnen Parameter bedeuten kann in der doku.txt, welche WinTrigger beiliegt, nachgelesen werden. Nachdem das Script erstellt wurde, alles speichern und testen! Also wird wenn die Batch ausgeführt wird, ein Backup erstellt?

Einrichten des geplanten Tasks ist der letzte Schritt. In der Systemsteuerung wählt man den Punkt Geplante Tasks. Nun klickt man auf geplanten Task hinzufügen. Wählt die erstellt Batchdatei aus, setzt den Ausführungszeitpunkt (z. B.: wöchentlich - Dienstag - 12:00) und gibt nun noch das Passwort für den eigenen Windows-User-Account an.

Immer wieder wird davon gesprochen, dass die Sicherung auch problemlos mit cronjobs möglich ist. Dies ist aber nur bedingt richtig: Damit dies auch funktioniert MUSS der Webserver auf dem die Sicherung ausgeführt werden soll, Perl unterstützen. Der cronjob ruft dann ein Perlscript auf und NICHT direkt die dump.php aus dem MySQLDumper Verzeichnis. Bei kleinen Datenbanken kann der direkte Aufruf der dump.php durchaus funktionieren, aber sichere Backups sind so leider nicht möglich, da die Ausführungszeit der Scripte meist zu lang ist!

Wardrivingtour - die Zweite

Das Wardrivingfieber hat mich gepackt ;-)

Wardriving mit öffentlichen Verkehrsmitteln - ist doch einmal was anderes! Letzte Woche startete ich eine Wardrivingtour und zwar auf dem Weg zum Bahnhof, im Bus. Die Route führte mich durch Weiler, Klaus und Götzis. Angesichts der letzten Tour, überraschten mich die Ergebnisse nicht. Viele Netze hatten keinen erkennbaren Schutz vor unerwünschten Zugriffen aktiv.

Das Ergebnis:

  • gesamt 157 Wireless Networks
  • davon waren 116 mit WEP oder WPA verschlüsselt
  • 41 wurden von Network Stumbler als unverschlüsselt angezeigt
  • 30 gaben keine SSID preis
  • die restlichen 127 gaben sich durch eine SSID zu erkennen
  • die 54 Mb/s Access Points machen mit 139 Geräten den Großteil aus
  • 16 AP’s wurden mit 11 Mb/s betrieben
  • ein AP lief mit 22 Mb/s
  • ein Gerät gab keine Übertragungsgeschwindigkeit preis

Mal sehen wie sich das Entwickelt. Vielleicht gibt’s zum Geburtstag eine GPS Antenne, dann könnte ich auch so schöne Karten generieren lassen, wo die AP’s automatisch eingetragen werden.

Wardrivingtour - die Erste

Letzten Sonntag hatte ich Langeweile und so entschloss ich mich kurzfristig eine kleine Wardrivingtour durch meine Heimatgemeinde zu unternehmen. Für alle die nicht wissen was mit Wardriving gemeint ist: das Aufspüren, Dokumentieren und Lokalisieren von Wireless Netzwerken wird als Wardriving bezeichnet - NICHT das Eindringen in Netze! Also habe ich mir den Laptop und meine Orinoco Gold - mit externer Antenne - geschnappt, alles eingerichtet, Antenne aufs Autodach und ab ging es. Die Streckte führte mich durch Batschuns, über die Laternserstraße hinunter nach Muntlix und wieder nach Hause.

Das Ergebnis:

  • gesamt 177 Wireless Networks
  • davon waren 133 mit WEP oder WPA verschlüsselt
  • 44 wurden von Network Stumbler als unverschlüsselt angezeigt
  • 41 gaben keine SSID preis
  • die restlichen 136 gaben sich durch eine mehr oder wenige sinnvolle SSID zu erkennen

In wie viele, von den 44 unverschlüsselten Netzwerken, man sich ohne Probleme einwählen könnte, bleibt offen. Denn es gibt schließlich auch noch andere Schutzmechanismen wie zum Beispiel Mac-Filter. Jedoch ist ein unverschlüsseltes drahtloses Netzwerk in der heutigen Zeit einfach verantwortungslos, es sei denn, es ist gewollt, dass sich andere Teilnehmer ins Netz einwählen können. Auch noch interessant wäre, wie viele (noch) die unsichere WEP Verschlüsselung nutzen. Leider wird dies von Network Stumbler nicht korrekt angezeigt - ich hoffe auf Nachbesserung.