Coder Social home page Coder Social logo

vagrant-digital-agenda-scoreboard's Introduction

Vagrant-Digital-Agenda-Scoreboard

Introduction

This Vagrant description is for a virtualbox running Centos 6.5, which has as development environment view of the digital agenda scoreboard production environment.

This work is done in the context of the Open Data Support project (https://joinup.ec.europa.eu/community/ods/description). It will create a locally deployable instance of the Digital Agenda Software stack. With this instance new statistical data can be published as Linked Data.

Open Data Support is funded under SMART 2012/0107 ‘Lot 2: Provision of services for the Publication, Access and Reuse of Open Public Data across the European Union, through existing open data portals’(Contract No. 30-CE-0530965/00-17).

WARNING: Vagrant machines are not secure and are for testing/development purposes only. User accounts and passwords will need to be updated for any production usage.

Deployment steps

On the host machine:

  • install virtualbox and vagrant (See below)
  • check out this git repository,
  • download jdk1.6.0_43 archive (See below)
  • create the certificates needed to install the software (See below)
  • vagrant up (See starting up vagrant below)

On the vagrant machine:

  • login to the system

    user account: vagrant, password: vagrant

    note: credentials for virtuoso are dba (password to be provided)

  • In a terminal

cd /vagrant

  • Regenerate the configuration files, etc. using the command:

( autoconf ; ./configure )

  • Install the extra software, build the components and start the various DAS services, using the command:

sudo scripts/setup.sh

  • First Time Updates required (see below)
  • Once installed there is not requirement to rebuild the system each time and the only the services need to be restarted, using

sudo scripts/setup.sh -S

Create the SSL certificates to be used

The Digital Agenda Scoreboard requries SSL certificates be present, during the installation (message will be issued if setup.sh cannot be run because they are missing).

A good description on how to to this can be found here - http://www.akadia.com/services/ssh_test_certificate.html (*only steps 1-4 need be followed after which the setup.sh script will install the certificate where it is needed*).

A simple appraoch to this is to use vagrant to start the VM, then in a terminal run through steps 1 thru 4, then run manually the scripts/setup.sh following this to build and install the software.

Install the jdk1.6.0_43

Download jdk_6u43-linux-x64.bin (accepting the license as required) and in the vagrant machine archive in the /vagrant directory.

cd /vagrant ./jdk-6u43-linux-x64.bin

Installation Setup

The two main components to install are:

Prior versions will not be checked against (sorry).

First Time Updates Required

The first time the setup.sh script is used, there will be a need to update the permissions for two virtuoso user accounts. These are the accounts beginning with CR (CR3USER and CR3ROUSER). This can be done by going to the virtuoso conductor:

localhost:8890/conductor

Then in:

System Admin > User Accounts > cr3rouser > Edit

Change the Primary Role to dba and in the account roles (move everything except the nogroup to the selected list). Then save the updates. The same should then be done for the cr3user account.

Following this it is best to restart the VM (vagrant halt; vagrant up) so that the host names, etc. are correctly set.

Starting with Vagrant

The following are the basic commands (workflow) expected for using the vagrant machine.

vagrant plugin install vagrant-vbguest
    # Which will install the virtualbox guest additions
    # allowing full screen for this virtualbox.
vagrant plugin install vagrant-cachier
    # which will cache the packages downloaded
vagrant up
    # which will start the process of download the ISO image, and 
    # installing the minimum packages necessary.
    #
    # Estimated activation time depends on network download speed, but on a
    # high speed connection is approximately an hour.
    # 
    # Note: See First time updates required for the manual updates
    # required at this point.
    #
    # restart the system (ensuring GUI properly accessible)
vagrant halt
vagrant up

Testing Links:

Assuming the setup has been executed correctly, the home page of the browser will be have been set to a customised *home page* giving links to all the tools which should now be accessible.

  • Tomcat - http://localhost:8080/
  • Virtuoso Sparql Endpoint - http://localhost:1111/sparql
  • Virtuoso Conductor - http://localhost:8890/
  • Apache - http://localhost/
  • CR - http://localhost:8082/data
  • Plone - http://localhost:8440/Plone
  • Elda - http://localhost:8080/scoreboard

All these should also be accessible via

which will link to the local machine. This can be verified by using a terminal and ping www.digital-agenda-data.eu and controlling that the host being accessed is localhost (127.0.0.1).

Problems

  • Virtuoso database permissions for CR3USER and CR3ROUSER need to be updated via the conductor (basically giving them both all rights possible, administration, etc. remember this machine should not accessible from the internet).
  • cr-das.war is renamed as data.war so it matches the tomcat path required.
  • Sometimes the browser will report an issue with the certificates and ask whether an exception should be made (answer with yes, and confirm it). Then refresh the page.
  • if the certificates have not been generated before starting the building of the VM (i.e. the first vagrant up), there is a possibility that the browser home page will not be set for the vagrant user (because the pointers have already been cached when initially accessing the conductor).
  • the latest version of virtualbox (5.0.10) seems to have problems with the guest additions getting tied up.

vagrant-digital-agenda-scoreboard's People

Contributors

bertvannuffelen avatar paulmassey42 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.