• trinite_t
  • Registratie: Maart 2003
  • Laatst online: 30-01 09:39
Ik heb een (hardened) gentoo server draaien waarop meerdere domeinen moeten komen te draaien.

Php draai ik met mod_suPHP, wat echt hartstikke fijn werkt. (elke gebruiker makkelijk eigen php.ini enzo geven.). Maar nu loop ik nog tegen een probleem op. Op een of andere manier kan ik geen gewone cgi scripts meer uitvoeren. Terwijl dit toch volgens de suphp config file wel moet kunnen:

code:
1
2
3
4
5
6
7
8
9
10
11
# Use suphp for every CGI script (not only for *.cgi and *.pl):
# 1) you can disable mod_cgi and mod_cgid if you run all your cgi scripts 
#    with mod_suphp!
# 2) Replace ScriptAlias directives with Alias ones
#    (e.g. ScriptAlias /cgi-bin/ /path/to/cgi-bin/ will change to
#          Alias /cgi-bin/ /path/to/cgi-bin/)
# 3) Put the x-suphp-cgi handler inside your cgi-bin:
#    <Location /path/to/cgi-bin/>
#        SetHandler x-suphp-cgi
#        ...
#    </Location>


dus mijn vhost file:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<VirtualHost *:80>
    DocumentRoot "/home/something/public_html"
    ServerName "something.nl"
    ServerAlias "*.something.nl"

    CustomLog /home/something/log/acces_log combined
    Errorlog /home/something/log/error_log

    suPHP_UserGroup something something
    suPHP_ConfigPath /etc/suphp/php_config/something/php.ini

    <Directory /home/something/public_html>
        Order deny,allow
        Allow from all
    </Directory>

    <IfModule alias_module>
        Alias /cgi-bin "/home/something/cgi-bin/"
        <Directory /home/something/cgi-bin/>
            SetHandler x-suphp-cgi
        </Directory>

    </IfModule>

</VirtualHost>


Ik krijg elke keer de melding

code:
1
You don't have permission to access /cgi-bin/test.pl on this server.
.
Apache error log zegt:
code:
1
[Sat Mar 15 16:52:37 2008] [error] [client 192.168.50.171] (13)Permission denied: access to /cgi-bin/test.pl denied


en het access log:
code:
1
192.168.50.171 - - [15/Mar/2008:16:52:37 +0100] "GET /cgi-bin/test.pl HTTP/1.1" 403 280 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12"


Ziet iemand waarom dit niet werkt?

The easiest way to solve a problem is just to solve it.


Verwijderd

wat zijn de rechten van het script?

  • Kettrick
  • Registratie: Augustus 2000
  • Laatst online: 11:50

Kettrick

Rantmeister!

en de ownerships? :)

  • Keiichi
  • Registratie: Juni 2005
  • Laatst online: 29-01 21:41
Mag ik je misschien een hint geven, gebruik FastCGI om je php scripts onder een userid te laten draaien. Het opstarten van een php proces is namelijk een zeer zware bezigheid.

-edit-
Even over dit specifieke probleem:

Kun je eens proberen om in de directory statement van /home/something/cgi-bin/ ook Allow from all te gebruiken.

[ Voor 31% gewijzigd door Keiichi op 16-03-2008 23:26 ]

Solar @ Dongen: http://solar.searchy.net/ - Penpal International: http://ppi.searchy.net/


  • trinite_t
  • Registratie: Maart 2003
  • Laatst online: 30-01 09:39
Keiichi schreef op zondag 16 maart 2008 @ 23:25:
Mag ik je misschien een hint geven, gebruik FastCGI om je php scripts onder een userid te laten draaien. Het opstarten van een php proces is namelijk een zeer zware bezigheid.

-edit-
Even over dit specifieke probleem:

Kun je eens proberen om in de directory statement van /home/something/cgi-bin/ ook Allow from all te gebruiken.
Hahaha, je had gelijk. dat ik dat over het hoofd heb gezien 8)7 Het allow from all fixte het probleem.

Ik heb idd gekeken naar fastcgi, maar ik kon niet echt duidelijk iets vinden om bijvoorbeeld voor iedere vhost een eigen php.ini file kunt gebruiken enzo.

The easiest way to solve a problem is just to solve it.


  • Keiichi
  • Registratie: Juni 2005
  • Laatst online: 29-01 21:41
trinite_t schreef op maandag 17 maart 2008 @ 00:25:
[...]

Hahaha, je had gelijk. dat ik dat over het hoofd heb gezien 8)7 Het allow from all fixte het probleem.

Ik heb idd gekeken naar fastcgi, maar ik kon niet echt duidelijk iets vinden om bijvoorbeeld voor iedere vhost een eigen php.ini file kunt gebruiken enzo.
Het kan wel. Per virtualserver geef je een eigen php binary als het ware op. Hier aan zijn de nodige opties gewoon toe te voegen.

Als je er niet geheel uit komt met bestaande manuals op het internet, dan kan ik proberen mijn config uit elkaar te slopen zodat je kunt zien hoe ik het op mijn servertje ingericht heb.

Solar @ Dongen: http://solar.searchy.net/ - Penpal International: http://ppi.searchy.net/


  • trinite_t
  • Registratie: Maart 2003
  • Laatst online: 30-01 09:39
Keiichi schreef op maandag 17 maart 2008 @ 08:22:
[...]


Het kan wel. Per virtualserver geef je een eigen php binary als het ware op. Hier aan zijn de nodige opties gewoon toe te voegen.

Als je er niet geheel uit komt met bestaande manuals op het internet, dan kan ik proberen mijn config uit elkaar te slopen zodat je kunt zien hoe ik het op mijn servertje ingericht heb.
Een goed voorbeeld zou wel fijn zijn. Maar stop er niet teveel tijd in. Het belangrijkste zef vind ik dat het vooral goe dicht te timmeren moet zijn.

[ Voor 7% gewijzigd door trinite_t op 17-03-2008 09:18 ]

The easiest way to solve a problem is just to solve it.


Verwijderd

trinite_t schreef op maandag 17 maart 2008 @ 09:11:
Een goed voorbeeld zou wel fijn zijn. Maar stop er niet teveel tijd in. Het belangrijkste zef vind ik dat het vooral goe dicht te timmeren moet zijn.
Je kan voor elke vhost of applicatie een shellscript maken die de php aanroept met een aantal parameters. Deze kunnen vervolgens worden aangeroepen door Apache met suexec om van user te veranderen en met bijvoorbeeld mod_fcgid kan je ze laten draaien zodat niet elke keer de php interpreter in het geheugen moet worden geladen.

Op de website van mod_fcgid staat meer informatie.

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 15:00
Je kunt evt ook suexec aanpassen zodat ie de PHPRC variabele doorlaat. Vervolgens kan je met de SetEnv optie een alternatieve php.ini opgeven zonder een shellscript wrapper. Het is maar wat je mooi vindt.
Overigens raad ik je aan om de suexec binary beperkte rechten te geven. Sommige distributies houden ervan om suexec setuid voor alle gebruikers te maken, ik houd daar zelf niet zo van en beperk dit tot de www-data groep, de groep waaronder apache zelf draait. Tenslotte is apache ook degene die die binary gaat uitvoeren.

  • trinite_t
  • Registratie: Maart 2003
  • Laatst online: 30-01 09:39
Verwijderd schreef op maandag 17 maart 2008 @ 13:03:
[...]


Je kan voor elke vhost of applicatie een shellscript maken die de php aanroept met een aantal parameters. Deze kunnen vervolgens worden aangeroepen door Apache met suexec om van user te veranderen en met bijvoorbeeld mod_fcgid kan je ze laten draaien zodat niet elke keer de php interpreter in het geheugen moet worden geladen.
Ik heb het werkend gekregen :D. Damn, is idd een stuk sneller!. Als er mensen geintresseerd zijn in mijn config, laat het dan weten, dan maak ik even tijd om deze online te zetten

The easiest way to solve a problem is just to solve it.


  • Keiichi
  • Registratie: Juni 2005
  • Laatst online: 29-01 21:41
trinite_t schreef op donderdag 20 maart 2008 @ 16:55:
[...]


Ik heb het werkend gekregen :D. Damn, is idd een stuk sneller!. Als er mensen geintresseerd zijn in mijn config, laat het dan weten, dan maak ik even tijd om deze online te zetten
Ik heb zelf wel een werkende config, maar kun je me laten weten of je PHP process onder bepaalde load op hol slaat? In zeldzame gevallen heb ik hier last van namelijk. soms maanden niet en dan opeens paar dagen achter elkaar.

Solar @ Dongen: http://solar.searchy.net/ - Penpal International: http://ppi.searchy.net/

Pagina: 1