[Introduction]
This is based on LCG 2.6.0.
LCG User Interface (UI) can be installed on a desktop or an OSG CE machine.
In the section [Procedures], lines starting with '#' are comment lines.

[Procedures]

cd

cd LCG2

# Note : check if this is latest lcg-yaim rpm
wget http://www.cern.ch/grid-deployment/gis/yaim/lcg-yaim-2.6.0-6.noarch.rpm

rpm -ivh lcg-yaim-2.6.0-6.noarch.rpm

wget ftp://ftp.scientificlinux.org/linux/scientific/30x/i386/SL/RPMS/apt-0.5.15cnc6-4.SL.i386.rpm

rpm -ivh apt-0.5.15cnc6-4.SL.i386.rpm

# Note : get this from SUN
rpm -ivh j2sdk-1_4_2_08-linux-i586.rpm

cp /opt/lcg/yaim/examples/site-info.def site-info-ui.def

vi site-info-ui.def
 #-- content of site-info-ui.def ---------------------------------
# YAIM example site configuration file - adapt it to your site!

MY_DOMAIN=phys.ufl.edu

CE_HOST=myce.$MY_DOMAIN
SE_HOST=myce.$MY_DOMAIN
RB_HOST=myrb.$MY_DOMAIN
PX_HOST=myce.$MY_DOMAIN
BDII_HOST=myce.$MY_DOMAIN
MON_HOST=myce.$MY_DOMAIN
REG_HOST=lcgic01.gridpp.rl.ac.uk	# there is only 1 central registry for now

# Set this is you are building a VO-BOX 
VOBOX_HOST=my-vobox.$MY_DOMAIN
VOBOX_PORT=1975

#Set this to "yes" your site provides an X509toKERBEROS Authentication Server 
#Only for sites with Experiment Software Area under AFS 
GSSKLOG=no
GSSKLOG_SERVER=my-gssklog.$MY_DOMAIN

# Set this if you are building a LFC server
# not if you are just using clients
LFC_HOST=my-lfc.$MY_DOMAIN
LFC_DB_PASSWORD="lfc_password"
LFC_TYPE="local" # or "central"

# Change this if your torque server is not on the CE
# it's ingored for other batch systems
TORQUE_SERVER=$CE_HOST

WN_LIST=/opt/lcg/yaim/examples/wn-list.conf
USERS_CONF=/opt/lcg/yaim/examples/users.conf
FUNCTIONS_DIR=/opt/lcg/yaim/functions

# Pick the apt-get sources appropriate to your OS - uncomment one line
LCG_REPOSITORY="rpm http://grid-deployment.web.cern.ch/grid-deployment/gis apt/LCG-2_6_0/sl3/en/i386 lcg_sl3 lcg_sl3.updates"

CA_REPOSITORY="rpm http://grid-deployment.web.cern.ch/grid-deployment/gis apt/LCG_CA/en/i386 lcg"

# For the relocatable (tarball) distribution, ensure
# that INSTALL_ROOT is set correctly
INSTALL_ROOT=/opt

# You will probably want to change these too for the relocatable dist
OUTPUT_STORAGE=/tmp/jobOutput
JAVA_LOCATION="/usr/java/j2sdk1.4.2_08"
# Set this to '/dev/null' or some other dir if you want
# to turn off yaim installation of cron jobs
CRON_DIR=/dev/null

#LCG GLOBUS_TCP_PORT_RANGE="20000 25000"
GLOBUS_TCP_PORT_RANGE="40000,45000"

MYSQL_PASSWORD=set_this_to_a_good_password

APEL_DB_PASSWORD="APELDB_PWD"

GRID_TRUSTED_BROKERS="one"
#GRID_TRUSTED_BROKERS="'broker one' 'broker two'"

GRIDMAP_AUTH="ldap://lcg-registrar.cern.ch/ou=users,o=registrar,dc=lcg,dc=org"
#GRIDMAP_AUTH="ldap://lcg-registrar.cern.ch/ou=users,o=registrar,dc=lcg,dc=org ldap://xxx"

GRIDICE_SERVER_HOST=$MON_HOST

SITE_EMAIL=your@email.com
SITE_NAME=MySite
SITE_LOC="City, Country"
SITE_LAT=0.0
SITE_LONG=0.0
SITE_WEB="http://www.my-site.org"
SITE_TIER="TIER 2"
SITE_SUPPORT_SITE="my-bigger-site.cern.ch"

## SE_classic should be 'disk', SE_dpm or SE_dcache should be 'srm_v1'
SE_TYPE=disk

JOB_MANAGER=lcgpbs

CE_BATCH_SYS=torque
CE_CPU_MODEL=PIII
CE_CPU_VENDOR=intel
CE_CPU_SPEED=1001
CE_OS=Redhat
CE_OS_RELEASE=7.3
CE_MINPHYSMEM=513
CE_MINVIRTMEM=1025
CE_SMPSIZE=2
CE_SI00=381
CE_SF00=0
CE_OUTBOUNDIP=TRUE
CE_INBOUNDIP=FALSE
CE_RUNTIMEENV="LCG-2 LCG-2_1_0 LCG-2_1_1 LCG-2_2_0 LCG-2_3_0 LCG-2_3_1 LCG-2_4_0 LCG-2_5_0 LCG-2_6_0 R-GMA"
CE_CLOSE_SE="SE1 SE2"
CE_CLOSE_SE1_HOST=$SE_HOST
CE_CLOSE_SE1_ACCESS_POINT=/storage
CE_CLOSE_SE2_HOST=another-se.$MY_DOMAIN
CE_CLOSE_SE2_ACCESS_POINT=/somewhere

# dCache-specific settings
# ignore if you are not running d-cache
DCACHE_ADMIN="my-admin-node"
DCACHE_POOLS="my-pool-node1:/pool-path1 my-pool-node2:/pool-path2"
# Optional
# DCACHE_PORT_RANGE="20000,25000"

# SE_dpm-specific settings
# Ignore if you are not running a DPM
DPMDATA=$CE_CLOSE_SE1_ACCESS_POINT
# The database user
DPMMGR=the-dpm-db-user
# The database user password
DPMUSER_PWD=the-dpm-db-pwd
DPMFSIZE=200M
# Set this if you are building a DPM yourself
# and/or if you need a default DPM for the lcg-stdout-mon
DPM_HOST=$SE_HOST
DPMPOOL=the_dpm_pool_name
# Optional
# DPM_PORT_RANGE="20000,25000" ??

FTS_SERVER_URL="https://fts.${MY_DOMAIN}:8443/path/glite-data-transfer-fts"

BDII_HTTP_URL="http://grid-deployment.web.cern.ch/grid-deployment/gis/lcg2-bdii/dteam/lcg2-all-sites.conf"
BDII_REGIONS="CE SE RB PX VOBOX"	# list of the services provided by the site
BDII_CE_URL="ldap://$CE_HOST:2135/mds-vo-name=local,o=grid"
BDII_SE_URL="ldap://$SE_HOST:2135/mds-vo-name=local,o=grid"
BDII_RB_URL="ldap://$RB_HOST:2135/mds-vo-name=local,o=grid"
BDII_PX_URL="ldap://$PX_HOST:2135/mds-vo-name=local,o=grid"
BDII_VOBOX_URL="ldap://$VOBOX_HOST:2135/mds-vo-name=local,o=grid"

VOS="atlas alice lhcb cms dteam sixt na48"
QUEUES=${VOS}

VO_SW_DIR=/opt/exp_soft

# set this if you want a scratch directory for jobs
EDG_WL_SCRATCH=""

VO_ATLAS_SW_DIR=$VO_SW_DIR/atlas
VO_ATLAS_DEFAULT_SE=$SE_HOST
VO_ATLAS_STORAGE_DIR=$CE_CLOSE_SE1_ACCESS_POINT/atlas
VO_ATLAS_QUEUES="atlas"

VO_ATLAS_SGM=ldap://grid-vo.nikhef.nl/ou=lcgadmin,o=atlas,dc=eu-datagrid,dc=org
VO_ATLAS_USERS=ldap://grid-vo.nikhef.nl/ou=lcg1,o=atlas,dc=eu-datagrid,dc=org
VO_ATLAS_VOMS_SERVERS="vomss://lcg-voms.cern.ch:8443/voms/atlas?/atlas/"
VO_ATLAS_VOMS_POOL_PATH="/lcg1"
#VO_ATLAS_VOMS_SERVERS="'vomss://lcg-voms.cern.ch:8443/voms/atlas?/atlas/' 'vomss://voms.cern.ch:8443/edg-voms-admin/atlas?/atlas/'"
#VO_ATLAS_VOMS_EXTRA_MAPS="'Role=production production' 'usatlas .usatlas'"


VO_ALICE_SW_DIR=$VO_SW_DIR/alice
VO_ALICE_DEFAULT_SE=$SE_HOST
VO_ALICE_STORAGE_DIR=$CE_CLOSE_SE1_ACCESS_POINT/alice
VO_ALICE_QUEUES="alice"

VO_ALICE_SGM=ldap://grid-vo.nikhef.nl/ou=lcgadmin,o=alice,dc=eu-datagrid,dc=org
VO_ALICE_USERS=ldap://grid-vo.nikhef.nl/ou=lcg1,o=alice,dc=eu-datagrid,dc=org
VO_ALICE_VOMS_SERVERS="vomss://lcg-voms.cern.ch:8443/voms/alice?/alice/"


VO_CMS_SW_DIR=$VO_SW_DIR/cms
VO_CMS_DEFAULT_SE=$SE_HOST
VO_CMS_STORAGE_DIR=$CE_CLOSE_SE1_ACCESS_POINT/cms
VO_CMS_QUEUES="cms"

VO_CMS_SGM=ldap://grid-vo.nikhef.nl/ou=lcgadmin,o=cms,dc=eu-datagrid,dc=org
VO_CMS_USERS=ldap://grid-vo.nikhef.nl/ou=lcg1,o=cms,dc=eu-datagrid,dc=org
VO_CMS_VOMS_SERVERS="vomss://lcg-voms.cern.ch:8443/voms/cms?/cms/"


VO_LHCB_SW_DIR=$VO_SW_DIR/lhcb
VO_LHCB_DEFAULT_SE=$SE_HOST
VO_LHCB_STORAGE_DIR=$CE_CLOSE_SE1_ACCESS_POINT/lhcb
VO_LHCB_QUEUES="lhcb"

VO_LHCB_SGM=ldap://grid-vo.nikhef.nl/ou=lcgadmin,o=lhcb,dc=eu-datagrid,dc=org
VO_LHCB_USERS=ldap://grid-vo.nikhef.nl/ou=lcg1,o=lhcb,dc=eu-datagrid,dc=org
VO_LHCB_VOMS_SERVERS="vomss://lcg-voms.cern.ch:8443/voms/lhcb?/lhcb/"
VO_LHCB_VOMS_EXTRA_MAPS="lcgprod lhcbprod"


VO_DTEAM_SW_DIR=$VO_SW_DIR/dteam
VO_DTEAM_DEFAULT_SE=$SE_HOST
VO_DTEAM_STORAGE_DIR=$CE_CLOSE_SE1_ACCESS_POINT/dteam
VO_DTEAM_QUEUES="dteam"

VO_DTEAM_SGM=ldap://lcg-vo.cern.ch/ou=lcgadmin,o=dteam,dc=lcg,dc=org
VO_DTEAM_USERS=ldap://lcg-vo.cern.ch/ou=lcg1,o=dteam,dc=lcg,dc=org
VO_DTEAM_VOMS_SERVERS="vomss://lcg-voms.cern.ch:8443/voms/dteam?/dteam/"


VO_SIXT_SW_DIR=$VO_SW_DIR/sixt
VO_SIXT_DEFAULT_SE=$SE_HOST
VO_SIXT_STORAGE_DIR=$CE_CLOSE_SE1_ACCESS_POINT/sixt
VO_SIXT_QUEUES="sixt"

VO_SIXT_USERS=ldap://lcg-vo.cern.ch/ou=lcg1,o=sixt,dc=lcg,dc=org
VO_SIXT_VOMS_SERVERS="vomss://lcg-voms.cern.ch:8443/voms/sixt?/sixt/"


VO_NA48_SW_DIR=$VO_SW_DIR/na48
VO_NA48_DEFAULT_SE=$SE_HOST
VO_NA48_STORAGE_DIR=$CE_CLOSE_SE1_ACCESS_POINT/na48
VO_NA48_QUEUES="na48"

VO_NA48_VOMS_SERVERS="vomss://na48-voms.cern.ch:8443/voms/na48?/na48"
VO_NA48_VOMS_EXTRA_MAPS="Role=admin na48adm"
 #-- end content of site-info-ui.def -----------------------------

vi /etc/apt/sources.list.d/lcg.list
#-- content of /etc/apt/sources.list.d/lcg.list--------------
rpm http://grid-deployment.web.cern.ch/grid-deployment/gis apt/LCG-2_6_0/sl3/en/i386 lcg_sl3 lcg_sl3.updates
#-- end content of /etc/apt/sources.list.d/lcg.list--------------

vi /etc/apt/sources.list.d/cern.list
#-- content of /etc/apt/sources.list.d/lcg.list------------------
rpm http://linuxsoft.cern.ch cern/slc304/i386/apt os updates extras
rpm-src http://linuxsoft.cern.ch cern/slc304/i386/apt os updates extras
#-- end content of /etc/apt/sources.list.d/lcg.list--------------


# Installs ALL UI RPMS using apt-get command
/opt/lcg/yaim/scripts/install_node site-info-ui.def lcg-UI


# Configures UI to enter RB_HOST, etc.
/opt/lcg/yaim/scripts/configure_node site-info-ui.def UI


[References]

[1] http://grid-deployment.web.cern.ch/grid-deployment/documentation/LCG2-Manual-Install/