Unix userek - Apache2 + FastCGI + PHP5

Sziasztok!

Szeretnék egy megbízható PHP-s környezetet Apache2-vel. A fastcgi mellett döntöttem, főleg az erőforrás miatt úgy gondolom célszerűbb megoldás ez nekem. Mivel most még csak ismerkedem vele, lenne azonban néhány (valószínűleg triviális) kérdésem:

Az összes howto arra épít(ha jól értelmezem), hogy ahány virtualhost annyi unix user futtatja a php scripteket. Tehát, ha nekem és még 3 külön vad idegennek szeretnék webtárhelyet biztosítani, akkor az 4 unix user meglétét igényli és a wrapper scriptet is be kell pakoljam mindenkinek a saját home-jába?

Ezt kicsit furának találom, mert ha a wrapperhez hozzáfér akkor az egyrészt kellemetlen, másrészt meg még nem nagyon láttam ilyet pl. webhosting szolgáltatásoknál... A másik alapvető dolog pedig az lenne, hogy adott felhasználók ne tudjanak kijönni a könyvtáraikból a PHP scriptjeikkel. Pl.: egy weboldal ne tudja olvasni a másik felhasználó által feltöltött weblapot... Ehhez logikus, hogy unix userek kellenének, de ha van 100 weboldalam, akkor +100 unix user kell nekem!?

Félek, hogy valamit én értelmeztem férre... Ezekben a dolgokban legyen szíves világosítson fel valaki.

Hozzászólások

"ha van 100 weboldalam, akkor +100 unix user kell nekem!?"
Mivel fogod kezelni/szerkeszteni a konfigot?

Rövid válasz: Az adott user UNIX user lesz, de nem lesz hozzáférése a szerveredhez.

Hosszabb válasz:
Ha most ismerkedsz vele, javaslom tedd fel az ispcp omegát. Apache2+fastcgi/fcgid alapon dolgozik. Mindent bekonfigol neked. Maradhatsz a panel mellett (elég megbízható és tovább fejleszthető. Könyvtárba történő bezárást->open-basedir alapból tudja), de akár le is puskázhatod miként hozza létre a konfigokat.
1-2 teszt domain létrehozás után minden egyértelmű lesz.

Akkor nézd meg az ispcp installerjét. Szintén remek puska. Amúgy semmi extra, felrakja gyári tárolóból a megfelelő csomagokat és egy váltzókkal telitűzdelt templateből legenerálja a configokat. Ha kicsit szöszöl vele az ember, baromi jól megérti mi van és nem szív vele napokat..heteket. Anno én is mit összeszenvedtem a suexec+fastcgi+proftpd trióval mire minden klappolt :)

+1
tényleg sokat lehet tanulni, ha az ember magának rakja össze a config-ot.
Annó pár napot szenvedtem vele én is, de végül meglett.
Userek (unix és ftp is) adatbázisból mennek, így sok "virtuális" usernél nem a passwd/shadow fájl sorai növekszenek. Igaz, ez már egy következö lépcsö lehet és 4 usernél még nem biztos, hogy megéri.

Egyébként nem kell a user homejába rakni a wrapper scriptet, jó az olyan helyen is, ahol a user nem fér hozzá, de az ö jogaival az apache igen...
Elolvasol pár howto-t (mindenképp többet érdemes végignézni), utána szerintem rá lehet jönni a dolgok nyitjára.

Ha gyorsan kell a megoldás, akkor persze jók lehetnek az ispcp-s megoldások is.

Nem az ispconfigra gondolsz? Lehet, hogy nem az általad megszokott sorrendben vannak a virtualhost sorok, meg 1 fájlban van az egész, de sok free panelhez képest, nagyon is jól csinálja és az alapvető biztonsági ajánlásokat betartja. Amellett a config templatek könnyen átírhatóak, így mindenki saját szájíze szerint gyárthaja vele az éles configot.
Ismerős 800 tárhelyet kezel vele, egyes fórumokon 3.000-t is írtak. Utóbbinak a valóságtartalma nem ellenőrizhető.

Amiért ajánlottam: magától pöcre megy minden, 1-2 vhost felvétele után abszolút világos, megérthető.
uid alapú php5-cgi, apache2, awstats, stb készen van.

Nyílván lehetne jobb is, pl. nem fájl alapú mail & ftp user kezelés, de erre neten van leírás. 1-2 fájl módosítása után az egyébként is adatbázisban kezelt userek soraiból fogják venni az említett szolgáltatások is ezeket az infókat.

Az FTP kezelese hulladek, szinte semmilyen ellenorzes nincs benne, alig konfigolhato, ertelmes hibat nem ad.
A levelezes szinten alig konfigolhato, ha barmi nem tetszik, lehet kezzel ganyolni.

A tobbit mar nem is nagyon neztem, mert ahol ez a minoseg, ott a tobbi vajon milyen lehet. Beleneztem par konfiguracios fajlba, elborzadtam.

Nemkosz.

Btw, a ftp usereket mysql-bol veszi. Az omega legalabbis.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal 

Jaja, ftp sqlből jön mégis, arra rosszul emlékeztem. Amúgy (szakmai kíváncsiságból) melyik fele hulladék az FTP kezelésnek ill. mi volna a tuti?
Lehet, hogy én nem láttam még csak pöpec configot, de tök átlagos dolgokat találtam benne. Kb ezek vannak bármelyik tutorialban.
Usert FTP chrootba dobja, számol kvótát, tílt ha túllépted, jelszavakat cryptolva tárolja.
Van egy proftpd.conf mysql backend felhúzva, van egy mappa benne userenkénti egyedi config (ami akár törölhető, mert a global dolgokat 1 szabállyal le lehet tudni: pl. ne törölhesse a htdocs mappát)
Mi az ami kellhet még? Mondjuk adott vhoston belül adott user csak adott mappába léphet. Max erre lehetne még szükség, ezt pl. a Kloxo tudja amiről hallottam.

A FTP-nek a webui-ja szar. Egyszeruen nincs semmi segitseg, hogy a home dir valtozoba mit kellene irni, de nem szabadszoveges, tehat akarmit nem fogad el. Viszont ha rosszat irsz be, siman engedi elmenteni, csak ures lesz.

Aminek a konfigja szar, az inkabb az emailezes, especiel a postfixet en biztos nem igy csinalnam. Spam- virusszures default kikapcsolva, webuin opcio nincs ra, kezzel turd meg. Ez igy nem control panel csak egy webui, annak is eleg ocska.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal 

egy gépen, meg is gyũlt a bajom a unix userek számával, pontosabban a passwd & group lookup-pal.
elsegfault-olt az fcgi master, amikor forkolta volna a child-eket és kereste ki a UID-kat.
nscd név cache-elõ oldotta meg.
email-spam tekintetében "én" nem smappelek köszönhetõen egy szigorúan megírt sendmail.pl közbeépülõ szkriptnek; a bejövõ spam mennyiség az annyi amennyi.
nemkívánatos regisztrációval - ha ezt érted spam alatt (nem volt szó email szerverrõl) - szintén meggyũlt a bajom, aztán írtam egy custom saját kapcsát, biztos ahhoz nem volt törõ modulja a támadónak.

~~~~~~~~
http://www.youtube.com/watch?v=VbUVqODL1nE

Köszönöm a tippeket. Tényleg nem is olyan bonyolult ez mint ahogy kinéz.

Most a következő megoldás van nálam, bár ezen még fogok finomítani bőven:

Gyakorlatilag a www-data futtatja továbbra is az összes scriptet(ez lehet később még szívás tárgya). open_basedir opciót pedig a virtualhostokból egyesével állítom.

Alapvetoen magara a problemara haromfele _jo_ megoldas letezik: MPM ITK, PHP FPM es suPHP.
Az MPM ITK megtartja a DSO (modulos) PHP-t, kb. ugyanugy mukodik, mint a Prefork MPM, annyi differenciaval, hogy kapsz egy AssignUserID nevu opciot, amivel meg tudod mondani, h az adott vhost kinek a neveben fusson. Elony: nem kell semmi hokuszpokusz, szinte mindennel megy. Hatrany: a gyoker apache mindenkepp root-kent indul el, sebezhetoseg.

A masik _jo_ irany a PHP FPM. Itt alapvetoen mindegy, hogy a webszerver milyen userrel fut, mert minden PHP kerest atpasszintasz az FPM-nek, ahol viszont magara a PHP fastcgi cuccra mondod meg, hogy mivel fusson. Erdemes alaposan kitesztelni. 5.3.x-es PHP default tud FPM-et, korabbiakhoz letezik patch.

A harmadik jo megoldas a suPHP. Jol konfigolhato, fasza, hatranya, hogy tudtommal csak sima CGI-kent mukod. cPanel hasznalja, megbizhato stuff.

Mindharom megoldast google-zd meg.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal