Foren
Neue Beiträge
Foren durchsuchen
Was ist neu?
Neue Beiträge
Profilnachrichten
Online
Anmelden
Registrieren
Aktuelles
Suche
Suche
Nur Titel durchsuchen
Von:
Neue Beiträge
Foren durchsuchen
Menü
Anmelden
Registrieren
App installieren
Installieren
Server
Webserver
Apache2 Worker mit PHP5 fcgi und SuExec
JavaScript ist deaktiviert. Für eine bessere Darstellung aktiviere bitte JavaScript in deinem Browser, bevor du fortfährst.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen
alternativen Browser
verwenden.
Auf Thema antworten
Beitrag
[QUOTE="developr, post: 16, member: 1"] Ich hatte am vergangenen Wochenende versucht, auf meinen 2. Server (Debian Lenny) [B]PHP5 [/B]als [B]fcgi [/B]mit [B]SuExec [/B]einzurichten und ich muss gestehen, es hat eine Weile gedauert. Um euch viel Zeit zu sparen, gebe ich hier meine Erfahrungen weiter. [LIST=1] [*]Wie immer, loggen wir uns auf unserern Root per SSH ein und statten uns mit Root-Rechten aus. Nun laden wir uns einige Pakete. Sollte der Apache mpm-prefork vorhanden sein, wird dieser vorher automatisch entfernt. [code]apt-get install libapache2-mod-fcgid php5-cgi apache2-common apache2-mpm-worker apache2-suexec[/code] [*]Anschließend aktivieren wir unsere Module [B]fcgi [/B]und [B]suexec[/B]. [code]a2enmod fcgid a2enmod suexec[/code] [*]Nun brauchen wir einen Account bzw. einen User, unter desses Rechten PHP5 in Zukunft läuft. Danach muss er noch der Gruppe [I]www-data[/I] zugewiesen werden. [code]adduser example usermod -G www-data example[/code] [*][U][B]Verzeichnisse anlegen[/B][/U] Nun legen wir die Verzeichnisse für den User an und weisen ihm die Rechte zu: [code]mkdir /var/www/example.de chown root:example /var/www/example.de chmod 750 /var/www/example.de mkdir /var/www/example.de/conf mkdir /var/www/example.de/www mkdir /var/www/example.de/logs mkdir /var/www/example.de/tmp mkdir /var/www/example.de/php5 chown example:example /var/www/example.de/* chmod 750 /var/www/example.de/*[/code] [*][B][U]php.ini anpassen[/U][/B] Nun kopieren wir die [I]php.ini[/I] in das Userverzeichnis. [code]cp /etc/php5/cgi/php.ini /var/www/example.de/conf[/code] [*]Anschließend sorgen wir noch für ein bisschen Sicherheit und editieren die [I]php.ini[/I] (optional). Diese Einstellungen sind dafür da, um den Zugriff des PHP Prozesses auf das Userverzeichnis zu beschränken und die Sessiondaten, sowie die Uploads in ein eigenes temporäres Verzeichnis zu speichern. [code]mcedit /var/www/example.de/conf/php.ini[/code][code]open_basedir = /var/www/example.de/www/:/var/www/example.de/tmp/ upload_tmp_dir = /var/www/example.de/tmp session.save_path = /var/www/example.de/tmp [/code] [*][U][B]fcgi Starter erstellen[/B][/U] [code]cat > /var/www/example.de/php5/php-fcgi-starter << "EOF" #!/bin/sh PHPRC="/var/www/example.de/conf/" export PHPRC exec /usr/bin/php5-cgi EOF[/code] [*]Nun müssen wir wieder mal Benutzer- und Zugriffsrechte setzen. [code]chown example:example /var/www/example.de/php5/php-fcgi-starter chmod 750 /var/www/example.de/php5/php-fcgi-starter[/code] [*]Nun setzen wir einen Schreibschutz auf unseren Starter, damit sie nicht mehr verändert werden kann. Um dies Rückgängig zu machen, muss statt dem Parameter [I]+i[/I], [B][I]-i[/I][/B] verwendet werden. chattr +i -V /var/www/example.de/php5/php-fcgi-starter [*][U][B]Vhost anlegen[/B][/U] [code]cat > /etc/apache2/sites-available/example.de << "EOF" <VirtualHost *> ServerAdmin me@example.de ServerName example.de SuexecUserGroup example example AddHandler fcgid-script .php DocumentRoot "/var/www/example.de/www" DirectoryIndex index.htm index.html index.php <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory "/var/www/example.de/www"> Options Indexes MultiViews FollowSymLinks +ExecCGI FCGIWrapper /var/www/example.de/php5/php-fcgi-starter .php Order allow,deny allow from all </Directory> ErrorLog /var/www/example.de/logs/error.log LogLevel warn CustomLog /var/www/example.de/logs/access.log combined ServerSignature On </VirtualHost> EOF[/code] [*]Nun muss der Vhost noch aktiviert werden: [code]a2ensite example.de[/code] [*]Apache neu starten nicht vergessen ;-). /etc/init.d/apache2 restart [/LIST] Herzlichen Glückwunsch. [/QUOTE]
Zitate
Authentifizierung
Antworten
Server
Webserver
Apache2 Worker mit PHP5 fcgi und SuExec
Oben
Unten