Portál AbcLinuxu, 7. května 2025 12:24
Aktuálně mám rozeběhnutý takový menší webhosting (pro známé, ale stejně bych to potreboval nějak zabezpečit), pomocí mod_rewrite mám zařízené subdomény na /var/www/domena.xx/subdomena/. Teď se pokouším přidat podporu PHP přes FastCGI (kvůli oprávněním, aby mohlo PHP běžet s oprávněními vlastníka skriptu), ale nějak nemůžu přijít na to, jak to zprovoznit tak, aby to běželo stejne jako když je php modulem apache... bohužel se mi nic na tohle nic vygooglit nepodařilo...
Mám tím na mysli, že tak jak to mám teď, php skripty musí být v /cgi-bin/, ale já bych to potřeboval aby to šlo ze stejného adresáře, jako jsou html stránky.
Napadlo mě ze bych mohl cgi-bin změnit na kořenový adresář webu, ale pak je tam zase problém s těmi subdoménami.
Ještě přikládám můj /etc/apache2/sites-available/domena.xx :
<VirtualHost *:80> ServerAdmin admin@domena.xx ServerName domena.xx ServerAlias *.domena.xx DocumentRoot /var/www/domena.xx RewriteEngine On RewriteCond %{HTTP_HOST} ^(.*).domena.xx RewriteRule ^(.*)$ /%1/$1 [L] RewriteCond %{HTTP_HOST} ^domena.xx RewriteRule ^(.*)$ /_/$1 [L] ErrorLog /var/www/domena.xx/error.log LogLevel warn #CustomLog /var/www/domena.xx/access.log combined </VirtualHost>
Jsem v tomhle ohledu bezradný, tak doufám že mi poradíte a předem díky.
Ještě jsem zapoměl doplnit tento soubor pro použití s FastCGI...
<VirtualHost *:80> ServerAdmin admin@domena.xx ServerName domena.xx ServerAlias *.domena.xx DocumentRoot /var/www/domena.xx RewriteEngine On RewriteCond %{HTTP_HOST} ^(.*).domena.xx RewriteRule ^(.*)$ /%1/$1 [L] RewriteCond %{HTTP_HOST} ^domena.xx RewriteRule ^(.*)$ /_/$1 [L] ErrorLog /var/www/domena.xx/error.log LogLevel warn #CustomLog /var/www/domena.xx/access.log combined AddType application/fast-php .php Action application/fast-php /cgi-bin/php-fast #ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ ScriptAlias / /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> SetHandler fastcgi-script AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> </VirtualHost>
Problém je v tom, že tohle php zprovozní v cgi-bin, ale já potřebuju, aby šlo php skripty spouštět v jakékoli složce webu...
Pokud dám php jako modul apache, všechno jede správně, ale potřeboval bych aby php jelo s oprávněním vlastníka skriptu...
Doufám že jsem to zformuloval správně, klidne odpovězte i pokud si nejste jistí, aktuálně mi je jakákoli rada drahá...
Pokud víte o lepším řešení jak by php mohlo pracovat s oprávněním vlastníka skriptu, taky budu rád pokud se podělíte...
Doufám že tohle upřesnění pomůže, a najde se tady nějaký mistr který by poradil...
No nic, nevadí, už se mi to podařilo vyřešit bez FastCGI.
Použil jsem konstrukci
php_admin_value open_basedir "/var/www/domena.xx"
Má to jedinou chybu: soubory vytvořené (a tedy i uploadované) pomocí php se nezapočítají do uživatelské kvóty, protože vlastníkem souborů bude www-data. To ale zatím vyřeším CRONem, aby se každou hodinu všechny soubory domény přivlastňovaly uživateli domény...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.