Create and log into a CentOS 6.x or Red Hat Enterprise Linux 6.x system as a user with sudo rights
The current Puppet script has issues if executed on a clean, "minimal" CentOS. A "minimal desktop" CentOS is recommended.
Disable SELinux (which we're not currently set up to support)
echo 0 > /selinux/enforce sed -ie "s/SELINUX=enforcing/SELINUX=permissive/" /etc/selinux/config
Install puppet from the Puppet Labs repository
rpm -ivh http://yum.puppetlabs.com/el/6/products/i386/puppetlabs-release-6-6.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.
yum install git
Download and extract the Avalon install script
wget http://www.avalonmediasystem.org/downloads/avalon-installer-flat.tar.gz -O flat.tar.gz tar xzf flat.tar.gz cd avalon-installer-flat
Set up the installation variables
export INSTALL_DIR=`pwd` ln -s $INSTALL_DIR/files /etc/puppet/avalon_files
Collect facts about your installation to feed to puppet
|avalon_admin_user||an email address for the initial avalon collection/group email@example.com|
|avalon_dropbox_user||the login for the Avalon Dropbox user||avalondrop|
|avalon_dropbox_password||the plaintext password for the Avalon Dropbox user|
|avalon_dropbox_password_hash||the pre-hashed password for the Avalon Dropbox user|
|avalon_public_address||the hostname clients should connect to||Output of |
|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_avalon_public_address=avalon.example.edu \ FACTER_avalon_dropbox_password=dropithere \ FACTER_rails_env=development \ puppet apply --fileserverconfig=$INSTALL_DIR/fileserver.conf \ --modulepath=$INSTALL_DIR/modules --hiera_config=$INSTALL_DIR/hiera/hiera.yaml \ --templatedir=$INSTALL_DIR/templates manifests/init.pp --detailed-exitcodes
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 (e.g.,
http://avalon.example.edu/) Create a new user with email firstname.lastname@example.org, 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 to try to repair the install.
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.