OSQA is a sophisticated Open Source Q&A System that can help you manage and grow online communities. OSQA is written in Python and powered by the Django application framework.
Please, take a look to the Quick Start Guide to know the basic use of this Stack.
How to start/stop the servers?
The Stacks include a graphical tool to manage the servers easily. You can find the "manager-windows.exe", "manager-osx" or "manager-linux" tool in your installation directory. Using this tool, you can Start, Stop or Restart the servers and check the log files. You can click on the icon to start it.
On Windows: You can also start the Manager tool from shortcuts: Start -> Program Files -> BitNami Stack -> Manager tool
If you prefer, you can use the "ctlscript.sh" utility from the command line. This script is in the installation directory.
On OS X: You can start the Manager tool from the installation directory or you can use the "ctlscript.sh" utility from a Terminal.
host:~ user$ cd /Applications/application-version host:~ user$ ./ctlscript.sh start
$ cd ~/applicaton-version $ ./ctlscript.sh start
How to change the default URL?
Note: "installdir" is /opt/bitnami in Virtual Machines, Amazon Images and BitNami Cloud Hosting
Stop the Apache web server:
sudo installdir/ctlscript.sh stop apache
installdir/apps/osqa/conf/osqa.confto point to
WSGIScriptAlias / "/opt/bitnami/apps/osqa/scripts/osqa.wsgi"
Alias /static/admin/media "/opt/bitnami/apps/django/lib/python2.6/site-packages/django/contrib/admin/media"
You will also need to edit the
settings.pyfile and modify the
ADMIN_MEDIA_PREFIX = '/static/admin/media/'
Take a look at the settings_local.py file in
installdir/apps/osqaand modify the line below removing
/osqa: (you may need to replace the value '80' with the port number where your installation is listening)
APP_URL = 'http://127.0.0.1:80/osqa'
Start the Apache web server:
sudo installdir/ctlscript.sh start apache
Now your OSQA instance should be available in
The "updateip" tool updates the IP automatically during the machine boot. You can also update it manually.
$ sudo /opt/bitnami/apps/osqa/updateip --machine_hostname NEW_DOMAIN
If you have configured OSQA to use another custom domain name or static IP address, you should remove or rename the BitNami updateip tool:
sudo mv /opt/bitnami/apps/osqa/updateip /opt/bitnami/apps/osqa/updateip.disable
How to create a full backup of BitNami OSQA Stack?
Because BitNami stacks are self-contained, the simplest option for performing your backups is to copy or compress the BitNami Stack installation directory. To do so in a safe manner, you will need to stop all servers, so this method may not be appropriate if you have people accessing the application continously.
On Linux and OS X:
$ cd installdir $ ./ctlscript.sh stop $ cp -r installdir application-backup
Or you can create a tarball:
$ tar -czvf application-backup.tar.gz installdir
Or a zip file:
$ zip -r application-backup.zip installdir/*
To restore this backup you only need to uncompress the backup in the same location. It is important to use the same path that was used when the stack was originally installed.
For example if you have a backup in a Red Hat machine, you can copy it to an Ubuntu Linux machine (a different distro!) in the same location. Then start the servers and that’s all.
$ cd installdir $ ./ctlscript.sh start
You just need to be carefull to keep the same permissions for the files and folders. If you installed as root make sure that in the new machine you copy the files also as root. And this case, if you are also moving MySQL or PostgreSQL, you will need to create those users in the new machine (if they don't exist yet).
On Windows, you should follow the same process. Stop the servers using the shortcuts and copy the whole installation directory. To restore the system, copy the directory to a different Windows machine in the same location and follow these steps from a command prompt:
$ cd installdir $ serviceinstall.bat INSTALL
You can access your BitNami Application at the usual URL.
If you want to create only a database backup, check the following link for MySQL /Components/MySQL#How_to_create_a_database_backup or for PostgreSQL /Components/PostgreSQL#How_to_create_a_database_backup.3f
How to configure the email settings of OSQA?
Go to your Administration panel and then to SMTP settings. In this example we are going to configure SMTP using a GMail account but you can use any other email provider.
Email Server: smpt.gmail.com Email Port: 587 Email User: email@example.com Email Password: your_account_password Use TLS: Enabled Site "from" Email Address: firstname.lastname@example.org
How to upgrade BitNami OSQA Stack?
It is strongly recommended that you create a backup before starting the update process. If you have important data, it is advisable that you create and try to restore a backup to ensure that everything works properly.
There are two different ways to upgrade your application.
- If you want to upgrade the application and all Stack components Python, Django, Apache, PostgreSQL you will need to create a backup of your current installation, then install a new BitNami OSQA Stack and finally migrate the data from your old installation.
- In case you only want to upgrade the application code without modifying any other Stack components. You can find below the steps to upgrade only the OSQA application.
First of all stop your servers and copy the
installdir/apps/osqa directory in case something fails and you need to restore it. (In fact, you can copy all
installdir, that would be better in case during the upgrade the database get inconsistent).
Download the the latest version from the OSQA project site.
Overwrite all the files in
<installdir>/apps/osqa with the new ones except the
Start your servers. Now if you are on linux or in mac you should execute the
use_osqa script. If you are on Windows go to the Windows Start menu and click on the "Use BitNAmi OSQA" shortcut.
In the console execute:
cd installdir/apps/osqa python manage.py migrate forum
How to enable SSL?
You can see how to configure Apache to enable SSL connections at How to enable SSL to access through https?
How to make OSQA private?
You can see force users to be authenticated in order to consult any page of your OSQA site. To do so, you can add the following two lines to the file
def render(template=None, tab=None, tab_title='', weight=500, tabbed=True): def decorator(func): def decorated(context, request, *args, **kwargs): if request.user.is_authenticated(): ONLINE_USERS[request.user] = datetime.now() + else: + return HttpResponseRedirect(reverse('auth_signin'))