Revision history [back]
mod_wsgi - Error
Hello,
I cloned Askbot 0.7.53
from github and deployed it under /var/www/html/askbot-devel
on a system running Ubuntu 14.04 with Python 2.7.6.
Then I used pip install -r askbot_requirements.txt
and followed the documentation about installing Askbot.
When I run python manage.py runserver 127.0.0.1:8500
now everything seems to be fine except these messages in the error log:
/var/www/html/askbot-devel/askbot/skins/utils.py TIME: 2015-09-21 23:36:16,762 MSG: utils.py:get_media_url:159 missing media resource style/extra.css in skin default
Now I am trying to make it run with mod_wsgi. Therefore I compiled mod_wsgi with the installed python to make sure the versions match and added these lines to my 000-default.config
for apache:
<VirtualHost *:80>
ServerName askbot.localhost
DocumentRoot /var/www/html/askbot-devel
<Directory /var/www/html/askbot-devel>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
##Askbot
Alias /m/ /var/www/html/askbot-devel/static/
Alias /upfiles/ /var/www/html/askbot-devel/askbot/upfiles/
<DirectoryMatch "/var/www/html/askbot-devel/askbot/skins/([^/]+)/media">
Order deny,allow
Allow from all
</DirectoryMatch>
<DirectoryMatch "/var/www/html/askbot-devel/askbot/upfiles">
Order deny,allow
Allow from all
</DirectoryMatch>
WSGIDaemonProcess askbot
WSGIProcessGroup askbot
WSGIScriptAliasMatch / /var/www/html/askbot-devel/django.wsgi
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
This is what my settings.py looks like:
import os.path
import logging
import sys
import askbot
import site
sys.stderr.write('\n'.join(sorted(sys.path)) + '\n')
ASKBOT_ROOT = os.path.abspath(os.path.dirname(askbot.__file__))
site.addsitedir(os.path.join(ASKBOT_ROOT, 'deps'))
DEBUG = True
TEMPLATE_DEBUG = False
INTERNAL_IPS = ('127.0.0.1',)
ALLOWED_HOSTS = ['*',]
ADMINS = (
('Admins', 'bla@bla.bla'),
)
MANAGERS = ADMINS
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': '#####',
'USER': '#####',
'PASSWORD': '#####',
'HOST': '',
'PORT': '',
'TEST_CHARSET': 'utf8',
'TEST_COLLATION': 'utf8_general_ci',
}
}
SERVER_EMAIL = ''
DEFAULT_FROM_EMAIL = ''
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
EMAIL_SUBJECT_PREFIX = ''
EMAIL_HOST=''
EMAIL_PORT=''
EMAIL_USE_TLS=False
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
IMAP_HOST = ''
IMAP_HOST_USER = ''
IMAP_HOST_PASSWORD = ''
IMAP_PORT = ''
IMAP_USE_TLS = False
TIME_ZONE = 'Europe/Berlin'
SITE_ID = 1
USE_I18N = True
LANGUAGE_CODE = 'de'
MEDIA_ROOT = os.path.join(os.path.dirname(__file__), 'askbot', 'upfiles')
MEDIA_URL = '/upfiles/'
STATIC_URL = '/m/'
PROJECT_ROOT = os.path.dirname(__file__)
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static')
ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/'
SECRET_KEY = '###########################'
TEMPLATE_LOADERS = (
'askbot.skins.loaders.Loader',
'django.template.loaders.app_directories.Loader',
'django.template.loaders.filesystem.Loader',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'askbot.middleware.anon_user.ConnectToSessionMessagesMiddleware',
'askbot.middleware.forum_mode.ForumModeMiddleware',
'askbot.middleware.cancel.CancelActionMiddleware',
'django.middleware.transaction.TransactionMiddleware',
'askbot.middleware.view_log.ViewLogMiddleware',
'askbot.middleware.spaceless.SpacelessMiddleware',
'askbot.middleware.csrf.CsrfViewMiddleware',
)
ROOT_URLCONF = os.path.basename(os.path.dirname(__file__)) + '.urls'
FILE_UPLOAD_TEMP_DIR = os.path.join(
os.path.dirname(__file__),
'tmp'
).replace('\\','/')
FILE_UPLOAD_HANDLERS = (
'django.core.files.uploadhandler.MemoryFileUploadHandler',
'django.core.files.uploadhandler.TemporaryFileUploadHandler',
)
ASKBOT_ALLOWED_UPLOAD_FILE_TYPES = ('.jpg', '.jpeg', '.gif', '.bmp', '.png', '.tiff')
ASKBOT_MAX_UPLOAD_FILE_SIZE = 1024 * 1024 #result in bytes
DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.request',
'askbot.context.application_settings',
'askbot.user_messages.context_processors.user_messages',
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.csrf',
'askbot.deps.group_messaging.context.group_messaging_context',
)
INSTALLED_APPS = (
'longerusername',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.staticfiles',
'django.contrib.admin',
'django.contrib.humanize',
'django.contrib.sitemaps',
'django.contrib.messages',
'compressor',
'askbot',
'askbot.deps.django_authopenid',
'south',
'askbot.deps.livesettings',
'keyedcache',
'robots',
'django_countries',
'djcelery',
'djkombu',
'followit',
'tinymce',
'group_messaging',
)
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
'TIMEOUT': 6000,
'KEY_PREFIX': 'askbot',
}
}
LIVESETTINGS_CACHE_TIMEOUT = CACHES['default']['TIMEOUT']
CACHE_MIDDLEWARE_ANONYMOUS_ONLY = True
SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'askbot.deps.django_authopenid.backends.AuthBackend',
)
LOG_FILENAME = 'askbot.log'
logging.basicConfig(
filename=os.path.join(os.path.dirname(__file__), 'log', LOG_FILENAME),
level=logging.CRITICAL,
format='%(pathname)s TIME: %(asctime)s MSG: %(filename)s:%(funcName)s:%(lineno)d %(message)s',
)
ASKBOT_URL = ''
ASKBOT_TRANSLATE_URL = True
_ = lambda v:v
LOGIN_URL = '/%s%s%s' % (ASKBOT_URL,_('account/'),_('signin/'))
LOGIN_REDIRECT_URL = ASKBOT_URL
ALLOW_UNICODE_SLUGS = False
ASKBOT_USE_STACKEXCHANGE_URLS = False
BROKER_TRANSPORT = "djkombu.transport.DatabaseTransport"
CELERY_ALWAYS_EAGER = True
import djcelery
djcelery.setup_loader()
DOMAIN_NAME = ''
CSRF_COOKIE_NAME = '_csrf'
STATIC_ROOT = os.path.join(PROJECT_ROOT, "static")
STATICFILES_DIRS = (
('default/media', os.path.join(ASKBOT_ROOT, 'media')),
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'compressor.finders.CompressorFinder',
)
RECAPTCHA_USE_SSL = True
ENABLE_HAYSTACK_SEARCH = False
TINYMCE_COMPRESSOR = True
TINYMCE_SPELLCHECKER = False
TINYMCE_JS_ROOT = os.path.join(STATIC_ROOT, 'default/media/tinymce/')
TINYMCE_DEFAULT_CONFIG = {
'plugins': 'askbot_imageuploader,askbot_attachment',
'convert_urls': False,
'theme': 'advanced',
'content_css': STATIC_URL + 'default/media/style/tinymce/content.css',
'force_br_newlines': True,
'force_p_newlines': False,
'forced_root_block': '',
'mode' : 'textareas',
'oninit': "TinyMCE.onInitHook",
'plugins': 'askbot_imageuploader,askbot_attachment',
'theme_advanced_toolbar_location' : 'top',
'theme_advanced_toolbar_align': 'left',
'theme_advanced_buttons1': 'bold,italic,underline,|,bullist,numlist,|,undo,redo,|,link,unlink,askbot_imageuploader,askbot_attachment',
'theme_advanced_buttons2': '',
'theme_advanced_buttons3' : '',
'theme_advanced_path': False,
'theme_advanced_resizing': True,
'theme_advanced_resize_horizontal': False,
'theme_advanced_statusbar_location': 'bottom',
'width': '730',
'height': '250'
}
NOTIFICATION_DELAY_TIME = 60 * 15
GROUP_MESSAGING = {
'BASE_URL_GETTER_FUNCTION': 'askbot.models.user_get_profile_url',
'BASE_URL_PARAMS': {'section': 'messages', 'sort': 'inbox'}
}
ASKBOT_MULTILINGUAL = False
ASKBOT_CSS_DEVEL = False
if 'ASKBOT_CSS_DEVEL' in locals() and ASKBOT_CSS_DEVEL == True:
COMPRESS_PRECOMPILERS = (
('text/less', 'lessc {infile} {outfile}'),
)
COMPRESS_JS_FILTERS = []
COMPRESS_PARSER = 'compressor.parser.HtmlParser'
JINJA2_EXTENSIONS = ('compressor.contrib.jinja2ext.CompressorExtension',)
SOUTH_TESTS_MIGRATE = False
VERIFIER_EXPIRE_DAYS = 3
AVATAR_AUTO_GENERATE_SIZES = (16, 32, 48, 128)
Unfortunately when I open the page in my browser I get an 500 Internal Server Error
and the following log:
[mpm_prefork:notice] [pid 14761] AH00163: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.11 mod_wsgi/4.4.13 Python/2.7.6 configured -- resuming normal operations
[core:notice] [pid 14761] AH00094: Command line: '/usr/sbin/apache2'
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] mod_wsgi (pid=14765): SystemExit exception raised by WSGI script '/var/www/html/askbot-devel/django.wsgi' ignored.
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] Traceback (most recent call last):
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/handlers/wsgi.py", line 255, in __call__
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] response = self.get_response(request)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/handlers/base.py", line 103, in get_response
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] resolver_match = resolver.resolve(request.path_info)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/urlresolvers.py", line 319, in resolve
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] for pattern in self.url_patterns:
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/urlresolvers.py", line 347, in url_patterns
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/urlresolvers.py", line 342, in urlconf_module
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] self._urlconf_module = import_module(self.urlconf_name)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/utils/importlib.py", line 35, in import_module
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] __import__(name)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/var/www/html/askbot-devel/urls.py", line 12, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] from askbot.views.error import internal_error as handler500
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/var/www/html/askbot-devel/askbot/views/__init__.py", line 4, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] from askbot.views import api_v1
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/askbot-0.7.53-py2.7.egg/askbot/views/__init__.py", line 4, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] from askbot.views import api_v1
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/askbot-0.7.53-py2.7.egg/askbot/views/api_v1.py", line 8, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] from askbot import models
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/askbot-0.7.53-py2.7.egg/askbot/models/__init__.py", line 2, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] startup_procedures.run()
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/askbot-0.7.53-py2.7.egg/askbot/startup_procedures.py", line 1045, in run
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] sys.exit(1)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] SystemExit: 1
Does anyone have a clue how to solve this?
mod_wsgi - Error
Hello,
I cloned Askbot 0.7.53
from github and deployed it under /var/www/html/askbot-devel
on a system running Ubuntu 14.04 with Python 2.7.6.
Then I used pip install -r askbot_requirements.txt
and followed the documentation about installing Askbot.
When I run python manage.py runserver 127.0.0.1:8500
now everything seems to be fine except these messages in the error log:
/var/www/html/askbot-devel/askbot/skins/utils.py TIME: 2015-09-21 23:36:16,762 MSG: utils.py:get_media_url:159 missing media resource style/extra.css in skin default
Now I am trying to make it run with mod_wsgi. Therefore I compiled mod_wsgi with the installed python to make sure the versions match and added these lines to my 000-default.config
for apache:
<VirtualHost *:80>
ServerName askbot.localhost
DocumentRoot /var/www/html/askbot-devel
<Directory /var/www/html/askbot-devel>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
##Askbot
Alias /m/ /var/www/html/askbot-devel/static/
Alias /upfiles/ /var/www/html/askbot-devel/askbot/upfiles/
<DirectoryMatch "/var/www/html/askbot-devel/askbot/skins/([^/]+)/media">
Order deny,allow
Allow from all
</DirectoryMatch>
<DirectoryMatch "/var/www/html/askbot-devel/askbot/upfiles">
Order deny,allow
Allow from all
</DirectoryMatch>
WSGIDaemonProcess askbot
WSGIProcessGroup askbot
WSGIScriptAliasMatch / /var/www/html/askbot-devel/django.wsgi
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
This is what my settings.py settingy.py looks like:
import os.path
import logging
import sys
import askbot
import site
sys.stderr.write('\n'.join(sorted(sys.path)) + '\n')
ASKBOT_ROOT = os.path.abspath(os.path.dirname(askbot.__file__))
site.addsitedir(os.path.join(ASKBOT_ROOT, 'deps'))
DEBUG = True
TEMPLATE_DEBUG = False
INTERNAL_IPS = ('127.0.0.1',)
ALLOWED_HOSTS = ['*',]
ADMINS = (
('Admins', 'bla@bla.bla'),
)
MANAGERS = ADMINS
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': '#####',
'USER': '#####',
'PASSWORD': '#####',
'HOST': '',
'PORT': '',
'TEST_CHARSET': 'utf8',
'TEST_COLLATION': 'utf8_general_ci',
}
}
SERVER_EMAIL = ''
DEFAULT_FROM_EMAIL = ''
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
EMAIL_SUBJECT_PREFIX = ''
EMAIL_HOST=''
EMAIL_PORT=''
EMAIL_USE_TLS=False
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
IMAP_HOST = ''
IMAP_HOST_USER = ''
IMAP_HOST_PASSWORD = ''
IMAP_PORT = ''
IMAP_USE_TLS = False
TIME_ZONE = 'Europe/Berlin'
SITE_ID = 1
USE_I18N = True
LANGUAGE_CODE = 'de'
MEDIA_ROOT = os.path.join(os.path.dirname(__file__), 'askbot', 'upfiles')
MEDIA_URL = '/upfiles/'
STATIC_URL = '/m/'
PROJECT_ROOT = os.path.dirname(__file__)
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static')
ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/'
SECRET_KEY = '###########################'
TEMPLATE_LOADERS = (
'askbot.skins.loaders.Loader',
'django.template.loaders.app_directories.Loader',
'django.template.loaders.filesystem.Loader',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'askbot.middleware.anon_user.ConnectToSessionMessagesMiddleware',
'askbot.middleware.forum_mode.ForumModeMiddleware',
'askbot.middleware.cancel.CancelActionMiddleware',
'django.middleware.transaction.TransactionMiddleware',
'askbot.middleware.view_log.ViewLogMiddleware',
'askbot.middleware.spaceless.SpacelessMiddleware',
'askbot.middleware.csrf.CsrfViewMiddleware',
)
ROOT_URLCONF = os.path.basename(os.path.dirname(__file__)) + '.urls'
FILE_UPLOAD_TEMP_DIR = os.path.join(
os.path.dirname(__file__),
'tmp'
).replace('\\','/')
FILE_UPLOAD_HANDLERS = (
'django.core.files.uploadhandler.MemoryFileUploadHandler',
'django.core.files.uploadhandler.TemporaryFileUploadHandler',
)
ASKBOT_ALLOWED_UPLOAD_FILE_TYPES = ('.jpg', '.jpeg', '.gif', '.bmp', '.png', '.tiff')
ASKBOT_MAX_UPLOAD_FILE_SIZE = 1024 * 1024 #result in bytes
DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.request',
'askbot.context.application_settings',
'askbot.user_messages.context_processors.user_messages',
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.csrf',
'askbot.deps.group_messaging.context.group_messaging_context',
)
INSTALLED_APPS = (
'longerusername',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.staticfiles',
'django.contrib.admin',
'django.contrib.humanize',
'django.contrib.sitemaps',
'django.contrib.messages',
'compressor',
'askbot',
'askbot.deps.django_authopenid',
'south',
'askbot.deps.livesettings',
'keyedcache',
'robots',
'django_countries',
'djcelery',
'djkombu',
'followit',
'tinymce',
'group_messaging',
)
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
'TIMEOUT': 6000,
'KEY_PREFIX': 'askbot',
}
}
LIVESETTINGS_CACHE_TIMEOUT = CACHES['default']['TIMEOUT']
CACHE_MIDDLEWARE_ANONYMOUS_ONLY = True
SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'askbot.deps.django_authopenid.backends.AuthBackend',
)
LOG_FILENAME = 'askbot.log'
logging.basicConfig(
filename=os.path.join(os.path.dirname(__file__), 'log', LOG_FILENAME),
level=logging.CRITICAL,
format='%(pathname)s TIME: %(asctime)s MSG: %(filename)s:%(funcName)s:%(lineno)d %(message)s',
)
ASKBOT_URL = ''
ASKBOT_TRANSLATE_URL = True
_ = lambda v:v
LOGIN_URL = '/%s%s%s' % (ASKBOT_URL,_('account/'),_('signin/'))
LOGIN_REDIRECT_URL = ASKBOT_URL
ALLOW_UNICODE_SLUGS = False
ASKBOT_USE_STACKEXCHANGE_URLS = False
BROKER_TRANSPORT = "djkombu.transport.DatabaseTransport"
CELERY_ALWAYS_EAGER = True
import djcelery
djcelery.setup_loader()
DOMAIN_NAME = ''
CSRF_COOKIE_NAME = '_csrf'
STATIC_ROOT = os.path.join(PROJECT_ROOT, "static")
STATICFILES_DIRS = (
('default/media', os.path.join(ASKBOT_ROOT, 'media')),
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'compressor.finders.CompressorFinder',
)
RECAPTCHA_USE_SSL = True
ENABLE_HAYSTACK_SEARCH = False
TINYMCE_COMPRESSOR = True
TINYMCE_SPELLCHECKER = False
TINYMCE_JS_ROOT = os.path.join(STATIC_ROOT, 'default/media/tinymce/')
TINYMCE_DEFAULT_CONFIG = {
'plugins': 'askbot_imageuploader,askbot_attachment',
'convert_urls': False,
'theme': 'advanced',
'content_css': STATIC_URL + 'default/media/style/tinymce/content.css',
'force_br_newlines': True,
'force_p_newlines': False,
'forced_root_block': '',
'mode' : 'textareas',
'oninit': "TinyMCE.onInitHook",
'plugins': 'askbot_imageuploader,askbot_attachment',
'theme_advanced_toolbar_location' : 'top',
'theme_advanced_toolbar_align': 'left',
'theme_advanced_buttons1': 'bold,italic,underline,|,bullist,numlist,|,undo,redo,|,link,unlink,askbot_imageuploader,askbot_attachment',
'theme_advanced_buttons2': '',
'theme_advanced_buttons3' : '',
'theme_advanced_path': False,
'theme_advanced_resizing': True,
'theme_advanced_resize_horizontal': False,
'theme_advanced_statusbar_location': 'bottom',
'width': '730',
'height': '250'
}
NOTIFICATION_DELAY_TIME = 60 * 15
GROUP_MESSAGING = {
'BASE_URL_GETTER_FUNCTION': 'askbot.models.user_get_profile_url',
'BASE_URL_PARAMS': {'section': 'messages', 'sort': 'inbox'}
}
ASKBOT_MULTILINGUAL = False
ASKBOT_CSS_DEVEL = False
if 'ASKBOT_CSS_DEVEL' in locals() and ASKBOT_CSS_DEVEL == True:
COMPRESS_PRECOMPILERS = (
('text/less', 'lessc {infile} {outfile}'),
)
COMPRESS_JS_FILTERS = []
COMPRESS_PARSER = 'compressor.parser.HtmlParser'
JINJA2_EXTENSIONS = ('compressor.contrib.jinja2ext.CompressorExtension',)
SOUTH_TESTS_MIGRATE = False
VERIFIER_EXPIRE_DAYS = 3
AVATAR_AUTO_GENERATE_SIZES = (16, 32, 48, 128)
Unfortunately when I open the page in my browser I get an 500 Internal Server Error
and the following log:
[mpm_prefork:notice] [pid 14761] AH00163: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.11 mod_wsgi/4.4.13 Python/2.7.6 configured -- resuming normal operations
[core:notice] [pid 14761] AH00094: Command line: '/usr/sbin/apache2'
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] mod_wsgi (pid=14765): SystemExit exception raised by WSGI script '/var/www/html/askbot-devel/django.wsgi' ignored.
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] Traceback (most recent call last):
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/handlers/wsgi.py", line 255, in __call__
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] response = self.get_response(request)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/handlers/base.py", line 103, in get_response
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] resolver_match = resolver.resolve(request.path_info)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/urlresolvers.py", line 319, in resolve
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] for pattern in self.url_patterns:
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/urlresolvers.py", line 347, in url_patterns
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/urlresolvers.py", line 342, in urlconf_module
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] self._urlconf_module = import_module(self.urlconf_name)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/utils/importlib.py", line 35, in import_module
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] __import__(name)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/var/www/html/askbot-devel/urls.py", line 12, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] from askbot.views.error import internal_error as handler500
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/var/www/html/askbot-devel/askbot/views/__init__.py", line 4, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] from askbot.views import api_v1
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/askbot-0.7.53-py2.7.egg/askbot/views/__init__.py", line 4, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] from askbot.views import api_v1
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/askbot-0.7.53-py2.7.egg/askbot/views/api_v1.py", line 8, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] from askbot import models
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/askbot-0.7.53-py2.7.egg/askbot/models/__init__.py", line 2, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] startup_procedures.run()
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/askbot-0.7.53-py2.7.egg/askbot/startup_procedures.py", line 1045, in run
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] sys.exit(1)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] SystemExit: 1
Does anyone have a clue how to solve this?
mod_wsgi - Error
Hello,
I cloned Askbot 0.7.53
from github and deployed it under /var/www/html/askbot-devel
on a system running Ubuntu 14.04 with Python 2.7.6.
Then I used pip install -r askbot_requirements.txt
and followed the documentation about installing Askbot.
When I run python manage.py runserver 127.0.0.1:8500
now everything seems to be fine except these messages in the error log:
/var/www/html/askbot-devel/askbot/skins/utils.py TIME: 2015-09-21 23:36:16,762 MSG: utils.py:get_media_url:159 missing media resource style/extra.css in skin default
Now I am trying to make it run with mod_wsgi. Therefore I compiled mod_wsgi with the installed python to make sure the versions match and added these lines to my 000-default.config
for apache:
<VirtualHost *:80>
ServerName askbot.localhost
DocumentRoot /var/www/html/askbot-devel
<Directory /var/www/html/askbot-devel>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
##Askbot
Alias /m/ /var/www/html/askbot-devel/static/
Alias /upfiles/ /var/www/html/askbot-devel/askbot/upfiles/
<DirectoryMatch "/var/www/html/askbot-devel/askbot/skins/([^/]+)/media">
Order deny,allow
Allow from all
</DirectoryMatch>
<DirectoryMatch "/var/www/html/askbot-devel/askbot/upfiles">
Order deny,allow
Allow from all
</DirectoryMatch>
WSGIDaemonProcess askbot
WSGIProcessGroup askbot
WSGIScriptAliasMatch / /var/www/html/askbot-devel/django.wsgi
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
This is what my settingy.py looks like:
import os.path
import logging
import sys
import askbot
import site
sys.stderr.write('\n'.join(sorted(sys.path)) + '\n')
ASKBOT_ROOT = os.path.abspath(os.path.dirname(askbot.__file__))
site.addsitedir(os.path.join(ASKBOT_ROOT, 'deps'))
DEBUG = True
TEMPLATE_DEBUG = False
INTERNAL_IPS = ('127.0.0.1',)
ALLOWED_HOSTS = ['*',]
ADMINS = (
('Admins', 'bla@bla.bla'),
)
MANAGERS = ADMINS
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': '#####',
'USER': '#####',
'PASSWORD': '#####',
'HOST': '',
'PORT': '',
'TEST_CHARSET': 'utf8',
'TEST_COLLATION': 'utf8_general_ci',
}
}
SERVER_EMAIL = ''
DEFAULT_FROM_EMAIL = ''
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
EMAIL_SUBJECT_PREFIX = ''
EMAIL_HOST=''
EMAIL_PORT=''
EMAIL_USE_TLS=False
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
IMAP_HOST = ''
IMAP_HOST_USER = ''
IMAP_HOST_PASSWORD = ''
IMAP_PORT = ''
IMAP_USE_TLS = False
TIME_ZONE = 'Europe/Berlin'
SITE_ID = 1
USE_I18N = True
LANGUAGE_CODE = 'de'
MEDIA_ROOT = os.path.join(os.path.dirname(__file__), 'askbot', 'upfiles')
MEDIA_URL = '/upfiles/'
STATIC_URL = '/m/'
PROJECT_ROOT = os.path.dirname(__file__)
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static')
ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/'
SECRET_KEY = '###########################'
TEMPLATE_LOADERS = (
'askbot.skins.loaders.Loader',
'django.template.loaders.app_directories.Loader',
'django.template.loaders.filesystem.Loader',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'askbot.middleware.anon_user.ConnectToSessionMessagesMiddleware',
'askbot.middleware.forum_mode.ForumModeMiddleware',
'askbot.middleware.cancel.CancelActionMiddleware',
'django.middleware.transaction.TransactionMiddleware',
'askbot.middleware.view_log.ViewLogMiddleware',
'askbot.middleware.spaceless.SpacelessMiddleware',
'askbot.middleware.csrf.CsrfViewMiddleware',
)
ROOT_URLCONF = os.path.basename(os.path.dirname(__file__)) + '.urls'
FILE_UPLOAD_TEMP_DIR = os.path.join(
os.path.dirname(__file__),
'tmp'
).replace('\\','/')
FILE_UPLOAD_HANDLERS = (
'django.core.files.uploadhandler.MemoryFileUploadHandler',
'django.core.files.uploadhandler.TemporaryFileUploadHandler',
)
ASKBOT_ALLOWED_UPLOAD_FILE_TYPES = ('.jpg', '.jpeg', '.gif', '.bmp', '.png', '.tiff')
ASKBOT_MAX_UPLOAD_FILE_SIZE = 1024 * 1024 #result in bytes
DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.request',
'askbot.context.application_settings',
'askbot.user_messages.context_processors.user_messages',
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.csrf',
'askbot.deps.group_messaging.context.group_messaging_context',
)
INSTALLED_APPS = (
'longerusername',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.staticfiles',
'django.contrib.admin',
'django.contrib.humanize',
'django.contrib.sitemaps',
'django.contrib.messages',
'compressor',
'askbot',
'askbot.deps.django_authopenid',
'south',
'askbot.deps.livesettings',
'keyedcache',
'robots',
'django_countries',
'djcelery',
'djkombu',
'followit',
'tinymce',
'group_messaging',
)
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
'TIMEOUT': 6000,
'KEY_PREFIX': 'askbot',
}
}
LIVESETTINGS_CACHE_TIMEOUT = CACHES['default']['TIMEOUT']
CACHE_MIDDLEWARE_ANONYMOUS_ONLY = True
SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'askbot.deps.django_authopenid.backends.AuthBackend',
)
LOG_FILENAME = 'askbot.log'
logging.basicConfig(
filename=os.path.join(os.path.dirname(__file__), 'log', LOG_FILENAME),
level=logging.CRITICAL,
format='%(pathname)s TIME: %(asctime)s MSG: %(filename)s:%(funcName)s:%(lineno)d %(message)s',
)
ASKBOT_URL = ''
ASKBOT_TRANSLATE_URL = True
_ = lambda v:v
LOGIN_URL = '/%s%s%s' % (ASKBOT_URL,_('account/'),_('signin/'))
LOGIN_REDIRECT_URL = ASKBOT_URL
ALLOW_UNICODE_SLUGS = False
ASKBOT_USE_STACKEXCHANGE_URLS = False
BROKER_TRANSPORT = "djkombu.transport.DatabaseTransport"
CELERY_ALWAYS_EAGER = True
import djcelery
djcelery.setup_loader()
DOMAIN_NAME = ''
CSRF_COOKIE_NAME = '_csrf'
STATIC_ROOT = os.path.join(PROJECT_ROOT, "static")
STATICFILES_DIRS = (
('default/media', os.path.join(ASKBOT_ROOT, 'media')),
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'compressor.finders.CompressorFinder',
)
RECAPTCHA_USE_SSL = True
ENABLE_HAYSTACK_SEARCH = False
TINYMCE_COMPRESSOR = True
TINYMCE_SPELLCHECKER = False
TINYMCE_JS_ROOT = os.path.join(STATIC_ROOT, 'default/media/tinymce/')
TINYMCE_DEFAULT_CONFIG = {
'plugins': 'askbot_imageuploader,askbot_attachment',
'convert_urls': False,
'theme': 'advanced',
'content_css': STATIC_URL + 'default/media/style/tinymce/content.css',
'force_br_newlines': True,
'force_p_newlines': False,
'forced_root_block': '',
'mode' : 'textareas',
'oninit': "TinyMCE.onInitHook",
'plugins': 'askbot_imageuploader,askbot_attachment',
'theme_advanced_toolbar_location' : 'top',
'theme_advanced_toolbar_align': 'left',
'theme_advanced_buttons1': 'bold,italic,underline,|,bullist,numlist,|,undo,redo,|,link,unlink,askbot_imageuploader,askbot_attachment',
'theme_advanced_buttons2': '',
'theme_advanced_buttons3' : '',
'theme_advanced_path': False,
'theme_advanced_resizing': True,
'theme_advanced_resize_horizontal': False,
'theme_advanced_statusbar_location': 'bottom',
'width': '730',
'height': '250'
}
NOTIFICATION_DELAY_TIME = 60 * 15
GROUP_MESSAGING = {
'BASE_URL_GETTER_FUNCTION': 'askbot.models.user_get_profile_url',
'BASE_URL_PARAMS': {'section': 'messages', 'sort': 'inbox'}
}
ASKBOT_MULTILINGUAL = False
ASKBOT_CSS_DEVEL = False
if 'ASKBOT_CSS_DEVEL' in locals() and ASKBOT_CSS_DEVEL == True:
COMPRESS_PRECOMPILERS = (
('text/less', 'lessc {infile} {outfile}'),
)
COMPRESS_JS_FILTERS = []
COMPRESS_PARSER = 'compressor.parser.HtmlParser'
JINJA2_EXTENSIONS = ('compressor.contrib.jinja2ext.CompressorExtension',)
SOUTH_TESTS_MIGRATE = False
VERIFIER_EXPIRE_DAYS = 3
AVATAR_AUTO_GENERATE_SIZES = (16, 32, 48, 128)
Unfortunately when I open the page in my browser I get an 500 Internal Server Error
and the following log:
[mpm_prefork:notice] [pid 14761] AH00163: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.11 mod_wsgi/4.4.13 Python/2.7.6 configured -- resuming normal operations
[core:notice] [pid 14761] AH00094: Command line: '/usr/sbin/apache2'
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] mod_wsgi (pid=14765): SystemExit exception raised by WSGI script '/var/www/html/askbot-devel/django.wsgi' ignored.
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] Traceback (most recent call last):
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/handlers/wsgi.py", line 255, in __call__
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] response = self.get_response(request)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/handlers/base.py", line 103, in get_response
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] resolver_match = resolver.resolve(request.path_info)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/urlresolvers.py", line 319, in resolve
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] for pattern in self.url_patterns:
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/urlresolvers.py", line 347, in url_patterns
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/urlresolvers.py", line 342, in urlconf_module
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] self._urlconf_module = import_module(self.urlconf_name)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/utils/importlib.py", line 35, in import_module
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] __import__(name)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/var/www/html/askbot-devel/urls.py", line 12, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] from askbot.views.error import internal_error as handler500
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/var/www/html/askbot-devel/askbot/views/__init__.py", line 4, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] from askbot.views import api_v1
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/askbot-0.7.53-py2.7.egg/askbot/views/__init__.py", line 4, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] from askbot.views import api_v1
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/askbot-0.7.53-py2.7.egg/askbot/views/api_v1.py", line 8, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] from askbot import models
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/askbot-0.7.53-py2.7.egg/askbot/models/__init__.py", line 2, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] startup_procedures.run()
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/askbot-0.7.53-py2.7.egg/askbot/startup_procedures.py", line 1045, in run
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] sys.exit(1)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] SystemExit: 1
Does anyone have a clue how to solve this?
mod_wsgi - Error
Hello,
I cloned Askbot 0.7.53
from github and deployed it under /var/www/html/askbot-devel
on a system running Ubuntu 14.04 with Python 2.7.6.
Then I used pip install -r askbot_requirements.txt
and followed the documentation about installing Askbot.
When I run python manage.py runserver 127.0.0.1:8500
now everything seems to be fine except these messages in the error log:
/var/www/html/askbot-devel/askbot/skins/utils.py TIME: 2015-09-21 23:36:16,762 MSG: utils.py:get_media_url:159 missing media resource style/extra.css in skin default
Now I am trying to make it run with mod_wsgi. Therefore I compiled mod_wsgi with the installed python to make sure the versions match and added these lines to my 000-default.config
for apache:
WSGISocketPrefix /var/www/pythonsock
WSGIPythonEggs /var/www/pythonegg
<VirtualHost *:80>
ServerName askbot.localhost
DocumentRoot /var/www/html/askbot-devel
<Directory /var/www/html/askbot-devel>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
##Askbot
Alias /m/ /var/www/html/askbot-devel/static/
Alias /upfiles/ /var/www/html/askbot-devel/askbot/upfiles/
<DirectoryMatch "/var/www/html/askbot-devel/askbot/skins/([^/]+)/media">
Order deny,allow
Allow from all
</DirectoryMatch>
<DirectoryMatch "/var/www/html/askbot-devel/askbot/upfiles">
Order deny,allow
Allow from all
</DirectoryMatch>
WSGIDaemonProcess askbot
WSGIProcessGroup askbot
WSGIScriptAliasMatch / /var/www/html/askbot-devel/django.wsgi
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Unfortunately when I open the page in my browser I get an 500 Internal Server Error
and the following log:
[mpm_prefork:notice] [pid 14761] AH00163: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.11 mod_wsgi/4.4.13 Python/2.7.6 configured -- resuming normal operations
[core:notice] [pid 14761] AH00094: Command line: '/usr/sbin/apache2'
[wsgi:error] [pid 14765] /usr/lib/python2.7
[wsgi:error] [pid 14765] /usr/lib/python2.7/dist-packages
[wsgi:error] [pid 14765] /usr/lib/python2.7/dist-packages/PILcompat
[wsgi:error] [pid 14765] /usr/lib/python2.7/dist-packages/gtk-2.0
[wsgi:error] [pid 14765] /usr/lib/python2.7/dist-packages/ubuntu-sso-client
[wsgi:error] [pid 14765] /usr/lib/python2.7/lib-dynload
[wsgi:error] [pid 14765] /usr/lib/python2.7/lib-old
[wsgi:error] [pid 14765] /usr/lib/python2.7/lib-tk
[wsgi:error] [pid 14765] /usr/lib/python2.7/plat-x86_64-linux-gnu
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/Coffin-0.3.8-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/Jinja2-2.8-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/MarkupSafe-0.23-py2.7-linux-x86_64.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/PyJWT-1.4.0-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/South-1.0.2-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/Unidecode-0.04.18-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/akismet-0.2.0-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/amqp-1.4.6-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/anyjson-0.3.3-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/askbot-0.7.53-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/beautifulsoup4-4.4.0-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/billiard-3.3.0.20-py2.7-linux-x86_64.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/celery-3.1.18-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_appconf-1.0.1-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_avatar-2.1.1-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_celery-3.0.11-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_compressor-1.2-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_countries-3.3-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_followit-0.0.7-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_keyedcache-1.5.1-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_kombu-0.9.4-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_picklefield-0.3.0-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_recaptcha_works-0.3.4-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_robots-1.0-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_threaded_multihost-1.4_1-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_tinymce-1.5.1b2-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_transaction_signals-1.0.0-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/docutils-0.12-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/html5lib-0.90-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/jsonfield-1.0.3-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/kombu-3.0.26-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/lamson-1.3.4-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/lockfile-0.10.2-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/longerusername-0.4-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/markdown2-2.3.0-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/mock-1.0.1-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/nose-1.3.7-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/oauth2-1.9.0.post1-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/pystache-0.3.1-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/python_daemon-2.0.6-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/python_modargs-1.7-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/python_openid-2.2.5-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/pytz-2013b-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/sanction-0.3.1-py2.7.egg
[wsgi:error] [pid 14765] /var/www/html
[wsgi:error] [pid 14765] /var/www/html/askbot-devel
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] mod_wsgi (pid=14765): SystemExit exception raised by WSGI script '/var/www/html/askbot-devel/django.wsgi' ignored.
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] Traceback (most recent call last):
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/handlers/wsgi.py", line 255, in __call__
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] response = self.get_response(request)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/handlers/base.py", line 103, in get_response
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] resolver_match = resolver.resolve(request.path_info)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/urlresolvers.py", line 319, in resolve
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] for pattern in self.url_patterns:
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/urlresolvers.py", line 347, in url_patterns
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/urlresolvers.py", line 342, in urlconf_module
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] self._urlconf_module = import_module(self.urlconf_name)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/utils/importlib.py", line 35, in import_module
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] __import__(name)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/var/www/html/askbot-devel/urls.py", line 12, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] from askbot.views.error import internal_error as handler500
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/var/www/html/askbot-devel/askbot/views/__init__.py", line 4, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] from askbot.views import api_v1
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/askbot-0.7.53-py2.7.egg/askbot/views/__init__.py", line 4, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] from askbot.views import api_v1
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/askbot-0.7.53-py2.7.egg/askbot/views/api_v1.py", line 8, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] from askbot import models
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/askbot-0.7.53-py2.7.egg/askbot/models/__init__.py", line 2, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] startup_procedures.run()
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/askbot-0.7.53-py2.7.egg/askbot/startup_procedures.py", line 1045, in run
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] sys.exit(1)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] SystemExit: 1
Does anyone have a clue how to solve this?
mod_wsgi - Error
Hello,
I cloned Askbot 0.7.53
from github and deployed it under /var/www/html/askbot-devel
on a system running Ubuntu 14.04 with Python 2.7.6.
Then I used pip install -r askbot_requirements.txt
and followed the documentation about installing Askbot.
When I run python manage.py runserver 127.0.0.1:8500
now everything seems to be fine except these messages in the error log:
/var/www/html/askbot-devel/askbot/skins/utils.py TIME: 2015-09-21 23:36:16,762 MSG: utils.py:get_media_url:159 missing media resource style/extra.css in skin default
Now I am trying to make it run with mod_wsgi. Therefore I compiled mod_wsgi with the installed python to make sure the versions match and added these lines to my 000-default.config
for apache:
WSGISocketPrefix /var/www/pythonsock
WSGIPythonEggs /var/www/pythonegg
<VirtualHost *:80>
ServerName askbot.localhost
DocumentRoot /var/www/html/askbot-devel
<Directory /var/www/html/askbot-devel>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
##Askbot
Alias /m/ /var/www/html/askbot-devel/static/
Alias /upfiles/ /var/www/html/askbot-devel/askbot/upfiles/
<DirectoryMatch "/var/www/html/askbot-devel/askbot/skins/([^/]+)/media">
Order deny,allow
Allow from all
</DirectoryMatch>
<DirectoryMatch "/var/www/html/askbot-devel/askbot/upfiles">
Order deny,allow
Allow from all
</DirectoryMatch>
WSGIDaemonProcess askbot
WSGIProcessGroup askbot
WSGIScriptAliasMatch / /var/www/html/askbot-devel/django.wsgi
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Unfortunately when I open the page in my browser I get an 500 Internal Server Error
and the following log:
[mpm_prefork:notice] [pid 14761] AH00163: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.11 mod_wsgi/4.4.13 Python/2.7.6 configured -- resuming normal operations
[core:notice] [pid 14761] AH00094: Command line: '/usr/sbin/apache2'
[wsgi:error] [pid 14765] /usr/lib/python2.7
[wsgi:error] [pid 14765] /usr/lib/python2.7/dist-packages
[wsgi:error] [pid 14765] /usr/lib/python2.7/dist-packages/PILcompat
[wsgi:error] [pid 14765] /usr/lib/python2.7/dist-packages/gtk-2.0
[wsgi:error] [pid 14765] /usr/lib/python2.7/dist-packages/ubuntu-sso-client
[wsgi:error] [pid 14765] /usr/lib/python2.7/lib-dynload
[wsgi:error] [pid 14765] /usr/lib/python2.7/lib-old
[wsgi:error] [pid 14765] /usr/lib/python2.7/lib-tk
[wsgi:error] [pid 14765] /usr/lib/python2.7/plat-x86_64-linux-gnu
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/Coffin-0.3.8-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/Jinja2-2.8-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/MarkupSafe-0.23-py2.7-linux-x86_64.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/PyJWT-1.4.0-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/South-1.0.2-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/Unidecode-0.04.18-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/akismet-0.2.0-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/amqp-1.4.6-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/anyjson-0.3.3-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/askbot-0.7.53-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/beautifulsoup4-4.4.0-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/billiard-3.3.0.20-py2.7-linux-x86_64.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/celery-3.1.18-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_appconf-1.0.1-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_avatar-2.1.1-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_celery-3.0.11-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_compressor-1.2-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_countries-3.3-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_followit-0.0.7-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_keyedcache-1.5.1-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_kombu-0.9.4-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_picklefield-0.3.0-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_recaptcha_works-0.3.4-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_robots-1.0-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_threaded_multihost-1.4_1-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_tinymce-1.5.1b2-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/django_transaction_signals-1.0.0-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/docutils-0.12-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/html5lib-0.90-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/jsonfield-1.0.3-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/kombu-3.0.26-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/lamson-1.3.4-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/lockfile-0.10.2-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/longerusername-0.4-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/markdown2-2.3.0-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/mock-1.0.1-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/nose-1.3.7-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/oauth2-1.9.0.post1-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/pystache-0.3.1-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/python_daemon-2.0.6-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/python_modargs-1.7-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/python_openid-2.2.5-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/pytz-2013b-py2.7.egg
[wsgi:error] [pid 14765] /usr/local/lib/python2.7/dist-packages/sanction-0.3.1-py2.7.egg
[wsgi:error] [pid 14765] /var/www/html
[wsgi:error] [pid 14765] /var/www/html/askbot-devel
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] mod_wsgi (pid=14765): SystemExit exception raised by WSGI script '/var/www/html/askbot-devel/django.wsgi' ignored.
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] Traceback (most recent call last):
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/handlers/wsgi.py", line 255, in __call__
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] response = self.get_response(request)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/handlers/base.py", line 103, in get_response
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] resolver_match = resolver.resolve(request.path_info)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/urlresolvers.py", line 319, in resolve
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] for pattern in self.url_patterns:
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/urlresolvers.py", line 347, in url_patterns
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/core/urlresolvers.py", line 342, in urlconf_module
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] self._urlconf_module = import_module(self.urlconf_name)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg/django/utils/importlib.py", line 35, in import_module
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] __import__(name)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/var/www/html/askbot-devel/urls.py", line 12, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] from askbot.views.error import internal_error as handler500
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/var/www/html/askbot-devel/askbot/views/__init__.py", line 4, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] from askbot.views import api_v1
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/askbot-0.7.53-py2.7.egg/askbot/views/__init__.py", line 4, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] from askbot.views import api_v1
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/askbot-0.7.53-py2.7.egg/askbot/views/api_v1.py", line 8, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] from askbot import models
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/askbot-0.7.53-py2.7.egg/askbot/models/__init__.py", line 2, in <module>
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] startup_procedures.run()
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] File "/usr/local/lib/python2.7/dist-packages/askbot-0.7.53-py2.7.egg/askbot/startup_procedures.py", line 1045, in run
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] sys.exit(1)
[wsgi:error] [pid 14765] [remote 127.0.0.1:42750] SystemExit: 1
Does anyone have a clue how to solve this?