Skip to content

Commit

Permalink
separation from lifemapper roll
Browse files Browse the repository at this point in the history
  • Loading branch information
nadyawilliams committed Feb 27, 2014
1 parent c8115da commit 096f8b7
Show file tree
Hide file tree
Showing 13 changed files with 363 additions and 3 deletions.
64 changes: 64 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
#
# $Id$
#
# @Copyright@
#
# Rocks(r)
# www.rocksclusters.org
# version 5.6 (Emerald Boa)
# version 6.1 (Emerald Boa)
#
# Copyright (c) 2000 - 2013 The Regents of the University of California.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
# notice unmodified and in its entirety, this list of conditions and the
# following disclaimer in the documentation and/or other materials provided
# with the distribution.
#
# 3. All advertising and press materials, printed or electronic, mentioning
# features or use of this software must display the following acknowledgement:
#
# "This product includes software developed by the Rocks(r)
# Cluster Group at the San Diego Supercomputer Center at the
# University of California, San Diego and its contributors."
#
# 4. Except as permitted for the purposes of acknowledgment in paragraph 3,
# neither the name or logo of this software nor the names of its
# authors may be used to endorse or promote products derived from this
# software without specific prior written permission. The name of the
# software includes the following terms, and any derivatives thereof:
# "Rocks", "Rocks Clusters", and "Avalanche Installer". For licensing of
# the associated name, interested parties should contact Technology
# Transfer & Intellectual Property Services, University of California,
# San Diego, 9500 Gilman Drive, Mail Code 0910, La Jolla, CA 92093-0910,
# Ph: (858) 534-5815, FAX: (858) 534-7345, E-MAIL:[email protected]
#
# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS''
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# @Copyright@
#
# $Log$
#

-include $(ROLLSROOT)/etc/Rolls.mk
include Rolls.mk

default: roll
47 changes: 44 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,45 @@
lifemapper-server
=================
LifeMapper Server roll
=======================

This roll installs lmserver and lmweb parts of Lifemapper

Installing LMserver
-------------------

**Prerequisites**
* *install repos from RPM:* elgis, pgdg91
* *yum base repo:* cmake, subversion, sqlite-devel, giflib-devel, byacc, readline-devel
* *yum rpmforge repo:* hdf4, hdf4-devel, hdf5, hdf5-devel
* *yum epel repo:* fribidi, json-c
* *yum elgis repo:* mapserver
* *yum pgdg91 repo:* postgresql91, postgresql91-devel, postgis2_91, pgbouncer
* *build from source:* libspatialindex, geos, ant, mod_python, gdal
* *build python modules from source:* numexpr, Cheetah, CherryPy, Cython, pytables, egenix-mxDateTime, setuptools, rtree, pylucene, psycopg2, MySQL-python, faulthandler

**repos download:**
wget http://yum.postgresql.org/9.1/redhat/rhel-6-x86_64/pgdg-centos91-9.1-4.noarch.rpm
wget http://elgis.argeo.org/repos/6/elgis-release-6-6_0.noarch.rpm

**source download:**
wget http://download.osgeo.org/geos/geos-3.4.2.tar.bz2
wget http://www.cython.org/release/Cython-0.20.tar.gz
wget http://sourceforge.net/projects/pytables/files/pytables/3.1.0/tables-3.1.0rc2.tar.gz
wget http://download.osgeo.org/libspatialindex/spatialindex-src-1.8.1.tar.gz
wget http://www.poolsaboveground.com/apache/lucene/pylucene/pylucene-4.5.1-1-src.tar.gz
wget http://download.cherrypy.org/cherrypy/3.1.2/CherryPy-3.1.2.tar.gz
wget http://mirror.metrocast.net/apache//ant/source/apache-ant-1.9.3-src.tar.gz
wget http://dist.modpython.org/dist/mod_python-3.5.0.tgz
wget --no-check-certificate https://pypi.python.org/packages/source/n/numexpr/numexpr-2.3.tar.gz
wget --no-check-certificate https://downloads.egenix.com/python/egenix-mx-base-3.2.7.tar.gz
wget --no-check-certificate http://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz
wget --no-check-certificate https://pypi.python.org/packages/source/R/Rtree/Rtree-0.7.0.tar.gz
wget --no-check-certificate https://pypi.python.org/packages/source/p/psycopg2/psycopg2-2.5.2.tar.gz
wget --no-check-certificate https://pypi.python.org/packages/source/M/MySQL-python/MySQL-python-1.2.5.zip
wget --no-check-ertificate https://pypi.python.org/packages/source/C/Cheetah/Cheetah-2.4.4.tar.gz
wget --no-check-certificate https://pypi.python.org/packages/source/f/faulthandler/faulthandler-2.3.tar.gz
wget --no-check-certificate https://pypi.python.org/packages/source/R/Rtree/Rtree-0.7.0.tar.gz

**RPMs download:**
wget ftp://ftp.pbone.net/mirror/atrpms.net/el6-x86_64/atrpms/stable/bitstream-vera-sans-fonts-1.10-18.el6.noarch.rpm
wget ftp://ftp.pbone.net/mirror/atrpms.net/el6-i386/atrpms/stable/bitstream-vera-fonts-common-1.10-18.el6.noarch.rpm

Lifemapper lmserver and lmweb
34 changes: 34 additions & 0 deletions bootstrap.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#!/bin/bash

# Create prerequisites for building lmserver dependencies

. /opt/rocks/share/devel/src/roll/etc/bootstrap-functions.sh

# add pgdg repo: need for installing postgresql and postgis2 rpms
(cd src/RPMS; rpm -i pgdg-centos91-9.1-4.noarch.rpm)

# for mapserver
yum --enablerepo base install cmake
(cd src/RPMS; \
rpm -i elgis-release-6-6_0.noarch.rpm; \
rpm -i bitstream-vera-fonts-common-1.10-18.el6.noarch.rpm; \
rpm -i bitstream-vera-sans-fonts-1.10-18.el6.noarch.rpm;\
)
echo "/usr/java/latest/jre/lib/amd64" > /etc/ld.so.conf.d/lifemapper-server.conf
echo "/usr/java/latest/jre/lib/amd64/server" >> /etc/ld.so.conf.d/lifemapper-server.conf
/sbin/ldconfig

# for building PyLucene
compile_and_install ant
(cd src/pylucene; make install_jcc)

# for building pytables
compile_and_install cython
compile_and_install numexpr
yum --enablerepo rpmforge install hdf5 hdf5-devel

# for building psycopg
compile_and_install gdal
/sbin/ldconfig
yum install postgresql91

38 changes: 38 additions & 0 deletions graphs/default/lifemapper-server.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?xml version="1.0" standalone="no"?>

<graph>

<description>

The lifemapper Roll

</description>

<copyright>
Copyright (c) 2000 - 2012 The Regents of the University of California.
All rights reserved. Rocks(r) v5.5/v6.0 www.rocksclusters.org

</copyright>

<changelog>
$Log$
</changelog>


<!-- for lmserver -->
<edge from="server" to="lifemapper-lmserver" cond="lmserver"/>
<edge from="server" to="lifemapper-server-base" cond="lmserver"/>

<order head="lifemapper-server-base">
<tail>lifemapper-lmserver</tail>
</order>

<!-- for lmweb -->
<edge from="server" to="lifemapper-lmweb" cond="lmweb"/>
<edge from="server" to="lifemapper-server-base" cond="lmserver"/>

<order head="lifemapper-server-base">
<tail>lifemapper-lmweb</tail>
</order>

</graph>
43 changes: 43 additions & 0 deletions nodes/lifemapper-lmserver.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<?xml version="1.0" standalone="no"?>

<kickstart>


<description>
Lifemapper-server roll.
LMserver installation
</description>

<copyright>
Copyright (c) 2000 - 2012 The Regents of the University of California.
All rights reserved. Rocks(r) v5.5/v6.0 www.rocksclusters.org

</copyright>

<changelog>
$Log$
</changelog>

<package>mysql</package>
<package>mysql-devel</package>
<package>opt-MySQL-python</package>
<package>libxslt</package>
<package>lifemapper-spatialindex</package>

<post>

#yum install postgis2_91
#yum --enablerepo epel fribidi
#yum install mapserver

# set mode to strict (2) to prevent postgres being killed by OOM
/sbin/sysctl -w vm.overcommit_memory=2

# may need this later for postgres tuning
# rocks set network mtu public 9000
# rocks sync host network `hostname -s`


</post>

</kickstart>
39 changes: 39 additions & 0 deletions nodes/lifemapper-lmweb.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<?xml version="1.0" standalone="no"?>

<kickstart>


<description>
Lifemapper-server roll.
LMweb install
</description>

<copyright>
Copyright (c) 2000 - 2012 The Regents of the University of California.
All rights reserved. Rocks(r) v5.5/v6.0 www.rocksclusters.org

</copyright>

<changelog>
$Log$
</changelog>

<package>lifemapper-mod_python</package>
<package>lifemapper-ant</package>
<package>opt-cherrypy</package>
<package>opt-cheeta</package>
<package>opt-pylucene</package>

<post>

mkdir -p /var/lib/lm
mkdir -p /var/lib/lm/sessions
mkdir -p /var/lib/lm/luceneIndex
mkdir -p /var/lib/lm/.python-eggs
chgrp -R lmwriter /var/lib/lm
chmod -R g+ws /var/lib/lm


</post>

</kickstart>
96 changes: 96 additions & 0 deletions nodes/lifemapper-server-base.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
<?xml version="1.0" standalone="no"?>

<kickstart>


<description>
Lifemapper-server roll.
LMserver and LMweb servers common install
</description>

<copyright>
Copyright (c) 2000 - 2012 The Regents of the University of California.
All rights reserved. Rocks(r) v5.5/v6.0 www.rocksclusters.org

</copyright>

<changelog>
$Log$
</changelog>

<!-- RPM repos needed for postgresql,postgis,mapserver -->
<package>pgdg-centos91</package>
<package>elgis-release</package>

<!-- packages available on the system -->
<package>sqlite</package>
<package>flex</package>
<package>libxslt</package>

<!-- mapserver prereq -->
<package>bitstream-vera-fonts-common</package>
<package>bitstream-vera-sans-fonts</package>

<!-- packages build from source -->
<package>lifemapper-proj</package>
<package>lifemapper-geos</package>
<package>lifemapper-gdal</package>
<package>lifemapper-tiff</package>
<package>lifemapper-mod_python</package>

<package>opt-setuptools</package>
<package>opt-numexpr</package>
<package>opt-cython</package>
<package>opt-pytables</package>
<package>opt-egenix-mx-base</package>
<package>opt-psycopg2</package>
<package>opt-faulthandler</package>

<package>roll-lifemapper-usersguide</package>

<post>

<file name="/etc/ld.so.conf.d/lifemapper-server.conf">
/opt/lifemapper/lib
/usr/java/latest/jre/lib/amd64
/usr/java/latest/jre/lib/amd64/server
/opt/python/lib
</file>

yum --enablerepo base install giflib-devel
yum --enablerepo base install byacc
yum --enablerepo base install readline-devel
yum --enablerepo base install subversion
yum --enablerepo rpmforge install hdf4 hdf4-devel
yum --enablerepo rpmforge install hdf5 hdf5-devel
yum --enablerepo base install cmake

yum --enablerepo base update openssl
yum install postgresql91
yum install postgresql91-devel
yum install pgbouncer
yum --enablerepo epel install json-c.x86_64
yum install postgis2_91

yum --enablerepo epel fribidi
yum install mapserver

GID=`grep lmwriter: /etc/group`
if [ "$GID" == "" ] ; then
/usr/sbin/groupadd -g 502 lmwriter
fi

/usr/sbin/groupadd -g 501 lmreader
rocks sync users

mkdir -p /state/partition/lm/logs
chgrp -R lmwriter /state/partition1/lm
chmod -R g+ws /state/partition1/lm


</file>


</post>

</kickstart>
Binary file not shown.
Binary file not shown.
Binary file added src/RPMS/elgis-release-6-6_0.noarch.rpm
Binary file not shown.
Binary file added src/RPMS/mapserver-6.0.3-4_0.el6.x86_64.rpm
Binary file not shown.
Binary file added src/RPMS/pgdg-centos91-9.1-4.noarch.rpm
Binary file not shown.
5 changes: 5 additions & 0 deletions version.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
ROLLNAME = lifemapper-server
RELEASE = 0
COLOR = orchid

REDHAT.ROOT = $(CURDIR)

0 comments on commit 096f8b7

Please sign in to comment.