Homepage Wiki Forum Buy

GNUBLIN embedded GNU/Linux

Open source learning and training plattorm for embedded GNU / Linux
A projects from Hochschule Augsburg and embedded projects GmbH

Project homepage: http://www.gnublin.org
Wiki: http://wiki.gnublin.org
Aktuelle Zeit: Mo 25. Sep 2017, 13:33

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 43 Beiträge ]  Gehe zu Seite 1, 2, 3, 4, 5  Nächste
Autor Nachricht
 Betreff des Beitrags: Webserver mit CGI
BeitragVerfasst: Mo 30. Jul 2012, 20:21 
Offline

Registriert: Di 5. Jun 2012, 19:53
Beiträge: 35
So, ich war mal so frei und habe meine experimentellen Erkenntnisse im Wiki abgeladen.
Für Kritik und Verbesserungsvorschläge bin ich dankbar.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Webserver mit CGI
BeitragVerfasst: Mo 30. Jul 2012, 20:43 
Offline

Registriert: Sa 9. Jun 2012, 09:53
Beiträge: 195
Wohnort: Bad Segeberg
Das schreit doch gleich mal nach einem Test am WE, sofern ich nicht den Ganzen tag im KKH SE bei meiner Verlobten bin. :|

_________________
Ubuntu 13.10 LTS ist meine Heimat. Lazarus 1.0.10 ist meine Sprache :D und SE meine LIEBE :D :D

GNUBLIN V1.5 8MB R.I.P
Nun GNUBLIN v1.5 32MB


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Webserver mit CGI
BeitragVerfasst: Di 31. Jul 2012, 08:54 
Offline

Registriert: Sa 7. Jul 2012, 13:54
Beiträge: 26
Danke für den Beitrag im Wiki hab schon lange drauf gewartet :D
Sobald ich am WE Zeit habe werde ich mal direkt alles probieren

_________________
Wer loslässt hat zwei Hände frei!!


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Webserver mit CGI
BeitragVerfasst: Di 31. Jul 2012, 15:52 
Offline

Registriert: Sa 7. Jul 2012, 13:54
Beiträge: 26
Hab es soweit am laufen cgi wird angezeigt usw..
Kann nur nicht vom Browser umschalten das funzt nicht geht nur manuell wenn ich den portstatus ändere aus der Konsole heraus.
Weiss jemand warum das so ist?
:cry:

_________________
Wer loslässt hat zwei Hände frei!!


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Webserver mit CGI
BeitragVerfasst: Do 2. Aug 2012, 21:04 
Offline

Registriert: Di 5. Jun 2012, 19:53
Beiträge: 35
Check mal die Rechte der value-Datei, ich hatte auch anfangs das Problem, bis ich auf diese Idee kam.

Abhilfe gab es bei durch ein:

Code:
chmod 666 value


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Webserver mit CGI
BeitragVerfasst: Sa 4. Aug 2012, 09:12 
Offline

Registriert: Sa 7. Jul 2012, 13:54
Beiträge: 26
Hallo habe die Gpio laut Wiki in Betrieb genommen

http://wiki.gnublin.org/index.php/Berechtigungen_GPIO

Funzt aber immer noch nicht Value ist auf 666

Ich lade den Webserver vorher mit einem Skript (user-init) und die Gpio sind In der S40 eingepflegt

Werde mal die Config zuerst laden und danach den webserver denke da liegt das Problem!! :roll:

_________________
Wer loslässt hat zwei Hände frei!!


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Webserver mit CGI
BeitragVerfasst: Sa 4. Aug 2012, 09:48 
Offline

Registriert: Di 5. Jun 2012, 19:53
Beiträge: 35
Wenn es dann immer noch nicht geht , starte mal das CGI-Shell-Skript auf der Konsole.
Falls dieses fehlerhaft ist, erhält man auch noch ein Paar nützliche Infos.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Webserver mit CGI
BeitragVerfasst: So 5. Aug 2012, 20:45 
Offline

Registriert: Sa 9. Jun 2012, 09:53
Beiträge: 195
Wohnort: Bad Segeberg
Moin @ll,

ich glaube ich steh gerade auf den Schlauch. :(

Habe wie im Wiki beschrieben folgende Files angelegt und überarbeitet. Komme allerdings nicht auf einen Grünen Zweig bzw. mal anders gesagt. Der Rechner will die beispiel.sh Downloaden und nicht ausführen. Kann sein, das ich mich gerade irre, aber wäre es da nicht hilfreich dies in eine HTML zu schreiben?
naja. das erst mal zu dein einem. nun aber zu dem eigendlichen Thema.

Alle im Wiki beschriebenen FIle habe ich nun wie folgt stehen.
/etc/lighttpd/modules.conf hat geschrieben:
#######################################################################
##
## Modules to load
## -----------------
##
## at least mod_access and mod_accesslog should be loaded
## all other module should only be loaded if really neccesary
##
## - saves some time
## - saves memory
##
## the default module set contains:
##
## "mod_indexfile", "mod_dirlisting", "mod_staticfile"
##
## you dont have to include those modules in your list
##
## Modules, which are pulled in via conf.d/*.conf
##
## NOTE: the order of modules is important.
##
## - mod_accesslog -> conf.d/access_log.conf
## - mod_compress -> conf.d/compress.conf
## - mod_status -> conf.d/status.conf
## - mod_webdav -> conf.d/webdav.conf
## - mod_cml -> conf.d/cml.conf
## - mod_evhost -> conf.d/evhost.conf
## - mod_simple_vhost -> conf.d/simple_vhost.conf
## - mod_mysql_vhost -> conf.d/mysql_vhost.conf
## - mod_trigger_b4_dl -> conf.d/trigger_b4_dl.conf
## - mod_userdir -> conf.d/userdir.conf
## - mod_rrdtool -> conf.d/rrdtool.conf
## - mod_ssi -> conf.d/ssi.conf
## - mod_cgi -> conf.d/cgi.conf
## - mod_scgi -> conf.d/scgi.conf
## - mod_fastcgi -> conf.d/fastcgi.conf
## - mod_proxy -> conf.d/proxy.conf
## - mod_secdownload -> conf.d/secdownload.conf
## - mod_expire -> conf.d/expire.conf
##

server.modules = (
"mod_access",
# "mod_alias",
# "mod_auth",
# "mod_evasive",
# "mod_redirect",
# "mod_rewrite",
# "mod_setenv",
# "mod_usertrack",
)

##
#######################################################################

#######################################################################
##
## Config for various Modules
##

##
## mod_ssi
##
#include "conf.d/ssi.conf"

##
## mod_status
##
#include "conf.d/status.conf"

##
## mod_webdav
##
#include "conf.d/webdav.conf"

##
## mod_compress
##
#include "conf.d/compress.conf"

##
## mod_userdir
##
#include "conf.d/userdir.conf"

##
## mod_magnet
##
#include "conf.d/magnet.conf"

##
## mod_cml
##
#include "conf.d/cml.conf"

##
## mod_rrdtool
##
#include "conf.d/rrdtool.conf"

##
## mod_proxy
##
#include "conf.d/proxy.conf"

##
## mod_expire
##
#include "conf.d/expire.conf"

##
## mod_secdownload
##
#include "conf.d/secdownload.conf"

##
#######################################################################

#######################################################################
##
## CGI modules
##

##
## SCGI (mod_scgi)
##
#include "conf.d/scgi.conf"

##
## FastCGI (mod_fastcgi)
##
#include "conf.d/fastcgi.conf"

##
## plain old CGI (mod_cgi)
##
## include "conf.d/cgi.conf" <--- Vorher # include "conf.d/cgi.conf"

##
#######################################################################

#######################################################################
##
## VHost Modules
##
## Only load ONE of them!
## ========================
##

##
## You can use conditionals for vhosts aswell.
##
## see http://www.lighttpd.net/documentation/c ... ation.html
##

##
## mod_evhost
##
#include "conf.d/evhost.conf"

##
## mod_simple_vhost
##
#include "conf.d/simple_vhost.conf"

##
## mod_mysql_vhost
##
#include "conf.d/mysql_vhost.conf"

##
#######################################################################


cgi.conf hat geschrieben:
#######################################################################
##
## CGI modules
## ---------------
##
## http://www.lighttpd.net/documentation/cgi.html
##
server.modules += ( "mod_cgi" )

##
## Plain old CGI handling
##
## For PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini.
##
cgi.assign = ( ".sh" => "/bin/sh",
".pl" => "/usr/bin/perl",
".cgi" => "/usr/bin/perl",
".rb" => "/usr/bin/ruby",
".erb" => "/usr/bin/eruby",
".py" => "/usr/bin/python" )

##
## to get the old cgi-bin behavior of apache
##
## Note: make sure that mod_alias is loaded if you uncomment the
## next line. (see modules.conf)
##
alias.url += ( "/cgi-bin" => var.server_root + "/cgi-bin" )
#$HTTP["url"] =~ "^/cgi-bin" {
# cgi.assign = ( "" => "" )
#}

##
#######################################################################

das Original dieser File liegt als co-cgi.conf im selbigem Verzeichnis

Die File beispiel.sh wurde aus dem wiki kopiert und in "nano" auf GNUBLIN eingebunden und schaut wie folgt aus.

beispiel.sh hat geschrieben:
#!/bin/sh

if [ "$REQUEST_METHOD" == "POST" ]
then
if [ `cat /sys/class/gpio/gpio3/value` == 1 ]
then
echo 0 > /sys/class/gpio/gpio3/value
else
echo 1 > /sys/class/gpio/gpio3/value
fi
fi


echo "Content-Type: text/html; charset=utf-8"
echo ""
echo "<html>"
echo " <head>"
echo " <title>Mit Webserver und CGI Port 3 ansteuern</title>"
echo " </head>"
echo " <body>"
echo " <h1>Mit Webserver und CGI Port 3 ansteuern</h1>"
if [ `cat /sys/class/gpio/gpio3/value` == 1 ]
then
echo " Portstatus: An"
else
echo " Portstatus: Aus"
fi
echo " <br><br>"
echo " <form action\"/cgi-bin/gpio3.sh\" method = \"POST\">"
echo " <input type=\"submit\" value=\"Umschalten\">"
echo " </body>"
echo "</html>"


HTML wäre da ggf. effektiver.

naja, wie dem auch sei, Jedes mal, wenn ich http://10.0.0.100/cgi-bin/beispiel.sh aufrufe, fragt Mozilla Firefox, was ich mit der file machen will. Die File wurde zuletzt mit
Code:
chmod -v 777 beispiel.sh
gesetzt.

Da mein Netzwerk schon beim Autostart aufgebaut wird schenk ich mir den Schritt. :D

Hat da ggf von euch jemand eine Idee, was welches bit da querliegt?

Gruß Maik

_________________
Ubuntu 13.10 LTS ist meine Heimat. Lazarus 1.0.10 ist meine Sprache :D und SE meine LIEBE :D :D

GNUBLIN V1.5 8MB R.I.P
Nun GNUBLIN v1.5 32MB


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Webserver mit CGI
BeitragVerfasst: Mo 6. Aug 2012, 09:35 
Offline

Registriert: Di 5. Jun 2012, 19:53
Beiträge: 35
Hier ist der Fehler:

Code:
## include "conf.d/cgi.conf" <--- Vorher # include "conf.d/cgi.conf"


Du musst die beiden #-Zeichen entfernen, also so:
Code:
 include "conf.d/cgi.conf"

Ok, ich gebe zu, dass meine Wortwahl im Wiki etwas unglücklich war. :?
Ich werde das gleich ändern.


Zum HTML-Programm:

Ein CGI-Programm erzeugt zur Laufzeit HTML-Code und schickt diesen dann, per Server an den Browser.
Deswegen sind auch HTML-Tags in dem Skript enthalten.
Mit reinem HTLM kann man nur statische Web-Seiten erzeugen.
Allerdings ist es damit nicht möglich, irgendwelche Programme oder Skripte auf dem Board zu starten.
Das Gleiche gilt übrigens auch für PHP, wobei ich denke, das die Hardware auf dem Board zu schwach für PHP ist.
Ich habe das allerdings noch nicht probiert.


Ein Paar Infos zu CGI:
http://de.wikipedia.org/wiki/Common_Gateway_Interface


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Webserver mit CGI
BeitragVerfasst: Mo 6. Aug 2012, 10:21 
Offline

Registriert: Sa 7. Jul 2012, 13:54
Beiträge: 26
Habe die Berechtigungen GPIO wie im wiki beschrieben gemacht

http://wiki.gnublin.org/index.php/Berechtigungen_GPIO

GPIO11 aktiv wird auch nach reboot angezeigt und ist aktiv
Das cgi-skript ist auch sichtbar und funzt sehe auch beim Umschalten das er an Gnublin sendet aber er schaltet nicht um....

ändere ich den Port manuell zeigt er es im webrowser nach reload auch an!!!
Aber leider schaltet er das Relais nicht ein bzw.. aus.


USER=root
GROUP=lighttpd
++Man kann hier beliebige user und Gruppen eintragen. Die Gruppe lighttpd ist aber ganz praktisch, wenn man später mit dem Webserver auf die Ports zugreifen will. ++
Liegt das an der Gruppe Lighttpd in Verbindung mit dem root?

Weiss nicht mehr weiter

_________________
Wer loslässt hat zwei Hände frei!!


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 43 Beiträge ]  Gehe zu Seite 1, 2, 3, 4, 5  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de