Apache und Netzwerkzugrif?

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

Apache und Netzwerkzugrif?

Postby alan_ford9 » 03. August 2004 09:03

Hallo AF

Wir haben in der Firma im Moment unter anderem auch 2 Apache Webserver. Einer ist Apache 1.3 und der zweite Apache 2.0 SSL.

Bei Apache 1.3 kann ich auf alle Netzwerklaufwerke über ALIAS problemlos zugreifen. Das ist sehr praktisch, da unsere Daten überall im Netzwerk auf verschiedenen Laufwerken liegen!

Bei Apache 2.0 scheint es nicht mehr möglich zu sein auf irgendeinen Netzwerk-Laufwerk zuzugreifen!? Ist das bei der Version 2.0 aus Sicherheitsgründen absichtlich so gemacht worden, oder muss man bei Apache 2.0 zusätzliche Parameter einstellen, damit ein Zugriff möglich wäre?

PS: Da Problem kenne ich noch vom letzten Jahr, konnte aber weder im Internet noch in meinen Bücher etwas finden. Da wir langsam den alten Apache 1.3 abschalten werden und noch einige Sachen auf den neuen Apache 2.0 SSL vollständig migriert werden sollen, haben wir jetzt langsam ein Problem, weil wir wollen die Daten nicht dupplizieren indem wir jeden Tag die Netzwerkdaten auf Apache 2.0 Internes C:\ Laufwerk kopieren, sondern über ALIAS direkt auf die Netzwerkdaten zugreifen egal auf welchem Share sie sich befinden!

Weiss jemand die Lösung unseres Problems?

Vielen Dank im Voraus.
alan_ford9
 
Posts: 11
Joined: 03. August 2004 08:48

!!!???

Postby alan_ford9 » 04. August 2004 07:59

:shock:

Es kann doch nicht sein, dass keiner von euch je versucht hat mit Apache auf einen Netzwerklauferk zu zugreifen???
alan_ford9
 
Posts: 11
Joined: 03. August 2004 08:48

Postby nemesis » 04. August 2004 12:06

Sowas ist sehr Windows spezifisch.
Sind Passwörter für die Netzlaufwerke vergeben, werden die Rechner über Active Directory im Netzwerk angemeldet usw. Für sowas ist eigentlich euer Admin da.
Wenn es sein sollte, man kann ja die Netzlaufwerke auch als Lokales Laufwerk unter Windows einbinden, vielleicht klappt es damit.
Für Apache ist es dann einfach nur nen lokales Verzeichnis.
Ubuntu 8.04 | SMP P3 1.4 GHz | 6 GByte RegECC | 74 GByte Seagate 15k5 system | 3Ware 9550SXU-4LP with 4x 500 GByte Seagate ES2 Raid 10 data | StoreCase DE400 | PX-230A | Intel Pro/1000MT Dual PCI-X
User avatar
nemesis
AF Moderator
 
Posts: 999
Joined: 29. December 2002 13:14
Location: Ingolstadt

Postby alan_ford9 » 04. August 2004 15:20

Lieber nemesis

Zuerst einmal vielen Dank für Dein Vorschlag.

Die Netzwerklaufwerke sind eingebunden und wie schon geschrieben, funktioniert das ganze mit Apache 1.3 !

Natürlich muss Apache als Dienst unter einem User laufen, der Zugriffsrechte auf das entsprechende Netzwerklaufwerk hat!

Soweit so gut, weil ODBC bei beiden Apache Versionen funktioniert.

Nun scheint diese ALIAS Direktive in der Config Datei von Apache nicht mehr zu funktionieren!? Wenn man also die Aliase aus der Config Datei von Apache 1.3 zu Apache 2.0 übernimmt kann man im Browser nicht auf die Laufwerkordner zugreifen obwohl diese genau gleich eingebunden wurden wie unter Apache 1.3. Wenn man aber ALIAS so ändert dass er auf lokales Laufwerk zeigt (egal ob C:\ oder D:\) dann funktioniert es!

Mich hat schon damals gewundert, dass ich nichts zu diesem Thema im Internet gefunden habe! Es muss doch mindestens ein Dutzend Leute geben, die über Webserver auf verschiedene Netzwerklaufwerke zugreifen müssen.
Man denke nur an die Betriebsdokumentation, Exceltabellen usw. die man einem Besucher presentieren will (man wird kaumalle Dokumente duplizieren und somit redundante Daten schaffen)!

Schliesslich dachten wir es sei aus Sicherheitsgründen absichtlich so im Apache 2.0 gemacht, dass man auf externe Laufwerke (sprich Dokumente) über ALIAS nicht mehr zugreifen kann!
Nun muss ich jetzt dynamische Diagramme von über 200 Internen Scripts mit PHP erstellen, und diese Scripts sind logischerweise nicht auf dem WEBSERVER sondern irgendwo im Netzwerk!
Was ich jetzt machen muss ist jede Stundne diese über 200 Scripts mit einem Task vom Netzwerklaufwerk nach C:\ (Webserver) kopieren und dann dort auswerten!

DAS DARF DOCH NICHT SO KOMPLIZIERT SEIN !!!???

Für einen Hinweis , vielen Dank im Voraus.
alan_ford9
 
Posts: 11
Joined: 03. August 2004 08:48

Postby Wiedmann » 04. August 2004 16:11

Die Netzwerklaufwerke sind eingebunden

Das ist für einen Dienst ziemlich uninteressant, da es "eingebundene" Laufwerke erst nach der Anmeldung durch einen Benutzer in dem jeweiligen aktuellen Profil geben kann.

Natürlich muss Apache als Dienst unter einem User laufen, der Zugriffsrechte auf das entsprechende Netzwerklaufwerk hat!

Stimmt! Hast du das überprüft?

Nun scheint diese ALIAS Direktive in der Config Datei von Apache nicht mehr zu funktionieren!?

Und da findest du es geschickt, uns zu verschweigen, wie du den Alias definierst?

und diese Scripts sind logischerweise nicht auf dem WEBSERVER sondern irgendwo im Netzwerk!

Was ist da logisch? Logisch wäre, das die Scripts auf dem Webserver liegen und die Scripte sich jeweils ihren Daten aus dem LAN holen... Aber ist eigentlich egal.

BTW, Aliase funktionieren auch (nachwievor) mit SMB-Shares.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby alan_ford9 » 04. August 2004 17:20

Hallo Wiedmann

Vielen Dank auch für deine Antwort.

Das ist für einen Dienst ziemlich uninteressant, da es "eingebundene" Laufwerke erst nach der Anmeldung durch einen Benutzer in dem jeweiligen aktuellen Profil geben kann.


Natürlich ist das so. Sorry wenn ich mich unklar ausgedruckt habe.

Stimmt! Hast du das überprüft?


Hmmm wenn du es sagst! Hab gerade geschaut und es läuft blöderweise unter LOKALEM SYSTEMKONTO (der sehr wahrscheinlich keine Rechte auf unsere Netzwerklaufwerke hat).
Jetzt kann ich auch nicht behaupten dass es unter einem Bestimmten User gelaufen ist und doch keine Verbindung zum Netzwerk gab, weil es ziemlich her ist.
In jedem Fall müsste ich schon bei Apache 1.3 einen User definieren der Zugriff auf bestimmte Netzwerklaufwerke hat. Ich kann mir kaum vorstellen, dass ich dies nicht berücksichtigt habe.
Werde dann heute abend Webserver abschalten und versuchen ihn unter anderem Konto zu starten. Hoffe dass es dann geht :-)


Und da findest du es geschickt, uns zu verschweigen, wie du den Alias definierst?


#Alias /p/ "P:/CSI/RULES/"
#<Directory "P:/CSI/RULES">
# #Options Indexes MultiViews
# AllowOverride All
# Order allow,deny
# Allow from All
#</Directory>
#Alias /m/ "M:/"

Was ist da logisch? Logisch wäre, das die Scripts auf dem Webserver liegen und die Scripte sich jeweils ihren Daten aus dem LAN holen... Aber ist eigentlich egal.

Es handelt sich um Scripts die für die Generierung von Produktionsabläfen dienen. Dies hatabsolut nix mit einem WEBSERVER zu tun.
Damit ich nicht bei jeder Änderung im Produktionsablauf meine Programmierung mühsam dokumentieren muss, verwende ich seit jahren PHP der mir aus diesen Programmirscripts einfache Diagramme im Browser generiert. Somit hab dynamische Doku und eine grosse arbeit weniger zu tun :-)

PS: Diese Scripts werden von verschiedenen Clients verwendet und müssen sich an einem bestimmten Ort befinden. Ich könnte sie theoretisch auch auf Web verschieben, aber dann müssten alle Clients den Zugriff auf Web haben. Scriptengine müsste dann auch auf dem Web laufen und das will ich definitiv nicht (WEB ist WEB und kein Scriptframework Server).

Gruss
alan_ford9
 
Posts: 11
Joined: 03. August 2004 08:48

Postby Wiedmann » 04. August 2004 19:44

Hab gerade geschaut und es läuft blöderweise unter LOKALEM SYSTEMKONTO (der sehr wahrscheinlich keine Rechte auf unsere Netzwerklaufwerke hat).

Das mußt du dann natürlich ändern.
Diensteverwaltung --> Apache2 --> Eigenschaften --> Anmelden --> Dieses Konto
Der Benutzer den du bei "Dieses Konto" angibst, brauchts dann die Berechtigung um auf die Share zuzugreifen.

Alias /p/ "P:/CSI/RULES/"
<Directory "P:/CSI/RULES">
...
</Directory>

Alias /p/ "//computername/share/csi/rules/"
<Directory "//computername/share/csi/rules">
...
</Directory>
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

:-( geht nicht !

Postby alan_ford9 » 05. August 2004 08:03

:x

LEIDER GEHT ES NICHT !!!

ALSO folgendes:
Ich habe jetzt Apache unter dem gleichen User gestartet der am WEBSERVER angemeldet ist.

In der Config habe ich ALIAS definiert:
Code: Select all
Alias /rule/ "\\RULE_SERVER\PPS_VOL\CSI\RULES"
<Directory "\\RULE_SERVER\PPS_VOL\CSI\RULES">
    Options Indexes MultiViews
    AllowOverride All
    Order allow,deny
    Allow from All
</Directory>


Apache neu gestartet und Seite aufgerufe. Meldung:

Die Seite wurde nicht gefunden

Nun weniger schlim, ich muss eigentlich auf die TEXT Dateien zugreifen um sie aufzumachen, also versuche ich das mit meinem PHP Code:

Code: Select all
$fr=fopen("\\\\RULE_SERVER\\PPS_VOL\\CSI\\RULES\\Rules_2000_sid\\".$strLINK_RB.".irl", "r");


und erhalte die Meldung:

Warning: fopen(\\RULE_SERVER\PPS_VOL\CSI\RULES\Rules_2000_sid\RB_PA1A.irl): failed to open stream: No such file or directory in C:\root\REPORTS\Diagramme\RB.php on line 173

Nun kopiere ich die Datei auf Webserver nach C:\ und ändere den PHP Code:

Code: Select all
$fr=fopen("c:\\root\\REPORTS\\Diagramme\\".$strLINK_RB.".irl", "r");


und ES FUNKTIONIERT!

Wenn ich denn oberen UNC Pfad auf dem WEBSERVER im Explorer eingebe:

\\RULE_SERVER\PPS_VOL\CSI\RULES\Rules_2000_sid\RB_PA1A.irl

dann öffnet sich auch die Datei, also an Rechten kann es nicht liegen, sonst hätte ich sie im Explorer nicht öffnen können und der Apache läuft unter dem angemeldeten User!

Das gleiche habe ich alles auch mit direktem Pfad versucht (also z.B. P:\CSI\RULES\Rules_2000_sid\RB_PA1A.irl) und genau die gleichen Fehlermeldungen!

Zusammenfassung:
Weder kann ich ALIAS definieren, noch kann ich mit PHP eine Datei auf einem Netzwerklaufwerk öffnen, als ob Apache gar keien Verbindungen zu externen Laufwerken erlaubt!

Was mache ich den FALSCH ?

Danke
alan_ford9
 
Posts: 11
Joined: 03. August 2004 08:48

???

Postby alan_ford9 » 05. August 2004 11:08

Kann jemand probieren, ob man mit einem PHP Script eine Datei die sich auf einem Netzwerklaufwerk befindet, öffnen kann?

DANKE
alan_ford9
 
Posts: 11
Joined: 03. August 2004 08:48

Postby Wiedmann » 05. August 2004 14:41

alan_ford9 wrote:Alias /rule/ "\\RULE_SERVER\PPS_VOL\CSI\RULES"
<Directory "\\RULE_SERVER\PPS_VOL\CSI\RULES">
...
</Directory>

Wiedmann wrote:Alias /rule/ "//RULE_SERVER/PPS_VOL/CSI/RULES/"
<Directory "//RULE_SERVER/PPS_VOL/CSI/RULES">
...
</Directory>


alan_ford9 wrote:$fr=fopen("\\\\RULE_SERVER\\PPS_VOL\\CSI\\RULES\\Rules_2000_sid\\".$strLINK_RB.".irl", "r");



entweder:
$fr = fopen("\\\\RULE_SERVER\\PPS_VOL\\CSI\\RULES\\Rules_2000_sid\\".$strLINK_RB.".irl", "r");

oder:
$fr = fopen("//RULE_SERVER/PPS_VOL/CSI/RULES/Rules_2000_sid/".$strLINK_RB.".irl", "r");

also so wie du es eigentlich schon gemacht hast.

Warning: fopen(\\RULE_SERVER\PPS_VOL\CSI\RULES\Rules_2000_sid\RB_PA1A.irl):

Wenn dieser Pfad und Datei korrekt ist, dann hat PHP /Apache immer noch nicht die Rechte darauf zuzugreifen.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

re:

Postby alan_ford9 » 06. August 2004 08:13

Wenn dieser Pfad und Datei korrekt ist, dann hat PHP /Apache immer noch nicht die Rechte darauf zuzugreifen.


Eben um das auszuschliessen, habe ich APACHE DIENST unter angemeldetem User gestartet.

Also an der Workstation melde ich mit dem Novell User DEVLOPER an. Diesen User habe ich auch im Windows 2000 erstellt und beim Apache Dienst habe ich bei der ANMELDUNG diesen User DEVELOPER auch ausgewählt und den Passwort eingegeben.
Ich konnte den Dienst danach starten, also war die Anmeldung für DEVELOPER erfolgreich!

Auch wenn ich die Dateien auf dem Netzwerklaufwerk öffnen möchte, geht das!
Ich vermutete vorerst dass der Pfad vielleicht nicht stimmt, aber wenn ich den Pfad

\\RULE_SERVER\PPS_VOL\CSI\RULES\Rules_2000_sid\RB_PA1A.irl

aus der Fehlermeldung kopiere und auf dem Webserver im Explorer eingebe und ENTER drucke, dann öffnet er mir schön und brav die angefordete Datei. Also stimmt auch der Pfad zu dieser Datei!

Was ist eigentlich das Problem, dass PHP diese Datei nicht öffnen kann? Liegt es doch am Apache?
alan_ford9
 
Posts: 11
Joined: 03. August 2004 08:48

Postby Wiedmann » 06. August 2004 15:52

Also an der Workstation melde ich mit dem Novell User DEVLOPER an. Diesen User habe ich auch im Windows 2000 erstellt und beim Apache Dienst habe ich bei der ANMELDUNG diesen User DEVELOPER auch ausgewählt und den Passwort eingegeben.

Wenn du an deiner W2K-Worstation einen lokalen Benutzer "DEVLOPER" einrichtest, ist dies ein anderere Benutzer, als der Benutzer "DEVLOPER" der sich am NDS anmeldet.

Auf dem "RULE_SERVER" hat aber der NDS-Benutzer "DEVLOPER" zugriff und nicht dein lokaler Benutzer "DEVLOPER".

2 Lösungen:
1. du richtest auf dem "RULE_SERVER" auch einen lokalen Benutzer "DEVLOPER" ein.
2. du startest den Dienst mit dem NDS-Benutzer "DEVLOPER" und nicht mit einem lokal eingerichteten Benutzer "DEVLOPER" (bin mir jetzt aber nicht sicher, ob das mit deinem Novell-Client geht. (hab bei Novell mit Version 4.1 aufgehört)).

Ein fopen mit einem UNC-Pfad funktioniert ansonsten definitiv!
Ein fopen mit einem Laufwerksbuchstaben von einem gemappten Laufwerk, funktioniert auf jeden Fall nicht!, wenn der Apache als Dienst läuft. Wenn, dann muß der Apache in diesem Fall über die Batchdatei als Konsolenanwendung gestartet werden, damit das tut.

Ebenso wie bei den Aliasen. Funktioniert der jetzt bei dir?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

RE:

Postby alan_ford9 » 09. August 2004 10:23

Das hört sich jetzt schon viel versprechender an.

Ich werde heute meinem Lehrling die Aufgabe geben, weil ich ab Mitwoch im Urlaub bin und im Moment einige andere Sachen erledigen muss.

Falls es bis dann läuft, werde ich darüber Berichten, ansonst wenn ich zurück von den Ferien bin.

PS: Denke dass es sinnvoll ist solche Sache vollständig zu verfolgenm, weil irgendeiner wird das Problem auch mal haben und ist dann froh wenn er deine Lösung lesen kan bzw. ob dein Vorschlag richtig war.

An dieser Stelle möchte ich Dir noch einmal danken und hoffen dass es diesmal wirklich funktioniert.
(Hab vorübergehend auf dem MS SQL über SQL Agent eine SP generiert, die mir periodisch alle Scripts auf C:\ kopiert).

Gruss
und einen guten Start in die neue Woche.
alan_ford9
 
Posts: 11
Joined: 03. August 2004 08:48

RE:

Postby alan_ford9 » 10. August 2004 08:12

So, das geht so bei uns definitiv NICHT!

Es ist so wie du es geschrieben hast, man müsste auf dem Fileserver auch einen Lokalenuser einrichten, nun da es sich nicht um Windowsserver sondern NETWARE handelt, ist dies eOption nicht möglich.

Umgekehrt kann man beim Apache Dienst auf dem Windwos Server nicht unter NETWARE User starten.

Nun wenn man Windows User hat der auf Netware zugreifen will, funktioniert das nicht egal ob der gleichen Passwort hat oder nicht! Das haben wir gemerkt als nach 3 Versuche auf den File zu zugreifen, unser Konto gesperrt wurde. Das kann eben nur bedeuten, dass der Apache sich doch nicht Anmelden konnte, obwoh der Lokale Windowsuser der gleiche war wie in Netware so wie sein Passwort.

Wir werden dienst abstellen und Apache als Konsole starten. Die Idee mit dem Dienst war, dass man PC Abmelden kann und somit Fernwartung machen kann. Wenn Apache als Konsole läuft, darf der PC nie abgemeldet sein, da sonst Webserver nicht mehr erreichbar wäre.

Vielen Dank noch einmal für alle Vorschläge und ich hoffe, dies hilft eventuell auch anderen weiter. Falls es doch bessere Lösungen gibt, bin ich in jedem Fall froh sie hier wieder zu finden.

Gruss
alan_ford9
 
Posts: 11
Joined: 03. August 2004 08:48

Postby Wiedmann » 10. August 2004 09:21

Also wenn dein Lehrling noch was zu tun braucht ... *g*

Prinzipiell sollte das ja gehen. Hmmm. Hast du schon versucht auf deinem Client einen anderen Novell-Client zu installieren, evtl. einen älteren von Novell oder einen von Microsoft.

Zum nachlesen hab ich noch folgendes für dich:
http://support.novell.com/cgi-bin/searc ... 061157.htm

(BTW. Je nach Version önntest du ja auch direkt auf dem Novell - Server einen Webserver laufen lassen.)
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Next

Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 7 guests