PDA

Bekijk Volledige Versie : Probleem met en na installatie van Suphp



Blacky
09/05/08, 05:58
Na wat rondgelezen te hebben dacht ik dat het misschien wel leuk was om suphp eens te testen.
Nu had ik een factuurprogramma (just for fun) draaien op een server (freshinvoice).
Draaide perfect.

Daarna suphp ingestalleerd van Dag's repo (ik draai Centos 4 met php 5 en mysql 5).

Na installatie van suphp kwamen er problemen, alleen nog 404 en 403 pagina's.
Ik had het op deze manier gedaan (overgenomen van een swsoft forum)
1/ yum install mod_suphp
2/ vi suphp.conf in httpd directory
put suphp engine to on
put suphp config path to/etc/yoursuphp dir where you have your suphp.ini file
3/ vi httpd.conf
remove php handler because it's already used by suphp
4/ service httpd restart

Er stonden geen bestanden of directory's op 777 of 666.

Geen probleem dacht ik, doen we yum remove mod_suphp en we zitten weer zoals vanouds.

Mis dus. Nu krijg ik de volgende melding:

Warning: include_once(config.inc.php) [function.include-once]: failed to open stream: Permission denied in /home/usernaam/public_html/factuur/index.php on line 2
Maar ik had wel wat lopen rommelen om de php.ini wat veiliger te zetten, volgens mij staat alles weer origineel maar dat weet ik helaas niet meer zeker.

Mijn vraag is nu eigenlijk 3-ledig.
1.) Waarom krijg ik hier nu een permission denied en hoe los ik dit op?
2.) Waarom kreeg ik alleen 404 en 403 errors na het installeren van suphp?
3.) Kan 2 zijn omdat ik suphp van de EL4 heb geinstalleerd van Dag, terwijl ik wel Centos 4 heb, maar gebruik maak (via de plus repo) van php 5 en mysql 5 en dus de EL5 repo had moeten gebruiken? Of maakt dat niet uit?

Moeilijk verhaal, hopelijk komt er iemand wijs uit, ik heb er al een paar uurtjes lezen op zitten, maar zie door de bekende bomen inmiddels het beruchte bos niet meer.

P.s. Nog wat foutmeldingen voor regel 3, misschien dat dit meer licht op de zaak werpt?

Notice: Use of undefined constant PATH - assumed 'PATH' in /home/usernaam/public_html/factuur/index.php on line 3
En vooral deze onderstaande is wel apart, want aan de userdir is niets gewijzigd of gewist:

Warning: include_once(PATHincludes/factuur.class.php) [function.include-once]: failed to open stream: No such file or directory in /home/usernaam/public_html/factuur/index.php on line 3

Randy
09/05/08, 06:36
Even een stukje van mijn virtualhost. Heb je de suPHP user/groep wel gedefineerd?
En gebruik je PHP in (Fast)CGI mode?


<VirtualHost 212.79.254.226:80>
ServerName www.ispi.nl
ServerAlias www.ispi.nl ispi.nl
ServerAdmin webmaster@ispi.nl
DocumentRoot /home/ispi/domains/ispi.nl/public_html
ScriptAlias /cgi-bin/ /home/ispi/domains/ispi.nl/public_html/cgi-bin/
UseCanonicalName OFF
SuexecUserGroup ispi ispi
CustomLog /var/log/httpd/domains/ispi.nl.bytes bytes
CustomLog /var/log/httpd/domains/ispi.nl.log combined
ErrorLog /var/log/httpd/domains/ispi.nl.error.log

<Directory /home/ispi/domains/ispi.nl/public_html>
Options +Includes -Indexes
php_admin_flag engine ON
<IfModule !mod_php6.c>
php_admin_flag safe_mode ON
</IfModule>
php_admin_value sendmail_path '/usr/sbin/sendmail -t -i -f website@ispi.nl'
php_admin_value open_basedir /home/ispi/:/tmp:/usr/local/lib/php/
suPHP_Engine ON
suPHP_UserGroup ispi ispi
</Directory>
</VirtualHost>

Blacky
09/05/08, 12:55
Alvast bedankt voor de hulp, zo had ik hem nog niet, ik gebruikte de standaard suphp.conf die in de conf.d directory van httpd wordt aangemaakt bij de rpm installatie.
Daarin staat suPHP_Engine ON, dus als ik het goed begrijp hoef ik die niet meer in de virtualhost container te gebruiken.

De suphp usergroup moet ik daar wel nog in aangeven. Bedankt alvast, dat ga ik dan straks nog eens proberen.

Geen idee waarom het na de-installatie van Suphp niet meer gewoon werkt?

t.bloo
09/05/08, 12:57
omdat suphp een lastig ding is.

er zijn overigens ook alternatieven in de vorm van bijvoorbeeld mod_ruid en mpm-itk

Blacky
09/05/08, 15:06
omdat suphp een lastig ding is.
Daar heb je toch geen last van als je hem gede-installeerd hebt?
En daar ligt dus probleem nummer 1 eigenlijk, dat na deinstallatie de zaak niet meer werkt zoals hij het voordien deed.

In de threads alhier heb ik inderdaad ook wel mod_ruid gezien. Maar de suphp lijkt me gemakkelijker aangezien de mod_ruid niet in de yum repo van Dag Wieers zit en ook niet in de standaard Centos repos of de plus repo.
Dus moet ik hem zelf gaan compilen en daar heb ik het niet zo op als het niet hoeft.:)
Maar toch bedankt voor de tip.

Graag zou ik het gewoon eerst weer zonder suphp aan het draaien hebben, maar ik blijf met die permission denied zitten ondanks dat suphp nu weg is.

Als dat gelukt is ga ik Randy's methode eens proberen.

Ik ben er nu bijna, heb de zaak toch maar even laten liggen en ben met Randy's methode aan de slag gegaan, de pagina is nu aan het scrollen als een gek.

Als ik in de log van de virtuele host ga kijken zie ik dit:

File does not exist: /home/usernaam/public_html/factuur/'.URL.'style.css, referer: http://www.usernaam.nl/factuur/index.php?p=paymentsgood

Het lijkt er op alsof hij de index.php gewoonweg niet meer ziet. Vermoedelijk heeft dat met die path fout te maken, zelfs met suphp helemaal weg, "ziet" het path statement in die index.php niet meer wat de userdir is, waar is dat weer goed te zetten?

Blacky
10/05/08, 22:57
@Randy (of iemand anders): Het systeem is opnieuw geinstalleerd, nu met Centos 5.1. Klaarblijkelijk had mod_suphp me toch iets vernaggelt wat ik niet meer goed kreeg, ondanks de volledige uninstall van suphp.
Nu draait alles weer perfekt na een fresh install, met dezelfde configs overigens.:)

Doch ergens bij het testen dus, dook het probleem met suphp op, alles ging me scrollen als een gek, daardoor werd ook de database van het factuurprogramma gewist.
Vermoedelijk heeft dat ook te maken gehad met dat php zelf ook draaide.

Uit de vele stukken die ik gelezen heb, bleek dat ik iets moest uitschakelen van php, zodat niet suphp en php zelf daar tegelijk gebruik van konden maken c.q. zouden aanspreken. Maar ik weet niet precies wat er nu uitgeschakeld moet worden?

Wie kan me dat wat meer in het Nederlands uitleggen?
Ik heb dan een suphp.conf en een php.conf in de /etc/httpd/conf.d directory, daarnaast nog een suphp.conf en een php.ini in de /etc directory.
Wat moet er uitgeschakeld worden zodat suphp goed werkt?