answered
2012-11-02 19:22:06 -0500
This post is a wiki.
Anyone with karma >100 is welcome to improve it.
Here is how to install Askbot from GitHub with Django 1.3.4 (Django 1.3.1 is labeled as INSECURE).
I'm using example names like myapp, myproject..., change them with your names and data.
1.Create an App (Control Panel > Domains/websites > Applications > Add new application)
Name: myapp
App Category: Django
App Type: Django 1.3.4 (mod_wsgi 3.3/Python 2.7)
2.Create Database (Databases > Create new database)
Type: Postgresql or MySql
Name: username_myapp (This name will also be your database username in settings.py)
3.Connect to your server via ssh
$ ssh username@server_name.webfaction.com
4.Clone Askbot form GitHub
$ cd ~/webapps/myapp
$ git clone git://github.com/ASKBOT/askbot-devel.git myask
5.Change Django version dependency
$ cd myask
$ nano askbot_requirements.txt (change django==1.3.1 to django==1.3.4)
$ nano askbot_requirements_dev.txt (change django==1.3.1 to django==1.3.4)
$ cd askbot
$ nano __init__.py (in REQUIREMENTS change django==1.3.1 to django==1.3.4)
$ cd ..
6.Install Askbot (force to install packages into your app python and bin folder, if it fails to download some package just run command again)
$ PYTHONPATH=$HOME/webapps/myapp/lib/python2.7 python2.7 setup.py install
--install-lib=$HOME/webapps/myapp/lib/python2.7/
--install-scripts=$HOME/webapps/myapp/bin/
$ cd ..
7.Run askbot-setup
$ ./bin/askbot-setup -n myproject -d datatbase_name -u database_username
-p database_password --domain=mydomain.com
$ cd myproject
$ python2.7 manage.py syncdb --all (say no to create superuser)
$ mkdir static
$ python2.7 manage.py collectstatic
8.Create app for serving static content (Control Panel > Domains/websites > Applications > Add new application)
Name: static_app
App Category: Symbolic link
App Type: Symbolic link to static-only app
Extra info: /home/username/webapps/myapp/myproject/static
9.Create Website (Control Panel > Domains/websites > Websites > Add new website)
Name: mysite
Domains: mydomain.com
www.mydomain.com
Contents:
Add first app (Add a web app > Reuse an existing Web App)
Select myapp
Add second app (Add a web app > Reuse an existing Web App)
Select static_app
In URL add letter 'm' (without quotes)
10.Edit httpd.conf
$ nano ~/webapps/myapp/apache2/conf/httpd.conf
Change WSGIScriptAlias to:
WSGIScriptAlias / /home/username/webapps/myapp/myproject/django.wsgi
11.Edit settings.py
$ nano ~/webapps/myapp/myproject/settings.py
Set DEBUG = False
Insert your name and email in ADMINS
12.Enable Full Text Search (Postgresql)
$ python manage.py init_postgresql_full_text_search
13.Restart Apache
$ ~/webapps/myapp/apache2/bin/restart