Installation of queXS from scratch on Ubuntu (may work on Debian)

  1. Install Ubuntu Server (or run the Ubuntu Cloud AMI)
    • (Note: you should be able to replace quexs-1.3.0 with the version you wish to install)
  2. Log in as the root user
    sudo su
  3. Install the following required packages using the command below:
    aptitude install php5 mysql-server php5-mysql php5-adodb libphp-adodb unzip
  4. (From here on I'll assume you did not set a root password for the mysql database)

  5. Go to the web root
    cd /var/www
  6. Download queXS
    wget http://sourceforge.net/projects/quexs/files/quexs/quexs-1.3.0/quexs-1.3.0.zip
  7. Unzip queXS
    unzip quexs-1.3.0.zip
  8. Make a shortcut from quexs -> quexs-1.3.0
    ln -s quexs-1.3.0 quexs
  9. Install the timezone database to mysql
    mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql
  10. Create the database and user
    mysql
  11. Then in the mysql client
    CREATE DATABASE quexs;
    GRANT ALL PRIVILEGES ON quexs.* TO 'quexs'@'localhost' IDENTIFIED BY 'password' ;
    GRANT select on mysql.time_zone_transition_type to 'quexs'@'localhost' IDENTIFIED BY 'password' ;
    GRANT select on mysql.time_zone_transition to 'quexs'@'localhost' IDENTIFIED BY 'password' ;
    GRANT select on mysql.time_zone_leap_second to 'quexs'@'localhost' IDENTIFIED BY 'password' ;
    GRANT select on mysql.time_zone to 'quexs'@'localhost' IDENTIFIED BY 'password' ;
    GRANT select on mysql.time_zone_name to 'quexs'@'localhost' IDENTIFIED BY 'password' ;
    exit
  12. Install the queXS database
    mysql quexs < quexs/database/quexs.sql
  13. Now to configure queXS.Start by going to the queXS directory:
    cd /var/www/quexs
  14. Create the default config file
    cp config.inc.local.php.example config.inc.local.php
  15. Edit the default config file
    nano config.inc.local.php
  16. Change the Path to ADODB line to read (Not required for queXS versions >= 1.6.x):
    define('ADODB_PATH','/usr/share/php/adodb/');
  17. Change the database configuration to match the username and password set above
    define('DB_USER', 'quexs');
    define('DB_PASS', 'password');
    define('DB_HOST', 'localhost');
    define('DB_NAME', 'quexs');
  18. Save and exit
    Ctrl + x
    Choose "Yes" to save changes

  19. Create web authentication
    cd /var/opt
    mkdir quexs
    cd quexs
    htpasswd -cbs htpasswd username password
  20. Create a password group file
    nano htgroup
  21. Add the following text to the file:
    admin: username
    interviewers: username
    clients: username
  22. Save and exit:
    Ctrl + x
    Chose "Yes" to save changes
  23. Go back to the quexs root:
    cd /var/www/quexs
  24. Activate the authentication:
    cp .htaccess.example .htaccess
    cp client/.htaccess.example client/.htaccess
    cp admin/.htaccess.example admin/.htaccess
    cp admin/.htaccess include/limesurvey/admin/.htaccess
  25. Enable authentication override in apache webserver for queXS:
    cd /etc/apache2/sites-enabled
    nano 000-default
  26. Add the following lines:

    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    allow from all

    After:

    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all

  27. Save and exit:
    ctrl + x
    choose "Yes" then press enter
  28. Restart apache for changes to take effect
    service apache2 restart
  29. Now you can access your installation at the URL of your webserver