Wer mehrere User auf seinem Server hat kennt das sogenannte www-run oder www-data Problem sicherlich. Um diesem Problem entgegen zu wirken gibt es hier ein kleines Tutorial.
Vorraussetzung ist ein Debian-Server.
Als erstes werden die nötigen Pakete installiert:
apt-get install php5-cgi apache2 libapache2-mod-fcgid apache2-suexec
Nun Suexec aktivieren:
a2enmod suexec
Jetzt legen wir einen User für unseren Virtual-Host an:
useradd --create-home --home-dir /var/www/testuser testuser
passwd testuser
Als nächstes wird die VirtualHost-Config eingerichtet:
vim /etc/apache2/sites-aviable/testuser
Mit folgendem Inhalt:
<virtualhost die.ip.des.servers>
ServerName testuser
DocumentRoot /var/www/testuser/docs
SuexecUserGroup testuser testuser1
AddHandler fcgid-script .php
DocumentRoot "/var/www/testuser/docs"
DirectoryIndex index.htm index.html index.php
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory "/var/www/testuser/docs">
Options Indexes MultiViews FollowSymLinks +ExecCGI
FCGIWrapper /var/www/testuser/php-fcgi/php-fcgi-starter .php
Order allow,deny
allow from all
</Directory>
</virtualhost>
Seite aktivieren mit:
a2ensite testuser
Jetzt noch die Ordner erstellen:
mkdir -p /var/www/testuser/docs
mkdir -p /var/www/testuser/conf
mkdir -p /var/www/testuser/php-fcgi
Danach die php.ini ins Userverzeichnis kopieren:
cp /etc/php5/cgi/php.ini /var/www/testuser/conf/php.ini
Ist das geschafft wird noch der Wrapper erstellt:
vi /var/www/testuser/php-fcgi/php-fcgi-starter
Der Inhalt:
#!/bin/sh
PHPRC="/var/www/testuser/conf/"
export PHPRC
exec /usr/bin/php5-cgi
Anlegen einer Testdatei:
echo "" > /var/www/testuser/index.php
Nun noch die Rechte richtig setzen:
chown -R testuser:www-data /var/www/testuser
chown -R testuser:testuser /var/www/testuser/php-fcgi
Apache neustarten:
/etc/init.d/apache2 restart
Viel Spaß beim Testen!





