Serwer WWW

Mając zainstalowany system operacyjny jakim jest Linux nie musimy się martwić o zaimplementowanie karty sieciowej. Wszystkie peryferia zostały wymienione i zaimplementowane podczas kompilacji jądra systemu. Aby mieć dostęp do internetu wystarczy podpiąć kabel ethernetowy, a podczas odpalania systemu automatycznie zostanie przydzielony adres IP i można korzystać z dobrodziejstw internetu. Cały proces wraz z opisem można znaleźć w książce Łukasza Skalskiego, dlatego nie będę się powtarzał. Napiszę tylko podstawowe komendy, aby serwer działał.

Instalowanie serwera WWW także ograniczy się wyłącznie do pobrania odpowiednich pakietów i ich skonfigurowania. Większość dystrybucji Linuxa ma gotowe oprogramowanie, które służy do ściągania interesujących nas pakietów. W naszym przypadku jest to menadżer pakietów opkg, który znajduje się w katalogu /etc/opkg. Pierwszą rzeczą jaką należy zrobić to dodać definicje repozytorium poprzez komendę (ja nie zrobiłem i też działało):

echo 'src/gz angtrom-base http://www.angstrom-distribution.org/feeds/unstabel/ipk/glibc/armv7a/base' > /etc/opkg/angstrom-base.conf

Następnie uaktualniamy pakiety:

opkg update

W tym momencie zaczną się ściągać różne pakiety. Można je obejrzeć komendą "opkg list". Nas interesuje pakiet lighttpd, który jest serwerem www. Teraz wystarczy go zainstalować komendą:

opkg install lighttpd

W taki sposób został pobrany serwer WWW. Instalacja jest w pełni automatyczna i tworzy nawet pliki startowe dla serwera, dzięki czemu będzie się uruchamiał po starcie systemu. Jak nie to uruchomcie go ręcznie wpisując:

/etc/init.d/lighttpd start

Teraz możecie sprawdzić pracę serwera WWW, pisując w przeglądarce adress IP naszego serwer. Jeśli macie podpięty minikomputer do routera, to musicie w przeglądarce wpisać wewnętrzny adres IP. Aby sprawdzić wasz adres użyjcie polecenia ifconfig. Po wpisaniu adresu do przeglądarki powinniście uzyskać taki efekt:

Plik który wyświetlił się na ekranie znajdują się w katalogu głównym o nazwie www/pages/index.html. Jeśli jesteście podłączeni do router, a chcielibyście aby do waszego serwera można było się dostać z zewnątrz, to należy wejść na router i w zakładce Forwarding -> Virtual Servers wpisujecie swój IP komputera (wewnętrzny) i port. W ten sposób będziecie mieli dostęp do serwera za pomocą zewnętrznego IP.

Następnym etapem jest załączenie skryptów CGI po to aby móc przekazywać parametry z czujników na stronę www, należy zainstalować pakiety:

opkg install lighttpd-module-cgi
opkg install lighttpd-module-alias

Oraz zmienić w katalogu etc plik lighttpd.conf, trzeba odkomentować linijki "mod_cgi" i "mod_alias" poprzez usunięcie znaku # oraz dodać lokalizację skryptów.

alias.url +=("/cgi-bin" => "/www/cgi-bin")
$HTTP ["url"] =~ "^/cgi-bin"{
cgi.assign = (""=>"")
}

Można to zrobić za pomocą edytora vi. Opis obsługi edytora znajdziecie w tym PDF http://math.uni.lodz.pl/~polrola/strony/so/opis_vi.pdf . następnie tworzymy katalog ze skryptami:

mkdir /www/cgi-bin

Teraz mamy gotowy serwer obsługujący CGI. Aby zobaczyć jego działanie należy stworzyć jakiś program, który coś wyświetli. Najłatwiej wypisać coś na stronę za pomocą printf.

Utwórzmy sobie plik hello-cgi.c o treści:

#include <stdio.h>

int main(void) {
 printf("Content-Type: text/plain\n\n");
 printf("Hello Kwiecie, wlasnie odpaliles skrypt cgi \n\n");
 return 0;
}

Serwery WWW są bardzo popularne. Ta aplikacja jest wstępem do waszego inteligentnego domu. Dzięki minikomputerowi możecie mieć dostęp do urządzeń domowych z drugiego końca świata. Dzięki takiemu rozwiązaniu będziecie mogli stworzyć własny system alarmowy, który można monitorować z każdego miejsca na ziemi za pomocą sieci.

Całość można pobrać klikając na ten link: Kliknij, aby pobrać pliki