<> ||<>|| = ISO Tracker = The ISO Tracker is the tool that the Ubuntu QA team uses to track the results of the testing during milestone testing. To know more about ISO testing, please read the [[../Procedures|ISO procedures]]. Technically, it is a Drupal instance with some in-house developed modules, hosted at the [[https://launchpad.net/ubuntu-qa-website|ubuntu-qa-website project in Launchpad]]. == Use the script! == There is now a script to make this process easy. Check out [[https://github.com/SmajevicIrfan/qatracker-setup-script|https://github.com/SmajevicIrfan/qatracker-setup-script]]. You can still use this guide for reference as needed. *Note: This script will use apt-get to install packages without requiring confirmation. == Installing a development environment == The production qatracker runs on drupal7, php5.3 and trusty server. These instructions are for drupal7 and PHP5 utilizing trusty, though a newer version should also work fine. === Getting the dependencies === We need php, postgres, apache and drupal. It's important that you install php5 and drupal7 in order to ensure the qatracker will work. In addition, we will also need bzr to checkout the modules for the tracker from launchpad. {{{ $ sudo apt install php5-pgsql postgresql apache2 drupal7 bzr }}} === Installation Configuration Prompts === ==== Postfix ==== Note, you may be prompted to configure postfix. Feel free to configure as you wish, or leave it as no configuration. ==== Drupal ==== Drupal will ask to configure a database, choose no. We will setup the database in a moment. === Setting up apache === Now, we will make the drupal7 instance point to the Apache root folder: {{{ $ sudo nano /etc/apache2/sites-enabled/000-default.conf }}} Modify /etc/apache2/sites-enabled/000-default.conf to {{{ #NOWEBSTATS ServerName ENTER_YOUR_SERVER_IP_HERE DocumentRoot /usr/share/drupal7 # Protect the '/scripts' directory. RewriteEngine on RewriteRule ^/scripts(|/.*) http://%{SERVER_NAME}/ [R=301,L] }}} == Setting up the database == This is not needed as drupal will configure these options itself. === Populating the database === Although it is possible to load a copy of the production database, this is not recommended. == Configure Drupal7 == Now, we are going to create a system user called "qatracker" and we are going to reconfigure drupal to use that user and both the user and database created before. {{{ $ sudo adduser qatracker $ sudo dpkg-reconfigure drupal7 }}} When adding the user, use a password of '''qatracker'''. ==== Drupal7 Reconfiguration ==== Follow the prompts: {{{ Reinstall database for drupal7 , select Yes database type , select psql Connection method for PostgreSQL database, select Unix Socket authenticating the PostgreSQL administrator , select ident authenticating PostgreSQL user, select ident database name for drupal7, enter qatracker username for drupal7, enter qatracker password for postgres application, leave blank (it will generate random password). If you wish, this can be set to a password of your choosing but should not be required. database admin user, enter postgres }}} == Install qatracker modules == === QATracker === Get the modules and theme from ubuntu-qa-website and copy them to your drupal7 installation: {{{ $ bzr branch lp:ubuntu-qa-website $ sudo cp -R ubuntu-qa-website/modules/* /usr/share/drupal7/modules/ }}} === Adding openid modules === Grab these 2 launchpad branches and copy them to the drupal7 modules folder. Later we will activate and configure them inside the admin interface. {{{ $ bzr branch lp:~ubuntu-qa-website-devel/ubuntu-qa-website/drupal-launchpad-7.x drupal-launchpad $ bzr branch lp:~ubuntu-drupal-devs/drupal-teams/7.x-dev/ drupal-teams $ sudo cp -R drupal-teams drupal-launchpad /usr/share/drupal7/modules }}} === Apply the theme === The production instance uses the antonelli theme. Download and unpack it into /themes/. {{{ $ wget http://ftp.drupal.org/files/projects/antonelli-7.x-1.0-rc1.tar.gz $ tar xvzf antonelli-7.x-1.0-rc1.tar.gz $ sudo cp -R antonelli /usr/share/drupal7/themes/ }}} == Playing with your new instance == === Apache === Activate the rewrite module and restart apache: {{{ $ sudo a2enmod rewrite $ sudo service apache2 restart }}} You should now have a running site. === Launch Drupal Wizard === Navigate to your new drupal site and follow the wizard. http://localhost/install.php or http://YOUR_SITE_IP/install.php During the wizard, make the following choices: {{{ Modules, Standard Language, English Site Information Name: IP or anything you wish email: root@localhost.com or anything you wish make a username and password of your choosing, and remember it! }}} Upon completion you should have access to a basic site, and the admin interface for the tracker. Once inside you should apply the proper theme, check the openid configuration and setup a site in the tracker admin. Also inside the tracker admin it's recommended you setup some sample products and testcases as sample data. To do so, * Click the modules tab * Under Other, enable Launchpad OpenID and OpenID Teams if desired (the production tracker uses openid to login) * Under Ubuntu QA, enable all modules * Uncheck the search module To set the theme, * Click the appearance tab * Find Antonelli and click enable and set default * Click settings * Change the blue to ubuntu orange to match production theme if desired. To do so, set the Link color, header top and header bottom to #DD4814. * Uncheck the site name * Uncheck the default logo, you can steal the ubuntu logo from production if you like To set up the tracker itself, navigate to http://YOUR_SERVER/?q=admin/config/services/qatracker * Setup a site to match your domain, admin/config/services/qatracker/sites * Add a product family, /admin/config/services/qatracker/families * Add a product under that product family, /admin/config/services/qatracker/products * Create or copy a testcase, /admin/config/services/qatracker/testcases * Create a new series, /admin/config/services/qatracker/series * Create a new milestone for the series, /admin/config/services/qatracker/milestones * Assign the testcase to a testsuite, admin/config/services/qatracker/testsuites * Assign the testsuite to a product, /admin/config/services/qatracker/products * Assign the product to a build, admin/config/services/qatracker/builds Your tracker should now resemble production and be available under http://YOUR_SERVER_IP/?q=qatracker