Erwin: (PERL) Omnihttpd in WinXX Testumgebung

Moin,

tschahh, so wie's aussieht wirds den OmniHTTPd (last release 2.10, expired 1.1.2004) wohl nicht mehr für Umme geben wie bisher.

Aber da ich mein privates CGI - Gedöhnse immer noch auf meinem uralten Blechle unter win98 entwickle und gerne einen Webserver verwende dem bei CGIs eine Shebang like

#!/usr/bin/perl

egal ist, ziehts mich halt immer wieder zum OmniHTTPd.

Egal muss weil: Vor dem Upload habch keine Lust da nochmal einzugreifen...

Untenstehendes PERL Script setzt nicht nur das Datum zurück auf einen Wert wo dieser Server noch funktional ist und startet diesen, es wird auch die hosts - Datei für die lokale Umgebung angepasst.

Das Script selbst bleibt nach dem Start solange im Hintergrund bis der OmniHTTPd beendet wird, danach wird der alte Zustand wiederhergestellt.

Viel Spass damit, Erwin

=switchenv.pl

OS - Win98

Datum in datei sichern, Datum zuruecksetzen

my $file = 'c:/tmp/date';
my $xdate = '12.12.2003';
###########################################################################
use strict;

# aktuelles Datum ermitteln
 use POSIX qw(strftime);
 my $date = strftime("%d.%m.%Y", localtime);

# aktuelles Datum in die Datei schreiben zum sichern
 open OUT, ">c:/tmp/date" or die $!;
 print OUT $date;
 close OUT;
 qx(date $xdate);
 #print "aktuelles Datum: $xdate\n";

# virtual host in hosts - File eintragen
 open OUT, ">c:/windows/hosts" or die $!;
 print OUT "127.0.0.1 i-netlab.de";
 close OUT;

# webserver starten
 print "Locale Testumgebung mit Webserver...\n";
 system("c:\httpd\ohttpd.exe");

# alten zustand wiederherstellen
 open IN, $file or die $!;
 my $olddate = <IN>;
 close IN;
 qx(date $olddate);
 #unlink $file;

# hosts file - alter zustand...
 open OUT, ">c:/windows/hosts" or die $!;
 print OUT "127.0.0.1 localhost # i-netlab.de";
 close OUT;

exit;

###########################################################################

=cut

--
SELFforum - Das Tor zur Welt!
Theoretiker: Wie kommt das Kupfer in die Leitung?
Praktiker: Wie kommt der Strom in die Leitung?
  1. Halihallo Erwin

    Aber da ich mein privates CGI - Gedöhnse immer noch auf meinem uralten Blechle unter win98 entwickle und gerne einen Webserver verwende dem bei CGIs eine Shebang like
    #!/usr/bin/perl
    egal ist, ziehts mich halt immer wieder zum OmniHTTPd.

    I wo! - Auch den Apachen kann man mit Leichtigkeit davon überzeugen, dass Perl nicht in X:\usr\bin\perl.exe liegt.

    siehe hierzu: [pref:t=68109&m=390346]:
    ScriptInterpreterSource Registry

    Empfehlen würde ich sei Apache 2.x:

    ScriptInterpreterSource Registry-Strict

    Egal muss weil: Vor dem Upload habch keine Lust da nochmal einzugreifen...

    Verständlich.

    Untenstehendes PERL Script setzt nicht nur das Datum zurück auf einen Wert wo dieser Server noch funktional ist und startet diesen, es wird auch die hosts - Datei für die lokale Umgebung angepasst.

    Oh jeh, was für ein Konstrukt. Und du bist sicher, dass dies legal
    ist? - Ich habe jetzt keine Lust mich darüber zu informieren, aber
    wenn Omicron den Omni nicht mehr gratis als Evaluation anbietet,
    dann hat das wohl seine Gründe.

    Viel Spass damit

    Spass kann man auch ohne Omni haben, glaube mir :-)

    Viele Grüsse

    Philipp

    BTW: Ich erspare mir dieses mühsame und zwecksfremde Coden gerne
    durch die Wahl einer guten Software... Die es !sogar! gratis und
    völlig legal gibt.

    1. Halihallo Philipp,

      schau Dir mal mein obenstehendes Listing an ohne die *Datumsakrobatik*.

      Es nimmt Dir immerhin folgendes ab:

      • hosts File umschreiben für lokale Testumgebung
      • webserver starten

      .... lokale Testumgebung
      und nach Beenden des Webservers:

      • hosts File zurückschreiben

      Und das mit einem einzigen Klick.

      You are welcome, Erwin

      --
      SELFforum - Das Tor zur Welt!
      Theoretiker: Wie kommt das Kupfer in die Leitung?
      Praktiker: Wie kommt der Strom in die Leitung?
      1. Halihallo Erwin

        Es nimmt Dir immerhin folgendes ab:

        • hosts File umschreiben für lokale Testumgebung

        Warum? - Mehr dazu folgt...

        • webserver starten

        tut er bei mir automatisch, muss nicht einmal mehr "klicken".

        • hosts File zurückschreiben

        Warum rumschreiben?

        Schreib doch einfach:

        127.0.0.1 i-netlab.de
        127.0.0.1 localhost

        rein. Oder funktioniert das nicht? - Optional kannst du auch einen
        neuen "VirtualHost" (etwas äquivalentes gibts bei Omni, weiss aber
        den Namen nicht mehr) für i-netlab.de definieren, mit gleichem
        DOCUMENT_ROOT, aber auf die IP 127.0.0.2 hörend => dann entsprechend
        in die hosts Datei einfügen.

        Fertig. ggf. den Omni noch in Autostart und du kommst ganz ohne
        Klicks und Tricks aus.

        Viele Grüsse

        Philipp

        1. hi

          Schreib doch einfach:

          127.0.0.1 i-netlab.de

          rein. Oder funktioniert das nicht? - Optional kannst du auch einen

          genau das macht mein switch.

          Und der nimmt den Eintrag
          127.0.0.1 i-netlab.de

          auch wieder raus. Damit's auch online klappt mit der Domain ;-)

          Das ist der Sinn des Listings: Es gibt 2 Zustände
          online
          offline

          ach , ich hör jetzt auf das auch noch zu erklären.

          Schönen Tag noch, Erwin

          --
          SELFforum - Das Tor zur Welt!
          Theoretiker: Wie kommt das Kupfer in die Leitung?
          Praktiker: Wie kommt der Strom in die Leitung?