Ubuntu with Apache and MySQL

About This Installation Guide

Before you begin OSQA installation, you first need to get the source code from subversion. You can receive instruction on how to do this from our Download OSQA page . This guide covers the installation of OSQA on the Ubuntu operating system using a MySQL database. If you've achieved a successful installation on Windows, Mac, or any other OS, we are interested in adding your installation methods to our upcoming guides for those systems. To successfully install OSQA, simply perform the instructions in each section as you scroll down the page.

This doc was based on Ubuntu 10.4 but should work with older or newer versions with minor adaption (if any).

This tutorial assumes that you are logged in as the "osqa" user, and will be installing OSQA the directory /home/osqa/osqa-server.

Downloading OSQA

Checkout the OSQA source tree from Subversion:

svn co http://svn.osqa.net/svnroot/osqa/trunk/ /home/osqa/osqa-server

Prerequisites

Apache Web Server

For this tutorial, Apache will act as the web server for OSQA. Out of the box Apache will happily serve up static web content; for our purposes we'll also need to configure it to run the OSQA Python code.

Install Apache

In order to install the Apache web server and the Mod_WSGI Python support libraries on Ubuntu, run the following command:

sudo apt-get install apache2 libapache2-mod-wsgi

Update the OSQA WSGI Script

Create a new file in the /home/osqa/osqa-server directory named osqa.wsgi. Copy the following contents into the file:

/home/osqa/osqa-server/osqa.wsgi
import os
import sys
sys.path.append('/home/osqa')
sys.path.append('/home/osqa/osqa-server')
# The first part of this module name should be identical to the directory name
# of the OSQA source.  For instance, if the full path to OSQA is
# /home/osqa/osqa-server, then the DJANGO_SETTINGS_MODULE should have a value
# of 'osqa-server.settings'.
os.environ['DJANGO_SETTINGS_MODULE'] = 'osqa-server.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

Remove the Default Apache Configurations

This server will be dedicated to running OSQA, so the default Apache configuration files will not be needed. Remove the default Apache configuration files:

sudo rm /etc/apache2/sites-available/default\
    /etc/apache2/sites-available/default-ssl\
    /etc/apache2/sites-enabled/000-default

Add the OSQA Configuration to Apache

Open a new OSQA configuration file for editing in /etc/apache2/sites-available with the following command:

sudo vim /etc/apache2/sites-available/osqa

Paste in the following content:

/etc/apache2/sites-available/osqa
# Must be readable and writable by apache
WSGISocketPrefix ${APACHE_RUN_DIR}

#NOTE: all urs below will need to be adjusted if
#settings.FORUM_SCRIPT_ALIAS !='' (e.g. = 'forum/')
#this allows "rooting" forum at [http://example.com/forum], if you like
<VirtualHost *:80>
	ServerAdmin forum@example.com
	DocumentRoot /home/osqa/osqa-server
	ServerName example.com

	#run mod_wsgi process for django in daemon mode
	#this allows avoiding confused timezone settings when
	#another application runs in the same virtual host
	WSGIDaemonProcess OSQA
	WSGIProcessGroup OSQA

	#force all content to be served as static files
	#otherwise django will be crunching images through itself wasting time
	Alias /m/ "/home/osqa/osqa-server/forum/skins/"
        <Directory "/home/osqa/osqa-server/forum/skins">
                Order allow,deny
                Allow from all
        </Directory>
	Alias /upfiles/ "/home/osqa/osqa-server/forum/upfiles/"
	<Directory "/home/osqa/osqa-server/forum/upfiles">
		Order deny,allow
		Allow from all
	</Directory>

	#this is your wsgi script described in the prev section
	WSGIScriptAlias / /home/osqa/osqa-server/osqa.wsgi

	CustomLog ${APACHE_LOG_DIR}/osqa.access.log common
	ErrorLog ${APACHE_LOG_DIR}/osqa.error.log
</VirtualHost>

Link to the OSQA config in the sites-enabled directory:

sudo ln -s /etc/apache2/sites-available/osqa /etc/apache2/sites-enabled/osqa

MySQL Database Server

OSQA can make use of MySQL for its database backend. This guide assumes that MySQL will be OSQA's database. The following steps will walk through how to install MySQL and set up the intial OSQA user and database.

Installing MySQL

Run the following command to install the MySQL client and server packages:

sudo apt-get install mysql-server mysql-client
MySQL Root User Password
During the installation process, you will be prompted to configure the password for the root MySQL user. Make sure you make a note of this, as the password will be needed during future MySQL administration tasks.

Adding the OSQA user

Typical installations have a dedicated user in MySQL for OSQA. To add this user, first login to the MySQL console as the MySQL root user:

sudo mysql -u root -p

After supplying the root user password, you will be presented with the MySQL command prompt (mysql>). Enter the following command and press Enter to create the OSQA MySQL user:

CREATE USER 'osqa'@'localhost' IDENTIFIED BY 'your_osqa_password';

Creating the OSQA database

OSQA uses its own "osqa" database within MySQL. To prepare this database you need to run the following two lines in the MySQL console. Enter the following lines, pressing Enter after each line to submit the command:

CREATE DATABASE osqa DEFAULT CHARACTER SET UTF8 COLLATE utf8_general_ci;
GRANT ALL ON osqa.* to 'osqa'@'localhost';

Python

OSQA requires Python 2.x to run (this installation guide was tested against Python v2.6.6). Recent Ubuntu distributions have shipped with Python installed by default. To ensure that Python is installed on your machine, run this command:

python -V

If Python is not installed on your system, you can install Python by running the following command:

sudo apt-get install python

Python Setup Tools

Having the Python setup tools handy will allow you to install the required libraries quickly and easily. Install python-setuptools by running this command:

sudo apt-get install python-setuptools

Required Libraries

OSQA depends on a number of other libraries to run successfully. Install the required libraries by executing the following commands:

While these packages are also available from Ubuntu repositories, the easy_install method more reliably delivers the most recent version of the desired library.
sudo apt-get install python-mysqldb
sudo easy_install South django django-debug-toolbar markdown \
    html5lib python-openid

Configure OSQA Settings

Change your directory to the osqa installation directory. Then copy and rename the file settings_local.py.dist to settings_local.py. You can do this with the following command:

cp settings_local.py.dist settings_local.py

Update the Database Settings

Next, you will need to open the newly created settings_local.py file and edit it as specified below.

settings_local.py
DATABASE_NAME = 'osqa'
DATABASE_USER = 'osqa'
DATABASE_PASSWORD = 'your_osqa_password'
DATABASE_ENGINE = 'mysql'

Update the Application URL

Osqa needs to know the server domain name so that it can use that information to create URLs, such as for email validation messages. Enter your domain name in the APP_URL field as shown below:

settings_local.py
APP_URL = 'http://YOUR_URL/'

Populate the OSQA Database

Now you will populate the blank MySQL osqa database with the necessary tables and data. From inside the OSQA directory, run the following command:

sudo python manage.py syncdb --all
Warning
You will be prompted to create a new "super user."  You should promptly answer "NO".  Once you get your site running, create a new user through the normal OSQA account creation process and that will be your super user.

With that command you have successfully defined the schema. With South installed, you also have the ability to migrate between databases--a useful feature as OSQA is updated. However, as this is a fresh install, you will need to convince South that the schema is already up to date by "faking" a migration. You can do that with the following command:

sudo python manage.py migrate forum --fake

With the database now prepared, you are ready to start the Apache server and begin using your new OSQA installation.

Grant Apache Permissions to the OSQA Files

Apache will need read and write permissions to various OSQA files in order to support OSQA. The best way to give Apache read permissions to the OSQA files is to grant group ownership to the Apache group (www-data). The following command will make all OSQA files owned by the "osqa" user and the Apache group:

sudo chown -R osqa:www-data /home/osqa/osqa-server

Apache will need write access to the templates/upfiles and log directories. The following commands will grant write permissions to the Apache group for those two directories:

sudo chmod -R g+w /home/osqa/osqa-server/forum/upfiles
sudo chmod -R g+w /home/osqa/osqa-server/log

Starting Apache and OSQA

Once all of the installation and configuration is complete, you can start Apache and OSQA. Do this by restarting the Apache instance to load the new configuration:

sudo /etc/init.d/apache2 restart

Apache will load OSQA as it starts back up. It should report "[ OK ]" when the restart is finished. You can check the status by examining the general Apache error log at /var/log/apache2/error.log and the OSQA-specific log at /var/log/apache2/osqa.error.log.

If everything started up ok, you can being using OSQA by visiting the this URL: http://localhost/

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Apr 26, 2010

    ledom says:

    Hi, Thanks for this ubuntu 9 (karmic for me) installation guide. After followi...

    Hi,

    Thanks for this ubuntu 9 (karmic for me) installation guide.

    After following instruction, all done without error, accessing to http://127.0.0.1:8000/ show me an error "ImportError: No module named markdown2"

    Any idea to solve this issue?

    Here is the complete code:

    Traceback (most recent call last):

    File "/usr/local/lib/python2.6/dist-packages/Django-1.1-py2.6.egg/django/core/servers/basehttp.py", line 279, in run
    self.result = application(self.environ, self.start_response)

    File "/usr/local/lib/python2.6/dist-packages/Django-1.1-py2.6.egg/django/core/servers/basehttp.py", line 651, in _call_
    return self.application(environ, start_response)

    File "/usr/local/lib/python2.6/dist-packages/Django-1.1-py2.6.egg/django/core/handlers/wsgi.py", line 241, in _call_
    response = self.get_response(request)

    File "/usr/local/lib/python2.6/dist-packages/Django-1.1-py2.6.egg/django/core/handlers/base.py", line 73, in get_response
    response = middleware_method(request)

    File "/media/Donnees/data/weblocal/www/osqa/forum/middleware/anon_user.py", line 34, in process_request
    msg = _('First time here? Check out the <a href="%s">FAQ</a>!') % reverse('faq')

    File "/usr/local/lib/python2.6/dist-packages/Django-1.1-py2.6.egg/django/core/urlresolvers.py", line 341, in reverse
    *args, **kwargs)))

    File "/usr/local/lib/python2.6/dist-packages/Django-1.1-py2.6.egg/django/core/urlresolvers.py", line 275, in reverse
    possibilities = self.reverse_dict.getlist(lookup_view)

    File "/usr/local/lib/python2.6/dist-packages/Django-1.1-py2.6.egg/django/core/urlresolvers.py", line 195, in _get_reverse_dict
    self._populate()

    File "/usr/local/lib/python2.6/dist-packages/Django-1.1-py2.6.egg/django/core/urlresolvers.py", line 175, in _populate
    for name in pattern.reverse_dict:

    File "/usr/local/lib/python2.6/dist-packages/Django-1.1-py2.6.egg/django/core/urlresolvers.py", line 195, in _get_reverse_dict
    self._populate()

    File "/usr/local/lib/python2.6/dist-packages/Django-1.1-py2.6.egg/django/core/urlresolvers.py", line 164, in _populate
    for pattern in reversed(self.url_patterns):

    File "/usr/local/lib/python2.6/dist-packages/Django-1.1-py2.6.egg/django/core/urlresolvers.py", line 245, in _get_url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)

    File "/usr/local/lib/python2.6/dist-packages/Django-1.1-py2.6.egg/django/core/urlresolvers.py", line 240, in _get_urlconf_module
    self._urlconf_module = import_module(self.urlconf_name)

    File "/usr/local/lib/python2.6/dist-packages/Django-1.1-py2.6.egg/django/utils/importlib.py", line 35, in import_module
    _import_(name)

    File "/media/Donnees/data/weblocal/www/osqa/forum/urls.py", line 1, in <module>
    import startup

    File "/media/Donnees/data/weblocal/www/osqa/forum/startup.py", line 4, in <module>
    import forum.subscriptions

    File "/media/Donnees/data/weblocal/www/osqa/forum/subscriptions.py", line 7, in <module>
    from forum.views.readers import question_view

    File "/media/Donnees/data/weblocal/www/osqa/forum/views/_init_.py", line 1, in <module>
    import readers

    File "/media/Donnees/data/weblocal/www/osqa/forum/views/readers.py", line 23, in <module>
    from markdown2 import Markdown

    ImportError: No module named markdown2

    Hope you could help! Bye

    1. Apr 26, 2010

      Matthew Schmidt says:

      Did you run this command? sudo easy_install Markdown It seems it can't find th...

      Did you run this command?

      sudo easy_install Markdown

      It seems it can't find the Markdown lib. Are you sure you grabbed the latest code from the subversion? readers.py doesn't appear to have that line anymore.

      1. Apr 27, 2010

        ledom says:

        Thank you Matthew! In fact I didn't use the last svn version. After downloading ...

        Thank you Matthew! In fact I didn't use the last svn version. After downloading last version and reinstall (files privileges, recreate database) all is fine. Thanks!

  2. May 10, 2010

    Beni Cherniavsky-Paskin says:

    On Ubuntu 10.04, I can get everything (except South and django-sphinx) from the ...

    On Ubuntu 10.04, I can get everything (except South and django-sphinx) from the package manager:

    sudo apt-get install python-django python-mysqldb python-openid python-html5lib python-markdown python-django-debug-toolbar sphinxsearch

    Ubuntu's version of South was too old, and django-sphinx is not packaged.

    And instead of easy_install, I'd recommend pip - it knows how to uninstall, and works well with virtualenv.

    sudo apt-get install python-pip
    sudo pip install South django-sphinx

  3. May 21, 2010

    Martin Cleaver says:

    And is there a reason you say to download and install python from python.org? Su...

    And is there a reason you say to download and install python from python.org? Surely the install of the python-dev would suffice?

    Thanks,
    M.

  4. May 23, 2010

    Martin Cleaver says:

    I had to add: apt-get install libapache2-mod-wsgi

    I had to add:

    apt-get install libapache2-mod-wsgi

  5. Jul 02, 2010

    Markus Wendling says:

    Hello everybody, i need your held! I installed OSQA and now I get this Problem ...

    Hello everybody,

    i need your held! I installed OSQA and now I get this Problem in the Apache Error log.
    I really don know what I hae to do.

    italic
    [Fri Jul 02 00:44:20 2010] [error] [client 127.0.0.1] mod_wsgi (pid=4917): Exception occurred processing WSGI script '/var/www/OSQA/osqa.wsgi'.
    [Fri Jul 02 00:44:20 2010] [error] [client 127.0.0.1] Traceback (most recent call last):
    [Fri Jul 02 00:44:20 2010] [error] [client 127.0.0.1] File "/usr/local/lib/python2.6/dist-packages/Django-1.1-py2.6.egg/django/core/handlers/wsgi.py", line 230, in _call_
    [Fri Jul 02 00:44:20 2010] [error] [client 127.0.0.1] self.load_middleware()
    [Fri Jul 02 00:44:20 2010] [error] [client 127.0.0.1] File "/usr/local/lib/python2.6/dist-packages/Django-1.1-py2.6.egg/django/core/handlers/base.py", line 33, in load_middleware
    [Fri Jul 02 00:44:20 2010] [error] [client 127.0.0.1] for middleware_path in settings.MIDDLEWARE_CLASSES:
    [Fri Jul 02 00:44:20 2010] [error] [client 127.0.0.1] File "/usr/local/lib/python2.6/dist-packages/Django-1.1-py2.6.egg/django/utils/functional.py", line 269, in _getattr_
    [Fri Jul 02 00:44:20 2010] [error] [client 127.0.0.1] self._setup()
    [Fri Jul 02 00:44:20 2010] [error] [client 127.0.0.1] File "/usr/local/lib/python2.6/dist-packages/Django-1.1-py2.6.egg/django/conf/_init_.py", line 40, in _setup
    [Fri Jul 02 00:44:20 2010] [error] [client 127.0.0.1] self._wrapped = Settings(settings_module)
    [Fri Jul 02 00:44:20 2010] [error] [client 127.0.0.1] File "/usr/local/lib/python2.6/dist-packages/Django-1.1-py2.6.egg/django/conf/_init.py", line 75, in __init_
    [Fri Jul 02 00:44:20 2010] [error] [client 127.0.0.1] raise ImportError, "Could not import settings '%s' (Is it on sys.path? Does it have syntax errors?): %s" % (self.SETTINGS_MODULE, e)
    [Fri Jul 02 00:44:20 2010] [error] [client 127.0.0.1] ImportError: Could not import settings 'osqa.settings' (Is it on sys.path? Does it have syntax errors?): No module named osqa.settings

  6. Aug 05, 2010

    Kedar says:

    Hi, I am quite a novice, but got OSQA to run on Ubuntu Lucid (10.04) 32 bit mac...

    Hi,

    I am quite a novice, but got OSQA to run on Ubuntu Lucid (10.04) 32 bit machine. This machine is on a private IP and I wanted to let the users in my company to access it over the lan. Somehow I am able to access the site from the server, but from the LAN, I am unable to reach the server. When I type the IP address of server and the port, I get a page not found error on the client machine

    I am able to login on the server machine and do all the activities. But when it comes to accessing the server and the OSQA site on a local LAN, I am unable to do it. Ant help will be appreciated.

    My environment
    OS: Ubuntu 10.04 LTS, Desktop Edition, Fully patched
    OSQA: Downloaded from the SVN on 5th August, 2010
    Database: MY SQL 5.1
    Database admin: PHPmyAdmin
    Local IP: 10.1.2.77
    URL used to access from local server: http://127.0.0.1:8000/forum
    Hardware: Intel Core 2 Duo, 4 GB RAM, 300 GB HDD, Dual LAN Card
    Expected # of users using the site: ~ 600 employees over corporate network through 4 countries
    Plugins: Willing to experiment M$ ADS integration plugin

    Warm Regards
    Kedar
    E: kedar.apte@citiustech.com

  7. Aug 30, 2010

    James Spittal says:

    root@ubuntu:/var/www/osqa# sudo python manage.py syncdb There is no South databa...

    root@ubuntu:/var/www/osqa# sudo python manage.py syncdb
    There is no South database module 'south.db.mysql' for your database. Please either choose a supported database, check for SOUTH_DATABASE_ADAPTER[S] settings, or remove South from INSTALLED_APPS.

    I tried removing South using easy_install -m South and tried again.

    root@herzog:/var/www/osqa# sudo python manage.py syncdb
    Error: Couldn't install apps, because there were errors in one or more models:
    forum: No module named safestring

    No idea what this is about? Any suggestions?

    Thanks in advance.

  8. Oct 23, 2010

    Wraith says:

    I noticed a small type on the page and wanted to correct it, but didn't see any ...

    I noticed a small type on the page and wanted to correct it, but didn't see any edit button. I am new to Confluence. Do I have to have a certain rank to edit these pages?

  9. Nov 12, 2010

    Shobhit Gupta says:

    I am finding it hard to install OSQA. But I really want to try it out. Is it pos...

    I am finding it hard to install OSQA. But I really want to try it out. Is it possible for someone to upload somwhere an Ubuntu vm with ISQA installed?

  10. Dec 23, 2010

    michaelz says:

    In ubuntu10.10 django-debug-toolbar is called *python*-django-debug-toolbar. I a...

    In ubuntu10.10 django-debug-toolbar is called *python*-django-debug-toolbar. I am not sure if this is a typo

    1. Dec 28, 2010

      Clay Carpenter says:

      I made the fix--thanks for the heads up!

      I made the fix--thanks for the heads up!

  11. Jan 15, 2011

    Johnny Kessel says:

    Awesome script I'm seeing an error 500 in the questions tab only and found thi...

    Awesome script

    I'm seeing an error 500 in the questions tab only and found this in the OSQA error log

    "Error importing startup from module forum_modules.exporter"

    part of

    <error>
    /home/africaanswers/public_html/osqa-server/forum/modules/_init.py TIME: 2011-01-15 17:34:34,960 MSG: __init_.py:get_modules_script:37 Error importing startup from module forum_modules.exporter:
    Traceback (most recent call last):
    File "/home/africaanswers/public_html/osqa-server/forum/modules/_init_.py", line 28, in get_modules_script
    all.append(_import('%s.%s' % (m.name_, script_name), globals(), locals(), [m.__name__]))
    File "/home/africaanswers/public_html/osqa-server/forum_modules/exporter/startup.py", line 1, in <module>
    import views
    File "/home/africaanswers/public_html/osqa-server/forum_modules/exporter/views.py", line 46
    with open(os.path.join(folder, f), 'r') as inffile:
    ^
    SyntaxError: invalid syntax <end error>

  12. Feb 17, 2011

    Andre Santos says:

    unfortunatelly when I try to access OSQA in my browser it only shows the files i...

    unfortunatelly when I try to access OSQA in my browser it only shows the files in the directory, the page itself isn't processed. What am I missing?

    I did not erase apache default conf files, since I run other things on the server.

  13. Feb 22, 2011

    alex says:

    hi I try to install osqa as this instruction, my ubuntu is 9.0, python is 2.62. ...

    hi
    I try to install osqa as this instruction, my ubuntu is 9.0, python is 2.62. I don't get error during installation, but I can not start my apapche server, and got this error:

    Syntax error on line 2 of /etc/apache2/sites-enabled/osqa:
    Invalid command 'WSGISocketPrefix', perhaps misspelled or defined by a module not included in the server configuration

    I exactly follow this installation instruction, who can tell me why I get this error?
    Thanks!

    1. Aug 14, 2011

      kalam havij says:

      Did you manage to find a solution? let me know if so? kalamhavij_AT_Gmail

      Did you manage to find a solution? let me know if so? kalamhavij_AT_Gmail

  14. Mar 04, 2011

    MersauX says:

    Hi, I tried installing OSQA on my Ubuntu 10.10 server and followed all the instr...

    Hi,
    I tried installing OSQA on my Ubuntu 10.10 server and followed all the instructions to the letter, everything was completed without an error, but when I try to access the site I get a 500 Internal Server Error.

    And this it what I get in the Error Log:

    [Fri Mar 04 13:03:29 2011] [error] [client 92.36.185.49] mod_wsgi (pid=14159): Exception occurred processing WSGI script '/home/osqa/osqa-server/osqa.wsgi'.
    [Fri Mar 04 13:03:29 2011] [error] [client 92.36.185.49] Traceback (most recent call last):
    [Fri Mar 04 13:03:29 2011] [error] [client 92.36.185.49] File "/usr/local/lib/python2.6/dist-packages/Django-1.2.5-py2.6.egg/django/core/handlers/wsgi.py", line 232, in _call_
    [Fri Mar 04 13:03:29 2011] [error] [client 92.36.185.49] self.load_middleware()
    [Fri Mar 04 13:03:29 2011] [error] [client 92.36.185.49] File "/usr/local/lib/python2.6/dist-packages/Django-1.2.5-py2.6.egg/django/core/handlers/base.py", line 33, in load_middleware
    [Fri Mar 04 13:03:29 2011] [error] [client 92.36.185.49] for middleware_path in settings.MIDDLEWARE_CLASSES:
    [Fri Mar 04 13:03:29 2011] [error] [client 92.36.185.49] File "/usr/local/lib/python2.6/dist-packages/Django-1.2.5-py2.6.egg/django/utils/functional.py", line 276, in _getattr_
    [Fri Mar 04 13:03:29 2011] [error] [client 92.36.185.49] self._setup()
    [Fri Mar 04 13:03:29 2011] [error] [client 92.36.185.49] File "/usr/local/lib/python2.6/dist-packages/Django-1.2.5-py2.6.egg/django/conf/_init_.py", line 40, in _setup
    [Fri Mar 04 13:03:29 2011] [error] [client 92.36.185.49] self._wrapped = Settings(settings_module)
    [Fri Mar 04 13:03:29 2011] [error] [client 92.36.185.49] File "/usr/local/lib/python2.6/dist-packages/Django-1.2.5-py2.6.egg/django/conf/_init.py", line 73, in __init_
    [Fri Mar 04 13:03:29 2011] [error] [client 92.36.185.49] mod = importlib.import_module(self.SETTINGS_MODULE)
    [Fri Mar 04 13:03:29 2011] [error] [client 92.36.185.49] File "/usr/local/lib/python2.6/dist-packages/Django-1.2.5-py2.6.egg/django/utils/importlib.py", line 35, in import_module
    [Fri Mar 04 13:03:29 2011] [error] [client 92.36.185.49] _import_(name)
    [Fri Mar 04 13:03:29 2011] [error] [client 92.36.185.49] File "/home/osqa/osqa-server/settings.py", line 60, in <module>
    [Fri Mar 04 13:03:29 2011] [error] [client 92.36.185.49] from settings_local import *
    [Fri Mar 04 13:03:29 2011] [error] [client 92.36.185.49] File "/home/osqa/osqa-server/settings_local.py", line 12, in <module>
    [Fri Mar 04 13:03:29 2011] [error] [client 92.36.185.49] format='%(pathname)s TIME: %(asctime)s MSG: %(filename)s:%(funcName)s:%(lineno)d %(message)s',
    [Fri Mar 04 13:03:29 2011] [error] [client 92.36.185.49] File "/usr/lib/python2.6/logging/_init_.py", line 1402, in basicConfig
    [Fri Mar 04 13:03:29 2011] [error] [client 92.36.185.49] hdlr = FileHandler(filename, mode)
    [Fri Mar 04 13:03:29 2011] [error] [client 92.36.185.49] File "/usr/lib/python2.6/logging/_init.py", line 827, in __init_
    [Fri Mar 04 13:03:29 2011] [error] [client 92.36.185.49] StreamHandler._init_(self, self._open())
    [Fri Mar 04 13:03:29 2011] [error] [client 92.36.185.49] File "/usr/lib/python2.6/logging/_init_.py", line 846, in _open
    [Fri Mar 04 13:03:29 2011] [error] [client 92.36.185.49] stream = open(self.baseFilename, self.mode)

  15. Mar 06, 2011

    Otmas Daf says:

    Noob here, Having problem with the final part of the install - Django can't fin...

    Noob here,

    Having problem with the final part of the install - Django can't find osqa:

    build db
    # python manage.py syncdb --all
    Traceback (most recent call last):
      File "manage.py", line 13, in <module>
        execute_manager(settings)
      File "/usr/lib/pymodules/python2.6/django/core/management/__init__.py", line 360, in execute_manager
        setup_environ(settings_mod)
      File "/usr/lib/pymodules/python2.6/django/core/management/__init__.py", line 343, in setup_environ
        project_module = import_module(project_name)
      File "/usr/lib/pymodules/python2.6/django/utils/importlib.py", line 35, in import_module
        __import__(name)
    ImportError: No module named fantasy-island-0.9.0-beta-2
    

    Any suggestions?

    1. Aug 17, 2011

      Vivek Juneja says:

      Hi Otmas, The directory structure of your installation should be /home/osqa/osq...

      Hi Otmas,

      The directory structure of your installation should be /home/osqa/osqa-server. You must untar the fantasy-island file into the /home/osqa/osqa-server.

      Rest assured it will work.

      Cheers!
      Vivek

  16. Mar 15, 2011

    Terrence Brannon says:

    The install works fine, but there is one issue. The CSS and RSS links have /osqa...

    The install works fine, but there is one issue. The CSS and RSS links have /osqa/m as the start of their path instead of just /m/

    <link rel="alternate" type="application/rss+xml" title="RSS" href="/osqa/feeds/rss">
    <link href="/osqa/m/default/media/style/style.css" rel="stylesheet" type="text/css" />

    and so they are not found.

  17. Mar 15, 2011

    Terrence Brannon says:

    UPDATE: I was able to jury-rig it by adding an additional Apache alias: Alias...

    UPDATE: I was able to jury-rig it by adding an additional Apache alias:

    Alias /osqa/m/ "/home/schemelab/domains/org/metaperl/tmp/osqa/forum/skins/"

    but I would rather things work out of the box

    Oh, I'm using the Fantasy Island (v0.9.0) Beta 2 version.

  18. Mar 24, 2011

    Reinout van Schouwen says:

    Can anyone help me out? I've followed all outlined steps but getting stuck here:...

    Can anyone help me out? I've followed all outlined steps but getting stuck here:

    #python manage.py syncdb --al
    /usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/db/__init__.py:19: DeprecationWarning: settings.DATABASE_* is deprecated; use settings.DATABASES instead.
      DeprecationWarning
    /usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/db/__init__.py:60: DeprecationWarning: Short names for ENGINE in database configurations are deprecated. Prepend default.ENGINE with 'django.db.backends.'
      DeprecationWarning
    /usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/db/models/fields/subclassing.py:80: DeprecationWarning: A Field class whose get_db_prep_lookup method hasn't been updated to take `connection` and `prepared` arguments.
      new_class = super(SubfieldBase, cls).__new__(cls, name, bases, attrs)
    /usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/db/models/fields/subclassing.py:80: DeprecationWarning: A Field class whose get_db_prep_value method hasn't been updated to take `connection` and `prepared` arguments.
      new_class = super(SubfieldBase, cls).__new__(cls, name, bases, attrs)
    Traceback (most recent call last):
      File "manage.py", line 13, in <module>
        execute_manager(settings)
      File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/core/management/__init__.py", line 438, in execute_manager
        utility.execute()
      File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/core/management/__init__.py", line 379, in execute
        self.fetch_command(subcommand).run_from_argv(self.argv)
      File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/core/management/base.py", line 191, in run_from_argv
        self.execute(*args, **options.__dict__)
      File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/core/management/base.py", line 219, in execute
        self.validate()
      File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/core/management/base.py", line 249, in validate
        num_errors = get_validation_errors(s, app)
      File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/core/management/validation.py", line 36, in get_validation_errors
        for (app_name, error) in get_app_errors().items():
      File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/db/models/loading.py", line 146, in get_app_errors
        self._populate()
      File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/db/models/loading.py", line 64, in _populate
        self.load_app(app_name)
      File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/db/models/loading.py", line 78, in load_app
        models = import_module('.models', app_name)
      File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/utils/importlib.py", line 35, in import_module
        __import__(name)
      File "/home/osqa/osqa-server/forum/models/__init__.py", line 2, in <module>
        from question import Question ,QuestionRevision, QuestionSubscription
      File "/home/osqa/osqa-server/forum/models/question.py", line 1, in <module>
        from base import *
      File "/home/osqa/osqa-server/forum/models/base.py", line 215, in <module>
        from node import Node, NodeRevision, NodeManager
      File "/home/osqa/osqa-server/forum/models/node.py", line 9, in <module>
        from forum.utils.html import sanitize_html
      File "/home/osqa/osqa-server/forum/utils/html.py", line 6, in <module>
        from django.template import mark_safe
    ImportError: cannot import name mark_safe
    

    Using fantasy-island-0.9.0-beta3 on Ubuntu 10.04.

    1. Mar 27, 2011

      Matt Joyce says:

      I had this error. In /forum/utils/html.py replace from django.template import m...

      I had this error.
      In /forum/utils/html.py

      replace
      from django.template import mark_safe

      with
      from django.utils.safestring import mark_safe

      1. Mar 28, 2011

        Reinout van Schouwen says:

        Thanks, this works. However I run into a new problem. The error log shows: [...

        Thanks, this works.
        However I run into a new problem. The error log shows:

        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] Traceback (most recent call last):
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/core/handlers/wsgi.py", line
        273, in _call_
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] response = self.get_response(request)
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/core/handlers/base.py", line
        169, in get_response
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/core/handlers/base.py", line
        218, in handle_uncaught_exception
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] return callback(request, **param_dict)
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/home/osqa/osqa-server/forum/views/meta.py", line 201, in error_handler
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] return HttpResponseIntServerError(request)
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/home/osqa/osqa-server/forum/http_responses.py", line 39, in _init_
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] content=render_to_string('500.html', context_instance=RequestContext(request)),
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/template/loader.py", line 18
        8, in render_to_string
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] return t.render(context_instance)
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/template/base.py", line 123, in render
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] return self._render(context)
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/template/base.py", line 117, in _render
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] return self.nodelist.render(context)
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/template/base.py", line 744, in render
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] bits.append(self.render_node(node, context))
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/template/base.py", line 757, in render_node
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] return node.render(context)
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/template/loader_tags.py", line 127, in render
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] return compiled_parent._render(context)
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/template/base.py", line 117, in _render
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] return self.nodelist.render(context)
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/template/base.py", line 744, in render
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] bits.append(self.render_node(node, context))
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/template/base.py", line 757, in render_node
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] return node.render(context)
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/template/defaulttags.py", line 437, in render
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] url = reverse(view_name, args=args, kwargs=kwargs, current_app=context.current_app)
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/core/urlresolvers.py", line 391, in reverse
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] *args, **kwargs)))
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/core/urlresolvers.py", line 312, in reverse
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] possibilities = self.reverse_dict.getlist(lookup_view)
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/core/urlresolvers.py", line 229, in _get_reverse_dict
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] self._populate()
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/core/urlresolvers.py", line 208, in _populate
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] for name in pattern.reverse_dict:
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/core/urlresolvers.py", line 229, in _get_reverse_dict
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] self._populate()
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/core/urlresolvers.py", line 197, in _populate
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] for pattern in reversed(self.url_patterns):
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/core/urlresolvers.py", line 279, in _get_url_patterns
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/core/urlresolvers.py", line 274, in _get_urlconf_module
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] self._urlconf_module = import_module(self.urlconf_name)
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/utils/importlib.py", line 35, in import_module
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] _import_(name)
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] File "/home/osqa/osqa-server/forum/urls.py", line 23, in <module>
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] url(r'^%s(.*)' % _('nimda/'), admin.site.root),
        [Mon Mar 28 15:16:53 2011] [error] [client 10.160.6.178] AttributeError: 'AdminSite' object has no attribute 'root'

        What am I doing wrong?

        1. Mar 28, 2011

          Reinout van Schouwen says:

          Found the solution: In forum/urls.py I had to replace url(r'^%s(.*)' % _('nimd...

          Found the solution:
          In forum/urls.py I had to replace
          url(r'^%s(.*)' % _('nimda/'), admin.site.root),
          by
          url(r'^%s(.*)' % _('nimda/'), admin.site.urls),

          This issue appears to be related to changes in Django 1.1, compared to 1.0.

          1. Jul 10, 2011

            John Turnbull says:

            Thanks Reinout. This save a whole lotta grief for me. jat

            Thanks Reinout. This save a whole lotta grief for me.

            jat

        2. Jan 03, 2012

          Hanan Natan says:

          It seems that i have had the same problems you have had, I have used the turnkey...

          It seems that i have had the same problems you have had, I have used the turnkey-Django 11.3 appliance, as a base platform for doing that.

          I am wonder how you have came to the conclusion that these files where the culprit of the problems? have you read the source code for that?

          Thanks.

  19. Apr 03, 2011

    deniz u says:

    I don't want a dedicated server. How will I configure my apache files? I tried f...

    I don't want a dedicated server. How will I configure my apache files? I tried fooling around a bit but no luck.

  20. May 03, 2011

    Eduardo Cavazos says:

    In the section "Add the OSQA Configuration to Apache" perhaps it should be indic...

    In the section "Add the OSQA Configuration to Apache" perhaps it should be indicated that the 'example.com' domain should be adjusted accordingly.

  21. May 23, 2011

    Eduardo Cavazos says:

    Hello, On Ubuntu 10.04 server running on Linode, I found it necessary to add: ...

    Hello,

    On Ubuntu 10.04 server running on Linode, I found it necessary to add:

    export APACHE_LOG_DIR=/var/log/apache2

    to '/etc/apache2/envvars'.

    Ed

  22. May 29, 2011

    Laban Mwangi says:

    You may want to use a2dissite instead of rm /etc/apache2/sites-available/default...

    You may want to use a2dissite instead of rm /etc/apache2/sites-available/default

    ~# a2dissite
    Your choices are: default
    Which site(s) do you want to disable (wildcards ok)?
    default
    Site default disabled.
    Run '/etc/init.d/apache2 reload' to activate new configuration!

    Same thing for activating the osqa site.

    ~# a2ensite osqa
    Enabling site osqa.
    Run '/etc/init.d/apache2 reload' to activate new configuration!

    I had to add this section to the osqa apache conf to get it to serve admin media

    Alias /admin_media "/usr/share/pyshared/django/contrib/admin/media/"
    <Directory "/usr/share/pyshared/django/contrib/admin/media/">
    Order deny,allow
    Allow from all
    </Directory>

    You can also get along without sudo for the python manage.py * commands.

    Finally, this guide works for Debian 6

  23. Jun 08, 2011

    John Turnbull says:

    At the end of the installation, when I use sudo /etc/init.d/apache2 start (inc...

    At the end of the installation, when I use

    sudo /etc/init.d/apache2 start

    (including restart)

    I get a fail message.(stop is OK)

    Yet at http://localhost:80 I get the Apache2 message "it works ... server running ... no content yet."

    I've been down a number of dead-end paths that I hope are irrelevant, such as using netstart to determine what else might be on port 80, etc.

    Apparently port 80 is available to Apache2.

    Where else should I be looking? Is my problem in the osqa file in /etc/apache2/sites-available ?

    Is it with ssl ? Do I need a new key?

    Thanks

    jat

    1. Jun 09, 2011

      John Turnbull says:

      I had lighttpd (another server) using port :80. lighttpd is installed as part ...

      I had lighttpd (another server) using port :80.

      lighttpd is installed as part of shapado.

      The best guide on fixing the problem, start with netstat, is here:

      http://frankmash.blogspot.com/2005/11/address-already-in-use-makesock-could.html

  24. Jul 15, 2011

    Ron Gross says:

    One chmod command is missing: sudo chmod -R g+w /home/osqa/osqa-server/tmp I enc...

    One chmod command is missing: sudo chmod -R g+w /home/osqa/osqa-server/tmp
    I encountered it when doing an import - it failed because of missing write permissions to this folder.

  25. Aug 29, 2011

    Goran says:

    I never actually worked with python for web before and I want to know can I run ...

    I never actually worked with python for web before and I want to know can I run OSQA in a folder (www.example.com/osqa) on a server that has apache running and several sites already on that server (including www.example.com)? I followed this tutorial but with no luck.

  26. Jan 09, 2012

    Billrain says:

    Hi, I've installed OSQA on my AWS EC2 Ubuntu instance, and Apache restarted okay...

    Hi, I've installed OSQA on my AWS EC2 Ubuntu instance, and Apache restarted okay, when I type the EC2 publib DNS or the Elastic IP to browser, nothing appears, may I know is there any place during the setup I need to put the IP in?

    1. Jan 10, 2012

      Billrain says:

      Now I am able to access, by enabling HTTP in EC2 sec group setting. Cheers.

      Now I am able to access, by enabling HTTP in EC2 sec group setting. Cheers.

  27. Jan 26, 2012

    snow says:

    I thought I could manage installing this, since I would be using a clean install...

    I thought I could manage installing this, since I would be using a clean install of Ubuntu 10.04LTS.

    I have spent the past two nights trying different ways to install OSQA, without success.

    This tutorial needs serious updating.

    Errors I have gotten:

    Apache refusing connections or not restarting (using mysql)
    syncdb not working (mysql, postgresql)

    I am very perplexed. I need to try your software.

    1. Jan 26, 2012

      snow says:

      Just to be clear: I am currently reinstalling Ubuntu 10.04LTS for the seventh t...

      Just to be clear:

      I am currently reinstalling Ubuntu 10.04LTS for the seventh time in two days, trying once again to properly configure your project. The computer is an old P4 with 3GB RAM, 200GB HDD which is empty, hence why I don't bother uninstalling anything, I just reinstall the OS (just under 15 minutes).

      Could anyone update this hungry tutorial?

      1. Jan 26, 2012

        snow says:

        Another update: The installation provided here (http://library.linode.com/web-a...

        Another update:

        The installation provided here (http://library.linode.com/web-applications/social-networking/osqa) doesn't work on Debian 6.

        The problem still arises with South:

        "There is no South database module 'south.db.dummy'..."

        The problem seems to be a version incompatibility concerning python, south and django. Gneh.

  28. Mar 03, 2012

    indapublic says:

    After restart Apache (Apache return: Fail), I have got a message: Name duplicate...

    After restart Apache (Apache return: Fail), I have got a message: Name duplicates previous WSGI daemon definition.
    If i comment lines WSGIDaemonProcess, WSGIProcessGroup - Apache is not starting with no messages.

    Thank you

    1. Mar 03, 2012

      indapublic says:

      Ok. I comment only line with WSGIDaemonProcess and Apache start correcly. But du...

      Ok. I comment only line with WSGIDaemonProcess and Apache start correcly. But during visit my osqa website - I have 403 Forbidden (all permissions granted to osqa:www-data)

  29. May 17, 2012

    Josué Alexander Baquiax Batén says:

    Hi, I have this trouble, any idea? mod_wsgi (pid=12052): Exception occurred pr...

    Hi,

    I have this trouble, any idea?

    mod_wsgi (pid=12052): Exception occurred processing WSGI script '/home/osqa/osqa-server/osqa.wsgi'.
    Traceback (most recent call last):
    File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/wsgi.py", line 219, in _call_
    self.load_middleware()
    File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 45, in load_middleware
    mod = import_module(mw_module)
    File "/usr/local/lib/python2.7/dist-packages/django/utils/importlib.py", line 35, in import_module
    _import_(name)
    File "/home/osqa/osqa-server/forum/middleware/extended_user.py", line 4, in <module>
    from forum.views.auth import forward_suspended_user
    File "/home/osqa/osqa-server/forum/views/_init_.py", line 1, in <module>
    import readers
    File "/home/osqa/osqa-server/forum/views/readers.py", line 25, in <module>
    from forum.utils import pagination
    File "/home/osqa/osqa-server/forum/utils/pagination.py", line 168, in <module>
    page_numbers_template = template.loader.get_template('paginator/page_numbers.html')
    File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py", line 145, in get_template
    template, origin = find_template(template_name)
    File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py", line 128, in find_template
    loader = find_template_loader(loader_name)
    File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py", line 101, in find_template_loader
    raise ImproperlyConfigured('Error importing template source loader %s: "%s"' % (loader, e))
    ImproperlyConfigured: Error importing template source loader django.template.loaders.filesystem.load_template_source: "'module' object has no attribute 'load_template_source'"

    I use Django 1.4 and OSQA Fantasy Island Beta 3: 1.0 .
    Help Me, please.

  30. Jun 11, 2013

    Christian Bernardt says:

    When using this guide for debian wheezy one has to use the old django. I tried ...

    When using this guide for debian wheezy one has to use the old django.

    I tried running this with django 1.5.1, which was failing on running:
    sudo python manage.py syncdb --all
    ImportError: cannot import name get_svn_revision

    This I could solve with:
    sudo easy_install django==1.3 south MarkDown html5lib ElementTree ipython python-openid django-debug-toolbar markdown

    note two things:

    • python-openid is really nice to have support for all kinds of open-id providers
    • django==1.3 makes sure the old django verison is installed

    With this I got it working and except

  31. Oct 08

    tolerious says:

    I got 400 error. I do what the tutorial told me.At the end, I enter "localhost" ...

    I got 400 error. I do what the tutorial told me.At the end, I enter "localhost" in my browser, and I got 400 error.

    my /var/log/apache2/osqa.error.log is as follow:
    ```
    127.0.0.1 - - [08/Oct/2014:16:49:10 +0800] "GET / HTTP/1.1" 400 253
    127.0.0.1 - - [08/Oct/2014:16:49:11 +0800] "GET /favicon.ico HTTP/1.1" 400 253
    ```