Current time: 09-29-2024, 08:05 AM Hello There, Guest! (LoginRegister)


Post Reply 
Abweichende PHP-Direktiven für mehrere Subdomains
Author Message
yaispcpu Offline
Junior Member
*

Posts: 38
Joined: Jun 2009
Reputation: 0
Post: #1
Abweichende PHP-Direktiven für mehrere Subdomains
Ich habe das Problem, dass zwei Subdomains bezüglich der PHP-Direktiven in php.ini konkurrieren:

z.B.
Code:
magic_quotes_gpc = On <=> magic_quotes_gpc = Off

php_value .. via .htaccess geht nicht, da php-fcgi

Gibt es da eine Lösung? Ich habe bisher noch nichts gefunden.
03-03-2010 05:31 AM
Find all posts by this user Quote this message in a reply
tomdooley Offline
Development Team
*****
Dev Team

Posts: 332
Joined: Sep 2007
Reputation: 7
Post: #2
RE: Abweichende PHP-Direktiven für mehrere Subdomains
Hi,

ich könnte mir höchstens vorstellen, dass Du einen eigenes PHP-Starter-Script für die Subdomains einbindest, wenn Du die Direktive nicht einmalig für alle Domains des Users einstellen kannst.

In /etc/apache2/ispcp/DOMAIN.conf kannst Du zusätzliche Eintragungen machen, z. B.:

<Directory /var/www/virtual/domain.tld/subdomain_mount>
FCGIWrapper /var/www/fcgi/TEST1/php5-fcgi-starter .php
</Directory>

Dann natürlich den fcgi-Domain-Ordner entsprechend in (Beispie) TEST1 kopieren, php.ini anpassen, owner überprüfen, Apache reload...

Habe ich allerdings noch nicht getestet, ist nur eine erste Idee...
(This post was last modified: 03-03-2010 06:01 AM by tomdooley.)
03-03-2010 05:59 AM
Visit this user's website Find all posts by this user Quote this message in a reply
yaispcpu Offline
Junior Member
*

Posts: 38
Joined: Jun 2009
Reputation: 0
Post: #3
Smile RE: Abweichende PHP-Direktiven für mehrere Subdomains
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. Cool

Viele Dank für den Tip! Smile
(This post was last modified: 03-04-2010 04:44 AM by yaispcpu.)
03-04-2010 04:42 AM
Find all posts by this user Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)