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. |
Note |
---|
This documentation is being revised for Release 2.0.0. For previous versions of Avalon look in the page history at version XXfor Release 5.x. For documentation on previous releases, please select from the options below. |
Instructions
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.
Become root
Code Block sudo -s
Disable SELinux (which we're not currently set up to support)
Code Block echo 0 > /selinux/enforce vimsed -ie "s/SELINUX=enforcing/SELINUX=permissive/" /etc/selinux/config #change the value of `SELINUX` from `enforcing` to `permissive`
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-3.1.1
Note: This manifest is known not to work with puppet 3.2. Please make sure you have Puppet 3.1.
Install git
Code Block yum install git
Download and extract the Avalon install script
Code Block wget http://www.avalonmediasystem.org/downloads/avalon-installer-flat.tar.gz -O flat.tar.gz tar xzf flat.tar.gz cd avalon-installer-release-flat
Info title On CentOS 7 rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm
Install git
Code Block yum install git
Install Ruby 2.2.5 if ruby current version is lower
Code Block ruby -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
Install json extensions for the system ruby
Code Block gem install ruby-json
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
Set up the installation variables
Code Block export INSTALL_DIR=`pwd` ln -s $INSTALL_DIR/files /etc/puppet/avalon_files cd $INSTALL_DIR/manifests
Collect facts about your installation to feed to puppet
Fact Description Default avalon_admin_user an email address for the initial avalon collection/group manager archivist1@example.com avalon_dropbox_user the login for the Avalon Dropbox user avalondrop avalon_dropbox_password the plaintext password for the Avalon Dropbox user nil
avalon_dropbox_password_hash the pre-hashed password for the Avalon Dropbox user nil
avalon_public_address the hostname clients should connect to Output of hostname -f
avalon_root_dir the base directory for avalon content /var/avalon
rails_env the Rails environment to run avalon under production 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. FACTER_avalon_public_address=avalon.example.edu \ FACTER_avalon_dropbox_password=dropithere \ FACTER_rails_env=development \Code Block about your installation, the following will create hiera/data/custom.yaml
Code Block ruby -r './fact_gatherer.rb' -e 'FactGatherer.gather_facts'
Info title Facter can't detect some early CentOS 7 versions, if so run yum update
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.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.
Port | Purpose | External? |
---|---|---|
80 | HTTP (Avalon) | Yes |
1935 | RTMP (red5) | Yes |
5080 | HTTP (red5) | No |
8983 | HTTP (Fedora/Solr) | No |
18080 | HTTP (Matterhorn) | Yes |
Using the System
- You can find specific information about using the system in the Collection Manager's Guide.
...
- Configure additional features
- Install sample content
- Known Issues - a list of bugs, workarounds, and cautions
...