1

Temat: Jak uruchomić skrypt http://ip_routera:port

W uhttpd skrypty cgi działają w katalogu cgi-bin co powoduje że mamy taki adres: http://ip_routera:port/cgi-bin/index.cgi
Czy da się je uruchamiać tak: http://ip_routera:port

Zmiana ustawienia "option cgi_prefix" w /etc/config/uhttpd nie działa
option home '/www'
option cgi_prefix '/'
lub
option cgi_prefix '/www'

A może jest jakiś inny sposób?

2

Odp: Jak uruchomić skrypt http://ip_routera:port

Oczywiście że się da, a ty po prostu zmieniłeś nie tą opcję co trzeba. Na domyślnej instalacji:
1. w katalogu /www zrób plik index.cgi o takiej zawartości:

#!/bin/sh
echo "Content-type:text/html"
echo ""
echo "to działa"

Pierwsze dwa echa musza być bo to nagłówek jest.
1a.

chmod 777 /www/index.cgi

2. Dodaj do /etc/config/uhttpd do sekcji main (lub innej gdzieś masz uruchomioną swoją instancję) coś takiego:

    list interpreter '.cgi=/bin/sh'
    option index_page index.cgi

Pierwsza linia jest od tego żeby wiedział co to. cgi ma wykonać.
Druga linia jest po to żebyś nie musiał podawać jawnie index.cgi w urlu.

Zrestartuj uhttpd i działa, sprawdziłem.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.