Ja, genau das ist die Lösung!
Nachfolgend mal die Details dazu, mit folgenden Beispieldaten:
Benutzer
vu2001, domain
beispiel.de und Subdomain
egroupware und
php-fcgi (Standard)
OS: Ubuntu 8.04 LTS - ISPCP 1.03
1. Umgebung für neues PHP-Starter-Script einrichten
Code:
mkdir /var/www/fcgi/egroupware.beispiel.de
mkdir /var/www/fcgi/egroupware.beispiel.de/php5
cp /var/www/fcgi/beispiel.de/php5-fcgi-starter /var/www/fcgi/egroupware.beispiel.de
cp /var/www/fcgi/beispiel.de/php5/php.ini /var/www/fcgi/egroupware.beispiel.de/php5
2. Neues PHP-Starter-Script anpassen
Code:
vi /var/www/fcgi/egroupware.beispiel.de/php5-fcgi-starter
Hier folgenden Wert suchen und wie folgt beschrieben, entsprechend ändern:
Code:
PHPRC="/var/www/fcgi/egroupware.beispiel.de/php5/"
3. Neue PHP.ini nach individuellen Bedürfnissen anpassen:
Code:
vi /var/www/fcgi/egroupware.beispiel.de/php5/php.ini
So z.B. für egroupware folgende Werte (entnommen aus der .htaccess):
Code:
max_execution_time = 60
magic_quotes_gpc = Off
upload_max_filesize = 16M
session.gc_divisor = 10
mbstring.func_overload = 7
4. Wichtig: Eigner für die neuen Dateien setzen!
Code:
chown -R vu2001:vu2001 /var/www/fcgi/egroupware.beispiel.de
5. Nun ISPCP bzw. den Apache anweisen, künfig für die Subdomain egroupware.beispiel.de anstelle des für die domain beispiel.de standardmäßig verwendete PHP-Starter-Script nun das neue Script zu verwenden.
Code:
vi /etc/apache2/ispcp/egroupware.beispiel.de.conf
Die Vorlage für folgende Direktiven habe ich aus /etc/apache2/sites-available/ispcp.conf aus der Sektion # httpd [egroupware.beispiel.de] entnommen und entsprechend abgeändert.
Code:
#
# Custom apache configuration for beispiel.de
#
# Any changes made to this file will be preserved.
# ispCP doesn't and won't verify the contents of this file.
#
# This file should NOT be deleted, otherwise apache will fail to start
#
<IfModule mod_fcgid.c>
Include /etc/apache2/mods-available/fcgid_ispcp.conf
<Directory /var/www/virtual/beispiel.de/egroupware/htdocs>
FCGIWrapper /var/www/fcgi/egroupware.beispiel.de/php5-fcgi-starter .php
Options +ExecCGI
</Directory>
<Directory "/var/www/fcgi/egroupware.beispiel.de">
AllowOverride None
Options +ExecCGI MultiViews -Indexes
Order allow,deny
Allow from all
</Directory>
</IfModule>
6. .htaccess deaktivieren
Nach frischer Installation von egroupware wird im Webverzeichnis eine .htaccess erstellt. Die hier enthaltenen PHP-Direktiven sind bei fcgi unzulässig und verursachen folgerichtig Fehler 500
Code:
mv /var/www/virtual/beispiel.de/egroupware/.htaccess /var/www/virtual/beispiel.de/egroupware/htaccess
[code]
7. Apache neu starten
[code]
/etc/init.d/apache2 reload
8. Das wars! Nun können für die Subdomain egroupware.beispiel.de via PHP.ini Direktiven genutzt werden, die exklusiv für die Subdomain gültig sind und keinen (ungewollten) Einfluss auf die domain an sich sowie deren weitere Subdomains haben.
Viele Dank für den Tip!