Instalacja serwera www
Ostatnia zmiana: 2013-11-26 18:43
Czasami zdarza się, że potrzebujemy uruchomić prosty serwer www, prezentujący statyczne strony www lub korzystające ze skryptów cgi. Można to oczywiście zrobić na OpenWrt. Poniższe przykłady uruchamiają dodatkowy serwer nasłuchujący na porcie 81 z katalogiem domowym umieszczonym w
/mnt/usbdrive/www.
httpd/busybox
Starsze wersje OpenWrt (8.09) zawierały serwer
httpd będący częścią składową busyboxa. Jeżeli nadal używana jest taka wersja OpenWrt - do uruchomienia nowego serwera niezbędne są następujące polecenia
# uci add httpd httpd
# uci set httpd.@httpd[-1].port=81
# uci set httpd.@httpd[-1].home=/mnt/usbdrive/www
# uci commit httpd
# /etc/init.d/httpd start
httpd_gargoyle
httpd_gargoyle -p 81 -d /mnt/usbdrive/www
Do dodania np. do pliku
/etc/rc.local na samym początku.
uhttpd
W nowszych wersjach OpenWrt (10.03 i późniejsze) dostępny jest zewnętrzny program
uhttpd posiadający większe możliwości (np. obsługę ssl oraz skryptów lua). Aby uruchomić nowy serwer należy go najpierw zainstalować:
# opkg update
# opkg install uhttpd
a następnie dodać nową instancję
# uci add uhttpd uhttpd
# uci set uhttpd.@uhttpd[-1].listen_http=0.0.0.0:81
# uci set uhttpd.@uhttpd[-1].home=/mnt/usbdrive/www
# uci commit uhttpd
# /etc/init.d/uhttpd start
Lighttpd
Jest to alternatywa do znanego serwera Apache, często wykorzystywana w środowiskach gdzie liczy się "lekkość" i szybkość działania. Ten serwer ma potężne możliwości, do skonfigurowania przez instalacje dodatkowych modułów.
# opkg update
# opkg install lighttpd
# sed -i 's/#server.port.*/server.port = 81/' /etc/lighttpd/lighttpd.conf
# sed -i 's/"\/www\/"/"\/mnt\/usbdrive\/www\/"/' /etc/lighttpd/lighttpd.conf
# /etc/init.d/lighttpd start
Plik konfiguracyjny znajduje się w
/etc/lighttpd/lighttpd.conf. Polecenia z
sed zamieniają port i katalog domowy w pliku konfiguracyjnym. Należy zapoznać się możliwościami serwera na stronie projektu!
Apache
# opkg update
# opkg install apache
# sed -i 's/Listen=80/Listen=81/' /etc/apache/httpd.conf
# sed -i 's/"\/usr\/share\/htdocs"/"\/mnt\/usbdrive\/www\/"/' /etc/apache/httpd.conf
# echo "apachectl start" > /etc/rc.local
# echo "exit 0" >> /etc/rc.local
Patrz także
ten dokument.
Wbudowany interfejs do zarządzania ruterem
Standardowy obraz OpenWrt zawieraja środowisko graficzne do zarządzania ruterem - LuCI, które nasłuchuje na porcie 80 i/lub 443. Z tego też powodu nowy serwer musi albo nasłuchiwać na innym porcie, albo ten od gui musi zostać przesunięty na inny (np. 8080). Wykonuje się to zmieniając zmienną
listen_http w pliku /etc/config/uhttpd.
Zakończenie
Jeżeli dostęp do serwera http ma być od strony internetu należy pamiętać o odblokowaniu odpowiedniego portu na firewallu. W tym przypadku dla portu 81:
# uci add firewall rule
# uci set firewall.@rule[-1]._name=Webserver
# uci set firewall.@rule[-1].src=wan
# uci set firewall.@rule[-1].target=ACCEPT
# uci set firewall.@rule[-1].proto=tcp
# uci set firewall.@rule[-1].dest_port=81
# uci commit firewall
# /etc/init.d/firewall start