Page 8 of 12
Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo
Posted: 2005-07-31 17:49
by badenzer
also jungs ich kann machen was ich will. Der hat keine Lust und ich bald auch nimma.
Ich habe jetzt alles nochmal gelesen und genau alles Ã?berprüft finde aber den beschi******
Fehler nit.
Des gibts doch garnit. Auch der Letzte tipp bringt mich nit weiter. die suexec.log sagt immer wieder das gleiche :oops:
Ich weiß echt nimma weiter
mal ein paar dumme fragen
Posted: 2005-08-01 01:41
by garth
moin
ich muß mal ein paar extrem dummer fragen fragen und hoffe das die mir jemand beantwortet
also ich benutze zur zeit einen normalen apache2 mit php und vhcs2
so nun möchte ich vhcs2 beibringen mit der fastcgi variante zu laufen und da kammen mir ein paar fragen
also im vhcs2 gibt es 2 sachen zur auswahl php und cgi das muß ich ja ändern in php(fastcgi) und cgi und da kamm die erste frage
get das überhaubt das php(fastcgi) und cgi zusammen laufen weil nutzen ja beide den selben ordner oder kann man das irgendwo ändern das fastcgi einen anderen ordner nutzt und wenn ja wo
also wenn ich das jetzt richtig mitbekommen hab is ja das normale cgi wie schon in vhcs2 drin für die .pl sachen und wie gesagt kann man das irgendwie zusammen laufen lassen ?
und dann noch die frage hat das schonmal einer versucht das php(fastcgi) mit vhcs2 zusammen laufen zu lassen sprich ging das gut ?
naja die erste frage is die wichtigere und glaube auch die dumme davon aber irgendwie hab ich noch keine antwort darauf gefunden und hoffe sie hier zu bekommen den wirde gern die fastcgi variante nutzen und vhcs2 als steuerung
Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo
Posted: 2005-08-01 01:49
by kenzo
Des gibts doch garnit. Auch der Letzte tipp bringt mich nit weiter. die suexec.log sagt immer wieder das gleiche
Noch ein Tip: Auf Schreibweise achten (nicht sch-mott o.ä.)
und richtige Datei bearbeiten.
Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo
Posted: 2005-08-01 02:26
by garth
@badenzer setz die datei mal mit chmod auf 555
Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo
Posted: 2005-08-01 02:44
by badenzer
also die ordner haben alle Richtige Chmods sowie allen richtigen Gruppen + Vhostuser. De Vhost ansich funzt auch. Wenn ich jetzt den letzten Tipp nehmen würde, müsste ich doch der index.php in /var/www/VHOST/web/index.php die Rechte 555 zuordner. Kann man sie denn dann ünerhaupt noch ausführen. Naja werde es trotzdem mal probieren.
MfG und Danke schonmal Dennis aka badenzer
Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo
Posted: 2005-08-01 03:57
by kenzo
Falls es sich immer noch um
Code: Select all
[2005-07-28 21:13:14]: file is writable by others: (/var/www/php-fcgi-scripts/VHOST/php-fcgi-starter)
handelt, möchte ich mich gerne wiederholen:
kenzo wrote:(...) und richtige Datei bearbeiten.
Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo
Posted: 2005-08-01 14:14
by badenzer
etwa diese "php-fcgi-starter" ?
Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo
Posted: 2005-08-02 17:33
by badenzer
danke euch, leute. Danke euch vielmals.
Prob gelöst.
MfG Dennis aka badenzer :-D
Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo
Posted: 2005-08-06 13:58
by andre丨
Hallo,
bei mir läuft alles soweit ganz gut! Habe jedoch folgendes Problem:
Mein CGI-BIN verweist auf /var/www/php-fcgi-scripts/benutzername/
in diesem Verzeichnis liegen auch meine php-cgi-starter. Diese werden für jede VHost vom Benutzer "script" ausgeführt. Lege ich nun aber mit dem Benutzer für die jewalige VHost in das Verzeichnis ein CGI Script, kann dies nicht ausgeführt werden, da es dem VHost Benutzer gehört und nicht dem Benutzer Script.
Meine Lösungsvorschlag wäre:
Für jede VHost ein eigener Benutzer der die Scripts sowie die php-cgi-starter ausführt.
Ist das Sicherheitstechisch vertretbar?
Funktioniert dies überhaupt technisch, denn in der mods-available/fastcgi.conf steht ja der Benutzer "Script" drin!
Ich hoffe Ihr könnt mir helfen!
Vielen Dank schonmal!
Mit freundlichen Grüßen
Andre
Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo
Posted: 2005-08-06 15:00
by phillux
aNdRe| wrote:Hallo,
[...] Lege ich nun aber mit dem Benutzer für die jewalige VHost in das Verzeichnis ein CGI Script, kann dies nicht ausgeführt werden, da es dem VHost Benutzer gehört und nicht dem Benutzer Script.
[...]
Was für CGI´s legst Du denn dortrein? Dort gehört ja eigentlich nur das Starterscript rein und sonst nichts. Und der VHOST-Benutzer hat da dort gar nichts zu suchen???
Oder verstehe ich Dich falsch?
Gruß, Phil
Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo
Posted: 2005-08-06 16:40
by andre丨
Achso nur die Startscripts...
Und wo leg ich dann die andern CGIs ab? Wenn ich die in mein VHost verzeichnis leg und dann drauf zugreifen will kommt nur ne aufforderung zum Download!
Vielen Dank!
Andre
Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo
Posted: 2005-08-06 17:24
by Roger Wilco
aNdRe| wrote:Wenn ich die in mein VHost verzeichnis leg und dann drauf zugreifen will kommt nur ne aufforderung zum Download!
Dann hast du vermutlich die MIME-Types bzw. die Handler für .php(4|5) falsch gesetzt.
Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo
Posted: 2005-08-06 17:28
by andre丨
Was hat das mit PHP4|5 zu tun ? Das sind doch *.cgi oder *.pl scripts?
Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo
Posted: 2005-08-06 17:35
by Joe User
Auch CGIs benötigen einen passenden MIME-Type...
... und Confixx?
Posted: 2005-08-07 13:50
by fishingshrimp
Nachdem ich nun bis in's Detail die Postings in diesem Thread, die Google-Suchergebnisse und die Ergebnisse der Boardsuche studiert habe, und mich mental darauf vorbereite, auf dem Debian Sarge-Server nach der erfolgreichen Kernel-Kompilierung mit grsec und RBAC mich an den Apachen, PHP4+5 und Confixx zu wagen - stellt sich mir die Frage:
Wieder suPHP für die Vhosts und mod_php für den Confixx-Vhost?
Oder fastcgi?
Wie lässt sich das sinnvoll realisieren? mod_php für Confixx nebenher ist nicht das Thema, aber gleichzeitig die Administration für mod_fastcgi zu reduzieren erklärt sich mir noch nicht ganz - muss ich hier wirklich für den Vhost das Config-Verzeichnis und die Einträge im Vhost anlegen und braucht also jeder eine eigene php.ini?
Auf den Server sollen ~100 Kunden, bisher debian woody mit php4 über suphp und mod_php für confixx, umgezogen werden - na dann viel spaß...
hat vielleicht wer damit erfahrungen gesammelt? bin für jeden denkanstoss dankbar!
und noch ne ganze andere sache: bisher habe ich, um dem apachen2 ssl beizubringen immer mit openssl selber kompiliert (also erst brav opensll, dann apache mit ssl und diversen anderen modulen (mod_security v.a.) -- kann ich hierfür nicht auch die fertigen pakete via apt nutzen? ich hab gesehen es gibt mittlerweile mod_security auch als paket und ssl für den apache2 ebenso. habe mich aber bisher auf unseren produktivkisten immer gegen fertige pakete gescheut - weiß ja nie, was da alles mit dringebacken ist. habe ich dadurch irgendwelche nachteile auf einem produktivsystem? ein ln -s nach /usr/local/httpd, um meiner bequemlichkeit gerecht zu werden, scheidet als kriterium aus ;)
gruß, fishingshrimp
Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo
Posted: 2005-08-07 16:06
by badenzer
Ein paar Hostinganbieter lassen die vorgefertigten Packetelaufen. Da ist aber meinsten noch anderes Zeug bei, was man z.B. nit braucht.
ich habe auf meinem Root alles selber kompeliert.
Läuft Debian Sarge mit Kernel 2.6.11. Apache 2.0.54 mit SSL, PHP 5_fcgi
Mysql 4 usw...
Hatte bis jetzt keinerlei Problem. Selfmade rulez .....
MfG Dennis
... und confixx?
Posted: 2005-08-07 16:23
by fishingshrimp
so halte ich es bisher nämlich eigentlich auch - ich weiß gerne, welche sicherheitslücken ich mir selber auf den server hole ;)
aber wie schaut es mit confixx und den virtuellen hosts aus? ich will ungern für jeden kunden ein eigenes conf-verzeichnis samt loader anlegen müssen? gibt es da keine andere möglichkeit, ähnlich wie bei suphp, wo einfach mit dem suexec-user und group ausgeführt wird?
Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo
Posted: 2005-08-13 15:04
by schl
hallo zusammen,
habe mir auf meinem "heimserver" mal den apachen mit fastcgi installiert. das howto ist sehr gut. hat auf anhieb funktioniert.
ich habe allerdings noch ein paar kleine fragen zum verständnis:
Bei Starten des Apachen erhalten ich folgenden Eintrag im suexec.log
Code: Select all
[2005-08-13 14:28:10]: uid: (chl/chl) gid: (ftpuser/ftpuser) cmd: php-fcgi-starter
Danach rufe ich eine Datei auf, z.B. die phpinfo.php welche uid chl und giu ftpuser besitzt. Funktioniert einwandfrei.
Wenn ich jetzt allerdings das php-skript auf uid root und giu root setze, kann ich es trotzdem ausführen. Ist das normal? Oder bedeutet das, dass der
php-fcgi-starter jedes skript im entsprechenden vhost, egal welchem user es gehört, unter dem user ausführt, der im vhost bei suexecusergroup angegeben ist?
bisher verwende ich auf dem produktiven server suphp. dort erhalte ich für jeden php aufruf einen logeintrag in der suphp.log mit dem entsprechenden uid/gid.
Danke für Eure antworten...
Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo
Posted: 2005-08-15 22:41
by athlux
Phillux wrote:[
Was für CGI´s legst Du denn dortrein? Dort gehört ja eigentlich nur das Starterscript rein und sonst nichts. Und der VHOST-Benutzer hat da dort gar nichts zu suchen???
Oder verstehe ich Dich falsch?
Ich nehme an hier sind richtige Perl Scripte gemeint, welche ja normalerweise unter cgi-bin aufgerufen werden. Aber hier ist ja cgi-bin dahingehend belegt das dort das Starter-Script liegt.
Eigentlich könnte man ja folgende Variable so hingehend ändern das statt "cgi-bin" ein anderer Verzeichnisname genommen wird.
Dann könnte man nämlich dem Kunden separat ein cgi-bin Verzeichnis übergeben das letztendlich wieder im Webroot liegt, worauf er natürlich Zugriff hat.
cgi-bin wäre dann hier und
<Location /cgi-bin/php-fcgi-starter>
jeweils im vhost zu ersetzen
ScriptAlias /cgi-bin/ /var/www/php-fcgi-scripts/VHOST/
Das geht natürlich nur wenn das Verzeichnis nicht cgi-bin heißen muss. Wobei ich mich in der Hinsicht leider nicht auskenne.
btw: Könnte ein Mod vielleicht im ersten Beitrag den aktuellen Link zum Howto aktualiseren, dann landet derjenige der Seite 1 aufruft gleich bei der aktuellen Version.
Re: ... und confixx?
Posted: 2005-08-16 11:36
by schafi
fishingshrimp wrote:so halte ich es bisher nämlich eigentlich auch - ich weiß gerne, welche sicherheitslücken ich mir selber auf den server hole ;)
aber wie schaut es mit confixx und den virtuellen hosts aus? ich will ungern für jeden kunden ein eigenes conf-verzeichnis samt loader anlegen müssen? gibt es da keine andere möglichkeit, ähnlich wie bei suphp, wo einfach mit dem suexec-user und group ausgeführt wird?
Genau das ist auch meine Frage, nicht nur, weil ich beinahe den gleichen Aufwand hätte, sondern weil ich die ganzen Sachen als Modul installiert habe und somit schon ein ganzes Eck weit weg müsste von der Installation :/
Confixx + php via fastcgi
Posted: 2005-08-24 00:50
by fishingshrimp
Nachdem ich PHP/fcgi nach dem Tutorial wunderbar (wenn auch leicht abgewandelt) von Hand an's Laufen bekommen habe musste eine Lösung her, dass für alle Benutzer auch automatisch die entsprechenden Ordner mit dem php-"binary" und den richtigen Rechten angelegt wurde.
In den httpd-Spezial-Einstellungen von Confixx habe ich für alle Anbieter (auch die bestehenden) den folgenden Eintrag hinzugefügt:
Code: Select all
ScriptAlias /php /www/php-fcgi-scripts/##user##/
<Directory "/www/php-fcgi-scripts/##user##/">
AllowOverride None
Options +ExecCGI -MultiViews -Indexes
Order allow,deny
Allow from all
</Directory>
* Die Werte müssen natürlich entsprechend an die lokalen Pfade auf jedem Server angepasst werden.
Um Ordner und Kopiervorgänge zu automatisieren habe ich, mangels Perl-Kenntnissen, mit PHP ein lokales Skript geschrieben, das mir neben den Maildirs für neue POP3-Konten auch die PHP-FCGI-Dateien erstellt. Wer Verbesserungs- oder ganz andere Vorschläge hat - nur her damit!
Code: Select all
<?php
require 'DB.php';
function isclientdir($file){
if(preg_match("/kunde/i", $field)) return true;
}
$dsn = "mysql://xxxxxx:xxxxxxx@localhost/confixx";
$options = array('debug' => $debug, 'portability' => DB_PORTABILITY_ALL,);
$db = &DB::connect($dsn, $options);
$getusersdata = "SELECT kunde FROM `kunden` WHERE php = '1';";
$sql_usersdata = $db->getAll($getusersdata, $fetchmode = DB_FETCHMODE_ASSOC);
//print $sql_usersdata[1][kunde];
// create maildirs
$handle = opendir ('/home/');
while (false !== ($file = readdir ($handle))) {
if ($file != "." && $file != ".." && $file != "quaratine") {
if (! file_exists("/home/$file/Maildir") and isclientdir($file)) {
system ("maildirmake /home/$file/Maildir");
system ("chown $file:poponly /home/$file/Maildir -R");
}else{
// debug
}
}
}
closedir($handle);
// create php fcgi files and folders
$handle = opendir ('/www/php-fcgi-scripts');
$max = count($sql_usersdata);
$base = "/www/php-fcgi-scripts";
for ($i = 0; $i < $max; $i++) {
$file = $base."/".$sql_usersdata[$i][kunde]."/php";
$folder = $base."/".$sql_usersdata[$i][kunde];
$client = $sql_usersdata[$i][kunde];
if (!file_exists($file)){
//echo "mkdir $base/$client && cp $base/template/php $base/$client && chown $client.$client $base/$client/phpn";
system ("mkdir $base/$client && cp $base/template/php $base/$client && chown $client.$client $base/$client -R");
echo "Verzeichnis angelegt für $clientn";
}else{
$uid = fileowner($folder);
$pwd = posix_getpwuid($uid);
if ( $uid == 0){
system ("chown $client.$client $base/$client -R");
echo "Rechte bei $client geändertn";
}
}
}
closedir($handle);
?>
Das erledigt das bei uns auf dem Server via Cronjob dann alle 2 Minuten. Lastprobleme (auf dem Server liegen 150 Kunden) hat es keine bisher gegeben - das sollte bei einem popeligen PHP-Script wohl auch kein Thema sein.
Damit Confixx nicht meckert wurde mod_php4 ganz normal kompiliert und wird auch geladen, aber nicht eingesetzt. Aber sonst gibt's Haue vom Apache wegen dem ganzen Schund, den Confixx in die Vhosts an php-Einstellungen fummelt.
Zusätzlich wurde php als cgi kompliert um das Skript auszuführen - denn:
Kleine Anmerkung: Für alle Kunden sind system, exec etc natürlich über eine alternative php.ini gesperrt. PHP wurde parallel als CGI erstellt und hat eine eigene php.ini, wo system und Co aktiviert sind.
Ich hoffe damit eventuell einigen bei dem Thema helfen zu können. Mit einem apache als worker-multithread und php-fcgi geht definitiv die Post ab - man muss natürlich ein wenig mit den Instanzen spielen.
Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo
Posted: 2005-08-28 15:23
by Anonymous
Hi,
danke erstmal für das ausführliche Tutorial, jedoch komme ich nicht weiter.
Nachdem ich alle Punkte abgearbeitet habe und den Apachen restarten will, läuft zwar Apache, aber kein php-fcgi-Prozess, dafür kommt im suexec.log folgende Fehlermeldung:
Code: Select all
suexec.log:
[2005-08-28 15:04:43]: uid: (test/test) gid: (test/test) cmd: php-fcgi-starter
[2005-08-28 15:04:43]: failed to setgid (1001: php-fcgi-starter)
Ich habe Benutzerrechte und -gruppen aller beteiligten Dateien und Ordner in 'zig erdenklichen Variationen ausprobiert, habe sowohl die default suexec2 binary von Apache2, als auch eine selbstkompilierte ausprobiert, nichts hat funktioniert. Und der Fehler ist leider nicht besonders aussagekräftig für mich. Google hat auch nichts ergeben. Vielleicht hat einer von Euch noch eine Idee.
Code: Select all
/etc/apache2/mods-available/fastcgi.conf:
*Auszug
FastCgiWrapper /usr/lib/apache2/suexec-fcgi
FastCgiServer /var/www/php-fcgi-scripts/test/php-fcgi-starter -user test -group test
Code: Select all
/var/log/apache2/error.log:
*Auszug:
[Sun Aug 28 15:11:59 2005] [notice] FastCGI: wrapper mechanism enabled (wrapper: /usr/lib/apache2/suexec-fcgi)
[Sun Aug 28 15:11:59 2005] [notice] FastCGI: process manager initialized (pid 2206)
[Sun Aug 28 15:11:59 2005] [warn] FastCGI: server "/var/www/php-fcgi-scripts/test/php-fcgi-starter" (uid 1001, gid 1001) started (pid 2207)
[Sun Aug 28 15:11:59 2005] [warn] FastCGI: server "/var/www/php-fcgi-scripts/test/php-fcgi-starter" (pid 2207) terminated by calling exit with status '109'
Vielen Dank
Leo
Nachtrag
Posted: 2005-08-31 21:11
by Anonymous
Hallo,
nach einem Clean-Install und erneutem Befolgen des Howtos trat der Fehler nicht mehr auf. Ich kann ihn auch nicht reproduzieren. Scheint also an einer verkorksten Config gelegen zu haben.
MfG
Leo
Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo
Posted: 2005-09-12 13:08
by rootsvr
Ich hab anhand des Howtos bei mir auf dem Server PHP4 fastcgi, suExec gebaut, habe allerdings das Problem das es bei manchen Scripten (beispielsweise Mediawiki) Probleme gibt.
Das suExec Logfile sieht gut aus, im Apache Errorlog ist der letzte Eintrag was von wegen "301 Moved Permanantley", danach kommt nichts mehr, webseiten kann ich nicht sehen.
PHPMyadmin oder Squirrelmail laufen Problemlos, Mediawiki wie gesgat nicht.
Kennt jemand das Problem, bzw hat ne Lösung?
Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo
Posted: 2005-09-14 22:14
by rootsvr
Also ich bin verzweifelt:
php gebaut mit:
Code: Select all
'./configure' '--enable-memory-limit' '--enable-force-cgi-redirect' '--enable-track-vars' '--with-pcre-regex' '--with-mysql' '--without-sqlite' '--without-mm' '--enable-fastcgi' '--prefix=/home/webmaster/php5' '--with-regex=php' '--with-zlib' '--enable-sockets' '--enable-trans-sid' '--enable-ctype' '--enable-memory-limit' '--enable-bcmath' '--enable-ftp' '--enable-tokenizer' '--enable-calendar' '--enable-gd-native-ttf' '--disable-rpath' '--with-pcre-regex' '--with-openssl=/usr' '--with-mime-magic' '--with-gd=shared' '--with-imap=shared,/usr' '--with-kerberos' '--with-imap-ssl' '--with-mcrypt=shared,/usr' '--with-mime-magic' '--with-mysql-sock=/var/run/mysqld/mysqld.sock' '--with-png-dir=shared,/usr'
Auszug aus dem Apache2: Logfile
Code: Select all
[Wed Sep 14 21:50:20 2005] [notice] suEXEC mechanism enabled (wrapper: /usr/lib/apache2/suexec2)
[Wed Sep 14 21:50:20 2005] [notice] FastCGI: wrapper mechanism enabled (wrapper: /usr/lib/apache2/suexec2)
[Wed Sep 14 21:50:20 2005] [notice] FastCGI: process manager initialized (pid 18528)
[Wed Sep 14 21:50:21 2005] [warn] FastCGI: server "/var/www/php-fcgi-scripts/rootsvr.de/php-fcgi-starter" (uid 1002, gid 1002) started (pid 18529)
[Wed Sep 14 21:50:21 2005] [notice] Apache/2.0.54 (Debian GNU/Linux) mod_fastcgi/mod_fastcgi-SNAP-0404142202 configured -- resuming normal operations
Das access.log des Virtuellen Servers sagt:
Code: Select all
84.56.89.145 - - [14/Sep/2005:22:06:30 +0200] "GET /wiki2/index.php HTTP/1.1" 301 26 "http://rootsvrvm.de:10080/wiki2/config/index.php" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.02"
Das errorlog spuckt nichts aus außer dem fehlenden favicon
Hat schon einer nen Mediawiki installiert oder würde das mal testweise machen? (laden, config Seite aufrufen, und dann eine Datei kopieren) und mir sagen obs auch da auftritt?
[/code]