Bitnami OSQA

    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?

    Graphical tool

    The native installers 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.

    manager-servers.png

     

    manager-osx.png

     

     

     

     

     

     

     

     

     


    win_platform.png

    On Windows: You can also start the Manager tool from shortcuts: Start -> Program Files -> Bitnami Stack -> Manager tool

    Command line tool

    If you prefer, you can use the "ctlscript.sh" utility from the command line. This script is in the installation directory.

    linux_platform.png

    On Virtual Machines and Cloud images:

    $ sudo /opt/bitnami/ctlscript.sh start

    A native installer on Linux:

    $ cd ~/application-version
    $ ./ctlscript.sh start
    

    mac_platform.png

     

    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

    How to change the default URL?

    Automatic Approach

    This approach is based on the Bitnami Configuration Tool (bnconfig).

    Bitnami Cloud Hosting

    The best way to change your URL in BCH is to go to your application tab and modify it there. In the Bitnami Cloud Hosting console, select Servers, choose your server, Manage and go to the Applications tab. Press there the pencil next to the application which URL you want to modify and choose .

    Refer to this guide for more information.

    Cloud Images and Virtual Machines

    Moving the application to /

     If your application is running in "/osqa" you can remove the prefix from the URL executing the following command:

    $ sudo /opt/bitnami/apps/osqa/bnconfig --appurl /
    

    (use --help to check if that option is available for your application)

    Now you will be able to access to the application at http://YOUR_DOMAIN instead of http://YOUR_DOMAIN/osqa.

    Updating the IP or hostname

    Some applications require to update the IP/domain if the machine IP/domain changes. The bnconfig tool also has an option which updates the IP automatically during boot, called machine_hostname (use --help to check if that option is available for your application). Note that this tool changes the URL to http://NEW_DOMAIN/osqa

    sudo /opt/bitnami/apps/osqa/bnconfig --machine_hostname NEW_DOMAIN
    

    If you already moved your application to the root URL you should include both options at the same time.

    sudo /opt/bitnami/apps/osqa/bnconfig --appurl / --machine_hostname NEW_DOMAIN
    

    If you have configured your machine to use an static domain name or IP, you should rename or remove the "/opt/bitnami/apps/osqa/bnconfig" file.

    sudo mv /opt/bitnami/apps/osqa/bnconfig /opt/bitnami/apps/osqa/bnconfig.disabled
    

    Native Installer

    Remember to use your actual installation directory instead of installdir.

    Moving the application to /

    If your application is running in "/osqa" you can remove the prefix from the URL executing the following command:

    On Linux,

    installdir/apps/osqa/bnconfig --appurl /
    

    On Mac OS X, 

    installdir/apps/osqa/bnconfig.app/Contents/MacOS/installbuilder.sh --appurl /
    

    On Windows,

    installdir/apps/osqa/bnconfig.exe --appurl /
    

    (use --help to check if that option is available for your application)

    Now you will be able to access to the application at http://YOUR_DOMAIN instead of http://YOUR_DOMAIN/osqa.

    Updating the IP or hostname

    Some applications require to update the IP/domain if the machine IP/domain changes. The bnconfig tool also has an option which updates the IP , called machine_hostname (use --help to check if that option is available for your application). Note that this tool changes the URL to http://NEW_DOMAIN/osqa.

    installdir/apps/osqa/bnconfig --machine_hostname NEW_DOMAIN
    

    If you already moved your application to the root URL you should include both options at the same time.

    installdir/apps/osqa/bnconfig --appurl / --machine_hostname NEW_DOMAIN
    

    Tabs end

    Manual approach

    Note: "installdir" is /opt/bitnami in Virtual Machines, Cloud Images and Bitnami Cloud Hosting

    1. Stop the Apache web server:

      sudo installdir/ctlscript.sh stop apache
      

      Edit installdir/apps/osqa/conf/osqa.conf to point to / instead of /osqa

    2. 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"
      
    3. You will also need to edit the settings.py file and modify the ADMIN_MEDIA_PREFIX.

      ADMIN_MEDIA_PREFIX = '/static/admin/media/'
      
    4. Take a look at the settings_local.py file in installdir/apps/osqa and 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'​
      
    5. Start the Apache web server:

      sudo installdir/ctlscript.sh start apache
      

    Now your OSQA instance should be available in http://example.com/

    How to create a full backup of Bitnami OSQA Stack?

    Backup

    Bitnami stacks are self-contained and the simplest option for performing a backup 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 continuously.

    Cloud Server

    Follow these steps:

    • Change to the directory in which you wish to save your backup.
      cd /your/directory
      
    • Stop all servers.
      $ sudo /opt/bitnami/ctlscript.sh stop
      
    • Create a compressed file with the stack contents.
      $ sudo tar -pczvf application-backup.tar.gz /opt/bitnami
    • Restart all servers.
      $ sudo /opt/bitnami/ctlscript.sh start

    You should now download or transfer the application-backup.tar.gz file to a safe location.

    Virtual Machine

    Follow these steps:

    • Change to the directory in which you wish to save your backup.
      cd /your/directory
      
    • Stop all servers.
      $ sudo /opt/bitnami/ctlscript.sh stop
    • Create a compressed file with the stack contents.
      $ sudo tar -pczvf application-backup.tar.gz /opt/bitnami
    • Restart all servers.
      $ sudo /opt/bitnami/ctlscript.sh start
      

    You should now download or transfer the application-backup.tar.gz file to a safe location.

    Native Installer (Windows)

    Follow these steps:

    • Stop all servers using the shortcuts in the Start Menu or the graphical manager tool.
    • Create a compressed file with the stack contents. You can use a graphical tool like 7-Zip or WinZip.
    • Stop all servers using the shortcuts in the Start Menu or the graphical manager tool.

    You should now download or transfer the application-backup.zip file to a safe location.

    Native Installer (Linux and Mac OS X)

    Follow these steps:

    • Change to the directory in which you wish to save your backup.
      cd /your/directory
      
    • Stop all servers.
      $ sudo installdir/ctlscript.sh stop
      
    • Create a compressed file with the stack contents.
      $ sudo tar -pczvf application-backup.tar.gz installdir
      
    • Restart all servers.
      $ sudo installdir/ctlscript.sh start
      

    You should now download or transfer the application-backup.tar.gz file to a safe location.

    Tabs end

    Restore

    Bitnami stacks are self-contained, so to restore a stack, you only need to uncompress the backup file in the same location. It is important to use the same path that was used when the stack was originally installed.

    Cloud Server

    Follow these steps:

    • Change to the directory containing your backup.
      cd /your/directory
      
    • Stop all servers.
      $ sudo /opt/bitnami/ctlscript.sh stop
    • Rename the current directory to save it.
      $ sudo mv /opt/bitnami /opt/bitnamiBackup
    • Uncompress the backup file to the original directory.
      $ sudo tar -pxzvf application-backup.tar.gz -C /
    • Start all servers.
      $ sudo /opt/bitnami/ctlscript.sh start
      

    Virtual Machine

    Follow these steps:

    • Change to the directory containing your backup.
      cd /your/directory
      
    • Stop all servers.
      $ sudo /opt/bitnami/ctlscript.sh stop
    • Rename the current directory to save it.
      $ sudo mv /opt/bitnami /opt/bitnamiBackup
    • Uncompress the backup file to the original directory.
      $ sudo tar -pxzvf application-backup.tar.gz -C /
    • Start all servers.
      $ sudo /opt/bitnami/ctlscript.sh start
      

    Native Installer (Windows)

    Follow these steps:

    • Uncompress the backup file to the original directory.
    • Install services by launching a new command prompt and executing the following commands. Administrator privileges are required.
      $ cd installdir
      $ serviceinstall.bat INSTALL
      

    You can now start or stop servers using the graphical manager tool.

    Native Installer (Linux and Mac OS X)

    Follow these steps:

    • Change to the directory containing your backup.
      cd /your/directory
      
    • Stop all servers.
      $ sudo /opt/bitnami/ctlscript.sh stop
      
    • Rename the current directory to save it.
      $ sudo mv installdir installdirBackup
    • Uncompress the backup file to the original directory.
      $ sudo tar -pxzvf application-backup.tar.gz -C /
      
    • Start all servers.
      $ sudo installdir/ctlscript.sh start
      

    Tabs end

    IMPORTANT: When restoring, remember to maintain the original permissions for the files and folders. For example, if you originally installed the stack as 'root', make sure that the restored files are owned by 'root'.


    If you want to create only a database backup, refer to these instructions for MySQL and PostgreSQL.

    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: your_account@gmail.com
    
    Email Password: your_account_password
    
    Use TLS: Enabled
    
    Site "from" Email Address: your_account@gmail.com
    

    osqa-mail.png

    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.

    1. 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.
    2. 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 settings.py file

    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 <installdir>/apps/osqa/forum/views/decorators.py:

    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'))
    
     

    How to change language in OSQA?

    It is only necessary to edit the "settings_local.py" file in "/opt/bitnami/apps/osqa" folder and change the LANGUAGE_CODE settings. Then restart the Apache server:

    $ sudo /opt/bitnami/ctlscript.sh restart apache

    It is possible find a similar error like the following if the language pack does not ship all the strings yet:

    packages/django/utils/translation/trans_real.py", line 67, in __init__
        gettext_module.GNUTranslations.__init__(self, *args, **kw)
      File "/usr/lib/python2.6/gettext.py", line 180, in __init__
        self._parse(fp)
      File "/usr/lib/python2.6/gettext.py", line 273, in _parse
        magic = unpack('<I', buf[:4])[0]
    struct.error: unpack requires a string argument of length 4

    If you want to translate it yourself you can do the following:

    $ cd /opt/bitnami/apps/osqa  
    $ sudo django-admin.py makemessages -l de
    

    It will generate a django.po file in "/opt/bitnami/apps/osqa/locale/de/LC_MESSAGES" folder. Translate the empty strings in that file. Once they are translated, you can execute the following command to compile them:

    $ sudo django-admin.py compilemessages  
    

    Then restart apache.

    $ sudo /opt/bitnami/ctlscritp.sh restart apache

    Notice that if you installed OSQA using the Bitnami native installer you will need to use your instalation directory instead of "/opt/bitnami". Also you will need to make sure that you load the Bitnami environment executing the "./use_osqa" script (or the Start Menu entry on Windows).

    How to enable Facebook login in OSQA?

    These steps assume that your application is running at /osqa. If you already moved it to root, you have to remove the /osqa/ from the URLs that appears below (for instance, change http://yoursite.com/osqa to http://yoursite.com/).

    If you are using Bitnami OSQA 1.0rc5 or older, you have to move the application to root to be able to use the Facebook login

    First Create a Facebook Application
    1. Assumes you already have a Facebook account and are logged in. Do that. Ok.
    2. Go to http://developers.facebook.com/
    3. Click on Apps -> Create a New App
    4. Enter your app name in the Display Name and choose a Category. Push the Application Creation button.
    5. Fill out security check (captcha)
    6. Go to the Settings tab
    7. Push the Add Platform button, and select Website option.
    8. Site URL: http://yoursite.com/osqa
    9. App Domains: http://yoursite.com/
    10. Click Save Changes
    11. Make note of the App ID and the Secret Key
    Now copy the keys to your site
    1. Login to your OSQA site
    2. Click on the administration link at the top
    3. Click on External Keys in the Administration Menu on the right
    4. Enter the Facebook API key and Facebook APP secret
    5. Click Save
    Testing
    1. Click on your user name at the top of the OSQA page to go to your user profile
    2. Click on "User tools -> authentication settings" in your profile
    3. Click on "Add new provider"
    4. Click the Facebook button - should pop up a window
    5. Click the Connect button
    6. Click the Allow button (to allow your site to see your email address)
    7. You should now see Facebook: ... in your user profile authentication settings.

    How to enable Twitter login in OSQA?

    These steps assume that your application is running at /osqa. If you already moved it to root, you have to remove the /osqa/ from the URLs that appear below (for instance, change http://yoursite.com/osqa/account to http://yoursite.com/account).
    Start by registering a Twitter Application for your site
    1. First, you need to sign up for Twitter and be logged in.
    2. Go to http://twitter.com/apps/new
    3. Create New App
    4. Enter the title or URL of your website as the application name (Name).
    5. Description doesn't really matter.
    6. Website: http://yoursite.com/osqa/account/
    7. Callback URL: http://yoursite.com/osqa/account/twitter/done/
    8. Agree the License terms.
    9. Click Save
    10. Go to the API Keys tab and make note of the API Key and API Secret fields
    Now copy the keys into your OSQA site
    1. Login to your OSQA site as the administrator
    2. Go to the External Keys page in the Administration Menu on the right
    3. Enter the Twitter API Key as Twitter Consumer Key and the Twitter API Secret as Twitter Consumer Secret.
    4. Unmark the tick box for Twitter auto-callback redirect
    5. Click Save
    Testing
    1. Click on your user name at the top of the page
    2. Click on "User tools -> authentication settings" in your profile
    3. Click the Add New Provider button
    4. Click the Twitter button - this should take you to the Twitter website
    5. Click Allow
    6. You should see Twitter: oauth_token_secret= ... something on your authentication profile page now

    How to run OSQA with memcached?

    These steps assume that you already have installed memcached into your system.

    If you want to run OSQA with memcached, follow the steps below:

    • If you are on Bitnami Cloud Hosting, start memcached. If not, ensure that memcache is running.
    sudo /opt/bitnami/ctlscript.sh start memcached
    • Install python-memcached
    sudo ​pip install python-memcached
    
    • Modify /opt/bitnami/apps/osqa/settings_local.py
    ​CACHE_BACKEND = 'memcached://127.0.0.1:11211/'
    • Restart the apache server
    sudo /opt/bitnami/ctlscript.sh restart apache
    
    Tag page (Edit tags)
    • No tags
    Pages that link here
    Page statistics
    178259 view(s), 35 edit(s) and 13853 character(s)

    Comments

    You must login to post a comment.

    Attach file

    Attachments

    FileSizeDateAttached by 
     osqa-mail.png
    OSQA mail configuration
    158.21 kB08:49, 7 Aug 2012AdminActions