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.