PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : http://localhost/ und wie weiter?



fritzl7
31.05.17, 19:40
apache2 und php7 sind installiert (apache2ctl -M liefert u.a. php7_module ( shared ) )
und
21223
aber http://localhost/home/fritz/....
bleibt erfolglos.
ich habe mich durch
https://doc.opensuse.org/documentation/leap/reference/html/book.opensuse.reference/cha.apache2.html#sec.apache2.configuration.yast
durchgewühlt
wußte aber nicht, wie was zu ändern und ließ es. ( yast bietet auch nur php5 aktivierbar an )

Dukel
31.05.17, 21:00
Hast du deine Webseite / Webapplikation in das html Verzeichnis von Apache gelegt (vermutlich /var/www/html).
Was soll bei home/fritz kommen? Was ist dein Ziel?

fritzl7
31.05.17, 21:10
/home/fritz/ ... ist der Pfad zu der (php)Seite die ich angezeigt haben will /var/www existiert nicht.

fritzl7
31.05.17, 21:43
allerdings existiert /srv/www und dort enhtält htdocs die index.html die "It works" anzeigt

nopes
31.05.17, 23:51
ja dann änder die Seite doch einfach, statt "It works" kannst du zB "Es klappt" anzeigen lassen, der Rest sollte sich dann ergeben...

marce
01.06.17, 08:33
Du kannst Apache keine absoluten Verzeichnisse per http übergeben - das geht alles vom DocRoot aus.

Also entweder DocRoot anpassen, einen passenden VHost anlegen (auch hier wieder mit DocRoot) oder sowas wie mod_userdir verwenden.

Kurz gesagt: Doku lesen.

fritzl7
01.06.17, 08:37
hmm würdest Du bitte "..." mal genauer ausführen?
/svr braucht nämlich root - ok, hab ich mir verschafft, index.html in index.php umbenannt und den Inhalt auf


<!DOCTYPE HTML>
<html><body><h1>It works!</h1><br
>
<?php
phpinfo();
?>
</body>
</html>

geändert und das klappt wie erwartet - aber muß ich mich jetzt immer als root arbeiten ?

fritzl7
01.06.17, 10:08
8:37 war an nopes 23:51

@marce :

a2enmod mod_userdir
verhalf

http://localhost/$HOME/AktTAgNtz/POPUP/t.php
leider nicht zu Erfolg

marce
01.06.17, 10:20
Tja, die URL sollte man schon richtig wählen.

DOKU LESEN.

nopes
01.06.17, 10:31
Nein du musst nicht ständig als root. Da gibt es mehrere Wege...

fritzl7
01.06.17, 12:54
@marce
wo URL richtig wählen und was ist falsch;
DOKU LESEN: meinst Du
http://httpd.apache.org/docs/2.4/mod/mod_userdir.html
macht mich auch nicht schlauer
@nopes:

Nein du musst nicht ständig als root. Da gibt es mehrere Wege...
? und zwar ?
( konkretes Beispiel wäre nett )

nopes
01.06.17, 13:01
https://askubuntu.com/questions/19898/whats-the-simplest-way-to-edit-and-add-files-to-var-www

marce
01.06.17, 13:03
@marce
wo URL richtig wählen und was ist falsch;
DOKU LESEN: meinst Du
http://httpd.apache.org/docs/2.4/mod/mod_userdir.html
macht mich auch nicht schlauer

Hm, 1. Zeile der verlinkten Doku:

Summary

This module allows user-specific directories to be accessed using the http://example.com/~user/ syntax.

Dukel
01.06.17, 13:29
Nochmal die Frage: Was ist denn überhaupt dein Ziel? Was willst du erreichen?

fritzl7
01.06.17, 14:17
@Duke:
ich will lokal php werwenden können . Für Dateieien die kein php enthalten gibt man da eben dem Browser die url file:///...

Dukel
01.06.17, 14:42
Und wo ist dann dein Problem? Php läuft doch. Siehe index.php, die du erstellt hast.

fritzl7
01.06.17, 14:52
ja, aber nur als wenn sie in
/srv/www/htdocs/
liegt und index.php ist und dann vom Browser als localhost aufgerufen wird . Und außerdem "gehört" sie root.

marce
01.06.17, 14:52
Das Problem scheint im grundlegenden Verständnis zu liegen, wie Browser, Webserver und PHP zusammenspielen - und wie der Webserver zu konfigurieren ist.

-> "lokal ausführen" - also direktes PHP ausführen - mach man in der Konsole.
-> file://-URL führt kein PHP aus.
-> Damit der Webserver PHP ausführt, muss ihm als Request die passende URL gegeben werden - die hat per se nichts mit dem Pfad auf dem Dateisystem zu tun sondern wird von der Server-Konfig aus der URL auf ein Dateisystem-Pfad gemappt. Sprich man muss den Webserver passend konfigurieren.

fritzl7
01.06.17, 15:18
Danke für Deine redliche Mühe marce,
leider hat's mit noch nicht geholfen.
Um
php von Konsole aus geht's mir natürlich nicht
sonder um kofigurieren:
Und
wie geht das konkret - ohne Verweise . Vielleicht doch mit yast ?

fritzl7
01.06.17, 22:57
Meine vorläufige Lösung:
ich
habe, unter /srv/www/htdocs,
einen Ordner "php" angelegt, mich zu seinem Eigentümer mit Schreibrechten gemacht, ihn der Gruppe "users" zugeordnet,
und schließlich in einen ordner in meinem Homedirektory gelinkt.
in /home/fritz/php
kann ich nun Dateien eintragen, und mit
http://localhost/php/dateiname... aufrufen,
da funktioniert dann auch php.

nopes
01.06.17, 23:32
Schau an, Standard Lösung ;) - wirklich nicht böse gemeint; willkommen

marce
02.06.17, 07:00
Sagen wir besser "Standard-Bastel-Lösung".

Standard wäre ein Alias oder eben mod_userdir - "gehobener Standard" wäre ein VirtualHost.

nopes
03.06.17, 01:00
Ich trau mich mal und sag mal ein klares jein, klar vhosts sind sinnvoll - was anderes will ich damit nicht sagen

Wiederum, fummelt man sich weiteren Code rein, den man nicht wirklich braucht, weil Linux Bordmittel das schon möglich machen. Ich finde die Lösung auch ziemlich ehrlich und auch einfach nachzuvollziehen. Geht natürlich nur bis zu einem gewissen Grad, schon klar das Profis den "gehobenen Standard" bevorzugen. Jedenfalls valide ist es und der Bedarf nach einem gehobenen Standard ergibt sich dann, oder eben auch nicht - jein halt ;)

florian0285
03.06.17, 11:35
Ich wäre auch kein Fan davon dem Apache-User Zugriff auf mein Homeverzeicnis zu geben und dabei ausführbaren PHP-Code laufen zu lassen.

Deswegen würde ich den Prozess auch weitestgehend in seinem DocRoot in /var halten. Unabhängig davon ob Apache dafür module oder vhosts anbietet.

Ergänzend würde ich "mount --bind" noch erwähnen.