J'essaie de configurer Graphite sur mon mac OS X 10.7 Lion, j'ai configuré Apache pour appeler le python Script de graphite via WSGI, mais lorsque j'essaie d'y accéder, je reçois une interdiction d'Apache et dans le journal des erreurs.
"client denied by server configuration: /opt/graphite/webapp/graphite.wsgi"
J'ai vérifié que l'emplacement des scripts est autorisé dans httpd.conf et les autorisations du fichier, mais elles semblent correctes. Que dois-je faire pour avoir accès? Ci-dessous est le httpd.conf, qui est presque l'exemple de graphite.
<IfModule !wsgi_module.c>
LoadModule wsgi_module modules/mod_wsgi.so
</IfModule>
WSGISocketPrefix /usr/local/Apache/run/wigs
<VirtualHost _default_:*>
ServerName graphite
DocumentRoot "/opt/graphite/webapp"
ErrorLog /opt/graphite/storage/log/webapp/error.log
CustomLog /opt/graphite/storage/log/webapp/access.log common
WSGIDaemonProcess graphite processes=5 threads=5 display-name='%{GROUP}' inactivity-timeout=120
WSGIProcessGroup graphite
WSGIApplicationGroup %{GLOBAL}
WSGIImportScript /opt/graphite/conf/graphite.wsgi process-group=graphite application-group=%{GLOBAL}
# XXX You will need to create this file! There is a graphite.wsgi.example
# file in this directory that you can safely use, just copy it to graphite.wgsi
WSGIScriptAlias / /opt/graphite/webapp/graphite.wsgi
Alias /content/ /opt/graphite/webapp/content/
<Location "/content/">
SetHandler None
</Location>
# XXX In order for the Django admin site media to work you
Alias /media/ "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site- packages/Django/contrib/admin/media/"
<Location "/media/">
SetHandler None
</Location>
# The graphite.wsgi file has to be accessible by Apache.
<Directory "/opt/graphite/webapp/">
Options +ExecCGI
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
Pouvez-vous aider?
Depuis Apache 2.4, Require all granted
est requis:
<Directory /opt/graphite/conf>
Require all granted
</Directory>
Jusqu'à Apache 2.2, vous écririez:
<Directory /opt/graphite/conf>
Order deny,allow
Allow from all
</Directory>
Voir Mise à niveau de notes .
Notez que vous pouvez activer mod_access_compat pour utiliser les directives anciennes (PRE 2.4) dans Apache 2.4. Cela pourrait être utile si vous souhaitez exclure rapidement cela comme la cause de votre problème initial, mais franchement, la migration vers Require
est suffisamment facile, il n'ya pas de point à l'aide de ce module juste pour le reporter.
http://wiki.apache.org/httpd/ClientDeniedByserverConfiguration
C'est toujours une de ces raisons.
Tu es absent:
<Directory /opt/graphite/webapp>
Order deny,allow
Allow from all
</Directory>
<Directory /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site- packages/Django/contrib/admin/media>
Order deny,allow
Allow from all
</Directory>
Vous n'avez pas non plus besoin de:
<Location "/content/">
SetHandler None
</Location>
<Location "/media/">
SetHandler None
</Location>
"Sethadandler Aucun" Stuff est vieil mod_python et pas nécessaire pour mod_wsgi.
Définition des autorisations d'exécution corrigée pour moi:
chmod u+x graphite.wsgi