Erinevus lehekülje "PHP käivitamine kasutaja õigustes" redaktsioonide vahel

Allikas: Kuutõrvaja
3. rida: 3. rida:
 
Kahjuks v2imaldab see startida ainult cgi skripte selliselt. J2rgnev pala kirjeldab kuidas saada iga serveris asuv php tykk samuti k2ima
 
Kahjuks v2imaldab see startida ainult cgi skripte selliselt. J2rgnev pala kirjeldab kuidas saada iga serveris asuv php tykk samuti k2ima
 
antud kasutaja 2igustes.
 
antud kasutaja 2igustes.
 +
 +
'''tarkvara install'''
  
 
cd /usr/ports ..apache2
 
cd /usr/ports ..apache2
30. rida: 32. rida:
 
ei hakka DOC_ROOT muutma ja loome testi sinna.
 
ei hakka DOC_ROOT muutma ja loome testi sinna.
  
 +
'''konfiguratsioon apachel'''
  
 
muudame httpd.conf
 
muudame httpd.conf
44. rida: 47. rida:
  
  
 
+
tekitame virtualhostid
tekitasin virtualhostid
 
 
 
  
 
  <VirtualHost *:80>
 
  <VirtualHost *:80>
72. rida: 73. rida:
 
  </VirtualHost>
 
  </VirtualHost>
  
 +
'''Skript wrapperiks'''
  
 
varasemalt virtualhostis sidusime igas .php laiendi kindla cgi skriptiga mida suexeciga k2ivitame
 
varasemalt virtualhostis sidusime igas .php laiendi kindla cgi skriptiga mida suexeciga k2ivitame
91. rida: 93. rida:
 
chown katse3:katse3 /usr/local/www/data/katse3/cgi-bin/php5-fcgi
 
chown katse3:katse3 /usr/local/www/data/katse3/cgi-bin/php5-fcgi
  
 +
'''testimine kasutamine'''
  
 
  testimiseks saab teha skripti
 
  testimiseks saab teha skripti

Redaktsioon: 12. september 2006, kell 09:22

Apache suexec on programm mis lisati versioonis 1.2 ja annab apache kasutajatele v2imaluse k2ivitada cgi ja ssi programme kasutaja id'ga mis erinev kui veebiserver id. Noramaalselt toimivad k2ik skriptid veebiserveri 2igustes. Kahjuks v2imaldab see startida ainult cgi skripte selliselt. J2rgnev pala kirjeldab kuidas saada iga serveris asuv php tykk samuti k2ima antud kasutaja 2igustes.

tarkvara install

cd /usr/ports ..apache2 make with_suexec_modules=yes install clean

see j2rel installime php kompileerida tuleb see ilma apache ja cli moodulita kyll aga cgi toega

ning siis fastcgi install


see k2sk paigaldab apache koos suexeci'iga peale installi saame kontrollida olemasolu ja parameetreid selliselt

2r4# suexec -V
-D AP_DOC_ROOT="/usr/local/www/data"
-D AP_GID_MIN=1000
-D AP_HTTPD_USER="www"
-D AP_LOG_EXEC="/var/log/httpd-suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=1000
-D AP_USERDIR_SUFFIX="public_html"


Nagu n2ha soovib suexec ,et k2ik skriptid mida tema abil k2ivitatakse asuksid /usr/local/www/data ei hakka DOC_ROOT muutma ja loome testi sinna.

konfiguratsioon apachel

muudame httpd.conf

LoadModule suexec_module libexec/apache2/mod_suexec.so


tekitasin veel konfi sellise sektsiooni

<IfModule mod_fastcgi.c>
   FastCgiWrapper  /usr/local/sbin/suexec
   FastCgiConfig   -singleThreshold 1 -pass-header HTTP_AUTHORIZATION
</IfModule>


tekitame virtualhostid

<VirtualHost *:80>
 SuexecUserGroup katse katse
 ServerAdmin kasutaja@nimi.ee
 DocumentRoot /usr/local/www/data/katse
 ServerName www.nimi.ee

ScriptAlias /php-fastcgi/ /usr/local/www/data/katse/
AddType application/x-httpd-fastphp .php
Action application/x-httpd-fastphp /php-fastcgi/php5-fcgi

</VirtualHost>
<VirtualHost *:80>
 SuexecUserGroup katse3 katse3
 ServerAdmin kasutaja@nimi.ee
 DocumentRoot /usr/local/www/data/katse3/cgi-bin
 ServerName test.nimi.ee

ScriptAlias /php-fastcgi/ /usr/local/www/data/katse3/cgi-bin
AddType application/x-httpd-fastphp .php
Action application/x-httpd-fastphp /php-fastcgi/php5-fcgi

</VirtualHost>

Skript wrapperiks

varasemalt virtualhostis sidusime igas .php laiendi kindla cgi skriptiga mida suexeciga k2ivitame viimaks ehitame skripti enda mis k2ivitatuna suexeci abil kasutaja 2igustes stardib php enda ja sellekaudu ka veebi.


#!/bin/sh
#PHPRC="/usr/local/etc/php.ini"
export PHPRC
PHP_FCGI_CHILDREN=4
export PHP_FCGI_CHILDREN
exec /usr/local/bin/php-cgi

kopeerime selle faili kasutajate katse ja katse 3 kaustadesse ja teeme chown mõlemale failile kasutaja õigusesse /usr/local/www/data/katse/cgi-bin/php5-fcgi /usr/local/www/data/katse3/cgi-bin/php5-fcgi

chown katse:katse /usr/local/www/data/katse/cgi-bin/php5-fcgi chown katse3:katse3 /usr/local/www/data/katse3/cgi-bin/php5-fcgi

testimine kasutamine

testimiseks saab teha skripti
< ?php
print "hello world< p >\n";
system("id");
php? >


www.nimi.ee skripti vaadates

hello world

uid=1004(katse) gid=1004(katse) groups=1004(katse) 

test.nimi.ee

hello world

uid=1009(katse3) gid=1009(katse3) groups=1009(katse3) 


EENet 2006