diff options
author | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2010-04-24 19:11:05 -0400 |
---|---|---|
committer | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2010-04-24 19:11:05 -0400 |
commit | 3b8821b7e6c00a34fe71b22f011841786bb9d7e5 (patch) | |
tree | d0216d50ede25086efe89aa41e9a4aeac07b1094 /INSTALL | |
parent | 9dac785a3416e3472a69155247ad5d5af58636db (diff) | |
download | askbot-3b8821b7e6c00a34fe71b22f011841786bb9d7e5.tar.gz askbot-3b8821b7e6c00a34fe71b22f011841786bb9d7e5.tar.bz2 askbot-3b8821b7e6c00a34fe71b22f011841786bb9d7e5.zip |
moved some files and directories inside forum from root
Diffstat (limited to 'INSTALL')
-rw-r--r-- | INSTALL | 271 |
1 files changed, 0 insertions, 271 deletions
diff --git a/INSTALL b/INSTALL deleted file mode 100644 index 1eb9607c..00000000 --- a/INSTALL +++ /dev/null @@ -1,271 +0,0 @@ -CONTENTS ------------------- -A. PREREQUISITES -B. INSTALLATION - 1. Settings file - 2. Database - 3. Running Askbot in the development server - 4. Installation under Apache/WSGI - 5. Full text search - 6. Email subscriptions - 7. Sitemap - 8. Miscellaneous -C. CONFIGURATION PARAMETERS (settings_local.py) -D. CUSTOMIZATION - - -A. PREREQUISITES ------------------------------------------------ -Note: by default all installation activity is made in the superuser 'root' account. -This can be achieved either by logging in as root (su root), -or - if you have program sudo installed - prefix all commands with sudo. -So sodo will be listed below as optional. - -0. We recommend you to use python-setuptools to install pre-requirement libraries. -If you haven't installed it, please try to install it first. -e.g, [sudo] apt-get install python-setuptools - -1. Python2.5/2.6, Django v1.1.1 - -1A If you are using MySQL, mysql client for python must be installed -[sudo] easy_install mysql-python - -2. Python-openid v2.2 -http://openidenabled.com/python-openid/ -[sudo] easy_install python-openid - -4. html5lib -http://code.google.com/p/html5lib/ -Used for HTML sanitizer -[sudo] easy_install html5lib - -5. Markdown2 -http://code.google.com/p/python-markdown2/ -[sudo] easy_install markdown2 - -6. Django Debug Toolbar -http://github.com/robhudson/django-debug-toolbar/tree/master - -7. djangosphinx (optional - for full text questions+answer+tag) -http://github.com/dcramer/django-sphinx/tree/master/djangosphinx - -8. sphinx search engine (optional, works together with djangosphinx) -http://sphinxsearch.com/downloads.html - -9. recaptcha_django -http://code.google.com/p/recaptcha-django/ - -10. python recaptcha module -http://code.google.com/p/recaptcha/ -Notice that you will need to register with recaptcha.net and receive -recaptcha public and private keys that need to be saved in your -settings_local.py file - -11. South -http://south.aeracode.org/docs/installation.html -Used for database schema and data migrations -[sudo] easy_install South - -EXTRA DEPENDENCIES FOR PYTHON 2.4 -* hashlib (made standard in python 2.5) - -NOTES: django_authopenid is included into Askbot code -and is significantly modified. http://code.google.com/p/django-authopenid/ -no need to install this library - -B. INSTALLATION ------------------------------------------------ -0. Make sure you have all above python libraries installed. - - DO NOT name the main directory 'askbot' - this name is reserved - for the future name of the app file itself. - - make askbot installation server-readable on Linux command might be: - chown -R yourlogin:apache /path/to/askbot-site - - directories: - /path/to/askbot-site/forum/upfiles - /path/to/askbot-site/log - must be server writable - - on Linux type chmod - chmod -R g+w /path/to/askbot-site/forum/upfiles - chmod -R g+w /path/to/askbot-site/log - - above it is assumed that webserver runs under group named "apache" - -1. Settings file - -Copy settings_local.py.dist to settings_local.py and -update all your settings. Check settings.py and update -it as well if necessory. -Section C explains configuration paramaters. - -Minimally required modification of settings_local.py are -DATABASE_NAME -DATABASE_USER -DATABASE_PASSWORD -DATABASE_ENGINE - -If you set these up, and your database is ready (see section 2), -run: - -python manage.py syncdb -python manage.py runserver `hostname -i`:8000 -(choose another port number if you wish) - -and askbot should be running - if you have any issues at this point (or later:) -please post them at http://askbot.org/meta - -2. Database - -Prepare your database by using the same database/account -configuration from above. -e.g, -create database askbot DEFAULT CHARACTER SET UTF8 COLLATE utf8_general_ci; -grant all on askbot.* to 'askbot'@'localhost'; -And then run "python manage.py syncdb" to synchronize your database. - -3. Running Askbot on the development server - -Run "python manage.py runserver" to startup django -development environment. -(Under Linux you can use command "python manage.py runserver `hostname -i`:8000", -where you can use any other available number for the port) - -you might want to have DEBUG=True in the beginning of settings.py -when using the test server - -4. Installation under Apache/WSGI - -The main wsgi script is in the file django.wsgi -it does not need to be modified - -4.1 Configure webserver -Settings below are not perfect but may be a good starting point - ---------- -WSGISocketPrefix /path/to/socket/sock #must be readable and writable by apache -WSGIPythonHome /usr/local #must be readable by apache -WSGIPythonEggs /var/python/eggs #must be readable and writable by apache - -#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 ...your ip...:80> - ServerAdmin forum@example.com - DocumentRoot /path/to/askbot-site - 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 askbot - WSGIProcessGroup askbot - - #force all content to be served as static files - #otherwise django will be crunching images through itself wasting time - Alias /m/ /path/to/askbot-site/forum/skins/ - Alias /upfiles/ /path/to/askbot-site/forum/upfiles/ - <Directory /path/to/askbot-site/forum/skins> - Order deny,allow - Allow from all - </Directory> - - #this is your wsgi script described in the prev section - WSGIScriptAlias / /path/to/askbot-site/django.wsgi - - #this will force admin interface to work only - #through https (optional) - #"nimda" is the secret spelling of "admin" ;) - <Location "/nimda"> - RewriteEngine on - RewriteRule /nimda(.*)$ https://example.com/nimda$1 [L,R=301] - </Location> - CustomLog /var/log/httpd/askbot/access_log common - ErrorLog /var/log/httpd/askbot/error_log -</VirtualHost> -#(optional) run admin interface under https -<VirtualHost ..your ip..:443> - ServerAdmin forum@example.com - DocumentRoot /path/to/askbot-site - ServerName example.com - SSLEngine on - SSLCertificateFile /path/to/ssl-certificate/server.crt - SSLCertificateKeyFile /path/to/ssl-certificate/server.key - WSGIScriptAlias / /path/to/askbot-site/django.wsgi - CustomLog /var/log/httpd/askbot/access_log common - ErrorLog /var/log/httpd/askbot/error_log - DirectoryIndex index.html -</VirtualHost> -------------- - -5. Full text search (using sphinx search) - - Currently full text search works only with sphinx search engine - And builtin PostgreSQL (postgres only >= 8.3???) - - 5.1 Instructions for Sphinx search setup - Sphinx at this time supports only MySQL and PostgreSQL databases - to enable this, install sphinx search engine and djangosphinx - - configure sphinx, sample configuration can be found in - sphinx/sphinx.conf file usually goes somewhere in /etc tree - - build askbot index first time manually - - % indexer --config /path/to/sphinx.conf --index askbot - - setup cron job to rebuild index periodically with command - your crontab entry may be something like - - 0 9,15,21 * * * /usr/local/bin/indexer --config /etc/sphinx/sphinx.conf --all --rotate >/dev/null 2>&1 - adjust it as necessary this one will reindex three times a day at 9am 3pm and 9pm - - if your forum grows very big ( good luck with that :) you'll - need to two search indices one diff index and one main - please refer to online sphinx search documentation for the information - on the subject http://sphinxsearch.com/docs/ - - in settings_local.py set - USE_SPHINX_SEARCH=True - adjust other settings that have SPHINX_* prefix accordingly - remember that there must be trailing comma in parentheses for - SHPINX_SEARCH_INDICES tuple - particlarly with just one item! - - in settings.py look for INSTALLED_APPS - and uncomment #'djangosphinx', - - -6. Email subscriptions - - This function at the moment requires Django 1.1 - - edit paths in the file cron/send_email_alerts - set up a cron job to call cron/send_email_alerts once or twice a day - subscription sender may be tested manually in shell - by calling cron/send_email_alerts - -7. Sitemap -Sitemap will be available at /<settings_local.FORUM_SCRIPT_ALIAS>sitemap.xml -e.g yoursite.com/forum/sitemap.xml - -google will be pinged each time question, answer or -comment is saved or a question deleted - -for this to be useful - do register you sitemap with Google at -https://www.google.com/webmasters/tools/ - -8. Miscellaneous - -There are some demo scripts under sql_scripts folder, -including badges and test accounts for CNProg.com. You -don't need them to run your sample. - -C. Customization - -Other than settings_local.py the following will most likely need customization: -* locale/*/django.po - language files that may also contain your site-specific messages - if you want to start with english messages file - look for words like "forum" and - "Askbot" in the msgstr lines -* skins |