-
Kennelijk zijn de fouten te wijten SEGFAULTS, die vind ik terug in het error_log :mad: , ik heb nu een coredumb locatie ingesteld.
En ga kijken of ik hem zo ver kan krijgen die te maken :(
Edit: Grr, altijd loopt dat kreng vast en uitgerekend nu krijg ik hem niet meer kapot :rolleyes: :X
-
Ik heb een theorie over hoe ik het probleem kan oplossen, aan de segfault kan ik niets veranderen.
Maar het probleem dat de socket nog in gebruik is kan je mogelijk oplossen door met sleep in je start script hem net iets meer tijd te geven.
Hij kan niet gewoon even de childs stoppen, hij moet wachten tot de rechten zijn terug gezet en dan kan pas kan hij het child als gestopt verklaren.
Gisteren dacht een patch hebben gevonden bleek het voor worker te zijn en niet voor prefork, en de patch was al toegepast op worker zelf :(
Ik moet alleen weer 24 f****** uur wachten voor ik het kan testen.... Anders loopt apache niet vast en kan ik het niet testen!
ALS DIT NIET WERKT WORD IK GEK :mad:
-
Het Werkt
Man wat ben ik toch weer goed! :W: :cool:
Ik heb gisteren het sleep toegepast vandaag getest en inderdaad het werkt :)
Door bij het restart gedeelte na stop een sleep 3 te plaatsen heeft script meer tijd om het proces te stoppen, mogelijk moet het hoger worden ingesteld bij meer verbinding, maar dat weet ik nog niet zeker.
Het volgende wat ik wil testen is of hij aangeeft dat hij is gestopt en pid nog bestaat.
Maar voor nu heb ik het weer werkend gekregen.
-
Ik heb mod_ruid via de .deb van wido geinstalleerd. Helaas kan ik hem daardoor dus niet updaten.
Wido, heb jij zelf inmiddels al een patched versie?
-
Het goede nieuws is dat ik er achter ben wat het is :D
Alleen ben ik nog aan het lezen en heb dus nog voor zover geen oplossing :(
http://bugs.php.net/bug.php?id=27810
Kennelijk is de bug nog steeds aanwezig :(
Maar waarom doet php er dan niets aan het te fixen?
-
Ik heb de mod_ruid-0.6-3.i386.rpm voor CentOS geinstaleerd.
In de ruid.conf staat nu:
LoadModule ruid_module modules/mod_ruid.so
User apache
Group apache
#
#
#
RMode stat
#RGroups apachetmp
#
#RMode config
#Example follows:
#NameVirtualHost 192.168.0.1
#<VirtualHost example.com>
# ServerAdmin webmaster@example.com
# DocumentRoot /home/example.com/public_html
# ServerName example.com
# ServerAlias www.example.com
# RMode config
# RUidGid user1 group1
# RGroups apachetmp
#</VirtualHost>
Mijn control panel is ISPConfig, ik ga er even vanuit dat bij het onderste voorbeeld de user is: web7_info_hmnet en de group: web7
Ik neem aan dat je nu in de VirtualHost het volgende moet zetten:
RMode config
RUidGid web7_info_hmnet web7
RGroups apachetmp
Zo als ik begrijp komt mijn VirtualHost er dan zo uit te zien?
ServerName www.hmnet.nl:80
ServerAdmin webmaster@hmnet.nl
DocumentRoot /var/www/web7/web
ServerAlias hmnet.nl
DirectoryIndex index.html index.htm index.php index.php5 index.php4 index.php3 index.shtml index.cgi index.pl index.jsp Default.htm default.htm
ScriptAlias /cgi-bin/ /var/www/web7/cgi-bin/
AddHandler cgi-script .cgi
AddHandler cgi-script .pl
ErrorLog /var/www/web7/log/error.log
AddType application/x-httpd-php .php .php3 .php4 .php5
php_admin_flag safe_mode On
php_admin_value open_basedir /var/www/web7/
php_admin_value file_uploads 1
php_admin_value upload_tmp_dir /var/www/web7/phptmp/
php_admin_value session.save_path /var/www/web7/phptmp/
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
Alias /error/ "/var/www/web7/web/error/"
ErrorDocument 400 /error/invalidSyntax.html
ErrorDocument 401 /error/authorizationRequired.html
ErrorDocument 403 /error/forbidden.html
ErrorDocument 404 /error/fileNotFound.html
ErrorDocument 405 /error/methodNotAllowed.html
ErrorDocument 500 /error/internalServerError.html
ErrorDocument 503 /error/overloaded.html
AliasMatch ^/~([^/]+)(/(.*))? /var/www/web7/user/$1/web/$3
AliasMatch ^/users/([^/]+)(/(.*))? /var/www/web7/user/$1/web/$3
RMode config
RUidGid web7_info_hmnet web7
RGroups apachetmp
Welke aanpassing moet ik nog meer doen?
-
Klopt helemaal :)
Ik ben er by the way achter gekomen dat clamav voor php problemen geeft, dat is wat ik kon ophalen uit de backtrace
Of hier mee ook het probleem van het starten is opgelost ga ik nu even testen :)
reload werkt in iedere geval weer.
Edit: Ik geloof het wel :eek: :D Nu even een paar dagen laten draaien en dan verder kijken.
-
Ik moet alles weer even doorlezen hier, de webmail (SquirrelMail) doet het niet onder mod_ruid.
De webmail draaid onder een eigen virtualhost hier, als ik me niet vergis staat er ergens wat over hier..
-
Naar mijn mening kan je de webmail gewoon beter doen via een appart subdomein, kan je hem ook gelijk goed beveiligen met SSL :)
-
Hier loopt die als webmail.adslnetwerk.com
Het probleem is dat hij de user.prefs niet kan openen, die staan op user apache.
Maar ik zie net dat alle maildirs ook niet op gebruikersnaam staan, volgens mij is er veel werk te doen voordat het lekker loopt hier.
-
Als de maildirs niet op gebruikersnaam staan, dan gaat het toch juist heel makkelijk? dan zorg je dat de gebruiker die je in de vhost instelt dezelfde is als die eigenaar is van de Maildirs en die geef je ook de rechten op de map met de files van de webmail.
-
Sorry ik had het verkeerd, Maildir staat op root maar Mail staat op de user.
Dit is dus goed..
Met webmail ben ik nog bezig, hij moet nu nog de .prefs wegschrijven onder de user en niet apache of webmail als user.
-
Nog eens terugkomen hierop.
Ik heb nu zo'n server met mod_ruid2 in gebruik genomen. Alles werkt goed, behalve het volgende:
Dec 15 11:24:49 neon postfix/sendmail[17566]: fatal: no login name found for user ID 1084
Dit gebeurt wanneer iemand de mail() functie gebruikt in PHP, die steunt op de binary /usr/sbin/sendmail. Dit gebeurt dus nu met de virtuele userID.
Maar die sendmail functie van postfix gaat dus in de /etc/passwd checken met welke user de sendmail wordt opgeroepen. En als hij die niet vindt, wordt de mail dus gewoon weggesmeten...
Hier de uitleg van de maker van postfix: http://groups.google.be/group/mailin...0f91d7111ca2e3
Maar ja, daar kom ik ook niet verder mee. Ik kan toch moeilijk aan PHP gaan zeggen dat hij sendmail met een parameter gaat oproepen? Of is er een of andere manier waarop dat wel kan?
Of zou ik een sendmail-vervanging kunnen maken? Ik heb al geprobeerd een scriptje te maken /usr/sbin/sendmail:
#!/bin/sh
/usr/sbin/sendmail -f httpd@serverhostname.be $1
Maar dat is iets te simplistisch denk ik, want het werkt niet.
Ik heb dan maar alle virtualhosts in de passwd-file gestoken. Maar als iemand dit probleem op een elegante manier kan oplossen, zou ik dat wel leuk vinden :)
Peter
-
Je moet er voor zorgen dat al die userID's natuurlijk wel op jouw systeem bestaan :)
-
Je kan php.ini instellen wat jouw sendmail path is en wat je daar voor parameters aan wild meegeven.