Fordítás és telepítés - http server apache

Ez a dokumentum kiemeli az Apache szerver fordításának és telepítésének problémáját csak UNIX és UNIX rendszereken. Ha a kiszolgálót Windows alatt szeretné telepíteni, olvassa el az "Apache használata a Microsoft Windows alatt" című dokumentumot. A fennmaradó platformokra vonatkozó információk megtalálhatók a Platform dokumentumban.







A kiszolgáló konfigurációs és telepítési környezetje teljesen más, mint az Apache 1.3-ban. Az Apache 1.3 egy közös szkriptsorozatot használ a telepítési folyamat egyszerűsítése érdekében. Az Apache 2.0 most használja a libtool és autoconf rendszereket. ami a kiszolgálóhoz hasonlít más nyílt forráskódú szoftverekhez (nyílt forrású projektek).

$ PREFIX / bin / apachectl indítás

Az NN-t ki kell cserélni az aktuális kisebb verziószámmal, és a PREFIX helyett meg kell adnia az elérési utat a kiszolgáló telepítéséhez. Ha a PREFIX nincs megadva, az alapértelmezett telepítés a / usr / local / apache2 könyvtárban található.

Részletesebben, a szerver összesítésének és telepítésének minden szakaszát alább tárgyaljuk, és a következő szakasz a telepítéshez szükséges rendszerkövetelmények leírásával kezdődik.

A sikeres szerverépítéshez szükséges követelmények:

Lemezterület Ellenőrizze, hogy a lemez legalább 50 MB szabad helyet biztosít az ideiglenes fájlok számára. A telepítés után az Apache körülbelül 10 MB-ot vesz igénybe. A foglalt tér pontos mérete főleg a kiválasztott konfigurációtól és az opcionális moduloktól függ, amelyek nem szerepelnek az Apache disztribúcióban. ANSI-C fordító és a szükséges beépítési környezet Biztosítsa, hogy az ANSI-C fordító telepítve legyen a rendszeren. A GNU C fordítót (GCC) a Free Software Foundation (FSF) használatával ajánlott használni (a 2.7.2-es verzió elég). Ha van egy másik fordítója, derítse ki, támogatja-e az ANSI szabványt. Ezenkívül ellenőrizze, hogy a PATH környezeti változó tartalmazza-e a könyvtárat, amely a build (make és mások) számára szükséges fő segédprogramokat tartalmazza. Időszinkronizálás Néhány HTTP protokoll fejléc megadja az időt. Ezért tudnia kell, hogyan állíthatja be az időszinkronizáló eszközt a rendszerben. Általában ntpdate vagy xntpd programokat használnak erre a célra. a Network Time Protocol (NTP) alapján. Az NTP és az időszinkronizáló szerverekkel kapcsolatos további információkért vegye fel a kapcsolatot a Usenet hírcsapat: comp.protocols.time.ntp. valamint látogatás a NTP honlapján Perl 5 [választható] Egyes támogatási szkriptek, mint apxs vagy dbmmanage (ami meg van írva Perl) előírja, hogy a tolmács a Perl (version 5,003 vagy ennél magasabb is elegendő). Ha a konfigurációs szkript `configure„nem találja meg a rendszer, akkor is képes építeni, és telepíti az Apache 2.0 - ebben az esetben nem csak futni segítő szkriptek a fent felsorolt. Ha a rendszer több mint egy tolmács a Perl nyelvet (pl Perl 4 és Perl 5), annak érdekében, hogy úgy döntött, a megfelelő configure script, futtatni a with-perl opciót (lásd az alábbi leírást).

Az Apache letölthető az Apache HTTP Software Foundation letöltési oldaláról. amely néhány tükörszervert is felsorol. Itt megtalálhatja a szerver legújabb stabil változatát.

A betöltés után, különösen, ha ez történt, hogy a tükör szerver, meg kell győződnie arról, hogy a keze tele van, nem módosított változata a HTTP Apache szerver. Ezt a tesztet a PGP aláírásnak való megfelelés tesztelésével végezzük el, amely viszont kétlépcsős eljárás. Először le kell töltenie a KEYS fájlt az Apache Software Foundation letöltési oldaláról. (Annak érdekében, hogy biztos, hogy a kulcsok fájl maga nem változott, akkor jobb, hogy az előző forgalmazási Apache vagy egy nyilvános kulcs szerver.) Ezután a kulcsokat lehet behozni a személyes kulcs adatbázis segítségével a következő parancsokat (kiviteltől függően PGP):

$ gpg --import KEYS

A következő lépés, hogy közvetlenül ellenőrizze a targonca használatát a PGP aláírással, amelyet mindig a fő Apache webszerveren kell végrehajtania. A PGP aláírással rendelkező fájlnak ugyanaz a neve, mint a disztribúciós archívum, valamint a .asc. Az elosztást az alábbi parancsok beírásával ellenőrizheti (ez ismét a rendszeren telepített pgp verziójától függ):

$ pgp httpd-2_0_NN .tar.gz.asc

$ gpg --verify httpd-2_0_NN .tar.gz.asc

Látnia kellene valami ilyesmit:

Jó aláírás a felhasználótól "Martin Kraemer ”.

Attól függően, hogy a bizalmi kapcsolatok szereplő kulcsadatbázisban, akkor is kap egy üzenetet, hogy a kapcsolat a kulcsot, és azok, akik regisztrált rájuk, lehetetlen megállapítani. Ez nem zavarhatja Önt, ha biztos benne a KEYS fájl hitelességében.

Az Apache HTTP-kiszolgáló forráskód archívumának kicsomagolása a csomag kicsomagolásából és kibontásából áll:

$ gzip -d httpd-2_0_NN .tar.gz
$ tar xvf httpd-2_0_NN .tar

A parancsok végrehajtása után létrejön egy új könyvtár a terjesztés forráskódjával. A kiszolgáló összeállítása előtt el kell mennie ehhez a könyvtárhoz.

A következő lépés a forrásfa konfigurálása a szervert telepítő rendszerrel és saját igényeivel összhangban. Ez a configure parancsfájl segítségével történik. az eloszlás gyökérkönyvtárában található. A fejlesztők, akik letöltötték a forrás fa a CVS kell beszerelni a közüzemi autoconf és libtool rendszer, és futtassa a programot buildconf. Mielőtt folytathatják a telepítést. A szerver hivatalos kiadásaiban ez nem szükséges.

A forrásfájl beállításához az alapértelmezett beállítások értékeit egyszerűen futtathatja ./configure parancsfájl nélkül. Az opciók értékének megváltoztatása érdekében a configure parancsfájl változók és parancssori opciók széles skáláját kínálja. Ebben az esetben a környezeti változókat a ./configure parancs előtt helyezik el. míg a fennmaradó lehetőségek után. A legfontosabb lehetőség itt a telepítési könyvtár előtagja, vagyis az az útvonal, amellyel az Apache ezt követően települ. De ezen túlmenően a kiszolgáló finomhangolásához még mindig számos választási lehetőség áll rendelkezésre.

Annak érdekében, hogy képet kapjon az Apache konfigurációs folyamat rugalmasságáról, fontolja meg a ./configure parancsfájl futtatásának következő tipikus példáját. Ez a konfiguráció lehetővé teszi a kiszolgáló fordítását a / sw / pkg / apache könyvtárba. a megadott fordítót használva több parancssori opcióval, és telepítsen két további modult mod_rewrite és mod_speling modult. amelyet ezután a DSO mechanizmuson keresztül lehet használni.







$ CC = "pgcc" CFLAGS = "- O2" \
./ configure --prefix = / sw / pkg / apache \
--enable-rewrite = megosztott \
--enable-speling = megosztott

Amikor végez, a configure script ellenőrzi, hogy telepítve van a rendszerben minden, amire szükség van, és létrehoz egy Makefile-t (Makefile-t), amely ezután összeállításához használt szerver.

A legegyszerűbb módja annak, hogy megtudja az összes rendelkezésre álló konfigurációs lehetőséget, hogy futtassa a ./configure --help parancsot. A képernyőn megjelenik majd az összes rendelkezésre álló opció és környezeti változó rövid leírása.

Az autoconf program számos környezeti változót használ az építési környezet konfigurálásához. Általában ezeken a változókon keresztül csak a kiszolgáló építési módját változtathatja meg - lehetetlen szabályozni a további kiszolgálói opciók beillesztését és deaktiválását. Ezek a változók bekerülhetnek a környezetbe, mielőtt a konfigurációs szkriptet meghívják. de a legegyszerűbb mód a fenti példában látható.

CC =. Parancs, hogy hívja a fordítót a C nyelvből CPPFLAGS =. További lehetőségek az előfeldolgozóhoz és a C fordítóhoz: CFLAGS =. Lehetőségek a fordító hibakeresésére és optimalizálására C. LDFLAGS =. A linker további lehetőségei. LIBS =. Információk a könyvtárak helyéről ("-L" és "-l" opciók), amelyeket átadnak a linkernek. INCLUDES =. A fejlécek keresésének módja. ( "-Idir"). TARGET =. [Alapértelmezett: apache] A végrehajtható fájl neve a NOTEST_CPPFLAGS = szerverösszeállítás után. NOTEST_CFLAGS =. NOTEST_LDFLAGS =. NOTEST_LIBS =. Ezek a környezeti változók ugyanazt a szerepet töltik be, mint az azonos változók, de a NOTEST előtag nélkül. A különbség az, hogy a környezetbe kerülnek, miután az autoconf tesztelte a működési környezet lehetőségeit. Ez lehetővé teszi az olyan beállítások használatát, amelyek ilyen teszteléssel hibát okozhatnak, de amelyek beírása kötelező a kiszolgáló végleges összeállításához. SHLIB_PATH =. A fordító és linker opciók, amelyek meghatározzák a megosztott könyvtárak elérési útját.

--help Megjeleníti a program használatára vonatkozó utasításokat, beleértve az összes lehetséges opciót, majd azonnal kilép. --quiet Megakadályozza a kijelző kezdődő üzenetet „ellenőrzése”. --verbose nyújt teljes körű információt során a konfigurációs folyamatot, beleértve a fájl nevét kell beolvasni.

Jelenleg kétféle módon határozhatja meg azokat az elérési útvonalakat, amelyekkel az Apache telepíti a fájlokat. Az első megoldás az Apache könyvtár kifejezett megadása, amelyre telepíteni fog.

--prefix = PREFIX [Alapértelmezés: / usr / local / apache2] Meghatározza az Apache telepítésének elérési útját.

Ezenkívül építészeti szempontból függő fájlokat is telepíthet egy másik, speciálisan megadott könyvtárba.

--exec-prefix = EPREFIX [Alapértelmezett: PREFIX] Meghatározza az architektúrafüggő fájlok telepítésének elérési útját.

A második módszer rugalmasabb. A config.layout fájlok használatából áll. Ezzel a módszerrel megadhatja a telepítési könyvtárat bármilyen típusú Apache fájl számára. A config.layout fájl számos konfigurációs példát tartalmaz. Ezekkel a példákkal önállóan hozhat létre saját telepítési konfigurációkat. A különféle növényi elrendezéseket külön szakaszokban csoportosítják . . utána pedig az FOO néven érhetők el.

--enable-layout = LAYOUT A config.layout fájlban megnevezett elrendezést használja. amelyben az összes telepítési útvonalat felírják.

Az Apache moduláris szerver. Csak a legfontosabb funkciók szerepelnek a kiszolgáló magjában. A modulok további funkciókkal rendelkeznek. A konfigurációs folyamat során ki kell választania a szerverrel lefordított modulokat. Az összes rendelkezésre álló modulot a megfelelő modulok listájában olvashatja el. Alapértelmezés szerint a modulok, amelyek állapotát "Basic" néven jelölik, összeállítják a kiszolgálóval; Ha nincs szüksége néhány alapvető modulra, akkor meg kell adnia a konfiguráláskor (az alapmodul, például a mod_userdir). Más állapotú modulokat nem állít össze az alapértelmezett kiszolgálóval, és (ha szükséges) külön be kell jelentkeznie, ha konfigurálva van (a mod_expires példaként szolgálhat egy ilyen modul esetén).

Két lehetőség van arra, hogy megmondja az Apache-nak, hogy használjon egy modult. A modulok statikusak lehetnek. míg kódjuk közvetlenül az Apache kiszolgáló futtatható kódjába kerül. Alternatívaként, ha az operációs rendszer támogatja a dinamikusan megosztott objektumokat (Dinamikus megosztott objektumok), és az autoconf meghatározhatja, hogy ez a helyzet, akkor a modulok dinamikusan lefordíthatók. A DSO modulok a szerver magjától elkülönítve tárolódnak, és a szerver a mod_so modul konfigurációs futási idejétől függően (azaz a már összeszerelt szerver munkájáért) felelős. A mod_so modul automatikusan bekerül a kiszolgáló magjába, ha legalább egy modul dinamikusan fordul elő. Ha nem fordít dinamikus modult, de azt szeretné, hogy a kiszolgáló képes legyen dolgozni a DSO modulokkal, állítsa be a következő beállítást a konfiguráláskor: --enable-so.

--enable-MODULE [= megosztva] Fordítsd és illesszük be a MODUL modulot a kiszolgáló magjába. MODUL a modul azonosítója. amely a "_string" karakterlánc eldobásával szerezhető be a dokumentációban megadott modul nevében. A modul DSO-ként történő összeállításához add hozzá a = megosztott opciót. --disable-MODULE Törölje a MODULE-t a fordított modulok listájából (ha ez a listában van). --enable-modules = MODULE-LIST Készítsük el és illesszük be a szerver magjába azon modulokat, amelyek azonosítói szerepelnek a MODULE-LIST listán. A lista elemei szétválaszthatók egymástól. --enable-mods-shared = MODULE-LIST Készítse el azokat a modulokat, amelyek azonosítóit a MODULE-LIST listában találja. mint dinamikus.

Például mod_dav és mod_info modulok beillesztésére a kiszolgálón. használhatod is

/ configure --enable-dav --inable-info

vagy az előző parancsnak megfelelő

/ configure --enable-modules = "dav info"

Ezenkívül vannak speciális vagy teljes kulcsszavak is. amely egyszerre használható a modulok összes vagy legtöbb moduljának összeállítására. A nem kívánt modulokat kizárhatja a listából a --disable-MODULE opciókkal. Például, hogy az összes modulot a kiszolgálóba DSO-ként vegye fel, a mod_info kivételével. írhatsz a következőket

/ configure --enable-mods-shared = összes --disable-info

A modulok szabványos készletén kívül az Apache 2.0 néhány többfolyamatú modullal (MPM) együtt kerül összeállításra. Egy és csak egy MP modul fordítható a kiszolgálóra. Az egyes platformokra alapértelmezés szerint összeállított MP modulok listája megtalálható a dokumentáció megfelelő szakaszában; Az MP-modul alapértelmezés szerint megváltoztatható a configure parancssori konfiguráció következő opciójával

--with-mpm = NAME A szerverrel történő fordítása egy NAME nevű MP modul lesz.

Néhány Apache modul, például a mod_auth_dbm és a mod_rewrite (a RewriteMap irányelv) a kulcs / érték elvén alapuló egyszerű adatbázisokat használnak munkájukban, ami növeli az információhoz való hozzáférés sebességét. Az SDBM adatbázisok támogatása a szerver magjába tartozik, ezért ilyen típusú adatbázisok használata mindig lehetséges. Ha más típusú adatbázisokra van szüksége, a következő lehetőségek közül választhat:

--with-gdbm [= elérési út] --with-ndbm [= elérési út] --with-berkeley-db [= útvonal] Ha az elérési út nincs megadva. Az Apache fejlécfájlokat és könyvtárakat keres a normál könyvtárakban. Egy explicit útvonal utasítással az Apache keresi a megfelelő fájlokat a path / lib és a path / include könyvtárakban. A fejlécfájlok és könyvtárak számára is meghatározott pontokat adhat meg, pontosvesszővel írva.

Az Apache segítségével megtalálhatja a suexec helper programot. amely lehetővé teszi az egyedi CGI-programok végrehajtásának szigorúbb ellenőrzését. Ha azonban a suexec helytelenül van beállítva, a kiszolgálóban jelentős biztonsági lyuk lehet. Ezért alaposan olvassa el a suexec dokumentációt. ha úgy dönt, hogy használja ezt a programot.

Most az alábbi parancs futtatásával fordíthatja és építheti az Apache szervert:

Légy türelmetlen - az alapkonfigurációjú kiszolgáló összeállítása (az alapértelmezett konfiguráció) kb. 3 percet vesz igénybe a Pentium III / Linux 2.2 rendszerhez hasonlóan. Az aktuális felépítési idő függ a hardvertől és a modulok számától, amelyekről úgy dönt, hogy összeállítanak a kiszolgálóval.

Itt az ideje, hogy telepítse a kiszolgálót a PREFIX könyvtárba. amelyet az Apache konfigurációja során adtak meg (lásd a fenti --prefix opciót) végrehajtásával:

Ha az Apache-t az előző verzióra telepíti, a régi konfigurációs fájlok és dokumentumok változatlanok maradnak.

Ezután konfigurálja a HTTP Apache szervert a PREFIX / conf / könyvtár konfigurációs fájljainak szerkesztésével.

$ vi PREFIX /conf/httpd.conf

Most elindíthatja a HTTP Apache szervert a következő parancs futtatásával:

$ PREFIX / bin / apachectl indítás

$ PREFIX / bin / apachectl stop