First time here? Check out the FAQ!

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?