Freebsd dev linko22 s wiki

Normál webfejlesztő rendszer egy személyes gép a csomagot, például Denver vagy appserv, amely magában foglalja az Apache + php + mysql, több mappát a adattár példányban projektek, amelyek lehetővé teszik számára, hogy megtekintheti és teszt scriptek azok helyi gépen. Ennek számos előnye van, például, ha egy laptop, akkor cipelni, és a home run, de vannak hátrányai is, például, ha meg kell mutatni valakinek saját tapasztalat, hogy kell kérni közvetlenül a munkahelyen, vagy kérdezze meg a személyt konfigurálja a hosts fájlt, működni fog a virtuális gépeket.

Az volt az elképzelés, hogy hozzon létre valamiféle virtuális szerver szolgáltatások, amelyekre a hajtott gép webfejlesztő nem kell tenni semmit.

A végén úgy döntöttek, hogy használni, mint egy operációs rendszer FreeBSD, samba, börtön rendszer.

Minden felhasználó kap egy börtönben saját a VI ssh-n keresztül elérhető, mysql szerver, apache22 konfigurálva tömeges virtuális tárhely a képesség, hogy további virtuális kiszolgálók, amelyek nem illenek a minta a hagyományos virtuális host, megosztott mappák a samba, ahol csak úgy, hogy a könyvtár és script automatikusan megjelenik aldomain a harmadik szint.

Az egyszerűség kedvéért fogjuk használni egy variáns három fejlesztők.

Vedd változások az /etc/rc.conf

Jeil tegye kontroll port

Add autorun Ceyla, meghatározva az /etc/rc.conf:

Én szerver a legnagyobb méretű van egy rész / home. Ezért veszünk ezjail példamutatás fájlt, és másolja azt a konfigurációs fájl

Úgy, hogy egy húr

És vezet az elme

Mentsd el a fájlt, és állítsa a világ Jail, használja ezt parancsmaggal

Ő mászik az interneten, és rázza ki a szerelvény a FreeBSD a jelenlegi rendszerben. Elvileg lehetne használni a FreeBSD forráskódja, ha őket, de sokkal gyorsabb. Bár hozza mindent lehet menni, és öntsük magamnak egy csésze teát / go füst.

Itt úgy hozza mindent, és most itt az ideje, hogy megteremtse a kontroll Ceyla, amely használni fogja a már jailbreak fejlesztők.

A lényege, hogy mi Ceyla kontroll: minden fejlesztőnek az ő használata az autó egy teljes root jogosultságokkal. Szükség van rá, vagy nem, ez attól függ, hogy az adott fejlesztő. Ennek megfelelően, hogy nem tudott akar semmit törni, hogy jogokat ő lesz teljes és nem tudják lebontani. Mindez a munka, hogyan. Szerint a dokumentáció, és hasonlók felhasználásával készülnek egy segédprogram Jeyla ezjail-admin, a telepítés a világ olyan környezet megteremtése, Jail gerincét, azaz könyvtárak / bin / boot / lib / libexec / mentő / sbin / sys, amelyek a szimbolikus hivatkozásokat a könyvtár gyökerében Ceyla / basejail / bin / basejail / boot / basejail / lib / basejail / libexec / basejail / mentő / basejail / sbin / basejail / sys volt, ami viszont a linket a / home / jail / basejail. Katalógus / basejail szerelt Jail által mount_nullfs csak olvasható módban, ami azt jelenti, hogy a felhasználó nem tud mit kezdeni a rendszer fájlokat, vagy törölni, nem helyettesítik, vagy szerkeszteni. Ennek értelmében szerelt könyvtárat a / usr, kivéve a / usr / local, ahol a felhasználó lehet írni, és tegye a különböző kikötőkben.

De megyünk egy kicsit tovább. A jelenlegi cikk, 3. fejlesztők, de mi van, ha nem lesz több? Ez az első helyen, akkor meg semmilyen portot. A port lehet helyezni megfelelően, lehet görbe, akkor nem akarja megérteni, hogy miért történt. Csakúgy, akkor joga van eltávolítani kikötők, függőségek, és így tovább. Nem beszélve arról, hogy ha frissíteni, meg kell, hogy menjen be és frissíti minden Jail port.

Tekintsük a kézenfekvő megoldás, ami ésszerűnek tűnt.

Először hozzon létre egy ellenőrző Jail.

Ez fog feküdni az úton /home/jails/hq.local teremt könyvtárak és alkönyvtárak kapcsolódó

A mi esetünkben ez lesz telepítve börtönbe / usr / local

Minden csatlakoztatási pont által meghatározott fájlok /etc/fstab.JAILNAME

A mi esetünkben ez lesz /etc/fstab.hq_local

Ennek tartalma alapértelmezés szerint

A mi esetünkben, hogy a fejlesztők nem tudott mit kezdeni a kialakult port, de a munka közvetlenül velük felvenni ezt a fájlt egy másik könyvtárat

Ie Az ellenőrzés Ceyla fogjuk csatlakoztatni módban írható-olvasható, telepíteni vagy frissíteni a port, és abban az esetben a fejlesztők fogunk mount csak olvasható módban, kivéve a könyvtár stb ahol a fejlesztők tehetett igényelnek módosította a konfigurációs fájlok szolgáltatásokat.

Csakúgy, akkor kell, hogy működjön együtt a kikötőkben. Ehhez távolítsa el a szimbolikus link a kikötők a börtönben, és teszi őt a mappát, amely aztán egyszerűen csatlakoztassa a mappát a port a börtönben.

Csak tegye ezt meg /etc/fstab.hq_local

Fuss közvetlenül Jail

És nézd Jeil felsorolja, amit ő JID.

Minden, amit börtönben.

Annak érdekében, hogy azt az összes telepített port használható más Jeil létre kell hozni valamilyen szimbolikus linkeket.

Ie sőt, minden a legnagyobb könyvtárak, stb van amellett, hogy nézze meg a katalógust, amit csatlakoztatni a börtönbe. Minden tartalom egyaránt Jail.

Az infravörös port telepítését, azt használja a helyi másolatot a kikötők és a helyi cache distfiles hogy nem leng az azonos portot, és már így van, ha én meg egy alap rendszer. Ehhez szükségünk van kijavítani egy fájlt, az /etc/make.conf megjegyzésbe a vonal DISTDIR

És ennek megfelelően ezen a területen tegye a portokat, hogy szükségünk van.

Jönnek létre ugyanazon az elven, mint a kontroll Jail, azzal az eltéréssel, hogy az összes könyvtár telepített írásvédett módban, és a kikötők könyvtár egyáltalán nem használják.

A katalógusban / baselocaljail van var könyvtárat, ahol tettem extensions.ini fájlt. Ennek megfelelően, ebben az esetben, amikor frissíti a fájlt a kontroll Jail, ő ugyanaz lesz mindenhol.

Következő. Ha telepíteni további szükséges portokat minden Jeil távon /etc/rc.d/ldcondig

Például, akkor írj egy egyszerű script, hogy ezt:

Ugyanez vonatkozik az Apache

És, persze, egyes programokat hozott indítószkriptekkel, valamint a konfigurációs fájlt a / usr / local / etc, ők már nyomon követni a kezét.

Az egész rendszer működik egy iroda, számítógépek, amelyek használják a helyi DNS -server, amely pontosan meghatározza a szerver fejlesztők tesztelni. Hozhat létre, például a helyi irodában. És a második szintű domainek, a Jeil fejlesztők, például user001.local user002.local user003.local.

Kezdjük azzal, hogy a zóna maga is létrehozhat .local

Van a szerver beállításait és a zóna az / etc / namedb

Vegyük a standard kofig named.conf és hozzáadjuk a következő sort:

És ennek megfelelően a terület maga:

Fájl tartalma /etc/namedb/master/local.zone