Portál AbcLinuxu, 8. května 2025 20:12
NameVirtualHost * suPHP_Engine On <VirtualHost *> # /home/domena.tld/public_html/subdomena VirtualDocumentRoot /home/%-2.0.%-1/public_html/%-3 RewriteEngine On RewriteCond %{HTTP_HOST} ^([^.]*)\.([^.]*)$ RewriteRule (.*) http://www.%{HTTP_HOST} <Directory /home/%-2.0.%-1/public_html > Order deny,allow suPHP_AddHandler application/x-httpd-php </Directory> </VirtualHost>Současný stav je takový, že každý uživatel má vlastní obsah ve svém domovském adresáři a je nastavený jako vlastník (práva 600). Tím pádem suPHP funguje skvěle, PHP běží pod právy vlastníka. Problém nastává ve chvíli, kdy na server přijde požadavak na nějaký statický obsah, na který Apache sahá se svými právy (u mě v Ubuntu uživatel www-data) a ne skrz suPHP. Jak je vhodné nastavit práva souborů, aby Apachi vše vyhovovalo a zároveň si uživatelé nemohli "lézt do zelí"? Jediné řešení, které mne napadlo je nastavit práva souborů na 644, ale v tu chvíli budou čitelné i ostatními uživateli, což je nežádoucí. Doufám, že je můj dotaz alespoň trošku k pochopení. Díky za odpovědi
-rw------- 1 Profik123 Profik123 20 2007-08-30 18:22 phpinfo.php
drwxr-S--- 2 Profik123 www-data 4096 2010-01-19 19:01 public_htmlMyslíte, že je to tak použitelné? Nebo jaké jsou best practices?
<VirtualHost *:80> UseCanonicalName Off ServerName devaine.cz ServerAlias *.devaine.cz VirtualDocumentRoot /var/www/vweb/devaine.cz/%1 CustomLog /var/log/apache2/sites/devaine.cz-access.log common Include /etc/apache2/virtual_rules.conf RewriteLog /var/log/apache2/sites/devaine.cz-rewrite.log RewriteLogLevel 0 <IfModule mod_fcgid.c> SuexecUserGroup devaine.cz devaine.cz PHP_Fix_Pathinfo_Enable 1 <Directory /var/www/vweb/devaine.cz/> Options +ExecCGI AllowOverride All AddHandler fcgid-script .php FCGIWrapper /var/www/php-fcgi-scripts/devaine.cz/php-fcgi-starter .php Order allow,deny Allow from all </Directory> </IfModule> </VirtualHost>Kde "/var/www/php-fcgi-scripts/devaine.cz/php-fcgi-starter" má práva fyzického uživatele a skupiny :
devaine.cz:devaine.czA obsahuje něco jako toto :
#!/bin/sh PHPRC=/etc/php5/cgi/ export PHPRC export PHP_FCGI_MAX_REQUESTS=5000 export PHP_FCGI_CHILDREN=8 exec /usr/lib/cgi-bin/phpVíce viz howto pro debian :
/var/www/vweb/devaine.cz/To se tváří jako doména třetího řádu. Aby to fungovalo, je zapotřebí správně nastavit DNS.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.