Antes de tudo, estou supondo que o sistema de arquivos /www
esteja mapeado para http://servername/
root, o que significa que a pasta /www/cgi-bin/
mapeia para http://servername/cgi-bin/
e, portanto, você deve procurar http://servername/cgi-bin/first.cgi
.
Também pode ser que o processo do servidor http não possa ser lido, mesmo que você possa. O modo de arquivo deve ser 555 (r-xr-xr-x)
ou 550 (r-xr-x---)
dependendo se a propriedade do grupo de arquivos for para o grupo em que o httpd está.
Outra possibilidade é que o $ (date) requeira um comando shell-external, que pode não estar disponível em tempo de execução. Tente sem isso.
Ainda não está funcionando? O servidor pode ser exigente sobre onde ele permite a execução de CGI. Normalmente apenas http://servername/cgi-bin/
é permitido, o que significa que você está no lugar certo em filename /www/cgi-bin/first.cgi. A documentação do uHTTPd parece querer que a pasta CGI seja definida, senão não permitirá CGI. Verifique isso no arquivo de configuração.
Por favor, note que eu estou respondendo de um fundo genérico do Unixy, não sabendo muito sobre os detalhes do OpenWRT ou do uHTTPd. Eu tenho várias décadas de experiência Unix / Linux e a arquitetura genérica é muito familiar para mim.