Autor Thema: Apache 2 + FastCGI + PHP5 via suexec  (Gelesen 360 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline Ennosuke

  • Mr Blood
  • Globaler Moderator
  • Gigabyte
  • ***
  • Beiträge: 483
  • Strawberries & Blood
    • Profil anzeigen
Apache 2 + FastCGI + PHP5 via suexec
« am: 20. November 2009, 11:37:08 »
Diese Umgebung ist für VirtualHosting sehr geeignet, da man so pro VirtualHost eine eigene php.ini hat!
Als erstes wir natürlich die benötigten Pakete installieren, dafür reicht unter Debian dieser Befehl:
apt-get install php5-cgi apache2 libapache2-mod-fcgid

Nun noch suexec aktivieren:
a2enmod suexec

Nun brauchen wir logischerweise noch einen User für unseren VirtualHost:
useradd --create-home --home-dir /var/www/user1 user1
passwd user1

Als nächstes wird die VirtualHost-Config eingerichtet:
vim /etc/apache2/sites-aviable/user1
Dort kommt folgender Inhalt rein:
<virtualhost *>
        ServerName user1
        DocumentRoot /var/www/user1/docs
        SuexecUserGroup user1 user1
        AddHandler fcgid-script .php
        DocumentRoot "/var/www/user1/docs"
        DirectoryIndex index.htm index.html index.php
       <Directory />
           Options FollowSymLinks
           AllowOverride None
       </Directory>
       <Directory "/var/www/agbc/docs">
           Options Indexes MultiViews FollowSymLinks +ExecCGI
           FCGIWrapper /var/www/user1/php-fcgi/php-fcgi-starter .php
           Order allow,deny
           allow from all
      </Directory>

</virtualhost>


Seite aktivieren wird nun auch noch getan:
a2ensite user1

Wir erstellen nun auch noch die anderen Ordner:
mkdir -p /var/www/user1/docs
mkdir -p /var/www/user1/conf
mkdir -p /var/www/user1/php-fcgi
mkdir -p /var/www/user1/logs
mkdir -p /var/www/user1/tmp


Jetzt kopieren wir uns noch eine php.ini Datei ins conf Verzeichnis
cp /etc/php5/cgi/php.ini /var/www/user1/conf/php.ini

Den Wrapper dürfen wir nicht vergessen:
vi /var/www/user1/php-fcgi/php-fcgi-starter
Der Inhalt:
#!/bin/sh
PHPRC="/var/www/user1/conf/"
export PHPRC
exec /usr/bin/php5-cgi


Ein kleines Testscript erstellen:
echo "<?php phpinfo(); ?>" > /var/www/user1/index.php

Die Rechte richtig setzen:
chown -R user1:www-data /var/www/user1

und den Apache neustarten
/etc/init.d/apache2 restart

und testen.
Fragen einfach hier stellen.
Only a Strawberrie can understand blood, because she is red