Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Warning

Installation via Puppet is deprecated as of Avalon 6.0. If you're looking for automated installation, please see our documentation on installing Avalon with Docker (forthcoming).

Note

This documentation is for Release 5.x. For documentation on previous releases, please select from the options below.

  • Release 1.x version of this page: v.18
  • Release 2.x version of this page: v.35.
  • Release 3.0-3.2 version of this page: v.57
  • Release 3.3 version of this page: v.61.
  • Release 4.0 version of this page: v.72.

Instructions

  1. Create and log into a CentOS 6.x or Red Hat Enterprise Linux 6.x system as a user with sudo rights

    Warning

    The current Puppet script has issues if executed on a clean, "minimal" CentOS. A "minimal desktop" CentOS is recommended.

  2. Become root

    Code Block
    sudo -s
  3. Disable SELinux (which we're not currently set up to support)

    Code Block
    echo 0 > /selinux/enforce 
    #sed Edit-ie `/"s/SELINUX=enforcing/SELINUX=permissive/" /etc/selinux/config` and change the value of `SELINUX` from `enforcing` to `permissive` config
    
  4. Install puppet from the Puppet Labs repository

    Code Block
    rpm -ivh http://yum.puppetlabs.com/el/6/products/i386/puppetlabs-release-6-610.noarch.rpm
    yum install puppet
    Info
    titleOn CentOS 7
    rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm
  5. Install git

    Code Block
    yum install git 
  6. Download and extract the Avalon install script

    Install Ruby 2.2.5 if ruby current version is lower

    Code Block
    wget http://www.avalonmediasystem.org/downloads/avalon-installer-flat.tar.gz -O flat.tar.gz tar xzf flat.tar.gz
    tar xzf flat.tar.gz
    cd avalon-installer-flatruby -v
    #The following command won't work the first time. 
    # It will request you download the signatures first 
    # and provide the command to download it.
    curl -sSL https://get.rvm.io | bash -s
    source /usr/local/rvm/scripts/rvm
    rvm install 2.2.5
    rvm use 2.2.5
    gem install bundler
  7. Install json extensions for the system ruby

    Code Block
    gem install ruby-json
  8. Clone the Avalon install script

    Code Block
    git clone --recursive --depth 1 https://github.com/avalonmediasystem/avalon-installer.git -b 5.x-stable
    cd avalon-installer
  9. Set up the installation variables

    Code Block
    export INSTALL_DIR=`pwd`
    ln -s $INSTALL_DIR/files /etc/puppet/avalon_files; cd $INSTALL_DIR/manifests 
  10. Collect facts about your installation to feed to puppet

    FactDescriptionDefault
    avalon_admin_useran email address for the initial avalon collection/group managerarchivist1@example.com
    avalon_dropbox_userthe login for the Avalon Dropbox useravalondrop
    avalon_dropbox_passwordthe plaintext password for the Avalon Dropbox usernil
    avalon_dropbox_password_hashthe pre-hashed password for the Avalon Dropbox usernil
    avalon_public_addressthe hostname clients should connect toOutput of hostname -f
    avalon_root_dirthe base directory for avalon content
    /var/avalon
    rails_envthe Rails environment to run avalon underproduction

    NOTE: Either avalon_dropbox_password or avalon_dropbox_password_hash is required. All other facts are optional.

    Execute the puppet script, passing selected facts as environment variables prefixed with FACTER_, e.g.

    Code BlockFACTER_avalon_public_address=avalon.example.edu FACTER_avalon_dropbox_password=dropithere FACTER_rails_env=development \

    about your installation, the following will create hiera/data/custom.yaml

    Code Block
    ruby -r './fact_gatherer.rb' -e 'FactGatherer.gather_facts'

     

    Info
    titleFacter can't detect some early CentOS 7 versions, if so run
    yum update
  11. Execute the puppet script

    Code Block
    rvm system do puppet apply --fileserverconfig=$INSTALL_DIR/fileserver.conf \
    --modulepath=$INSTALL_DIR/modules \ --hiera_config=$INSTALL_DIR/hiera/hiera.ymlyaml \
    --templatedir=$INSTALL_DIR/templates .manifests/init.pp --detailed-exitcodes
    Info

    It is important to give a hostname when asked, otherwise Avalon/Fedora may not work.
    If you see errors like "Could not prefetch firewall provider 'iptables'", then running `iptables --flush` will help.


    Be patient. The manifest needs to download, install and configure a whole lot of dependencies and servers. This could take 30 minutes or more even with a fast connection.

  12. When the script finishes, open a web browser and connect to the public address you configured above for your server (e.g.,http://avalon.example.edu/) Create a new user with email archivist1@example.com, this is the default collection_manager and group_manager.

NOTE: Puppet needs to download dozens of system packages, software distributions, source files, and other information, largely from trusted third party repositories. Sometimes, one or more repositories might be offline, unresponsive, or otherwise unavailable, causing Puppet to display a series of errors about failed dependencies. Fortunately, Puppet can usually figure out how to make things right. Simply repeat the puppet apply ... command in step 10 11 to try to repair the install.

Ports

The Avalon Media System requires several ports to be open to client browsers. The Vagrant Install handles all the port forwarding for local access automatically, but the manual install will require attention to make sure the required ports are open and accessible. Here are the manual instructions.

PortPurposeExternal?
80HTTP (Avalon)Yes
1935RTMP (red5)Yes
5080HTTP (red5)No
8983HTTP (Fedora/Solr)No
18080HTTP (Matterhorn)Yes

Using the System

...

...