$ sudo /etc/init.d/apache2 restart
* Restarting web server apache2
... waiting . ...done.
username@servername Thu Nov 04 18:54:37 ~/public_html/IDM_app
$ sudo tail -n 60 /var/log/apache2/error.log
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] mod_wsgi (pid=28760): Exception occurred processing WSGI script '/home/username/public_html/idm.wsgi'.
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] Traceback (most recent call last):
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] File "/usr/local/lib/python2.7/site-packages/Django-1.2.3-py2.7.egg/django/core/handlers/wsgi.py", line 230, in __call__
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] self.load_middleware()
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] File "/usr/local/lib/python2.7/site-packages/Django-1.2.3-py2.7.egg/django/core/handlers/base.py", line 33, in load_middleware
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] for middleware_path in settings.MIDDLEWARE_CLASSES:
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] File "/usr/local/lib/python2.7/site-packages/Django-1.2.3-py2.7.egg/django/utils/functional.py", line 276, in __getattr__
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] self._setup()
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] File "/usr/local/lib/python2.7/site-packages/Django-1.2.3-py2.7.egg/django/conf/__init__.py", line 40, in _setup
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] self._wrapped = Settings(settings_module)
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] File "/usr/local/lib/python2.7/site-packages/Django-1.2.3-py2.7.egg/django/conf/__init__.py", line 73, in __init__
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] mod = importlib.import_module(self.SETTINGS_MODULE)
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] File "/usr/local/lib/python2.7/site-packages/Django-1.2.3-py2.7.egg/django/utils/importlib.py", line 35, in import_module
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] __import__(name)
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] File "/home/username/public_html/IDM_app/settings.py", line 60, in <module>
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] from settings_local import *
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] File "/home/username/public_html/IDM_app/settings_local.py", line 1, in <module>
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] from settings_Slicehost_idm import *
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] File "/home/username/public_html/IDM_app/settings_Slicehost_idm.py", line 12, in <module>
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] format='%(pathname)s TIME: %(asctime)s MSG: %(filename)s:%(funcName)s:%(lineno)d %(message)s',
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] File "/usr/local/lib/python2.7/logging/__init__.py", line 1500, in basicConfig
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] hdlr = FileHandler(filename, mode)
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] File "/usr/local/lib/python2.7/logging/__init__.py", line 889, in __init__
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] StreamHandler.__init__(self, self._open())
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] File "/usr/local/lib/python2.7/logging/__init__.py", line 908, in _open
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] stream = open(self.baseFilename, self.mode)
[Thu Nov 04 18:54:27 2010] [error] [client 8.17.58.38] IOError: [Errno 13] Permission denied: '/home/username/public_html/IDM_app/log/django.osqa.log'
[Thu Nov 04 18:54:36 2010] [notice] caught SIGTERM, shutting down
[Thu Nov 04 18:54:37 2010] [notice] Apache/2.2.14 (Ubuntu) mod_wsgi/3.3 Python/2.7 configured -- resuming normal operations
username@servername Thu Nov 04 18:54:42 ~/public_html/IDM_app
$ ls -l /home/username/public_html/IDM_app/log/django.osqa.log
-rw-r--r-- 1 username 0 Nov 4 18:24 /home/username/public_html/IDM_app/log/django.osqa.log
username@servername Thu Nov 04 19:08:41 ~/public_html/IDM_app
**$ ls -l ~/public_html/idm.wsgi **
-rw-r--r-- 1 username 222 Nov 4 18:53 /home/username/public_html/idm.wsgi
username@servername Thu Nov 04 19:10:50 ~/public_html/IDM_app
$ cat ~/public_html/idm.wsgi
import os
import sys
sys.path.append('/home/username/public_html/IDM_app/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
username@servername Thu Nov 04 19:11:02 ~/public_html/IDM_app $ whoami
username
If Apache2 uses the Virtual Host setup file @ ~/public_html/idm.wsgi, what User does the system think is trying to write the the log file log/django.osqa.log ?
Why can my Django app not write to its log file?
Apache's probably running as the apache
user, meaning that it doesn't have write access to the log file. It starts up fine because it only has to read the wsgi file, which has read permissions for all users. either chmod a+w django.osqa.log
or chown <apache-user> django.osqa.log
.
Note: the preferred method would be to chown
the file.
Note 2: this is distro-dependent, but since that looks Ubuntu-y, the apache user will be www-data
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With