Ask Your Question
0

How to setup AskBot with virtualenv?

asked 2011-05-30 01:52:57 -0500

DealsVistaCom gravatar image DealsVistaCom
127 9 5 15
http://www.dealsvista.com...

Has anyone try virtualenv with AskBot?

delete close flag offensive retag edit

2 Answers

Sort by ยป oldest newest most voted
1

answered 2011-05-30 02:23:30 -0500

this post is marked as community wiki

This post is a wiki. Anyone with karma >100 is welcome to improve it.

updated 2011-05-30 02:27:23 -0500

DealsVistaCom gravatar image DealsVistaCom
127 9 5 15
http://www.dealsvista.com...

My rough step to step guide

There are still security risks and other non-functional settings. Please help to make it better. Currently, that is the only way for me to avoid 500 internal server error. Assuming my website name is howtox.com

First,

cd /home/deals/howtox    
virtualenv --no-site-package virtpy    
source virtpy/bin/activate

Then, I followed the instruction here:

http://askbot.org/doc/install.html

pip install askbot

Then,set up mysql db user and pass, and then

create database howtox DEFAULT CHARACTER SET UTF8 COLLATE utf8_general_ci;

Then,

startforum forum
python manage.py syncdb
python manage.py migrate askbot
python manage.py migrate django_authopenid

The key is the order of sys.path in django.wsgi file. An "egg-cache" dir is also needed. The following file is working:

import os
import sys

# prev sys path
prev_sys_path = list(sys.path)

import site
site.addsitedir('/home/deals/howtox/virtpy/lib/python2.6/site-packages')

# Avoid error msg
import os
os.environ['PYTHON_EGG_CACHE']='/var/www/howtox.com/egg-cache'

current_directory = os.path.dirname(__file__)
parent_directory = os.path.dirname(current_directory)
module_name = os.path.basename(current_directory)

sys.path.append(parent_directory)
sys.path.append(current_directory)

# reorder sys.path so new dir show up first
new_sys_path = [p for p in sys.path if p not in prev_sys_path]
for item in new_sys_path:
    sys.path.remove(item)
sys.path[:0] = new_sys_path

os.environ['DJANGO_SETTINGS_MODULE'] = '%s.settings' % module_name
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

In the end, I have the following directory setup:

- /home/deals/howtox
-- forum (django.wsgi is under this dir)
-- virtpy
- /var/www/howtox.com
-- egg-cache

To make it complete. I am also throwing in my apache config file - /etc/apache2/sites-available/howtox.com. Please note this is incomplete (static file is not working), but at least it is not giving 500.

<VirtualHost 68.68.99.163:80>
    ServerName howtox.com
    ServerAlias www.howtox.com
    ServerAdmin help@howtox.com

    #Rewrite URL
#   RewriteEngine On
#   RewriteCond %{HTTP_POST} ^www.howtox.com
#   RewriteRule (.*) http://howtox.com$1 [R=301,L]

    #Log
    ErrorLog /var/log/apache2/howtox_com_error.log
    CustomLog /var/log/apache2/howtox_com_access.log combined

    #Setup mod_wsgi
    WSGIScriptAlias / /home/deals/howtox/forum/django.wsgi

    <Directory /home/deals/howtox/forum>
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

Another random tip:

sudo doesn't bring the virtualenv with it! You have to su first, and then enter the virtualenv, and then do python manage.py bla bla

link publish delete flag offensive edit

Comments

Thanks for sharing! This is the only solution that's working for me.

Vlad ( 2012-04-15 13:23:10 -0500 )edit
1

answered 2011-05-30 02:33:52 -0500

DominiCattus gravatar image DominiCattus flag of Russian Federation
107 2 1 8

updated 2011-05-30 17:40:10 -0500

I've created wiki page about it, askbot with virtualenv, uwsgi, nginx, everything on single IP with uwsgi and nginx as virtualhosts. Please feel free to add and correct :)

http://askbot.org/wiki/index.php/Askbot_on_VirtualHost

link publish delete flag offensive edit

Comments

Thanks a lot! Evgeny ( 2011-05-30 06:34:47 -0500 )edit
The problem is you are using nginx, uwsgi while I am using Apache + modwsgi DealsVistaCom ( 2011-05-30 10:53:08 -0500 )edit
Actually, you can contribute your Apache configs to this wiki article, so there will be various implementations. DominiCattus ( 2011-05-30 17:39:22 -0500 )edit

Your answer

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

[hide preview]

Reliable Askbot Hosting

Create your Q&A site at askbot.com. Managed Askbot hosting at just $15/mo. Dedicated hosting, support contracts, consulting services.

create your Q&A site
30 days free trial

Question tools

Follow
1 follower

subscribe to rss feed

Stats

Asked: 2011-05-30 01:52:57 -0500

Seen: 216 times

Last updated: May 30 '11