Jürgen Stein: MIME-Lite auf öffentlichem Server installieren

Hallo,

nachdem ich seit WOCHEN versuche eine anständige Lösung zu schaffen um E-Mails mit Anhang über Perl zu versenden, viele Stunden hier im Forums-Archiv gelesen haben, viele Stunden bei perl.com verbracht habe und jetzt weiß das ich eben MIME-Lite benötige und dieses Modul in meinem Perl-Script aufrufen muß, habe ich in der ganzen Thematik irgendwie ein Verständnisproblem:

Wie bekomme ich ein PERL-Modul auf einem öffentlichen Rechner installiert? Die ganzen Anleitungen beziehen sich auf die Basis, daß ich direkt vor dem Rechner sitze, auf dem das Modul installiert werden soll.

Als relativer Neuling im PERL-Bereich weiß ich zwar das ich den PERL-Interpreter auf dem öffentlichen Rechner meines Providers mit der Zeile "#!/usr/bin/perl" in meinem Script zum Leben erwecke, aber wie würde ich jetzt eine Installation vornehmen? Würde ich beispielsweise die Installationskommandos in eine *.pl - File schreiben?
    
    #!/usr/bin/perl
    Makefile.PL LIB=/home/me/lib
    make test
    make install

Aber dann bekomme ich ja auf dem Bildschirm kein Feedback vom ausführenden System??? Außerdem ist, wenn ich mir die "Makefile.PL" anschaue ein Modul namens "ExtUtils::MakeMaker" von Nöten... das mag bei meinem Provider in der Server-Root existieren.... aber nicht in dem Verzeichnis in dem meine Dateien liegen...

Mein Provider hat mir schon vor Wochen auf die Frage ob ein MIME-Programm bei Ihm auf dem Rechner liegt, mit dem ich Mails mit Anhang erzeugen kann, mit einem großen "?" geantwortet.

Jetzt bin ich ziemlich ratlos und hoffe auf ein paar erklärende Worte an einen Laien, wie er das ganze doch noch gebacken bekommt.

Vielen Dank

Jürgen Stein

  1. Hi Jürgen

    Wie bekomme ich ein PERL-Modul auf einem öffentlichen Rechner installiert?

    tja, der rechner ist nicht öffentlich sondern gehört deinem provider. also musst du diesen fragen, ob er dir das modul installiert. wenn er es nicht macht, musst du dir wohl oder übel einen anderen provider aussuchen, der dieses modul installiert hat (<werbung>kannst dich ja mal bei mir melden</werbung>).

    Die ganzen Anleitungen beziehen sich auf die Basis, daß ich direkt
    vor dem Rechner sitze, auf dem das Modul installiert werden soll.

    du brauchst zumindestens einen telnet/ssh zugang zum rechner und der systemadministrator muss einmal ein 'make install' aufrufen, dann sollte das funktionieren. wenn der provider dazu aber keine lust hat, kannst du imho nicht machen.

    grüße,

    Florian

    1. Hallo Florian,

      dank Dir für Deine Hilfe - (siehe Peter's Ansatz...) - Na ich bin ja echt mal gespannt wie wir das hinbekommen. Das mit Deiner "Werbung" finde ich nett... vielleicht komme ich darauf zurück.

      Grüßle

      Jürgen

      Hi Jürgen

      Wie bekomme ich ein PERL-Modul auf einem öffentlichen Rechner installiert?

      tja, der rechner ist nicht öffentlich sondern gehört deinem provider. also musst du diesen fragen, ob er dir das modul installiert. wenn er es nicht macht, musst du dir wohl oder übel einen anderen provider aussuchen, der dieses modul installiert hat (<werbung>kannst dich ja mal bei mir melden</werbung>).

      Die ganzen Anleitungen beziehen sich auf die Basis, daß ich direkt
      vor dem Rechner sitze, auf dem das Modul installiert werden soll.

      du brauchst zumindestens einen telnet/ssh zugang zum rechner und der systemadministrator muss einmal ein 'make install' aufrufen, dann sollte das funktionieren. wenn der provider dazu aber keine lust hat, kannst du imho nicht machen.

      grüße,

      Florian

  2. wie würde ich jetzt eine Installation vornehmen? Würde ich beispielsweise die Installationskommandos in eine *.pl - File schreiben?

    #!/usr/bin/perl
        Makefile.PL LIB=/home/me/lib
        make test
        make install

    Nein, Du musst dich auf dem Rechner einloggen (ssh, rsh, telnet) und dann die Befehle eintippen.

    Peter

    1. wie würde ich jetzt eine Installation vornehmen? Würde ich beispielsweise die Installationskommandos in eine *.pl - File schreiben?

      #!/usr/bin/perl
          Makefile.PL LIB=/home/me/lib
          make test
          make install

      Nein, Du musst dich auf dem Rechner einloggen (ssh, rsh, telnet) und dann die Befehle eintippen.

      Peter

      BING! - Das ist doch mal eine ganz andere Voraussetzung! ;

      Ich hatte schon so etwas im Hinterkopf, aber in meiner 7-jährigen HTML-Laufbahn habe ich noch nicht 1 x  eine Direktverbindung zu einem anderen Rechner benötigt... (peinlich ;-(

      Auf alle Fälle vielen Dank für den Ansatz. - Jetzt werde ich mal bei meinem Provider abchecken was ich da für Daten brauche.

      Gruß

      Jürgen

  3. Hallo Jürgen,

    Bei Perl kannst Du grundsätzlich zwischen zwei Arten von Moduln unterscheiden:

    1.) 100% pure Perl. Das sind Moduln, welche rein in Perl geschrieben sind.
    2.) Moduln mit Binary-Anteil, meist in C oder C++ entwickelt.

    Bei zweiteren ist es eigentlich unumgänglich, das Modul in der von Dir genannten Weise zu installieren (Mal abgesehen von Activestate's ppm-Installationen).

    Bei ersteren gibt es auch die Mögliochkeit, das Modul durch einfaches Kopieren zu installieren. Da kann man dann auch die Moduln in anderen als den von Perl vorgegebenen Lib-Pfaden installieren.
    Du kannst Dir z.B. in Deinem cgi-bin-Bereich ein eigenes Lib-Verzeichnis anlegen, in dem Du dann die Moduln reinkopierst. Ist zwar etwas mühsehliger als mit 'make' aber es gehts schon.

    In den Scripts mußt Du dann noch dem REchnung tragen, indem Du recht früh
      use lib 'relativer_pfad_zu_eigenen_lib_bereich';

    einfügst.

    Du kannst auch

    BEGIN
    {
    push @INC,  'relativer_pfad_zu_eigenen_lib_bereich';
    }

    verwenden.

    Diese Vorgangsweise ist jedoch nur wirklich zu empfehlen, wenn es sich um 1000% Perl handelt.

    Außerdem sollte dies auch der letzte Weg sein,. den Du einschlägst.
    Zuerst würde ich mal mit Deinem Provider reden, ob er nicht so freundlich wäre, diese Moduln auf dem Server zu installieren.
    Wenn er nicht dazu bereit ( oder in der Lage ;-) ) ist, dann könntest Du obigen Weg weiterverfolgen, aber ich würde das trotzdem auch mit dem Provider abchecken, weil nichts mehr dem gegenseitigen Vertrauen abträglich ist, als irgendwelche eigenmächtigen Aktionen. Und es ist und bleibt nach wie vor ja noch seine Maschine, und für die ist er auch Verantwortlich.

    Die Frage sollte immer lauten: ' Wie würde es mir gefallen, wenn irgendein anderer auf dem von mir verwendeten Server einfach so was draufspielt, wodurch der Server nicht mehr richtig funktioniert?'
    (Aber das nur so nebenbei)

    Ich hoffe Dir weitergeholfen zu haben

    Grüße
      Klaus