2017-04-08 4 views
0

Ich arbeite an einem kleinen College-Projekt mit Raspberry Pi. Im Grunde soll das Projekt eine HTML-Schnittstelle zur Steuerung eines Sensors bereitstellen, der an den Pi angeschlossen ist. Ich habe einen sehr einfachen Python-Code mit einem sehr einfachen HTML-Code geschrieben. Alles geschieht in diesem Pfad/var/www/NewTest. Jedes Mal, wenn ich versuche, darauf zuzugreifen, wird jedoch ein interner Fehler von 500 ausgegeben. Ich habe einfache "Hello World" -Beispiele ausprobiert, die mit mir zusammen gearbeitet haben und versucht haben, dieses Beispiel auf die gleiche Weise zu tun, aber nicht funktioniert.Interner Fehler 500 bei Verwendung von Flask und Apache

led.py

from gpiozero import LED 
from time import sleep 
from flask import Flask, render_template 
app = Flask(__name__) 

ledr = LED(17) 
ledg = LED(27) 
ledb = LED(22) 


@app.route('/') 
def index(): 
    return render_template('index.html') 

@app.route('/red/') 
def red(): 
    ledr.off() 
    ledg.off() 
    ledb.off() 
    ledr.on() 
    return ' ' 

@app.route('/green/') 
def green(): 
    ledr.off() 
    ledg.off() 
    ledb.off() 
    ledg.on() 
    return ' ' 

@app.route('/blue/') 
def blue(): 
    ledr.off() 
    ledg.off() 
    ledb.off() 
    ledb.on() 
    return ' ' 

if __name__ == '__main__': 
    app.run(debug=True) 

led.conf

<virtualhost *:80> 
    ServerName 10.0.0.146 

    WSGIDaemonProcess led user=www-data group=www-data threads=5 home=/var/www/NewTest/ 
    WSGIScriptAlias//var/www/NewTest/led.wsgi 

    <directory /var/www/NewTest> 
     WSGIProcessGroup led 
     WSGIApplicationGroup %{GLOBAL} 
     WSGIScriptReloading On 
     Order deny,allow 
     Allow from all 
    </directory> 
</virtualhost> 

index.html

<!doctype html> 

<title>Test</title> 
<meta charset=utf-8> 

<a href="/red/">RED</a> <br/> 
<a href="/green/">GREEN</a><br/> 
<a href="/blue/">BLUE</a> 

irgendwelche Ideen? Danke!

Antwort

0

Das Problem war in der led.conf. Der Benutzer muss pi sein.

<virtualhost *:80> 
    ServerName 10.0.0.146 

    WSGIDaemonProcess led user=pi group=www-data threads=5 home=/var/www/NewTest/ 
    WSGIScriptAlias//var/www/NewTest/led.wsgi 

    <directory /var/www/NewTest> 
     WSGIProcessGroup led 
     WSGIApplicationGroup %{GLOBAL} 
     WSGIScriptReloading On 
     Order deny,allow 
     Allow from all 
    </directory> 
</virtualhost> 
Verwandte Themen