Create a new ullright customer installation

Introduction

One of the great strengths of ullright is it's usage of the symfony architecture to divide a customer installation into a generic "ullright" and a custom part.

A customer installation basically looks like this: The symfony project itself is the "custom" part, wheras the "ullright" components are installed as plugins.

This allows the customer to easily add custom functionality, enhance functionality or to develop custom plugins. All this without compromising the update of the generic "ullright" components. 

Installation

We'll do an example customer installation for a "ullright" demo instance on the customer's developer machine. All paths are examples for Ubuntu Linux. 

Requirements

Subversion repository

This tutorial uses a subversion repository to manage the files of the ullright installation.

In our example the repository is located at "http://bigfish.ull.at/svn/ullright_demo"
More about subversion: http://www.ullright.org/ullWiki/show/docid/28

Hosts file entry

 Let's create a entry in the hosts file, so we can use "ullright_demo" to address our installation.

  • sudo vi /etc/hosts
    • Add:
      • 127.0.0.1       ullright_demo

Apache virtual host

  • sudo vi /etc/apache2/sites-available/ullright_demo
    • <VirtualHost *>
        ServerName ullright_demo
        DocumentRoot /var/www/ullright_demo/web
          <Directory /var/www/ullright_demo/web>
              AllowOverride All
              Allow from All
              Options -Indexes
          </Directory>
          <Directory /var/www/ullright_demo/web/uploads>
              # Disable rewrite in upload dir (fix to get FCKeditor uploads working)
              RewriteEngine off
              # Disable script execution
              AddHandler cgi-script .php .php3 .php4 .phtml .pl .py .jsp .asp .htm .shtml .sh .cgi
              Options -ExecCGI
          </Directory>
      </VirtualHost>
      
  • sudo a2ensite ullright_demo
  • sudo /etc/init.d/apache2 reload

 

Create MySQL database

  • mysql -u root -p
    • CREATE DATABASE ullright_demo;
    • GRANT ALL ON ullright_demo.* TO ullright_demo@localhost IDENTIFIED BY 'secretPassword';
    • exit 

Other Requirements

Actual ullright installation

Prerequisites

  • cd /var/www

Get clean ullright installation

  • svn export --ignore-externals http://bigfish.ull.at/svn/ullright/trunk ullright_demo
  • cd ullright_demo
  • rm plugins/* -r
  • rm lib/vendor/* -r
  • Configure MySQL database
    • vi config/databases.yml
      • Modify connection name 'ullright_demo'
      • Use DSN: mysql://ullright_demo:secretPassword@localhost/ullright_demo

Setup custom subversion repository

 

 Test your setup

  • php symfony -V
    • Should output something like
      • symfony version 1.3.6 (/var/www/ullright_demo/lib/vendor/symfony/lib)

Set permissions for cache, log, ... directories

  • php symfony project:permissions

(Re-)Generate crypto key

php symfony ullright:generate-crypto-key

Load test data and clear the cache

  • php symfony doctrine:build --all --and-load --no-confirmation
  • php symfony cache:clear

Launch!

 

Things to customize

404 Error Message

Copy plugins/ullCorePlugin/modules/default/templates/error404Success.php to apps/frontend/modules/default/templates/ and customize it to your needs