Vra

Kon iemand daarin slaag om xinc reg te laat loop onder OpenBSD se chrooted verstek Apache?Ek wil graag ons ontwikkelingsbediener ten volle gechroot laat loop, net soos ons produksiebediener, sodat ons seker maak dat ons kode net goed gechroot werk.

Was dit nuttig?

Oplossing

Het jy die uitgawe op die Xinc geplaas gogga spoorsnyer?Xinc self behoort goed te werk aangesien dit beide as 'n daemon en as 'n webtoepassing werk.Soos u na verwys het, kan die probleem wees dat die daemon nie in 'n chroot'ed-omgewing loop soos die webkoppelvlak is nie, wat daartoe lei dat weerskante nie die lêers gryp nie.

Ander wenke

@draakmantank

In Xinc se geval, ek hoop jy het PEAR gebruik om dit te installeer.

pear list-files xinc/Xinc

Dit behoort dit te doen en jou te wys waar jou Xinc-installasie sy lêers plaas.So alhoewel Xinc "net" een groot PHP script is, is dit steeds versprei in rc scripts en al daardie ander dinge wat nodig is om 'n toepassing te laat loop.Ek is seker jy hoef nie alle paaie wat daar gelys is by te voeg nie, maar waarskynlik sommige om dit te laat loop.

Afgesien van Xinc self, dink ek dit benodig ook phpUnit en 'n klomp ander PEAR libs om te loop, so wat ek sou voorstel is dit:

pear config-get php_dir

En dan moet jy daardie pad (soos Henrik voorgestel het) by die chroot-omgewing voeg.

Omdat ek nog nooit self xinc gebruik het nie, kan ek net aandui hoe ek gewoonlik by chroot-toepassings uitkom.

Eerste stap sou wees om inligting in te samel oor alles wat die toepassing nodig het om te loop;dit bereik ek gewoonlik deur te hardloop stelsel (1) en ldd (1) om uit te vind wat nodig is om die sagteware te laat loop.

Gaan deur die uitset van

systrace -A -d. <app>
ldd <app>

en maak seker dat alles wat die toepassing raak en benodig (baie toepassings raak goed wat dit nie eintlik nodig het nie) in die chroot-omgewing beskikbaar is.Jy sal dalk konfigurasies en omgewingsveranderlikes 'n bietjie moet aanpas.Ook, as daar 'n opsie is om die toepassingslogboek na syslog te hê, doen ek dit gewoonlik en skep 'n syslog-sok (sien die -a opsie van syslogd(8)) om die plekke waartoe die toepassing skryftoegang benodig, te verminder.

Wat ek sopas beskryf het, is 'n generiese manier om omtrent enige program in 'n chroot-omgewing te laat loop (as jy egter die helfte van die gebruikersland en sommige suid-opdragte moet invoer, wil jy dalk net nie chroot doen nie :).Vir toepassings wat onder Apache loop (ek is seker jy is bewus daarvan dat die OpenBSD httpd(8) is effens anders) jy het die opsie (sodra die program begin het;enige dinamiese biblioteke moet nog in die tronk wees) van die gebruik van apache om toegang tot die lêers te verkry, wat die gebruik van httpd.conf om hulpbronne in die chroot-omgewing in te voer sonder om dit werklik te kopieer.

Ook nuttig (indien effens verouderd) is hierdie skakel, met 'n uiteensetting van 'n paar gotchas in chrooted PHP op OpenBSD.

Eerste stap sou wees om inligting in te samel oor alles wat die toepassing nodig het om te loop;dit bereik ek gewoonlik deur systrace(1) en ldd(1) uit te voer om uit te vind wat nodig is om die sagteware te laat loop.

Ek sal dit probeer.Die groot probleem wat ek met xinc gevind het, is dat terwyl dit 'n PHP-toepassing is, dit toepassingsinstallasiepaaie wil ken (maar dit versprei steeds goed na ander vouers) en sommige PHP-skrifte in daemon-modus laat loop (daardie skrifte is die moeilikste om hardloop).So, byvoorbeeld, het ek dit gesê om te installeer na /var/www/xinc en het toe 'n simlink gemaak van

/var/www/var/www/xinc -> /var/www/xinc

en dit het gedeeltelik gewerk.Ek het die GUI laat opkom, maar dit het geweier om enige projekte wat ek opgestel het, te erken.Ek dink die grootste probleem is dat 'n deel daarvan 'n chroot hardloop en die ander helfte hardloop buite.

As alles anders misluk, sal ek net iets moet bou soos ons programmeer binne chroot-omgewings aangesien ons produksie chroot is.Ons het probleme ondervind waar ons buite 'n chroot kodeer en dan moet terugspoor om te vind wat ons nodig het om dit binne 'n chroot te laat werk.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top