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.