Child pages
  • PHYDO demo server
Skip to end of metadata
Go to start of metadata

PHYDO Demo Server at IUB


Currently there is a demo server running version displayed at OR 2016.

Web server: (temporarily displacing the tomcat service described below)




TODO Update user/group to phydo for production instance.

User/group: hydradam:hydradam

  • Directories used for deployment should be owned by the hydradam user
  • Any Rails applications or Tomcat instances should be run as the hydradam user
  • The hydradam user is in the rvm group in case it needs to install anything Ruby related or own a gemset
  • Sudo access should allow you to become hydradam from a shell if necessary

Location: /srv/hydradam

  • Owned by user/group hydradam:hydradam
  • Can be symlinked to satisfy any deployment requirements (i.e., symlinked from /opt)
  • For now this is just a directory in the root filesystem but Brian will get a real data disk to mount /srv to, so for now we have to be a little careful about cleaning up large testing objects.


  • Port 8500 has been opened to firewalls for running the Rails application
  • Port 8200 has been opened to firewalls for running/managing a Tomcat instance for Fedora and Solr when required

Fedora and Solr

  • For now we can keep it simple by just starting Jetty on port 8983
  • When we want a real production-like deployment using Tomcat we have port 8200 open for management and troubleshooting
Terminal Commands
# Installing PHYDO services
sudo su - phydo
cd /srv/phydo/releases
git clone # If not already cloned
cd phydo
git checkout origin master
git pull origin master
rvm use ruby-2.3.1@phydo
gem install bundler # If new instance
bundle install
rake db:migrate
# Starting PHYDO servers individually
nohup solr_wrapper -p 8983 &
nohup fcrepo_wrapper -p 8984 --no-jms &
rails s -d -p 8500 -b
# or all together
HOST= PORT=8500 rake hydra:server
# Then Ctrl-Z, bg, disown to keep it running after disconnecting from ssh.


Application Prerequisites


  • installed from package
  •   git.x86_64


  •   Defaulting to 1.8 in /bin/java
  •   1.7 and 1.8 available from packages
  •   java-1.7.0-openjdk.x86_64 1:
  •   java-1.8.0-openjdk.x86_64 1:


  •   Installed in /usr/local/rvm as multi-user
  •   ruby-2.2.1 is default
  •   Rubies managed by user rvm
  •   If not working on login, source /etc/profile.d/ to activate
  •   If mixed mode is desired do: 'rvm user gemsets', which will force gemsets to be managed in user's $HOME


  •   Installed in /usr/local/fits
  • and fits symlinked from /usr/local/bin


  •   Installed from package
  •   ImageMagick.x86_64


  •   Installed from package
  •   redis.x86_64 2.8.19-2.el7
  •   (service redis start/stop/status)


  •   Installed in /usr/local/nodejs
  •   node binary symlinked from /usr/local/bin
  • No labels


  1. Does IU use any config management tools currently? Chef or Puppet, e.g.?

  2. No we don't.  For base server setup, there are a set of shell scripts which configure the machines identically.  After the base machine is set up, all of them have different roles and they're set up manually.  For post-setup site-wide changes, I use cssh to log into all of the machines simultaneously and make whatever changes are needed.


  3. Randall Floyd, the hydradam users doesn't appear to have been created yet.

  4. Hmm, I created it yesterday and I can sudo to it:

    -bash-4.2$ finger hydradam
    Login: hydradam Name: Account for hydradam
    Directory: /home/hydradam Shell: /bin/bash
    Last login Fri Aug 7 11:01 (EDT) on pts/1
    -bash-4.2$ sudo su - hydradam
    Last login: Fri Aug 7 12:27:03 EDT 2015 on pts/5
    [hydradam@helium ~]$ whoami
  5. ah... i was just cat'ing /etc/passwd. thanks

  6. Yeah, sorry, it's all ldap magic. We have custom scripts for dealing with users and groups, so if you need more users/gropus I can post how to do that, or I'll be happy to add them.