Apache webszerver telepítése Deban 6-ra

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.

cd /opt/
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.

tar xf httpd-2.4.4.tar.gz
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:

checking for APR... no
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:

cd /opt/apache
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.2    a24.vm1
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.

Kategóriák: 
Megosztás/Mentés