2017-04-08 2 views
0

Je travaille sur un petit projet de collège en utilisant Raspberry Pi. Fondamentalement, le projet consiste à fournir une interface html pour contrôler un capteur attaché au Pi. J'ai écrit un code Python très simple attaché avec un code html très basique aussi. Tout est fait dans ce chemin/var/www/NewTest. Cependant, chaque fois que j'essaie d'y accéder, il y a une erreur interne de 500. J'ai essayé de simples exemples "Hello World" qui ont fonctionné avec moi et j'ai essayé de faire cet exemple de la même manière mais je n'ai pas travaillé.Erreur interne 500 lors de l'utilisation de Flask et 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> 

des idées? Merci!

Répondre

0

Le problème était dans led.conf. L'utilisateur doit être pi.

<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>