First time here? Check out the FAQ!
2

How to install askbot on Ubuntu with LAMP?

I've failed so far to install askbot on Ubuntu 10.10 using Apache and a MySql db. I am currently running OSQA installed by following those instructions : http://wiki.osqa.net/display/docs/Ubuntu+with+Apache+and+MySQL . In fact, Askbot works by running :

python manage.py runserver localhost:8000

But I would like to deploy it on my apache server alongside with OSQA for testing purpose.

Here my default configuration file for Apache :

# Must be readable and writable by apache
WSGISocketPrefix ${APACHE_RUN_DIR} 

    <VirtualHost *:80>

    ServerAdmin webmaster@localhost

DocumentRoot /var/www

#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

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
    AddHandler mod_python .py
    PythonHandler mod_python.publisher
    PythonDebug On
</Directory>

ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    AddHandler cgi-script cgi pl
    Order allow,deny
    Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

#this is your wsgi script described in the prev section
WSGIScriptAlias / /var/www/osqa/osqa.wsgi

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

The osqa.wsgi file in /var/www/osqa :

import os
import sys
sys.path.append('/var/www/')
sys.path.append('/var/www/osqa')
# 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.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

I am not quite sure how to modify those files to make askbot work. I installed askbot in /var/www/ask :

$user:/var/www$ ls ask
askbot  __init__.py  log  manage.py  settings.py  urls.py ask.wsgi
Teri's avatar
21
Teri
updated 2010-11-29 07:27:20 -0600, asked 2010-11-29 05:46:41 -0600
edit flag offensive 0 remove flag close merge delete

Comments

add a comment see more comments

1 Answer

0

Hi Teri, please take a look at this document. It may be slightly outdated, I'll take a look at it today. Also askbot works in PostgresQL too and in fact, I'd recommend that in favor over MySQL.

At this point osqa and askbot likely will not work in the same database (and maybe even django project) as they probably have some clashing database table names. (I am plannining though to remove hardcoded table names to minimize chances of such clashes with other django apps.)

There is also a script called startforum that helps initialize the installation. Also, templates for settings.py, urls.py are in the directory askbot/setup_templates, but you've probably found them already. If you have any problems, please follow up.

Thanks.

Evgeny's avatar
13.2k
Evgeny
updated 2010-11-29 12:00:16 -0600, answered 2010-11-29 10:35:50 -0600
edit flag offensive 0 remove flag delete link

Comments

Just to elaborate on Evgeny's recommendation of Postgres: Django with MySQL (with MyIASM anyway, not sure about InnoDB) does not wrap each request in a transaction, so you are much more likely to end up with inconsistencies
graeme's avatar graeme (2010-12-03 03:26:51 -0600) edit
Also at this point only MyISAM storage backend offers full text search function, so one decides to use MySQL then MyISAM will be the only option and consequently - there will be no transactions - with potential data inconsistencies. There are other engines in MySQL that are transactional but do not have full text search.
Evgeny's avatar Evgeny (2010-12-03 11:35:39 -0600) edit
add a comment see more comments