SSL & PHP...

  • Thread starter Thread starter server4downs
  • Start date Start date
S

server4downs

Guest
Hallo,

vielleicht könnt ihr mir ja helfen. Ich habe seit der Neuinstallation meines vServers Probleme mit PHP "hinter" SSL. Ich habe das Gefühl, dass da was nicht so ganz stimmen kann. Bin mir aber nicht so ganz sicher, WAS.
Manchmal kommt da eine PHP-Fehlermeldung.
uuups, wie es immer ist: wenn man was zeigen will, klappt`s nicht. Leider habe ich den Fehler in die Zwischenablage kopiert und schlauerweise was drüber kopiert. Naja, dann poste ich das mal später.
Aber ich kann mich noch ein bissle errinnern...:
Ich habe das ssl für https://ssl.******.de
Es befindet sich in web2. Nun kommt dann manchmal ein Fehler, der mir sagt (auf English natürlich), dass bla../web3 (oder andere webs) und bla../phpmyadmin nicht geöffnet werden können.
Ich nehme mal an, dass das mit dem neuen PHPMyAdmin zu tun hat, welches man nun immer von tld.de/phpmyadmin aufrufen kann.
Hattet ihr schon ähnliches probs?

Also, tut mir leid für dieses arabisch da oben, werd sie sobald posten, wie ich kann. Vielleicht wisst ihr aber auch so, was ich meine!

Danke im Vorraus!
 
server4downs said:
Vielleicht wisst ihr aber auch so, was ich meine!
Nein, ohne die exakten Fehlermeldungen kann ich dazu gar nichts sagen.
Wie heißt es im Fernsehn immer so schön: Fakten! Fakten! Fakten!
Und wie heißt es hier immer so praktisch: Logfiles! Logfiles! Logfiles!
:)

huschi.
 
das hatte ich mir schon fast gedacht, doch ein Versuch war`s wert :)
So, mit Logfiles könnte ich vielleicht später dienen, jedoch die Fehlermeldung dürfte auch schon reichen, oder?
Also, hier kommt die Fehlermeldung:

Code:
Warning: Unknown(): open_basedir restriction in effect. File(/var/www/web2/html/webmailer/index.php) is not within the allowed path(s): (/var/www/web1/:/var/www/html/phpmyadmin/) in Unknown on line 0

Warning: Unknown(/var/www/web2/html/webmailer/index.php): failed to open stream: Operation not permitted in Unknown on line 0

Warning: (null)(): Failed opening '/var/www/web2/html/webmailer/index.php' for inclusion (include_path='.:/usr/share/pear') in Unknown on line 0

So, wie gesagt, die Scripte "hinter" SSL liegen in web2!
Ich weiß nicht, wie dann immer Fehlermeldungen, wie web1, web3, web4, web5 oder web6 zustande kommen. Dies sind halt alle webs, die angelegt sind. Meiner Meinung nach hat das was mit dem phpmyadmin zu tun.

Kann man da Abhilfe schaffen, da dies sehr unprofessionell auf meinen SSL-Pages aussieht.
An meiner Konfiguration von SSL dürfte es wohl kaum liegen!

Wäre dankbar, wenn man den "Fehler" finden könnte!
 
Last edited by a moderator:
Fang doch mal hier an:
server4downs said:
Warning: Unknown(): open_basedir restriction in effect. File(/var/www/web2/html/webmailer/index.php) is not within the allowed path(s): (/var/www/web1/:/var/www/html/phpmyadmin/) in Unknown on line 0
Dieser VirtualHost (web2) ist mit den Rechten von User web1 ausgestattet.
Such in /etc/httpd/conf/httpd.conf & confixx_virthost.conf nach der Directive 'User'. Wenn Du keine Ungereimtheiten findest, dann poste mal aus der confixx_virthost.conf die Deklaration von des Web2-VirtualHosts.

huschi.
 
hey, du bist ja schneller, als die Polizei erlaubt!
Danke, werd gleich mal nachschauen!



P.S.: Kann immer mal nen Tag länger dauern, da ich hier gerade in Canada bin und die Zeitverschiebung mir ein Schnippchen spielt!
 
So,
jetzt meld ich mich mal wieder...

...also grade hab ich für meinem vServer-Krams nicht so den Nerv.
Ich hätte aber noch eine Frage: Warum jammert mein PHP immernur, wenn ich es mit SSL aufrufe???
Seltsam!

Naja, aber wie wäre es denn, wenn ich mal mein SSL auf nen anderen Ordner, nicht nen webbi mache, also:
/var/www/ssl
Dem Ordner dann die entsprechenden Rechte gebe und dann die SSL-Sub darauf laufen lasse. Dann würde dem doch nicht mehr viel im Wege stehen, oder?

Ho, nerv, immer diese Software, immer macht sie Sachen, die man nicht will :D !

Naja, bin noch nicht so richtig nen Linux-Chegger, da ich vor nem 3/4 Jahr noch nichtmal wusste, was Putty überhaupt ist, aber das hat sich stark geändert... :D
 
server4downs said:
Naja, aber wie wäre es denn, wenn ich mal mein SSL auf nen anderen Ordner, nicht nen webbi mache,
Das ist so eine 'Windows-Menthalität': Es klappt nicht auf Anhieb, dann versuch ich auch was ganz anderes.

Bei Linux sollte man sich damit abfinden, daß man zwar etwas fummeln und denken muß, aber im Endeffekt mit weit aus weniger Zeit zum Ziel kommt.

Schau Dir doch einfach Deine Fehlermeldung an:
Warning: Unknown(): open_basedir restriction in effect. File(/var/www/web2/html/webmailer/index.php) is not within the allowed path(s): (/var/www/web1/:/var/www/html/phpmyadmin/) in Unknown on line 0
Da stehen web1 und web2 in der selben Zeile. Dort liegt der Hund begraben. Es ist wahrscheinlich nur irgend ein kleiner Parameter ('User') den Du ändern mußt.

Beiß Dich durch, setz Dich mit Problemen auseinaner, dann lernst auch was.

huschi.
 
that`s right!!!
Yo, danke für die Ermunterung.
Werd mich dann mal aufraffen.
Das Problem ist aber: es liegt nicht nur an web1 und web2,
das Problem gibt es mit 5 verschiedenen Varianten (alle webs!)!!!
Werd mir dann nochmals die vhosts anschauen.

Hattest du schon probs auf`m neuen Redhat 9 mit dem SSL???
Und warum kommt der mir da immer mit dem phpmyadmin???

Der Computer ist nicht das Problem,
nur derjenige, der dahinter sitzt... :D

Aber das muss ich server4you schon lassen, ohne die hätte ich fast nichts über Linux gelernt. Die gaben mir einfach keine andere Wahl :rolleyes:
Nicht böse nehmen, Ihr Mitarbeiter von S4Y!!!
 
server4downs said:
Und warum kommt der mir da immer mit dem phpmyadmin???
Du bist doch in Canada. Sprichst Du nur noch Französisch? :)
Ließ doch mal:
is not within the allowed path(s): (/var/www/web1/:/var/www/html/phpmyadmin/)
Hier geht es nur um den Path, den User web2 nutzen darf. Da phpmyadmin ja bei jedem Kunden per Alias eingebunden wird, steht es natürlich auch im Path.

Und Du mußt lediglich rausbekommen warum web2 einen Path von web1 hat.
So einfach ist das. :D

huschi.
 
noe, ich spreche nur noch english!

Yup, my English isn't that bad to understand some errors, hehe!
Aber du hast die Frage nur halb beantwortet: Ich hatte wegen den anderen webbis noch gefragt, da ich hier nur eine der fuenf Varianten geschrieben habe. Die Edition gibts noch mit web3, web4, web5 & web6!!!
Das war meine Frage, sonst muesste Confixx da ja nen ziemlichen Schrott gemacht haben, was?
Naja, dann werd ich mir das ganze bald noch nochmals vorknoepfen!
Duerfte ja nicht zu schwer sein, gelle?

Und warum kommt das jetzt nur bei SSL???
Info: PHP-Safe-Mode: Off (duerfte aber damit nix zu tun haben!)

P.S.: Das Problem kam erst nach dieser tollen Neuinstallation auf!
 
server4downs said:
Die Edition gibts noch mit web3, web4, web5 & web6!!!
Wenn der eine Fehler weg ist, ist der Rest entweder ein Kinderspiel, oder hat sich ebenfalls in Wohlgefallen aufgelöst.
Und warum es am SSL liegt: Dort würde ich mal als erstes mit der Suche nach einem falsch gesetzten User beginnen.

huschi.
 
hehehehehe, geschafft!

tadaaaaaaaaaaaaa!!!!!!!!!
Ich glaub ich hab`s gemeistert.
War ja schon ne Herausforderung...
einfach noch was in die ssl.conf eingetragen und schwups gings.
Dem hat die php-Einstellung oben_basedir gefehlt.

Man, manchmal kann man echt blöder sein, als die Polizei erlaubt!
Trotzdem danke für die Hilfe.

Aber wie soll ein nichtsahnender, 17-Jähriger Kunde auf so was kommen, da es bei Redhat 7 noch NIE probs gegeben hat???

Naja, meine Schuld!

Könnt den Thread meinetwegen schließen!
 
server4downs said:
Dem hat die php-Einstellung oben_basedir gefehlt.
Das ist lediglich ein (unsicheres) Workaround.
Ich bleib dabei: Du hast den falschen User gesetzt.

@djrick:
Ich weiß nicht ob 'security' das richtige für eine Apache-Einstellungssache ist...

huschi.
 
@Huschi

nee man, dich verstehe ich jetzt aber nicht so ganz!
Ich habe mir die vhosts mal ganz genau angeschaut.
War nix arabisches zu finden. In jedem vhost ist die open_basedir und das Upload-Verzeichnis angegeben. Dann habe ich mir ssl.conf mal reingezogen und habe festgestellt, dass da nichts von dem PHP-Zeugs steht. Also mal das alles reingeschrieben und Apache reloaded. Seit dem Zeitpunkt keine einzige Fehler-Meldung mehr!
Ist aber für mich logisch, da der Fehler meist dann auftrat, wenn ich nebenher noch auf einer anderen Seite (anderes web) auf meinem Server war. Meiner Meinung nach ist PHP dann confused und denkt die open_basedir ist die selbe, wie des unverschlüsselten webs. Verstanden???

Außerdem habe ICH ja nicht den User web2 angelegt, sondern Confixx. Nicht, dass ich Confixx jetzt blind vertraue, aber das wäre ja ein großer Bug, nicht wa?
Wär auch unlogisch, wenn`s an den normalen vhosts liegen würde, da ich ja ss.********.de:443 in der ssl.conf stehen habe und die hat nix mit den anderen vhosts zu tun.

Naja, so sehe ich es. Ist jetzt aber auch halber egal, da es ja ohne Ausnahme perfekt funktioniert.
Hoffe, dass ihr mein arabisch verstehen konntet und dass ich nicht was total falsches geschrieben habe.
 
Es sollte mir vieleicht im Moment egal sein, aber nochmal:
File(/var/www/web2/html/webmailer/index.php) is not within the allowed path(s): (/var/www/web1/:/var/www/html/phpmyadmin/)
Hier steht ein 'allowed Path' mit web1 drin, was darauf schließen läßt, daß Deine PHP-Scripte als User web1 ausgeführt werden, aber im Verzeichnis von web2.

Es ist ja schön, daß momentan alles funzt.

Aber, wenn Du irgendwann mal weitere Script anlegst, und auf einmal auf Fehler stößt, wie z.B. 'kann Datei nicht lesen/schreiben/öffnen' stehst Du mit dem Problem wieder hier auf der Matte und das ganze Fragespiel geht von vorne los.

Nur weil Du open_basedir geöffnet hast, heißt das noch lange nicht, daß alle Probleme beseitigt sind.

Aber Du hast recht: Ich hab damit kein Problem. ;)
Ich steh nur nicht auf Lösungen, die nur die aktuellen Symthome beheben, statt das echte Problem zu beseitigen. Aber das ist lediglich meine Einstellung.

huschi.
 
nee, nee,
wollte dir nicht widersprechen, aber es erscheint mir recht unlogisch.
Der Fehler trat ja nicht nur mit web1 auf. Es kam immer drauf an, welches web zuletzt aufgerufen wurde.
Warum soll das mit der open_basedir denn nicht stimmen. Umsonst schreibt Confixx das ja nicht immer rein.
Und genau darin lag je der Fehler: Meine Scripte wollten die base_dir von einem anderen web öffen, da PHP nur das basedir von dem zuletzt aufgerufenen vhost kannte.
WARUM sollte meine Theorie denn nicht stimmen. Du sagst die ganze Zeit, dass ich da irgendwelche Rechte falsch vergeben hätte. Aber in den vhost einträgen ist da nicht viel anderes zu finden.
Nicht persönlich nehmen. Ich bin trotzdem dankbar für die Hilfe und die Diskusion hier :)

Wenn auch nur einmal der Fehler auftauchen wird, werd ich mich natürlich melden! :)

Servus
 
so so...
meine Theorie hat sich eindeutlich bewiesen, weil
1. SSL läuft nun perfekt und keine Fehler mehr
2. Auf bugs.php.net dies beschrieben wird:

Code:
If one is having open_basedir on in one virtualhost, that open_basedir
is sometimes applied to another virtualhost without open_basedir
restriction. This is NOT a bug in the open_basedir code, but the
open_basedir function is feed with the wrong path, and triggers on that
one. Looks like some mem corruption or init problem that doesn't clean
the variables correctly before serving a new request.

Problem occours when a apache child that has served a open_basedir
restriced virtualhost, and the next request doesn't have open_basedir on
or does have a different open_basedir path. Looks like this only applies
to newly started apache childs also.

This is critical.

Da staunt ihr aber, was?
 
server4downs said:
Da staunt ihr aber, was?
Staunen tue ich wenn jemand etwas bedeutendes in der Welt geänder hat. Also wenn du den Weltfrieden herzustellen vermagst. Für deine erreichten Ziele gilt bisher nur: Willkommen im Club.
 
server4downs said:
2. Auf bugs.php.net dies beschrieben wird:
Schön für Dich, daß Du den Bugtraq gefunden hast.
Wenn Du allerdings weniger 'Ällabätsch' in Deine Ausdrucksweise legen würdest, hätte ich vieleicht wirklich gestaunt. So bin ich eher gekränkt.

Mußt Du wissen, was Dir lieber ist.

huschi.
 
Back
Top