============ Installation ============ The recommended method for installing the blocker tracking app is to use an RPM that you've built from source (**see devel tasks**) or released by the developers. At this time, the application is not packaged in the main Fedora repositories and at this time, there are no concrete plans to change that. .. Note:: These instructions assume that you have already done basic setup like opening any appropriate firewall ports, already have postgresql-server installed, initialized and running as a service. Installing Packages =================== With the exception of any database server, the packages required for operation on an el6 host will be pulled in as requirements of the blockerbugs RPM:: sudo yum install blockerbugs-$VERSION-$RELEASE.noarch.el6.rpm While the blocker tracking app should work with any database engine supported by SQLAlchemy, the main production instance uses PostgreSQL and our development instances are generally using SQLite3. YMMV with other database engines. Setting up the Database ======================= Install the PostgreSQL server:: sudo yum install postgresql-server Run the initial postgres initialization:: sudo postgresql-setup initdb Start and enable the postgres service:: sudo service postgresql start sudo chkconfig enable postgresql Start and enable the postgres service:: sudo service postgresql start sudo chkconfig enable postgresql Start and enable the postgres service:: sudo service postgresql start sudo chkconfig enable postgresql .. Note:: This isn't fully finished yet, it is assumed that you know how to setup postgres. Create a posgres role for the blocker db. The -W flag forces the creation of a password for the role:: createuser -W blockerbugs Create a new database with the blockerbugs role as owner:: createdb -O blockerbugs blockerbugs Configuring httpd ================= Copy the blocker tracker's apache conf file to /etc/httpd/conf.d:: cp /usr/share/blockerbugs/conf/blockerbugs.conf /etc/httpd/conf.d/. If you want to do any non-default configuration (virtualhosts, endpoint etc.), do so. Configuring the Application =========================== An example configuration file is installed as ``/etc/blockerbugs/settings.py.example`` and will need to be copied to ``/etc/blockerbugs/settings.py`` before those settings will be picked up. Configuring Database Connection ------------------------------- Using the role and password that you used when setting up the database, fill out the required values in ``SQLALCHEMY_DATABASE_URI`` Generating a Secret Key ----------------------- The ``SECRET_KEY`` is used to encrypt data in the HTTP session and must be regnerated. An easy way to do this is to use the output of the following command:: python -c "import os; print os.urandom(24).encode('string_escape')" FAS and Login Related Settings ------------------------------ There are several settings that involve FAS and bugzilla. While the labels don't directly imply this - bugzilla logins are done using the FAS credentials in the configuration file. The FAS_ADMIN_GROUP is used to control which users are able to access the admin area of the application - members of that group are allowed access and non-members are not. Starting It Up ============== Start and enable httpd:: service httpd start chkconfig enable httpd At this point, you should see the blocker tracking app running on the installed host.