Apache HTTP Szerver

Az Apache az egyik legnépszerűbb web szerver a Linux világában. Erősen ajánlatos, hogy az Apache web szervert külső meghajtóra telepítse és cserehelyet is állítson be, különösen, ha mysql adatbáziskezelőt is szeretne használni. Ha még nincs külső meghajtója cserehellyel, kérem először tekintse meg az erre vonatkozó szekciót alább. A szokásos eszközökkel másolhatja a kijelölt szöveget, és jobb egér klikkel beillesztheti a Putty terminálba.

Telepítés

Az Apache telepítése nagyon egyszerű:

opkg update
opkg install apache

Telepítés külső meghajtóra: (lásd alább)

opkg update
opkg -dest usb install apache

Most indítsuk újra a meghajtót, hogy elkészüljenek a szükséges linkek (vagy még jobb a router reboot)

/etc/init.d/hdd stop
/etc/init.d/hdd start

Apache beállítása

nano /etc/apache/httpd.conf

Néha ki kell törölni a sorok elején található # jelet, ami itt megjegyzést jelent.

Keresse meg a: Listen 12.34.56.78:80 bejegyzést. Cserélje erre

Listen 192.168.1.1:81

ahol 192.168.1.1 a router LAN IP címe, és a 81 a figyelt port. A 80-as portot a web adminisztrációs felület használja. Nézzen utána egyéb dokumentációban, hogy lehet a két portot felcserélni ha szükséges.

Keresse meg a ServerName bejegyzést. Cserélje erre

ServerName YourServer:81

ahol YourServer a szerver neve, például www.something99.com vagy MyServer.

Az internet böngészőbe írja be: http://192.168.1.1:81 hogy lássuk, működik
A szerver gyökér könyvtára a /usr/share/htdocs

Külső meghajtó és cserehely telepítése

Amennyiben Önnek már van külső meghajtója cserehellyel, kérem lépje át ezt a szekciót. A meghajtót célszerű NTFS fájlrendszerre formázni, így használhatja bárhol máshol is.

opkg update
opkg install kmod-usb2 kmod-usb-storage kmod-usb-core kmod-scsi-core
opkg update
opkg install ntfs-3g

a külső meghajtó becsatolása:
(ahol sda1 a meghajtó, lásd fdisk -ls, és /mnt/hdd a becsatolási pont. Használja az md utasítást a könyvtárak létrehozásához.)

ntfs-3g -o rw,noatime /dev/sda1 /mnt/hdd

Ezután készítsük el az alábbi szkriptet:

nano /etc/init.d/hdd

A tartalma pedíg:
(Ezzel a szkripttel más folyamatokat is vezényelhet, mint például a transmission torrent kliens, amik a külső meghajtót használják)

#!/bin/sh /etc/rc.common
START=98
STOP=40

start()
{
echo -n "Mounting USB drive: "
ntfs-3g -o rw,noatime /dev/sda1 /mnt/hdd
swapon /mnt/hdd/swapfile
mount -o loop /mnt/hdd/owrt_loop /mnt/loopdisk
opkg-link mount /mnt/loopdisk
apachectl start
echo "Done."
}

stop()
{
echo -n "Umounting USB drive: "
apachectl stop
sync
sync
swapoff /mnt/hdd/swapfile

umount -l /mnt/loopdisk
umount -l /dev/sda1
echo "Done."
}

restart()
{
apachectl restart
}

Adjuk meg a szükséges engedélyeket.

chmod a+x /etc/init.d/hdd

Hozzuk létre a cserehelyet, formázzuk, és kapcsoljuk be.

dd if=/dev/zero of=/mnt/hdd/swapfile bs=1M count=64
mkswap /mnt/hdd/swapfile
swapon /mnt/hdd/swapfile

Hogy lássuk, működik:

free

Most készítsük el a virtuális lemezt. Szükség van néhány további csomagra is.

opkg update
opkg install kmod-fs-ext3 kmod-loop e2fsprogs
insmod ext3
insmod loop

Ezután hozzuk létre, és formázzuk:

dd if=/dev/zero of=/mnt/hdd/owrt_loop bs=1M count=128
mke2fs -j -F -b 1024 /mnt/hdd/owrt_loop

Hogy használhassuk, kapcsoljuk az OpenWRT-hez:

mkdir /mnt/loopdisk
mount -o loop /mnt/hdd/owrt_loop /mnt/loopdisk

A rendszer már nem csak x MB, hanem x+128 MB

Ezt a sort írja be az /etc/opkg.conf fájlba

dest usb /mnt/loopdisk

Csomag telepítése:

opkg -dest usb install package

Csomag törlése:

opkg -dest usb remove package

Apache és PHP5 beállítása

nano /etc/php.ini

Keresse meg a doc_root és az extension=gd.so bejegyzést. Ne adjon meg doc_root -ot, és vegye ki megjegyzésből az extension=gd.so -t.

doc_root =
extension=gd.so

Most állítsuk be az Apache -ot:

vi /etc/apache/httpd.conf

Keresse meg az Apache konfigurációs fájlban a ScriptAlias részt. Az alábbi sort adja hozzá a fájlhoz, közvetlenül a ScriptAlias "cgi-bin" sor alá. Győződjön meg róla, hogy a sor a záró </IfModule> elé kerül, ami az <IfModule alias_module> szekciót zárja.

ScriptAlias /php/ "/usr/bin/"

Keresse meg az "AddType" megjegyzés blokkot, és írja be az AddType sort alább. Az AddType sorok az <IfModule mime_module> szekcióban vannak. Adja az alábbi sort közvetlenül az </IfModule> elé, ami ezt a szekciót zárja.

AddType application/x-httpd-php .php

A fájl legvégére írja be ezt a sort:

Action application/x-httpd-php "/php/php-cgi"

Keresse meg ezt a szekciót:

<Directory "/usr/share/cgi-bin">
  AllowOverride None
  Options None
  Order allow,deny
  Allow from all
</Directory>

Az alábbi sorokat írja közvetlenül az előbb megtalált szekció alá.

<Directory "/usr/bin">
  AllowOverride None
  Options none
  Order allow,deny
  Allow from all
</Directory>

Nagyon fontos, és nem szabad figyelmen kívül hagyni, hogy az /usr/bin könyvtár jóval több mindent tartalmaz, mint csak a php-cgi, ezért sokkal biztonságosabb a php-cgi fájlt egy másik könyvtárba áthelyezni, és az Apache -ot úgy konfigurálni, hogy azt a könvtárat használja!

Alapértelmezett Index oldal beállítása

Keresse meg:

DirectoryIndex index.html

Cserélje erre:

DirectoryIndex index.php index.html

Indítsa újra az Apache web szervert

apachectl restart

Ellenőrizze a PHP telepítést. Hozzon létre egy PHP fájlt az alábbi egyetlen sorral:

<?php phpinfo(); ?>

Mentse el a fájlt mint "index.php" az Apache htdocs könyvtárába.
Böngésző címsorába írja be http://192.168.1.1:81/index.php (lásd fent)

PHP hibaelhárítás

Ha a PHP futása során hiba történik, mint például a nem definiált funkció, nézzen bele a php.ini fájlba. Keresse meg a megfelelő "extension" sor(oka)t, és vegye ki a megjegyzés (;) jelet a sor elejéről. Ha a probléma továbbra is fennáll, valószínűleg telepíteni kell a megfelelő PHP kiterjesztést is. Ha a PHP kifogy a memóriából, növelheti a szkript által fogyasztható memória mennyiségét:

memory_limit = 8M      ; Maximum amount of memory a script may consume
post_max_size = 8M

Ne adjon meg több memóriát, mint ami rendelkezésre áll, és ne feledje, hogy más folyamatoknak is szüksége van memóriára. Felhívjuk figyelmét, hogy néhány dolog valószínűleg soha nem fog működni a routeren. Különösen a Backfire 10.03. alatt. A PHP SimpleXML kiterjesztés nélkül lett lefordítva, és a libxml is hiányzik. Ha ezek szükségesek, le kell fordítania a saját PHP verzióját. E nélkül a kiterjesztések nélkül, egyes szoftverek, mint például a Joomla 1.6 soha nem fog futni. Ha sikerül mégis futásra bírni, a komoly szoftveres megoldások rendkívül lassan futnak majd, és túl sok memóriát fognak fogyasztani.

Back to top

hu/doc/howto/http.apache.txt · Last modified: 2011/08/17 22:36 by zoli