Escience software stack
From Tetherless World Wiki
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
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:
| 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
- start script is /usr/sbin/apachectl
- configuration is located in /etc/httpd/conf/httpd.conf with additional configuration in /etc/httpd/conf.d
- cron script to start and stop apache is /etc/init.d/httpd, with the options start, start, restart, status.
- logs in /etc/httpd/logs/
- modules in /etc/httpd/modules
- listening on the escience.rpi.edu ip address (128.113.28.175), port 80 and 443
- 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
- tomcat listening on the vsto.rpi.edu ip address (128.113.28.180), port 80 and 443
- tomcat installed in /opt/tomcat/tomcat
- changed catalina.sh to include setting CATALINA_OPTS, -Xms512m -Xmx512m -Dowl_uri=http://escience.rpi.edu/ontology/vsto/2/0/
- 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
- The code under PortalBase is ncar.jar that gets put under WebContent/WEB-INF/lib
Tomcat for OPeNDAP
- tomcat listening on the escience.rpi.edu ip address (128.113.28.175), port 8080 and 8443
- tomcat installed in /opt/tomcat/tomcat_opendap
- opendap.war deployed under webapps. No modifications made to configuration
- 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
- /etc/hosts changed so that escience.rpi.edu is not listed with 127.0.0.1
- /etc/hosts changed, added escience.rpi.edu for its ip address
- /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
- Downloaded Trac version 0.11.3 from TracDownload
- Follow the installlation instructions at TracInstall
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:
- http://helpdesk.rpi.edu, Other Services, EZ Snapshot Service, Backup and Restore Options, How to 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.
