Az Apache webszerver telepítése téma nem is olyan egyszerű, hisz több módja is van. Ráadásul a szervernek több verziója is. Én ebben a fejezetben a Debian 6-ra a 2.4 és 2.2 -es verziók telepítéséről írok a forráskódból fordításra koncentrálva.
Ez a módszer ad ugyanis lehetőséget a több verzió egymás mellé telepítésére.
Tárolóból telepítés
Bár azt állítottam, hogy a forráskódból fordításra koncentrálok, muszáj ejteni pár szót a csomagból telepítésről is. Ezt azonban még a korábbi fejezetekben elkészült virtuális gépen ne próbálja ki az, aki az általam javasolt tesztkörnyezetet szeretné összeállítani! Elolvasni viszont nem árthat.
Erről a módszerről sok leírás található az interneten, ezért nem is szeretnék nagyon részletekbe menően foglalkozni vele, csak némi támpontot adnék.
A telepítés általános menetéről a Programok telepítése, törlése, frissítése Debian linuxon függelékben lehet olvasni.
A függelékben leírtak alapján az Apache szerver 2.2-es verziójának telepítése a következő módon történne.
apt-get install apache2
És ehhez jönnének az egyéb modulok, ha szükséges. Csomagból telepítés esetén a beállításokat tartalmazó fájlok az "/etc/apache2" mappába kerülnek. Speciális struktúra szerint vannak mappákba rendezve. A mods-available mappában az elérhető modulok konfigurációs fájljai kerülnek fizikailag, míg a mods-enabled mappában csak azok szimbolikus linkjei kerülnek, amik engedélyezve lettek. Ugyanígy a sites-available mappába az elérhető virtuális hosztok ( erről majd később ) fájljai kerülnek, míg a sites-enabled mappába bekapcsolt virtuális hosztok szombolikus linkjei. Ezek kezelésére nyújtja a Debian az a2enmod, a2ensite, a2dismod és a2dissite programokat. Ez hasznos, mert én személy szerint mindig elfelejtem az "ln" paraméterezését, amivel a szimbolikus linkeket lehetne létrehozni. Ezekkel pedig kikerülhető.
Telepítés forráskódból
Ez az a pont, ahol már elő lehet venni a korábban készített virtuális gépet, amihez az előző fejezetben elkészültek a hálózati beállítások is. Mivel bármi megtörténhet, javaslom a további lépések előtt a virtuális gép exportálását például "wtk-vm1-v2" néven. Azért v2, mert én a hálózati beállítások előtt is mentettem a gépet, amit v1-nek neveztem. Csak ezt akkor galád módon elfelejtettem közölni. Az exportálás a Fájl menüből, vagy a CTRL+I billentyűkombinációval indítható. A felbukkanó ablakban ki kell választani az exportálandó virtuális gépet. Külön meg lehet adni infókat arról, hogy mit is tartalmaz a gép. Ha a fájlnév nem lenne elég informatív.
Tehát indítsuk el a virtuális gépet, majd váltsunk root jogosultságra!
sudo su
Mivel forráskódból való telepítés lesz, először szükség lesz a forráskódra. Ezt a http://httpd.apache.org/download.cgi oldalon lehet letölteni. Itt a legújabb 2.4-es verziót válasszuk ki! Annak is a "tar.gz" kiterjesztésű változatát. Lehet másikat is, de én ezzel mutatom a példákat. Jelenleg a legújabb 2.4-es verzió a 2.4.4. Ezt a következő url-en lehet letölteni: http://xenia.sote.hu/ftp/mirrors/www.apache.org//httpd/httpd-2.4.4.tar.gz
Lépjünk be az "/opt" könyvtárba, ahova az ilyen egyedi telepítések szoktak kerülni. Itt az apache szervereknek hozzunk létre egy közös könyvtárat "apache" néven! Lépjünk bele és töltsük le parancssorból a tar.gz fájlt.
mkdir apache
cd apache
wget http://xenia.sote.hu/ftp/mirrors/www.apache.org//httpd/httpd-2.4.4.tar.gz
A httpd-2.4.4.tar.gz fájlt ki kell tömöríteni, majd belépni a létrejött mappába, mert ott folytatjuk a többi műveletet.
cd httpd-2.4.4
Most következik a fordítás és telepítés, aminek általános menetéről a Programok fordítása forráskódból Linux-on függelékben lehet olvasni. A ./configure leírását itt még kiegészíteném a következőkkel:
Beállíthatjuk, a webszerver milyen IP címen ( Mivel több IP cím is tartozhat egy géphez. És a jó kis virtuális gépünkhöz már tartozik is. ) és porton működjön. És ahogy a függelékben írtam, modulokat engedélyezhetünk. Erre csak egy paramétert mutatok most, de ennek mintájára más modulok is bekapcsolhatók már a telepítés pillanatában. Bizonyos modulok eleve engedélyezettek. Ezeket a --disable-MODULNEVE paraméterrel lehet tiltani.
További paraméter:
- --port:
Itt a portszámot kell megadni, amin a szerver működni fog. Alapértelmezetten ez a 80-as port. Felülbírálni akkor érdemes, ha a 80-as port foglalt, vagy több Apache szervert futtatunk egyazon IP címhez rendelve. Ekkor az egyiket különböző portra kell beállítani.
- --enable-rewrite:
Engedélyezi a rewrite modult. Ezzel lehet az úgynevezett "szép url-eket" készíteni.
Most már minden szükséges információ birtokában futtassuk a következőt parancssorban:
./configure --prefix=/opt/apache/2.4 --enable-rewrite
Le fog állni a telepítés a következő hibaüzenettel:
configure error: APR not found. Please read the documentation.
Ez az, ahol fel kell ismerni a hibaüzenet hasznos részét és beírni google-be, hogy "apache configure error apr not found". A kettőspontok és egyéb írásjelek beírása nem szükséges, viszont minden olyan részlet fontos, ami után "not found" található. Azaz az említett program/programkönyvtár nem található. Itt az APR. A telepítési segédlet, amit az előbb említett keresőkifejezéssel is megtalálhatunk, írja is, hogy mi a teendő. Lehetne a legújabb apr-util csomagot letölteni és bemásolni az apache szerver srclib könyvtárába, de fel is lehet telepíteni, amit a Debian tárolója nyújt. Tegyük ezt, az egyszerűség kedvéért!
Ha ilyenkor nem sikerül másképp kideríteni, pontosan melyik csomag kell, segít az apt-cache.
apt-cache search apr | less
A találatok között szerepel a következő 4 csomag is.
- libapr1
- libapr1-dev
- libaprutil1
- libaprutil1-dev
A dev végződésűek telepítésével többek közt a másik kettő is felkerül.
apt-get install libapr1-dev libaprutil1-dev
Figyelmeztetni fog, hogy további csomagok is felkerülnek. Üssük be az "y"-t és ENTER. Most feltelepültek a szükséges csomagok. Próbáljuk újra a korábbi configure sort!
./configure --prefix=/opt/apache/2.4 --enable-rewrite
Ha most minden hiba nélkül lefut, jöhet a make. De ne feledjük a naplózást!
make 2>make.log
Nézzük meg azért, hogy nem került-e semmi a log fájlba.
nano make.log
Ha üres, akkor jöhet a telepítés.
make install
Most már lehet indítani a webszervert.
/opt/apache/2.4/bin/apachectl start
A gazda gépen írjuk be a böngészőbe a korábban beállított IP címet. Aki nem biztos benne, utánajárhat az ifconfig | less
paranccsal.
http://192.168.56.2
De az IP alias is működik
http://192.168.56.3
Ez pedig így nem jó. Mivel telepítjük majd a 2.2 -es apache verziót is, aminek szintén a 80-as porton kell futnia. Ennek beállításához végezzük el a következőket:
- Nyissuk meg az apache fő konfigurációs fájlját!
nano /opt/apache/2.4/conf/httpd.conf
- nano-ban a CTRL+w billentyűkombinációval keressünk rá a "listen 80"-ra!
- Írjuk át a következőre:
Listen 192.168.56.2:80
- CTRL+O -val mentsük el és CTRL+X -szel lépjünk ki!
- Indítsuk újra az Apache szervert:
/opt/apache/2.4/bin/apachectl restart
Ha ez valami oknál fogva nem működne, akkor előbb a
/opt/apache/2.4/bin/apachectl stop
-pal állítsuk le, majd a
/opt/apache/2.4/bin/apachectl start
-tal indítsuk el!
Most már csak a 2-es végű IP-vel jön be az "It works" felirat.
Az Apache 2.2-es verziójának telepítése nagyon hasonlóan történik.
- Lépjünk vissza az apache könyvtárba!
- Töltsük le és tömörítsük ki a legújabb 2.2-es Apache webszerver verzióját!
- Telepítsük a ./configure, make és make install parancsokkal a "/opt/apache/2.2" mappába!
- Állítsuk át a "Listen" opcióját a 192.168.56.3 -as IP-re a 80-as porton!
Tehát:
wget http://xenia.sote.hu/ftp/mirrors/www.apache.org//httpd/httpd-2.2.24.tar.gz
tar xf httpd-2.2.24.tar.gz
cd httpd-2.2.24
./configure --prefix=/opt/apache/2.2 --enable-rewrite
make 2>make.log
make install
nano /opt/apache/2.2/conf/httpd.conf
Listen 80
cseréje Listen 192.168.56.3:80
-ra
Szerver indítása:
/opt/apache/2.2/bin/apachectl start
Most mindkét IP-re előjön az "It works!" felirat. Hogy lássuk a különbséget, írjuk át az index.html -t mindkét szerver gyökérkönyvtárában! Alapértelmezetten a gyökérkönyvtár a telepítési könyvtárban levő htdocs mappa. Mindkét fájl módosítása és oldalfrissítés után már látszani fog, hogy tényleg két különböző szerver fut.
Domain rendelése a szerverekhez
A két külön IP-nek akkor van főleg értelme, ha többet segít, mint a port megjegyzése. Ehhez hozzáadhatunk a két IP címhez saját domain nevet is. Ezt a domain nevet a saját gépünkről használhatjuk csak, hogy ne kelljen megjegyezni az IP-t.
A IP-domain párokat linux és Windows esetén is egy hosts nevű fájlban lehet megadni. A helyük viszont nyilván különbözik.
Fájl szerkesztése Windows 7-ben
A fájlt a C:\Windows\System32\drivers\etc\ mappában találjuk. Szerkesztéséhez adminisztrátori jog szükséges, ezért a Start menüből tallózzuk ki kedvenc forráskódszerkesztőnket ( notepad vagy notepad++, stb... ) a program nevére jobb egérgombbal kattintsunk és a menüből a "Run as administrator" opciót válasszuk. Azaz futtatás adminisztrátorként. Majd onnan nyissuk meg a fenti útvonalon a fájlt.
Az etc mappa innen valamilyen furcsa okból notepad++ -ban nem látszik. De az útvonalra kattintva a tallózó ablak fejlécében szerkeszthetővé válik az útvonal. Írjuk hozzá kézzel az etc-t és már láthatjuk is a fájlt.
Figyeljünk arra is, hogy a megjelenítendő fájlok kiterjesztése a jobb alsó sarokban ne legyen txt fájlokra korlátozva, különben nem látszanak a fájlok. Ezeknek ugyanis nincs kiterjesztésük.
Fájl szerkesztése Debian 6 linuxon
A fájl itt az /etc mappában van.
Szerezzünk root jogosultságot előbb.
sudo su
Vagy
su - root
ha a root usernek van jelszava és a sudo nem engedélyezett.
Majd szintén kedvenc forráskódszerkesztőnkkel nyissuk meg a fájlt. Én a nano híve vagyok, így:
nano /etc/hosts
Beállítás
A fájl végén soroljuk fel a két saját IP-domain párunkat!
192.168.56.3 a22.vm1
Ez után már böngészőből is menni fog az a24.vm1 domainen a 2.4-es apache, az a22.vm1 -en pedig a 2.2-es.
Ennél bonyolultabb domainkezelést már névszerverrel érdemes megoldani. Erről majd későbbi fejezetben lesz szó.
Végezetül javaslom, hogy az új módosítások után is exportáljuk a virtuális gépet most már "wtk-vm1-v3" néven.