httpd und php installieren

R

ralli

Guest
Nachdem ich dokuwiki unter FreeBSD zum Laufen gebracht habe, möchte ich es jetzt auch unter OpenBSD versuchen. Im ersten Schritt soll zunächst mal der OpenBSD eigene Webserver httpd laufen mit php. Wenn das funktioniert, möchte ich später dokuwiki installieren.

Unter OpenBSD ist doch einiges anders, so das ich neu anfangen muß.

Im Netz findet sich nicht viel, aber dieses habe ich gefunden:


php installieren

pkg_add php

Frage:

Beinhaltet das Paket php auch php56_fpm?

gewählte option : 5 (nicht ap2 version). rscripts sind installiert : /etc/rc.d/php56_fpm

Frage: Welche rscripts müssen für den Betrieb von httpd und php56_fpm installiert werden?

Was muß ich in die /etc/rc.conf.local eintragen, damit der Webserver httpd und php automatisch gestartet werden?

Server stoppen

/etc/rc.d/httpd stop

Konfiguration /etc/httpd.conf

Code:

ext_if="egress"
types { include "/usr/share/misc/mime.types" }
server "default" {
listen on $ext_if port 80
directory {index "index.php" }
location "/*.php*" {
root { "/htdocs" }
fastcgi socket "/run/php-fpm.sock"
}
location "/*" {
root { "/htdocs" }
}
}

Ist das so richtig? Kann ich das so übernehmen?

Zum Überprüfen möchte ich eine index.php mit phpinfo() erstellen, wohin muß die kopiert werden?

etc/rc.d/php56_fpm start

Startet was? Wahrscheinlich php?

Nun dies wird wohl den Webserver starten:

etc/rc.d/httpd start

Was muß ich im Browser eingeben, um den Webserver zu starten?

Wie gewohnt http://localhost ?

Schon mal ein vorauseilendes Danke!:)
 
Nachdem ich dokuwiki unter FreeBSD zum Laufen gebracht habe, möchte ich es jetzt auch unter OpenBSD versuchen. Im ersten Schritt soll zunächst mal der OpenBSD eigene Webserver httpd laufen mit php. Wenn das funktioniert, möchte ich später dokuwiki installieren.

Unter OpenBSD ist doch einiges anders, so das ich neu anfangen muß.

Im Netz findet sich nicht viel, aber dieses habe ich gefunden:


php installieren

pkg_add php

Frage:

Beinhaltet das Paket php auch php56_fpm?

Ja, php_fpm wird automatisch mit php installiert.

gewählte option : 5 (nicht ap2 version). rscripts sind installiert : /etc/rc.d/php56_fpm

Frage: Welche rscripts müssen für den Betrieb von httpd und php56_fpm installiert werden?

Was muß ich in die /etc/rc.conf.local eintragen, damit der Webserver httpd und php automatisch gestartet werden?

Code:
# rcctl enable php56_fpm httpd

Traegt den httpd und php56_fpm dann automatisch in die /etc/rc.conf.local ein. Dann wird es automatisch beim booten gestartet.

Siehe auch: /usr/local/share/doc/pkg-readmes/php-5*

Vor allem die modules solltest Du noch linken, wie in der readme beschrieben.

Server stoppen

/etc/rc.d/httpd stop

Konfiguration /etc/httpd.conf

Code:

ext_if="egress"
types { include "/usr/share/misc/mime.types" }
server "default" {
listen on $ext_if port 80
directory {index "index.php" }
location "/*.php*" {
root { "/htdocs" }
fastcgi socket "/run/php-fpm.sock"
}
location "/*" {
root { "/htdocs" }
}
}

Ist das so richtig? Kann ich das so übernehmen?
Nein, Du hast 2x den document root gesetzt.

Machs lieber so:
Code:
server "default" {
    listen on *  port 80
    directory index "index.php"
    location "*.php" {
        fastcgi socket "/run/php-fpm.sock"
    }
    root "/htdocs"
}



Zum Überprüfen möchte ich eine index.php mit phpinfo() erstellen, wohin muß die kopiert werden?

etc/rc.d/php56_fpm start

Startet was? Wahrscheinlich php?

Nun dies wird wohl den Webserver starten:

etc/rc.d/httpd start

Was muß ich im Browser eingeben, um den Webserver zu starten?

Wie gewohnt http://localhost ?

Schon mal ein vorauseilendes Danke!:)

Einfach die index.php in /var/www/htdocs kopieren. Dann mit http://localhost aufrufen.
 
Hallo @midnight, wunderbar, danke, ich bin begeistert.:) Morgen werde ich ans Werk gehen. Freue mich auch schon, wenn die 6.3 releast wird. Na ich bin gespannt, ob ich das hin bekomme. Im Netz war wenig zu finden, und das wenige war ziemlich widersprüchlich, so das ich hier um Hilfe gebeten habe. Bin ja in Sachen OpenBSD noch ein Novice, aber langsam wird es. Mein Ziel ist es, auch in unserem Wiki einiges über OpenBSD beizutragen, damit andere auch davon profitieren.

Also nochmals danke und schönen Abend @midnight , für heute ist Feierabend... :)
 
Mit pkg_add dokuwiki wurde dokuwiki nach /var/www/dokuwiki installiert.

Jetzt habe ich den dokuwiki Installer aufgerufen mit:

http://localhost/dokuwiki/install.php

und bekomme die Meldung: Access denied.

Muß ich dokuwiki nun umkopieren nach /var/www/htdocs?

Oder die Rechte ändern und wenn wie?

Danke!
 
Hab jetzt noch den user ralph in /etc/group/ zur Gruppe www hinzugefügt, aber der Zugriff wird immer noch verweigert. Irgendwie habe ich hier ein Verständnisproblem. Müssen jedes Mal, wenn etwas unter /var/www installiert wurde, dafür neue Rechte gesetzt und vergeben werden?
 
Und zu guter letzt habe ich die Rechte geändert mit:

chown -R www:www /var/www/dokuwiki

Hat aber leider auch nichts gebracht.
 
Die Gruppe www ist nicht dafür da, dass ein normaler Nutzer sie bekommt, sondern ist die Gruppe und Benutzer mit der der Webserver läuft.
Der Webserver wird im Allgemeinen vom System mit root-Rechten gestartet. Den will man aber natürlich nicht mit den Rechten laufen lassen.Also droppt der Webserver seine Root-Rechte und nimmt statt dessen weniger privilegierte Rechte an. Und genau dazu gibt es www, denn mit den Rechten läuft er dann. Du willst ja nicht, dass ein vagabundierender Webserver root-Rechte in deinem System hat.

Du hast da ne Documentroot festgelegt. Da hinein müssen deine Dateien die du anbieten willst.
Da der Webserver als www:www läuft müssen die Dateien halt von genau diesem gelesen werden können (für automatische Konfigurationen oder speichern von Dateien auch geschrieben).
Das was ob deiner Documentroot liegt erreichst du mit http://localhost
Alle Unterverzeichnisse gehen dann von da ab. Stell dir das wie ein chroot vor.

Ich kenne httpd nicht aber da steht ne Documentroot von /htdocs
da müssen deine Dateien rein. Oder sperrt der httpd vorher irgendwo in /var/www ein?

Das sollte aber in der manoage stehen
 
http://php.net/manual/de/install.unix.openbsd.php
httpd liegt in einer chroot auf /var/www , somit musst du alle Bedürfnisse von php in /var/www befriedigen :)

Hab keine Ahnung von php, aber ich schätze mal, dass genau hier dein "Problem" liegt.

Hab jetzt noch den user ralph in /etc/group/ zur Gruppe www hinzugefügt, aber der Zugriff wird immer noch verweigert.
Die Fehermeldung könnte hier entscheident sein

Ich kenne httpd nicht aber da steht ne Documentroot von /htdocs
da müssen deine Dateien rein. Oder sperrt der httpd vorher irgendwo in /var/www ein?
chroot auf /var/www
 
Ohne es jetzt ausprobiert zu haben, koenntetst Du evtl. die config wie folgt erweitern:

Code:
server "default" {
    listen on * port 80
    directory index "index.php"

    location "*.php" {
        fastcgi socket "/run/php-fpm.sock"
    }

    location "/dokuwiki/*" {
        root "/dokuwiki"
    }

    root "/htdocs"
}

Danach den httpd mit "rcctl restart httpd" neu starten, damit die neue config geladen wird. Nun sollte das Wiki mit http://localhost/dokuwiki aufgerufen werden koennen.
 
Hab jetzt noch den user ralph in /etc/group/ zur Gruppe www hinzugefügt,
Was willst du damit erreichen? Läuft denn ein Dienst im Kontext dieses Benutzers oder möchtest du als dieser Nutzer auf Dateien zugreifen, die www gehören? Wenn beides verneint werden kann, führt die Inklusion deines Benutzers in die Gruppe www zu nichts.

Der Zugriff mittels Browser auf den Webserver (bzw. die Dateien, die der Webserver bereitstellen soll) hat damit nichts zu tun. Dafür ist ausschließlich der Kontext des Webservers von Bedeutung.

Rob
 
Der Zugriff mittels Browser auf den Webserver (bzw. die Dateien, die der Webserver bereitstellen soll) hat damit nichts zu tun. Dafür ist ausschließlich der Kontext des Webservers von Bedeutung.
Danke für die Aufklärung. Natürlich habe ich es geändert.
 
Zuletzt bearbeitet von einem Moderator:
Und hier kommt die Lösung:

Ich habe den Ordner dokuwiki samt seiner Unterordner ins Verzeichnis htdocs kopiert und dann im Ordner dokuwiki die Ordner data und conf beschreibbar gemacht. Jetzt funktioniert es.:)
 
Kleiner Nachtrag, ich muß in der Gruppe www bleiben, sonst kann ich nicht auf meine Cloud bei 1und1 zugreifen.

Natürlich danke ich allen, die sich hier eingebracht und mich unterstützt haben.:)
 
Kleiner Nachtrag, ich muß in der Gruppe www bleiben, sonst kann ich nicht auf meine Cloud bei 1und1 zugreifen.

Kannst du das näher erläutern? Die Gruppe ist nur für dein System interessant, was soll ein beliebiger Cloud-Dienst damit zu tun haben?
Zwischen deinem Browser/Client und dem Dienst findet keine Übertragung deiner Gruppenmitgliedschaft statt.

Rob
 
Kannst du das näher erläutern? Die Gruppe ist nur für dein System interessant, was soll ein beliebiger Cloud-Dienst damit zu tun haben?
Zwischen deinem Browser/Client und dem Dienst findet keine Übertragung deiner Gruppenmitgliedschaft statt.
Nein, das kann ich nicht. Fakt ist aber, das wenn ich als User ralph nicht in der Gruppe www bin, nicht mit dem Dateimanager Thunar mittels davs://sd2dav.1und1.de auf meine Cloud zugreifen kann. Habe ich mich als User ralph der Gruppe www hinzugefügt, dann funktioniert es. Deshalb kann ich nicht darauf verzichten. Erklären kann ich das nicht, dafür fehlt mir das Wissen. Aber vielleicht kann das möglicherweise einer unserer "Experten".
 
Du hast dich heute morgen erst in die Gruppe eingeschrieben. Ich nehme an, dass das Einbinden deiner Cloud bereits vorher funktionierte?
Versteh das bitte nicht falsch, ich sehe hier nur wieder mal ein Frickeln an zu vielen Knöpfen gleichzeitig und die damit verbundene Verwirrung.

Rob
 
Das hat leider nicht funktioniert.

Schade. War dennoch einen Versuch wert. :-)

Willst Du nur das dokuwiki betreiben, oder auch noch andere tools?

Falls nur das dokuwiki, haette es gereicht, den root entsprechend anzupassen:

Code:
server "default" {
     listen on * port 80
     directory index "index.php"
     location "*.php" {
         fastcgi socket "/run/php-fpm.sock"
     }
     root "/dokuwiki"
}

Aufrufen kannst Du das Wiki dann mit obiger config unter http://localhost

Das haette auch den Vorteil, das bei kommenden Updates nicht jedes Mal das directory von /var/www/dokuwiki nach /var/www/htdocs/ kopiert werden muss.

Da beides jedoch im chroot des httpd liegt, haette es mit der alten config auch funktioniert, einen link von /var/www/dokuwiki nach /var/www/htdocs/dokuwiki zu setzen. Wie auch immer: schoen, dass es nun funktioniert.
 
Hallo @midnight, ich habe Deiner httpd.conf den Vorzug gegeben und das Dokumentenroot geändert. Danach habe ich dokuwiki nach meiner Version gelöscht und neu installiert. Nun funktioniert alles so, wie es sein soll.:) Meine Version hatte nämlich noch eine Macke, die Buttons über der zu bearbeitenden Seite hatten keine Icons und die Icons rechts (wie Seite bearbeiten) fehlten auch. Das ist jetzt behoben. Im übrigen, wenn ich irgendwas mit php machen oder probieren möchte, geht das auch innerhalb von dokuwiki, was nach entsprechender Konfiguration auch html und php verarbeitet. Danke, es war einfacher als ich dachte. Manchmal beschleicht mich der Eindruck, das oft zu kompliziert gedacht wird, dabei folgt doch alles einer einfachen inneren Logik.
 
Du hast dich heute morgen erst in die Gruppe eingeschrieben. Ich nehme an, dass das Einbinden deiner Cloud bereits vorher funktionierte?
Versteh das bitte nicht falsch, ich sehe hier nur wieder mal ein Frickeln an zu vielen Knöpfen gleichzeitig und die damit verbundene Verwirrung.

Rob
Mangelnde Erfahrung erzeugt doch meistens Verwirrung. Das habe ich auch schon bei "Experten" so erlebt. Aber das möchte ich nun wirklich nicht weiter vertiefen. Was ist daran neu? Mit Hilfe erfahrener Communitymitglieder den richtigen Weg zu finden, finde ich außerordentlich spannend. Zugleich zeigt es auch, das die Community lebendig ist.:) Ich habe das früher auch unter Linux gemacht, sogar eine eigene Homepage im Netz gehabt, aber das ist lange, sehr lange her und die Kenntnisse von damals sind doch sehr verblaßt. Ich meine mich zu erinnern, das Thunar unter FreeBSD das Webdav Protokoll auch ohne Zugehörigkeit zur Gruppe www beherrscht. So, und nun wollen wir uns einfach der Situation erfreuen, das es rund läuft und funktioniert, oder?:)
 
Der Vollständigkeit will ich noch erwähnen, das sich die Konfigurationsdatei für php unter /etc/php-5.6.ini befindet in der wir unter der Rubrik [Date] die Zeitzone ändern

von date.timezone = UTC

auf

date.timezone = Europe/Berlin
 
Zurück
Oben