PHYDO Demo Server at IUB
TEMP SECONDARY DEMO SERVER
Currently there is a demo server running version displayed at OR 2016.
Web server: helium.dlib.indiana.edu:8200 (temporarily displacing the tomcat service described below)
Solr: helium.dlib.indiana.edu:8985
Fedora: helium.dlib.indiana.edu:8986
Access
Hostname: helium.dlib.indiana.edu
- SSH will only be allowed from IU networks, so a VPN connection will be required. See https://kb.iu.edu/d/ajrq
Deployment
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.
Ports:
- 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 ssh helium.dlib.indiana.edu sudo su - phydo cd /srv/phydo/releases git clone https://github.com/IUBLibTech/phydo # 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 0.0.0.0 # or all together HOST=0.0.0.0 PORT=8500 rake hydra:server # Then Ctrl-Z, bg, disown to keep it running after disconnecting from ssh.
Application Prerequisites
Git:
- 1.8.3.1 installed from package
- git.x86_64 1.8.3.1-4.el7
Java:
- Defaulting to 1.8 in /bin/java
- 1.7 and 1.8 available from packages
- java-1.7.0-openjdk.x86_64 1:1.7.0.85-2.6.1.2.el7_1
- java-1.8.0-openjdk.x86_64 1:1.8.0.51-1.b16.el7_1
RVM:
- 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/rvm.sh to activate
- If mixed mode is desired do: 'rvm user gemsets', which will force gemsets to be managed in user's $HOME
FITS:
- Installed in /usr/local/fits
- fits.sh and fits symlinked from /usr/local/bin
ImageMagick
- Installed from package
- ImageMagick.x86_64 6.7.8.9-10.el7
Redis
- Installed from package
- redis.x86_64 2.8.19-2.el7
- (service redis start/stop/status)
Nodejs
- Installed in /usr/local/nodejs
- node binary symlinked from /usr/local/bin
6 Comments
Andrew Myers
Does IU use any config management tools currently? Chef or Puppet, e.g.?
Brian Wheeler
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.
Andrew Myers
Randall Floyd, the hydradam users doesn't appear to have been created yet.
Randall Floyd
Hmm, I created it yesterday and I can sudo to it:
Andrew Myers
ah... i was just cat'ing /etc/passwd. thanks
Randall Floyd
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.