Tom: Textdatei NUR für PHP lesbar machen?

Beitrag lesen

Hello,

Anbieter von Webspace plus mehreren Domains bieten oftmals auch die Möglichkeit, jedem Domainnamen ein eigenes Unterverzeichnis zuzuweisen. Dann beginnt das Documentroot jeweils erst in diesen Unterverzeichnissen und man hat das Hauptverzeichnis als über HTTP nicht abfragbaren Ablageplatz zur Verfügung. Wessen Provider das nicht anbietet, hat ihn sich schlecht rausgesucht.

Beispiel für PHP als Modul

<VirtualHost *>
    ServerName selfhtml.bitworks.de
    ServerAlias www.selfhtml.bitworks.de

ServerAdmin webmaster@bitworks.de

DocumentRoot /var/www/selfhtml.bitworks.de/htdocs

php_admin_value open_basedir /var/www/selfhtml.bitworks.de/
    php_admin_value upload_tmp_dir /var/www/selfhtml.bitworks.de/tmpdir/
    php_admin_value session.save_path /var/www/selfhtml.bitworks.de/sessions/

<Directory /var/www/selfhtml.bitworks.de/htdocs>
        AddDefaultCharset ISO-8859-1
#       CharsetDefault ISO-8859-1  #Funktion nicht mehr vorhanden in Ver2.2
        Options -Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

ErrorLog /var/www/selfhtml.bitworks.de/logs/error.log

# Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

CustomLog /var/www/selfhtml.bitworks.de/logs/access.log combined
    ServerSignature On

</VirtualHost>

Und die Verzeichniseinrcihtung dann

drwxrwx---  5 www-data www-data 4096 2008-04-10 20:02 .
drwxr-xr-x 13 www-data www-data 4096 2008-04-10 20:02 ..
drwxrwx---  2 www-data www-data 4096 2008-04-21 00:56 data
drwxrwx--- 23 www-data www-data 4096 2008-04-20 10:44 htdocs
drwxrwx--- 23 www-data www-data 4096 2008-04-20 10:44 logs
drwxrwx---  2 www-data www-data 4096 2008-04-21 00:56 sessions
drwxrwx---  2 www-data www-data 4096 2008-04-18 18:02 tmpdir
84-16-224-202:/var/www/selfhtml.bitworks.de#

So kann der Domainbetreiber dann seine Daten mittels FTP in 'data' speichern. Er ist Mitglied in der Gruppe www-data, genauso wie der Webserver (user = www-data).

Durch die open_basedir Direktive greift PHP aber nur auf die Verzeichnisse dieses Virt Host zu und nicht auf die auf dem übrigen Server.

Mit PHP als CGI oder FastCGI geht es allerdings vollkommen anders :-)

Ein harzliches Glückauf

Tom vom Berg

--
Nur selber lernen macht schlau