Escience software stack

From Tetherless World Wiki

Jump to: navigation, search
This page has been moved to the new drupal site. You should be editing it at http://tw.rpi.edu/web/inside/machine/escience.


DO NOT REMOVE THESE INSTRUCTIONS

This is a Software Stack page.

This page must be listed at http://tw.rpi.edu/wiki/tw:Labinfo/TW_Server_Administration_Manual
under the notes column for the row associated with this machine.

add any information on this software stack page that is necessary, including but not limited to:
* what is the machine being used for
* when was the last time an update was made on the machine of all installed software (yum update or  apt-get equivalent)
* what services are running on the machine (endpoint, triple store, database, apache, tomcat, etc...)
* if the machine were to go down, what would need to be restarted and whether those services are automatically restarted
** If they are not automatically restarted and need to be, please work with us to get it there.
* anything that has been installed on that machine that wasn't installed originally (if you install it, list it here)
** for example, triple store, sparql endpoint, mysql database, apache, compilers, etc...
* if something needs to be installed, but isn't installed yet, please list that in the second table
* what ports are open to the outside (inside the network and/or outside the network)

List of installed software on the escience.rpi.edu system.

System Configuration Settings

  • CentOS 5.3 x86_64
  • Last updated December 07, 2010

escience is a Tier 4 (production) machine. Only production systems will be running on this machine.

  • svn
  • trac
  • apache
    • tw ontologies
  • mysql
  • tomcat
    • vsto
    • opendap


Contents


Contact

Patrick_West

NOTES

Please read the NOTES section for important information about the machine.

Add /opt/bin to your PATH, /opt/lib to your LD_LIBRARY_PATH, /opt/man to your MANPATH.

Any future applications should be installed in /opt and not /usr or /usr/local. TW will be responsible for whatever is installed in /opt and VCC will be responsible for anything installed in /usr.

It was discovered that /opt, /home, /usr, and virtual memory are all on the root partition, and the root partition filled up rather quickly. The way the machine was set up, there was a different, much larger partition at /ext. So we did the following:

  • Created a /ext/opt directory with a sym link from /opt to /ext/opt
  • Created a /ext/project directory with a sym link from /project to /ext/project
  • Created the directory /project/src for production prep. So there is a /project/src/pwest, /project/src/zednik, /project/src/csc, etc...
  • Created production project directories under /project for any production quality software to be located. For example, /project/vsto (if there was a need for one)
  • Created user directories under /project/user. Should not do any significant work in your home directory

Currently installed on escience

Software Package Version Installed in Maintainer Dependencies
svn 1.5.4 (r33841) /usr VCC
libcurl 7.15.5 /usr VCC
flex 2.5.4 /usr VCC
bison 2.3 /usr VCC
libxml2 2.6.26 /usr VCC
readline 5.1 /usr VCC ncurses
dejagnu 1.4.4 /usr VCC Expect, TCL
gcc 4.1.2 /usr
include gfortran
VCC
gmake 3.81 /usr VCC
autoconf 2.63 /opt
./configure '--prefix=/opt' '--libdir=/opt/lib64'
TW
automake 1.10.2 /opt
./configure '--prefix=/opt' '--libdir=/opt/lib64'
TW
libtool 1.5.26
(tried 2.2.6, but does not work properly)
/opt
./configure '--prefix=/opt' '--libdir=/opt/lib64' '--enable-ltdl-install'
TW
vim/gvim 7.0 /usr VCC
Apache 2.2.3 /usr
see below
TW
php 5.1.6 - php-mysql, php-mbstring, php-mcrypt also installed for phpMyAdmin support /usr VCC
mysql client libraries 5.0.45 /usr VCC
mysql server 5.0.45 /usr VCC
phpMyAdmin 2.11.11.3 (version 3.x requires php 5.2 or greater) /opt/var/www/ TW php-mysql module, mysql server
cppunit 1.12.1 /opt
./configure '--prefix=/opt' '--libdir=/opt/lib64'
TW
netcdf 3.6.3 /opt
./configure '--prefix=/opt' '--libdir=/opt/lib64' '--enable-shared'
TW
libjpeg 6b /usr TW
szip 2.1 /opt TW
hdf4 1.8.2 /opt
./configure 'F77=gfortran' '--prefix=/opt' '--libdir=/opt/lib64' '--enable-production'

Also had to hand build the source in mfhdf/libsrc and hdf/src, adding -fPIC to the compile lines, to get 64-bit builds to work. No shared library build for hdf4. And adding to CFLAGS or CXXFLAGS did not work. Was getting the error:
/usr/bin/ld: /opt/lib64/libmfhdf.a(mfsd.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/opt/lib64/libmfhdf.a: could not read symbols: Bad value

TW libjpeg
hdf5 1.8.2 /opt
./configure 'FC=gfortran' '--prefix=/opt' '--libdir=/opt/lib64' '--enable-cxx' '--enable-fortran' '--enable-shared'
TW libjpeg
cvs 1.11.22 (5.el5) /usr VCC
tcpflow 1.21 /usr TW
doxygen 1.5.8 /opt
./configure --prefix /opt
TW
graphviz 2.20.3 /opt
./configure --prefix=/opt
TW
emacs 21.4 (20.el5) /usr VCC
pellet 1.4 /opt/pellet/pellet-1.4 TW
maven 2.0.9 /opt/maven/apache-maven-2.0.9 TW
tomcat 6.x /opt/tomcat/apache-tomcat-6.0.18
see below
TW
java JRE 1.6.0_10 /usr/jdk1.6.0_10/jre VCC
swig 1.3.38 /opt
./configure --prefix=/opt
TW
easy_install for python setuptools-0.6c9-py2.4 /usr
sudo ./setuptools-0.6c9-py2.4.egg --install-dir=/usr/lib64/python2.4/site-packages
TW
Genshi Genshi-0.5.1-py2.4-linux-x86_64 /usr
sudo easy_install --install-dir=/usr/lib64/python2.4/site-packages Genshi
TW
PySQLite 2.5.1 /usr
sudo easy_install --install-dir=/usr/lib64/python2.4/site-packages PySQLite
TW
Trac 0.11.3 /usr
sudo python ./setup.py install
TW Genshi and PySQLite
ImageMagick 6.2.8 /usr VCC

Still need to install these software packages

Software Package Version Install in Maintainer Dependencies
globus 4.2.2 (not released) /opt/?? Stephan for now
MPICH2 1.1b1 /opt TWC
ADaM - Data Mining and Image Processing Toolkits 4.0.2 /opt TWC

Tomcat/Apache installation

Apache

  1. start script is /usr/sbin/apachectl
  2. configuration is located in /etc/httpd/conf/httpd.conf with additional configuration in /etc/httpd/conf.d
  3. cron script to start and stop apache is /etc/init.d/httpd, with the options start, start, restart, status.
  4. logs in /etc/httpd/logs/
  5. modules in /etc/httpd/modules
  6. listening on the escience.rpi.edu ip address (128.113.28.175), port 80 and 443
  7. creating the security certificate for escience.rpi.edu
% openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout server.key -out server.crt

Country Name (2 letter code) [GB]:US
State or Province Name (full name) [Berkshire]:New York
Locality Name (eg, city) [Newbury]:Troy
Organization Name (eg, company) [My Company Ltd]:Rensselaer Polytechnic Institute
Organizational Unit Name (eg, section) []:Tetherless World Constellation
Common Name (eg, your name or your server's hostname) []:escience.rpi.edu
Email Address []:tw-application-l@lists.rpi.edu

Copy these files (server.key and server.crt) to the appropriate directory under /etc/httpd/conf (ssl.key and ssl.crt respectively)

Tomcat for VSTO

  1. tomcat listening on the vsto.rpi.edu ip address (128.113.28.180), port 80 and 443
  2. tomcat installed in /opt/tomcat/tomcat
  3. changed catalina.sh to include setting CATALINA_OPTS, -Xms512m -Xmx512m -Dowl_uri=http://escience.rpi.edu/ontology/vsto/2/0/
  4. vstoapp.war deployed under webapps. All of the code is pointing to the owl files in http://escience.rpi.edu/ontology/vsto/2/0/. The code changed is under ncar.vsto.auto and ncar.vsto.auto.impl
  5. The code under PortalBase is ncar.jar that gets put under WebContent/WEB-INF/lib

Tomcat for OPeNDAP

  1. tomcat listening on the escience.rpi.edu ip address (128.113.28.175), port 8080 and 8443
  2. tomcat installed in /opt/tomcat/tomcat_opendap
  3. opendap.war deployed under webapps. No modifications made to configuration
  4. OPeNDAP BES is installed and running under /opt/hyrax-1.5 with modules dap, dapcmd, usage, ascii, www, nc, fits and fonc (file out netcdf)

Additional information

  1. /etc/hosts changed so that escience.rpi.edu is not listed with 127.0.0.1
  2. /etc/hosts changed, added escience.rpi.edu for its ip address
  3. /etc/hosts changed, added vsto.rpi.edu for its ip address

Trac Installation

The following is everything that was needed in order to install and run Trac

Running within httpd

We needed to install the latest and greatest Python, version 2.5. This was so that we could get the latest versions of easy_install (setuptools), Genshi, mod_python.

  • Trac is installed in the default location, under /usr
  • the daemon is located at /usr/bin/tracd
  • There are currently two projects created under /opt/var/trac/
    • tetherless_project - all projects worked on by TWC
    • tetherless_admin - accessible only by Tetherless World professors and administrative staff
    • sudo trac-admin /opt/var/trac/tetherless_project initenv
    • can create more projects if needed
  • currently, basic authentication using htaccess is being used, using the same password file that svn is using. This password file is located under /etc/httpd/conf/svn-auth-file

Trac is running using the mod_python handler in apache. Apache configuration can be found in subversion under machines/escience/trunk/apache

To get to trac you can go to scm.escience.rpi.edu/trac or escience.rpi.edu/trac. If we want, we can remove the trac.conf file and just have the scm VirtualHost entry.

In Standalone Mode

At first, trac was run as a standalone server on a specific port, port 8000. To get to this port one had to go to escience.rpi.edu:8000. This is no longer the case (refer to above mod_python configuration.) To run Trac in this standalone mode use the following instructions.

trac is started using the following command:

sudo nohup tracd -s --port=8000 \
     --basic-auth=tetherless_project,/etc/httpd/conf/svn-auth-file,escience.rpi.edu:8000 \
     /opt/var/trac/tetherless_project &

to get to trac, only within the network, browse to http://escience.rpi.edu:8000/ and it will get you to the trac site for the one project, tetherless_project. If there are multiple projects then we wouldn't run with -s (single). When you browse to the specified url it will list all of the projects available.

Backups of Escience

Currently, backups are done on escience using EZ Snapshot. This was installed and configured by VCC.

Directories being backed up:

  • /ext

Backups occur every 2 days and last 5 hours.

A backup check is run every 2 days, sending an email to westp@rpi.edu if there is a problem. /ext/opt/backups/bin/backup_check.sh. Since the backups run every 2 days and 5 hours, due to the 5 hour duration, the check will fail once a week. If it fails twice in a row then there is actually a problem

Databases being backed up:

  • All databases are being backed up, every Sunday at 12:00 am via a cron for user root that runs /ext/opt/backups/bin/dbdump-cron.sh. The backups are made to /ext/opt/backups/mysqldb. This directory is backed up as part of the EZ Snapshot backup.

Instructions on backups and restore:

To check status of backups, run these commands

% sudo dsmc query file
% sudo dsmc query schedule
% ps -eaf | grep dsmc | grep -v grep

The first command displays the list of files recently backed up and when they were backed up. The second command displays the schedule of backups, which currently is every 12 hours. The third makes sure that the backups are actually running. If it isn't running, it needs to be restarted as follows:

% sudo /etc/init.d/tsm start

This writes to the log file /var/log/adsm.log. Check this log to make sure that it actually starts properly.

Personal tools