====== Quick Installation Guide on Ubuntu Server 9.10 ======
===== Unattended install =====
^DISCLAIMER^
|The following instructions are suggestions written with the intention of being useful for a user in the circumstances described below who follows them wisely. Please don't execute them if you are unsure what they do or how they will affect your system. No liability for damage/you_block_yourself_out/unsuccess will be accepted.|
This guide proposes a quick way to get your GridWay instance up and running without prior knowledge, just on a clean Ubuntu Server 9.10. You are advised to check the commands and understand what is being done at each step. Still you might use a throughout script:
wget http://dev.gridway.org/attachments/download/43/quick_install-gridway_5.6.beta-ubuntu_9.10.sh
chmod +x quick_install-gridway_5.6.beta-ubuntu_9.10.sh
sudo ./quick_install-gridway_5.6.beta-ubuntu_9.10.sh
===== Step by step install =====
==== Single-user Instance ====
This section is intended for user willing to install GridWay without need to share the installation with other users.
We will assume a installation done by a user with sudo capabilities and placed in a directory inside the $HOME folder.
=== Pre-requisites and download ===
We assume that your installation will be performed at ''$HOME/gridway''.
sudo apt-get install subversion make libssl-dev xinetd ant
mkdir $HOME/gridway
cd $HOME/gridway
wget http://dev.gridway.org/attachments/download/44/gridway_5.6.1.tar.gz
gunzip -c gridway_5.6.1.tar.gz | tar xvf -
cd $HOME/gridway/gridway_5.6.1
=== Environment setup ===
From here on, we assume you have already installed the Globus Toolkit 4.2 and your ''$GLOBUS_LOCATION'' is ''/opt/globus/4.2.1''. Check the [[http://www.globus.org/toolkit/docs/4.2/4.2.1/admin/quickstart|Globus Quick Start Guide]] in order to know how to easily install Globus on your machine (you can restrict yourself there to sections 1.1, 1.2 and 1.5).
You will need to add following environmental variables in your ~/.profile
nano $HOME/.profile
Add at the end the following content:
GLOBUS_LOCATION=/opt/globus/4.2.1
GW_LOCATION=$HOME/gridway/5.6.1
JAVA_HOME=/usr/lib/jvm/java-6-openjdk
ANT_HOME=/usr/share/ant
PATH=$GW_LOCATION/bin:$GLOBUS_LOCATION/bin:${PATH}
LD_LIBRARY_PATH=$GW_LOCATION/lib:${LD_LIBRARY_PATH}
export PATH LD_LIBRARY_PATH GLOBUS_LOCATION GW_LOCATION JAVA_HOME ANT_HOME
And do not forget to source this file in order to follow:
. $HOME/.profile
=== Installation ===
This step is required only if you want to compile GridWay with support of the drmaa-ruby, ldap, ssh and Berkeley DB:
sudo apt-get install ruby-dev libnet-ldap-perl libnet-ssh-ruby1.8 libnet-sftp-ruby1.8 libdb4.7-dev
In any case, you are ready for the ''./configure; make; make install'' phase:
./configure --enable-ldap --enable-prews --enable-drmaa-ruby --enable-ssh --enable-debug --prefix=$HOME/gridway/5.6.1
make
make install
=== Configuration ===
You will need to edit the ''$HOME/gridway/5.6.1/etc/gwd.conf'' according to the [[documentation:release_5.6:cg| Configuration Guide]].
=== Starting the daemon ===
gwd
Now you are done! Check the [[documentation:release_5.6:ug|User's Guide]] to check your installation and submit your first jobs.
==== Multiuser Instance ====
If you are a sysdamin willing to give support to more than one user simultaneously, then this section is for you.
=== Prepare GridWay Admin and Group ===
sudo addgroup gwusers
sudo adduser --system --home /opt/gridway --ingroup gwusers --shell /bin/sh gwadmin
=== Prerequisites and download ===
sudo apt-get install subversion make libssl-dev xinetd ant
cd /opt/gridway
sudo -u gwadmin sh -c 'wget http://dev.gridway.org/attachments/download/44/gridway_5.6.1.tar.gz; gunzip -c gridway_5.6.1.tar.gz | tar xvf - || sudo -u gwadmin svn co http://svn.gridway.org/gridway/tags/GW_5_6_1 gridway_5.6.1'
=== Environment setup ===
From here on, we assume you have already installed the Globus Toolkit 4.2 and your ''$GLOBUS_LOCATION'' is ''/opt/globus/4.2.1''. Check the [[http://www.globus.org/toolkit/docs/4.2/4.2.1/admin/quickstart|Globus Quick Start Guide]] in order to know how to easily install Globus on your machine (you can restrict yourself there to sections 1.1, 1.2 and 1.5).
You will need environmental variables for the gwusers so
sudo nano /etc/profile.d/gridway.sh
and edit the ''/etc/profile.d/gridway.sh'' file with the following content:
for i in `groups`; do
if [ "$i" = 'gwusers' ]; then
GLOBUS_LOCATION=/opt/globus/4.2.1
GW_LOCATION=/opt/gridway/5.6.1
JAVA_HOME=/usr/lib/jvm/java-6-openjdk
ANT_HOME=/usr/share/ant
PATH=$GW_LOCATION/bin:$GLOBUS_LOCATION/bin:${PATH}
LD_LIBRARY_PATH=$GW_LOCATION/lib:${LD_LIBRARY_PATH}
export PATH LD_LIBRARY_PATH GLOBUS_LOCATION GW_LOCATION JAVA_HOME ANT_HOME
fi
done
=== Installation ===
This step is required only if you want to compile GridWay with support of the drmaa-ruby and ldap:
sudo apt-get install ruby-dev libnet-ldap-perl libnet-ssh-ruby1.8 libnet-sftp-ruby1.8 libdb4.7-dev
In any case, you are ready for the ''./configure; make; make install'' phase, but it will be trickier since the gwadmin is a system user (that's why we use ''sudo -u'') and environmental variables are loaded when login (that's why we use ''sh -l'')
cd /opt/gridway/gridway_5.6.1
sudo -u gwadmin sh -lc './configure --enable-ldap --enable-prews --enable-drmaa-ruby --enable-drmaa1 --enable-ssh --enable-debug'
sudo -u gwadmin sh -lc 'make'
sudo -u gwadmin sh -lc 'make install'
=== Configuration ===
You will need to edit the ''/opt/gridway/5.6.1/etc/gwd.conf'' according to the [[documentation:release_5.6:cg| Configuration Guide]].
Moreover the administrator of GridWay needs to launch the Execution and Transfer MADs as the user themselves, therefore some privileges are required to be set in the /etc/sudoers file.
sudo visudo
and add the following lines
Runas_Alias GWUSERS = %gwusers
Defaults>GWUSERS env_keep="GW_LOCATION GLOBUS_LOCATION GLOBUS_TCP_PORT_RANGE X509_USER_PROXY"
gwadmin ALL=(GWUSERS) NOPASSWD: /opt/gridway/5.6.1/bin/gw_em_mad_prews *
gwadmin ALL=(GWUSERS) NOPASSWD: /opt/gridway/5.6.1/bin/gw_em_mad_ws *
gwadmin ALL=(GWUSERS) NOPASSWD: /opt/gridway/5.6.1/bin/gw_em_mad_ssh *
gwadmin ALL=(GWUSERS) NOPASSWD: /opt/gridway/5.6.1/bin/gw_tm_mad_dummy *
gwadmin ALL=(GWUSERS) NOPASSWD: /opt/gridway/5.6.1/bin/gw_tm_mad_ftp *
gwadmin ALL=(GWUSERS) NOPASSWD: /opt/gridway/5.6.1/bin/gw_tm_mad_ssh *
gwadmin ALL=(GWUSERS) NOPASSWD: /opt/globus/4.2.1/bin/grid-proxy-info *
=== Starting the daemon (simple way)===
sudo -u gwadmin sh -lc 'gwd -m'
We recommend you to insert a similar line into your ''/etc/rc.local'' to get it started every time after boot
su gwadmin -c "sh -lc 'gwd -m'"