PHP5 als Fast-cgi
-
- Posts: 48
- Joined: 2007-12-27 17:33
PHP5 als Fast-cgi
Hallo,
aufgrund der Sicherheitsproblematik von mod_php will ich PHP5 als fast_cgi installieren. Jetzt ist mir aber aufgefallen, dass, wenn PHP in Dateien schreiben darf, diese dem Benutzer gehören müssen, dem auch die php-instanz gehört.
Also laut Tutorial: Ich kompiliere mit einem Nutzer a in dessen /home/a php. Dann wird php mit den Rechten des Users a ausgeführt. Ist das richtig? Dann würde das ja im Umkehrschluss bedeuten, dass für jeden Benutzer, der ein separates "Web-Verzeichnis" hat, ein eigenes php kompiliert werden muss, damit php in die Dateien des jeweiligen Nutzers schreiben kann?! Das kann ich mir eigentlich nicht vorstellen
aufgrund der Sicherheitsproblematik von mod_php will ich PHP5 als fast_cgi installieren. Jetzt ist mir aber aufgefallen, dass, wenn PHP in Dateien schreiben darf, diese dem Benutzer gehören müssen, dem auch die php-instanz gehört.
Also laut Tutorial: Ich kompiliere mit einem Nutzer a in dessen /home/a php. Dann wird php mit den Rechten des Users a ausgeführt. Ist das richtig? Dann würde das ja im Umkehrschluss bedeuten, dass für jeden Benutzer, der ein separates "Web-Verzeichnis" hat, ein eigenes php kompiliert werden muss, damit php in die Dateien des jeweiligen Nutzers schreiben kann?! Das kann ich mir eigentlich nicht vorstellen
-
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: PHP5 als Fast-cgi
Das ist ein Feature von SuExec und nicht von mod_fcgid, nur mal so am Rande.slayer2205 wrote:Jetzt ist mir aber aufgefallen, dass, wenn PHP in Dateien schreiben darf, diese dem Benutzer gehören müssen, dem auch die php-instanz gehört.
Ja, allerdings reicht es aus, wenn im Homeverzeichnis des Benutzers ein entsprechendes Wrapperskript (im Besitz des Benutzers, wg. SuExec) für den systemweit installierten PHP-Interpreter liegt. Du brauchst dort keinen kompletten PHP-Interpreter speichern, wenn du nicht willst.slayer2205 wrote:Also laut Tutorial: Ich kompiliere mit einem Nutzer a in dessen /home/a php. Dann wird php mit den Rechten des Users a ausgeführt. Ist das richtig?
-
- Posts: 48
- Joined: 2007-12-27 17:33
Re: PHP5 als Fast-cgi
Da muss ich leider noch mal nachhaken. Vielleicht suche ich nach den falschen Stichwörtern. Wie sieht so ein Wrapper-Skript aus?
-
- Posts: 5923
- Joined: 2004-05-23 12:53
-
- Posts: 48
- Joined: 2007-12-27 17:33
Re: PHP5 als Fast-cgi
So - ich habe jetzt php5 und apache2 mit allem installiert (alles mit apt-get) und es sollte eigentlich funktionieren. Tut es aber nicht. Ich bekomme die Datei zum Download angeboten
Vielleicht kann mir da jemand helfen. Zur Veranschaulichung
/var/www/vhosts/fa62/conf/php5-fcgid-htdocs
/var/www/vhosts/fa62/htdocs/html/index.php
/etc/apache2/sites-enabled/vhost-fa62
/usr/lib/cgi-bin/php5 (Funktioniert auch -> php5 -v erzeugt eine korrekte Ausgabe)
/etc/php5/apache2/php.ini
php5-fcgid-htdocs:
vhost-fa62:
fa62.forum habe ich auf meinem lokalen System in die hosts eingetragen, damit ich mit einem Namen statt der IP arbeiten kann.
Fehlt noch Information? Oder kann man hieraus bereits den Fehler erkennen?
Vielleicht kann mir da jemand helfen. Zur Veranschaulichung
/var/www/vhosts/fa62/conf/php5-fcgid-htdocs
/var/www/vhosts/fa62/htdocs/html/index.php
/etc/apache2/sites-enabled/vhost-fa62
/usr/lib/cgi-bin/php5 (Funktioniert auch -> php5 -v erzeugt eine korrekte Ausgabe)
/etc/php5/apache2/php.ini
php5-fcgid-htdocs:
Code: Select all
#!/bin/sh
PHPRC="/etc/php5/apache2/"
export PHPRC
exec /usr/lib/cgi-bin/php5
Code: Select all
<VirtualHost 78.46.43.174>
ServerName fa62.forum
AddHandler cfgid-script .php
SuExecUserGroup fa62web fa62web
DocumentRoot /var/www/vhosts/fa62/htdocs/html
<Directory /var/www/vhosts/fa62/htdocs/html>
Order allow,deny
Allow from all
</Directory>
#Web-Verzeichnis
<Directory /var/www/vhosts/fa62/htdocs>
Options +ExecCGI
FCGIWrapper /var/www/vhosts/fa62/conf/php5-fcgid-htdocs .php
</Directory>
</VirtualHost>
fa62.forum habe ich auf meinem lokalen System in die hosts eingetragen, damit ich mit einem Namen statt der IP arbeiten kann.
Fehlt noch Information? Oder kann man hieraus bereits den Fehler erkennen?
-
- Project Manager
- Posts: 11183
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: PHP5 als Fast-cgi
Fipptehler...slayer2205 wrote:Code: Select all
AddHandler cfgid-script .php
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
-
- Posts: 48
- Joined: 2007-12-27 17:33
Re: PHP5 als Fast-cgi
Stimmt :)
Geht aber trotzdem noch nicht... :(
Geht aber trotzdem noch nicht... :(
-
- Posts: 48
- Joined: 2007-12-27 17:33
Re: PHP5 als Fast-cgi
Muss man evtl. für suexec explizit das Verzeichnis angeben, unterhalb dessen es tätig werden soll?
EDIT: ES GEHT!! Ich werd bekloppt.. Da muss an irgendeiner Stelle eine Rechtevergabe nicht gestimmt haben.. Trotzdem danke an alle für's Lesen und helfen:)
EDIT: ES GEHT!! Ich werd bekloppt.. Da muss an irgendeiner Stelle eine Rechtevergabe nicht gestimmt haben.. Trotzdem danke an alle für's Lesen und helfen:)
-
- Posts: 48
- Joined: 2007-12-27 17:33
Re: PHP5 als Fast-cgi
Jetzt habe ich doch wieder ein Problem. Und zwar wird suExec zwar offenbar ausgeführt, aber es entsteht ein 500 internal error. Das seltsame ist, dass in der suexec.log dies auftaucht:
[2008-01-08 18:34:02]: uid: (1001/fa62web) gid: (1001/1001) cmd: index.php
Sagt das jemandem was?
[2008-01-08 18:34:02]: uid: (1001/fa62web) gid: (1001/1001) cmd: index.php
Sagt das jemandem was?
-
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: PHP5 als Fast-cgi
Was steht denn zum gleichen Zeitpunkt im Error Log?
-
- Posts: 48
- Joined: 2007-12-27 17:33
Re: PHP5 als Fast-cgi
Da kommt Folgendes:
Vorsichtshalber noch mal der vhost (ICh habe auf dem Server noch keine Domain
Code: Select all
[Tue Jan 08 19:48:58 2008] [info] (104)Connection reset by peer: mod_fcgid: read: read data from fastcgi server error.
[Tue Jan 08 19:48:58 2008] [error] [client 77.184.246.85] Premature end of script headers: index.php
Code: Select all
<VirtualHost 78.46.43.174>
ServerName 78.46.43.174
SuExecUserGroup fa62web fa62web
AddHandler fcgid-script .php
DocumentRoot /var/www/vhosts/no_domain/web/htdocs
<Directory /var/www/vhosts/no_domain/web/htdocs>
Order allow,deny
Allow from all
</Directory>
#Web-Verzeichnis
<Directory /var/www/vhosts/no_domain/web>
FCGIWrapper /var/www/vhosts/no_domain/php-fcgi/php5-fcgid-start$
Options +ExecCGI
</Directory>
ErrorLog /var/www/vhosts/no_domain/log/error.log
LogLevel debug
CustomLog /var/www/vhosts/no_domain/log/access.log combined
</VirtualHost>
-
- Posts: 48
- Joined: 2007-12-27 17:33
Re: PHP5 als Fast-cgi
Ich krieg echt 'ne Krise! Jetzt geht das Ganze auf einmal wieder. Der Fehler war, dass ich mit Putty den VirtualHost von einer Datei in die andere kopiert habe. Das Problem war, dass eine Zeile länger als 80 Zeichen war. Somit habe ich das "$" am Ende der Zeile mit kopiert. Somit stand da:
statt
Das ist mir peinlich :oops:
Code: Select all
CGIWrapper /var/www/vhosts/no_domain/php-fcgi/php5-fcgid-start$
Code: Select all
CGIWrapper /var/www/vhosts/no_domain/php-fcgi/php5-fcgid-starter .php