php_admin_value open_basedir - expernes Verzeichnis :?:

Alles, was den Apache betrifft, kann hier besprochen werden.

php_admin_value open_basedir - expernes Verzeichnis :?:

Postby Toshy » 07. August 2022 16:35

[*** Wie mache ich das externe PHP-Scriptverzeichnis erreichebar für Domainzugriffe? (umleitung? Alias?)
*** Wie gebe ich innerhalb der httpd.conf entsprechende rechte damit nicht Zugriffsfehler wie "Forbidden - You don't have permission to "access this resource." Erscheinen.
Das Zusammenspiel verstehe ich noch nicht ganz.]

Guten Tag.

Ich bin auf euer Forum gestoßen.
Ich bin Neuling bezüglich Apache2 und php, prinzipiell alleridings nicht blöd, nur unerfahren und dem Englischen nicht wirklich mächtig.

Nach Tagen Suchen und Probieren ist mir die Lebenzeit wirklich zu schade und ich hoffe ihr könnt mir kurz etwas erklären.

Vorab:
Nur um erst lokal, dann für enige Bekannte einige kleine Onlinewerkzeuge einzurichten und gemeinschaftlich zu arbeiten hatte ich z.b. "USBWebserver" und andere Software genutz zum Probieren. Klappt soweit auch.
Nur wollte ich nun testen, wie man das anpaßt bzw. selbst alles einrichtet.

Nun habe ich den Apache2 und php prinzipiell zum laufen bekommen.
* Windows 10.
* lokale installation
* Verzeichnisse verteilt über mehrere Festplatten
* Zugriff über lokalhost und später weitergeleite Domain bzw. dyndns.
* originale httpd.conf wird ein wenig angepaßt
* php8 als modul aktiviere
* Aktuell nur localhost bzw. eine dyndns domain führt zu dem server, demnächst aber zwei ode drei.

Ich habe nun das PHP-Scriptverzeichnis aus dem apache2 document root raus genommen.

1. es sollen im normalen "html"-Verzeichnis keine Scripte ausführbar sein.
Wie kann ich das genau und sicher komplett machen
2. php-Scripverzeichnis liegt z.b. auf "d:/php-Scripte"

in der httpd.conf habe ich u.a. das eingefügt:
(getestet mit und ohne abschließendes slash)

<IfModule php_module>

# php_admin_flag engine on
# php_admin_flag safe_mode On

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
php_admin_value open_basedir "d:/php-Scripte"

</IfModule>

Dadurch werden wohl zumindest die phps nicht mehr im "Html"-Stammverzeichnis (document root vom apache2) ausgeführt.

Problem ist nur, wie erreiche ich nun per Domain diesese Scripte?

auf "http://localhost/index.php" findet der Server nun ja nichts mehr.

*** Wie mache ich das externe PHP-Scriptverzeichnis erreichebar für Domainzugriffe? (umleitung? Alias?)
*** Wie gebe ich innerhalb der httpd.conf entsprechende rechte damit nicht Zugriffsfehler wie "Forbidden - You don't have permission to "access this resource." Erscheinen.

Das Zusammenspiel verstehe ich noch nicht ganz.

Ich hoffe ihr könnt mir helfen. Ich suche und probiere hier seit Tagen die Nerven blank.

Gruß
Toshy
Toshy
 
Posts: 4
Joined: 07. August 2022 16:02
XAMPP version: keine
Operating System: Windows 10

Re: php_admin_value open_basedir - expernes Verzeichnis :?:

Postby Toshy » 07. August 2022 19:41

OT:
Da ich neu in diesem Forum bin:
Kann ich meinen Beitrag nachträglich nicht ändern? Oder wo finde ich den Link dazu?
Ich wollte meinen Titel ausbessern.

Toshy.

Ich sehe gerade, bei dieser Antwort geht es, allerdings nicht bei meinem Startbeitrag. Habe ich einen Fehler gemacht beim Absenden, so daß dies nicht möglich ist?
Toshy
 
Posts: 4
Joined: 07. August 2022 16:02
XAMPP version: keine
Operating System: Windows 10

Re: php_admin_value open_basedir - expernes Verzeichnis :?:

Postby Altrea » 07. August 2022 20:25

Toshy wrote:OT:
Da ich neu in diesem Forum bin:
Kann ich meinen Beitrag nachträglich nicht ändern? Oder wo finde ich den Link dazu?
Ich wollte meinen Titel ausbessern.

Toshy.

Ich sehe gerade, bei dieser Antwort geht es, allerdings nicht bei meinem Startbeitrag. Habe ich einen Fehler gemacht beim Absenden, so daß dies nicht möglich ist?

Das nachträgliche Verändern von Beitragsinhalten ist hier im Forum nur für 120 Minuten nach Erstellung freigeschaltet.
Das ist eine von mehreren Maßnahme zur Spamreduzierung.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11926
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64

Re: php_admin_value open_basedir - expernes Verzeichnis :?:

Postby Nobbie » 07. August 2022 20:42

Toshy wrote:Nach Tagen Suchen und Probieren ist mir die Lebenzeit wirklich zu schade und ich hoffe ihr könnt mir kurz etwas erklären.


Schrill! Du meinst also, es wäre besser, wenn wir unsere Lebenszeit opfern, Dir die Zusammenhänge zu erklären, weil unsere Lebenszeit nicht so schade ist wie Deine? Oder wie oder was?

Apache konfigurieren ist eine anspruchsvolle Aufgabe, jeder hier, der Apache konifgurieren kann, musste dafür erhebliche Lebenszeit aufwenden, um die Zusammenhänge zu lernen. Das ist eben so. Das werden wir hier auch nicht ändern, ich denke nicht, dass jemand die Muße und Lust hat, Dir diesen Aufwand auf Kosten seiner Lebenszeit abzunehmen.

Zur Sache selbst: wer verstehst Du unter einem PHP.Scriptverzeichnis und wieso möchtest Du nicht, dass die Script im gleichen Verzeichnis wie die HTML Dateien liegen und dort auch ausgeführt werden? Das ist ein sehr ungewöhnliches und krudes Konzept, welcher Sinn verbirgt sich dahinter?
Nobbie
 
Posts: 13165
Joined: 09. March 2008 13:04

Re: php_admin_value open_basedir - expernes Verzeichnis :?:

Postby Toshy » 07. August 2022 22:32

Habe meinen anderen Text her weg gelöscht. Das wäre eine Diskussion über Nebensächlichkeiten die nicht helfen das Thema zu besprechen.
Daher wie ich oben beschrieb, hier noch mal eine Frage (der einzige Teil der stehen bleibt aus dem alten Text) den ich so auf deutschsprachigen Seiten nicht erklärt fand. Mag es geben, habe es nicht gefunden.

"Wenn man mit open_basedir auf ein außerhalb des httml-hauptverzeichnisses liegendes lokales Verzeinis verweist, was muß man dann noch einfügen um dem Apache zu sagen, das ein URL aufruf auch dahin umgeleitet wird und man dem Dateizugriff und Internetzugriff innerhalb der httpd.conf gestattet".

"d:/php-Scripte" bezeichnet einfach nur das Verzeichnis mit den Ausführbaren *.php dateien und ist ein Arbeitsname zum testen für mich.

[https://www.google.com/search?q=open_basedir++external+directory leider selten etwas auf deutsch, daher bringt mir das durcharbeiten der Fragen nur wenig. Existieren tut dies Anliegen allerdings wohl schon von beginn an.]
Toshy
 
Posts: 4
Joined: 07. August 2022 16:02
XAMPP version: keine
Operating System: Windows 10

Re: php_admin_value open_basedir - expernes Verzeichnis :?:

Postby Nobbie » 08. August 2022 09:44

www.deepl.com ist ein hervorragender Übersetzer, der auch technische Texte fließend in gutes Deutsch übersetzen kann. Damit kannst Du also auch Englische Texte usw. verstehen.

Wozu möchtest open_basedir benutzen? Das ist eine uralte Krücke und zudem nicht einmal sichere Lösung für das (einzige) Problem, wenn man seine PHP Scripte auf einem Shared Server in einer Umgebung speichert, auf der auch andere User Dateizugriff haben. Kann ich nicht empfehlen.

Es gibt schon lange viel bessere Lösungen (virtuelle Umgebungen) und ohnehin ist es für eigene Server vollkommen sinnfrei.

Den Zugriff von Apache auf Dateien außerhalb des DocumentRoots kann man mit ALIAS steuern, die Rechte des Zugriffs mit Require. Beides findest Du in der Apache Dokumentation unter diesen Stichworten.
Nobbie
 
Posts: 13165
Joined: 09. March 2008 13:04

Re: php_admin_value open_basedir - expernes Verzeichnis :?:

Postby Toshy » 08. August 2022 17:07

Danke.

Also wirklich mit Alias. Damit versuche ich es schon, muß nur noch das Zusammenspiel verstehen.

Ich will aktuell nichts weiter als das *.php's nicht in dem Verzeichnis des "HTML"-Verzeicnisses liegen. Damit geht es halt.

"Repuire" hatte ich bisher noch nicht genutzt, weil nicht verstanden.
Vor allem weil im Grunde auf allen Beispielseiten, erklärungen in dem Zusammenhang immer

AllowOverride [None]
order [allow,deny]
allow [from all]

(Allowoverride, order, allow; bzw. die entgegengesetzen Anweisungen)

nutzen innerhalb dieses "Directory" oder "localation" Tags.
Hatte ich das jetzt aber einfach an der stelle genutzt an der ich basedir nutze (eingefügt in die originale httpd.conf), meckerte der server beim start und lies sich nicht starten bzw. ich konnte nur AllowOverride nutzen, nicht die Anderen Anweisungen).

Dann werde ich mir das mal mit "Require" in dem zusammenhang raussuchen.

Weiterhin:
Ich will ja aktuell nur ein einigen "Host" zum laufen bringen, ist es dann sinnvoll gleich von Anfang an einen "Virtuallhost" in die .conf einzufügen und gleich damit zu arbeiten? (und darin dann dieses open_basedir, das ich aktuell halt verwenden möchte.)

Ich wollte halt anfangs ohne dies testen, damit ich zumindest die einfachste "oberste" Ebene verstehe. Ist ja nicht für Riesenprojekte und für Laeien denen sogar noch USBWebserver und die anderen Server der Art zu viel sind.

Danke bisher. Dann schaue ich mal.

Nur habe ich ge
Toshy
 
Posts: 4
Joined: 07. August 2022 16:02
XAMPP version: keine
Operating System: Windows 10

Re: php_admin_value open_basedir - expernes Verzeichnis :?:

Postby Nobbie » 08. August 2022 17:19

Wieso liest Du Dir nicht die Dokumentation durch, statt (sinnlos) einfach irgendwelche Anweisungen irgendwo einzufügen? AllowOverride beispielsweise hat Nullkommanull mit Dateirechten zu tun und was willst Du damit erreichen? Allow und Order sind die veralteten Anweisungen, die findest Du in den veralteten Tutorials. Heute wird Require benutzt (seit Apache 2.3 oder 2.4). Auch Require ist (wie alles) sehr gut dokumentiert.
Nobbie
 
Posts: 13165
Joined: 09. March 2008 13:04


Return to Apache

Who is online

Users browsing this forum: No registered users and 224 guests