Pfad zu Sendmail

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Pfad zu Sendmail

Postby kokosnuss » 20. October 2005 14:09

Moin,

im XAMPP-Verzeichnis liegt, in der Windowsversion,
im Verzeichnis "sendmail" ein "Ersatz für Sendmail".

Wenn ich das zum Testen von Perl-Scripten nutzen will,
wäre es ja nett, wenn ich das im Script genauso erreiche wie
ich SENDMAIL später auf dem Server meines Providers erreiche.

Also nicht x:\xampp\sendmail sondern :
/usr/sbin/sendmail oder /usr/lib/sendmail

Was muß ich den in der Apache Config wie ändern, damit das
Script Ohne Änderungen läuft?

MfG
Heiko

P.S. Könnte man solche Sachen, also das Interpretieren von Linux-Pfaden,
in der Windowsversion von XAMPP nicht gleich einbauen oder als FAQ bereitlegen?
kokosnuss
 
Posts: 65
Joined: 08. March 2003 10:04
Location: Bremerhaven
Operating System: Windows 7 Pro

Postby Wiedmann » 20. October 2005 15:23

Also nicht x:\xampp\sendmail sondern :
/usr/sbin/sendmail oder /usr/lib/sendmail

Was muß ich den in der Apache Config wie ändern, damit das
Script Ohne Änderungen läuft?

Da hilft dir keine Änderung in der Apache Config. Wenn du "/usr/sbin/sendmail" oder "/usr/lib/sendmail" (also auch schon zwei zur Auswahl?) benutzen willst, musst du auf deiner Platte diesen Pfad anlegen und Sendmail da hinkopieren.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby deepsurfer » 20. October 2005 16:34

Wiedmann... müsste doch auch über SET PFAD in der Umgebungsvariable der autoexec.cnf gehen oder ?
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby Wiedmann » 20. October 2005 17:41

müsste doch auch über SET PFAD in der Umgebungsvariable der autoexec.cnf gehen

Jein.

Wenn er im Script das Programm direkt über z.B. exec("/usr/sbin/sendmail ...") o.ä. ausführen will, muss die Datei auch dort sein.

Eine Aufnahme des Pfades "\xampp\sendmail\" in die PATH-Variable würde nur was bringen, wenn der Sendmail über z.B. exec("sendmail ...") aufruft.

Und da er ja ausdrücklich geschrieben hat das er die Datei mit z.B. " /usr/sbin/sendmail" starten will, muss sie auch dort sein.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby kokosnuss » 21. October 2005 05:56

Hallo,

Wiedmann wrote:Da hilft dir keine Änderung in der Apache Config. Wenn du "/usr/sbin/sendmail" oder "/usr/lib/sendmail" (also auch schon zwei zur Auswahl?) benutzen willst, musst du auf deiner Platte diesen Pfad anlegen und Sendmail da hinkopieren.


Unter Windows? Also um das hier zunutzen "#!/usr/bin/perl"
muss ich unter Windows das hier machen:

>>In der "httpd.conf" (\xampp\apache\conf) ~Zeille 554 auskommentieren mit einem "#":
Code: Select all
# ScriptAlias /cgi-bin/ "D:/xampp/cgi-bin/"


und um Perl auch wirklich nutzen zu können, muß in die Registry noch:
Code: Select all
    Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\.pl]
    @="Perl"

    [HKEY_CLASSES_ROOT\.pl\PersistentHandler]
    @="{5e941d80-bf96-11cd-b579-08002b30bfeb}"

    [HKEY_CLASSES_ROOT\Perl]

    [HKEY_CLASSES_ROOT\Perl\shell]

    [HKEY_CLASSES_ROOT\Perl\Shell\ExecCGI]

    [HKEY_CLASSES_ROOT\Perl\Shell\ExecCGI\Command]
    @=""d:\\xampp\\perl\\bin\\perl.exe" "%1""


Gibt es auf diesem Weg nicht auch für das "Sendmail-Problem" eine Lösung?

MfG
Heiko
kokosnuss
 
Posts: 65
Joined: 08. March 2003 10:04
Location: Bremerhaven
Operating System: Windows 7 Pro

Postby Wiedmann » 21. October 2005 06:49

Soviel zu gesundem Halbwissen ;-)

Gibt es auf diesem Weg nicht auch für das "Sendmail-Problem" eine Lösung?

Nein. Weil das 2 völlig verschiedene Sachen sind. Du konfigurierst hier (wenn auch nicht ganz korrekt) ein bestimmtes Verhalten der CGI-Schnittstelle vom Apache. Dies funktioniert mit Perl, weil man diesen Interpreter auch über CGI einsetzen kann. Sendmail ist aber kein CGI und wird nicht über diese Schnittstelle angesprochen.

Unter Windows?

Was hindert dich daran unter Windows ein Verzeichnis "\usr" und darin ein Unterverzeichnis "\sbin" anzulegen? Wenn du in dieses Verzeichnis jetzt eine Datei wie z.B. Sendmail.exe reinlegst (oder einen Link darauf), kannst du dieses Programm mit "/usr/sbin/sendmail" (oder in der Konsole mit "\usr\sbin\sendmail") aufrufen.

In der "httpd.conf" (\xampp\apache\conf) ~Zeille 554 auskommentieren mit einem "#":

Was meinst du jetzt mit "auskommentieren"? Ich hoffe mal nicht das hinzufügen von diesem "#"? Standardmässig ist diese Zeile aktiv beim XAMPP und muss auch so bleiben, wenn man das vordefinierte "cgi-bin"-Verzeichnis benutzen will.

und um Perl auch wirklich nutzen zu können, muß in die Registry noch:

Da könnte man sich jetzt Fragen was "richtig benutzen" ist? Ich kann Perl jedenfalls /komplett/ ohne einen Eintrag in der Registry benutzen.


Allerdings machen deine Einträge in der Registry dann Sinn, wenn man folgenden Eintrag in die "httpd.conf" reinschreibt:
Code: Select all
ScriptInterpreterSource Registry-Strict

Mit diesem Eintrag ignoriert der Apache tatsächlich den SheBang im Script und benutzt zum Ausführen des Scriptes den Interpreter der in der Registry eingetragen ist.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby kokosnuss » 21. October 2005 07:37

Hallo,

Wiedmann wrote:Soviel zu gesundem Halbwissen ;-)

Grrrrr. :-)

Nein. Weil das 2 völlig verschiedene Sachen sind. Du konfigurierst hier (wenn auch nicht ganz korrekt) ein bestimmtes Verhalten der CGI-Schnittstelle vom Apache.

Wie macht man denn die Konfiguration richtig?
Die Config-Tips bekam ich hier im Forum.

Dies funktioniert mit Perl, weil man diesen Interpreter auch über CGI einsetzen kann. Sendmail ist aber kein CGI und wird nicht über diese Schnittstelle angesprochen.

Aha.

Was hindert dich daran unter Windows ein Verzeichnis "\usr" und darin ein Unterverzeichnis "\sbin" anzulegen? Wenn du in dieses Verzeichnis jetzt eine Datei wie z.B. Sendmail.exe reinlegst (oder einen Link darauf), kannst du dieses Programm mit "/usr/sbin/sendmail" (oder in der Konsole mit "\usr\sbin\sendmail") aufrufen.

Also ich habe unter D:\XAMPP die Verzeichnisse usr/bin angelegt.
Aber sendmail wird in diesem Ordner nicht gefunden (obwohl vorhanden).

Was meinst du jetzt mit "auskommentieren"?

Stand so in dem Beitrag aus dem ich das hier zitiert habe.

Da könnte man sich jetzt Fragen was "richtig benutzen" ist? Ich kann Perl jedenfalls /komplett/ ohne einen Eintrag in der Registry benutzen.


Achja, das war die Sache mit dem nutzen von Perl von der Kommandozeile aus.
Hat hiermit ja nichts zutun.

Allerdings machen deine Einträge in der Registry dann Sinn, wenn man folgenden Eintrag in die "httpd.conf" reinschreibt:
Code: Select all
ScriptInterpreterSource Registry-Strict


Steht bei mir drin.

Mit diesem Eintrag ignoriert der Apache tatsächlich den SheBang im Script und benutzt zum Ausführen des Scriptes den Interpreter der in der Registry eingetragen ist.


Ach das war das.
Sollte ich mir gleich dazu schreiben.

Hmm, was mache ich jetz nur mit dem sendmail-Problem?

MfG
Heiko
kokosnuss
 
Posts: 65
Joined: 08. March 2003 10:04
Location: Bremerhaven
Operating System: Windows 7 Pro

Postby Wiedmann » 21. October 2005 10:34

Also ich habe unter D:\XAMPP die Verzeichnisse usr/bin angelegt.

Wo ist der Unterschied zu:
Was hindert dich daran unter Windows ein Verzeichnis "\usr" und darin ein Unterverzeichnis "\sbin" anzulegen?

:?:

Mal bildlich:
\xampp\usr\bin
\usr\bin
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby kokosnuss » 21. October 2005 13:15

Hallo,

Wiedmann wrote:
Mal bildlich:
\xampp\usr\bin
\usr\bin


Das habe ich auch gemacht.
Der Pfad unter Windows XP Pro auf einer NTFS-Platte lautet:
d:\xampp\usr\bin\sendmail.exe

Aber es klappt trotz dem nicht.

Wenn im Script der Aufruf mittels /usr/bin/senmail passiert, klappt es nicht.
Wenn ich stattdessen d:\\xampp\\usr\\bin\\sendmail.exe nutze klappt es.

Also scheint Apache nicht zu Wissen, das /usr/bin/senmail als Ziel d:\xampp\usr\bin\sendmail.exe hat.

MfG
Heiko
kokosnuss
 
Posts: 65
Joined: 08. March 2003 10:04
Location: Bremerhaven
Operating System: Windows 7 Pro

Postby Wiedmann » 21. October 2005 13:33

Also scheint Apache nicht zu Wissen, das /usr/bin/senmail als Ziel d:\xampp\usr\bin\sendmail.exe hat.

Ist das echt so schwierig? (BTW: wie gesagt, dem Apache ist das schnuppe. Dein Script wil ja Sendmail aufrufen.)

Dann zum drittenmal:
Was hat "\xampp\usr\bin\sendmail.exe" mit "\usr\bin\sendmail.exe" zu tun?
(Zähl mal die Buchstaben...)

Wenn im Script der Aufruf mittels /usr/bin/senmail passiert,

In dem Pfad dürfte Sendmail bei *nix selten zu finden sein. Oft aber in "/usr/sbin/sendmail" oder /usr/lib/sendmail".
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby kokosnuss » 21. October 2005 15:54

Hallo,

Wiedmann wrote:Dann zum drittenmal:
Was hat "\xampp\usr\bin\sendmail.exe" mit "\usr\bin\sendmail.exe" zu tun?
(Zähl mal die Buchstaben...)


:oops:
Jetzt ist der Groschen gefallen.
Das bedeutet, das das root für Apache nicht d:\xampp sondern
d:\ ist.

Jetzt klappt es.

:?: Wie kann ich das Root auf d:\xampp ändern?

In dem Pfad dürfte Sendmail bei *nix selten zu finden sein. Oft aber in "/usr/sbin/sendmail" oder /usr/lib/sendmail".


Wer Tippfehler findet, darf sie behalten. :D
kokosnuss
 
Posts: 65
Joined: 08. March 2003 10:04
Location: Bremerhaven
Operating System: Windows 7 Pro

Postby Wiedmann » 21. October 2005 16:04

Das bedeutet, das das root für Apache nicht d:\xampp sondern
d:\ ist.

Ist immer die Frage was für ein Root du meinst? Die exec()-Methode, die in irgendeiner Form letztendlich auch zum Starten von Sendmail benutzt wird, greift über das Dateisystem auf die Programme zu. Und das Root von einem Dateisystem ist immer "/". Egal bei welchem OS. (Und dagegen kann auch der Apache nichts machen.)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 46 guests