Setting up R-GMA on UI "v1.5" on RedHat 7.3 For R-GMA, a UI only needs the API to be able to talk to an R-GMA "server" (i.e. Tomcat and the R-GMA servlets), but if there is no suitable server available at your site then you can install one on your UI (will need inbound access to port 8080). If there are R-GMA servlets already running at your site then connect to those instead - you won't then need Tomcat. Servlets might be on a CE or possibly an SE, which might be less busy, but I suspect it best for each site to provide one separate extra set for any UIs, network monitoring, etc. Full MySQL 3.23 from MySQL site MySQL-3.23.56-1.i386.rpm // MySQL-bench-3.23.56-1.i386.rpm MySQL-client-3.23.56-1.i386.rpm MySQL-devel-3.23.56-1.i386.rpm MySQL-Max-3.23.56-1.i386.rpm MySQL-shared-3.23.56-1.i386.rpm If upgrading std. 7.3 install need to remove mod_auth_mysql-1.11-1 MyODBC-2.50.39-4 MySQL-python-0.9.1-1 perl-DBD-MySQL-1.2219-6 php-mysql-4.1.2-7.3.6 qt-MySQL-3.0.5-7.14 (came with RH7.3) and replace them after. Probably best to add a password for root now. Upgrade will still have old values. mysqladmin -u root password 'new password' mysqladmin -u root -h {machinename} password 'new password' For some reason MySQL didn't want to start automatically; I had to do /sbin/chkconfig mysql on as root. /* or: MySQL (available in the 1.5.0 _RB_ external collection): MySQL-4.0.7-0.i386.rpm MySQL-client-4.0.7-0.i386.rpm MySQL-devel-4.0.7-0.i386.rpm MySQL-shared-4.0.7-0.i386.rpm // MySQL-bench-4.0.7-0.i386.rpm // ^ needs Perl + DBD-mysql "MySQL-DBI-perl-bin" // MySQL-embedded-4.0.7-0.i386.rpm // MySQL-Max-4.0.7-0.i386.rpm */ mm.MySQL (JDBC driver for MySQL, available from WP6 after much hunting, or WP3 dependencies page at http://hepunx.rl.ac.uk/edg/wp3/ ): mm.mysql-2.0.6-2 Java (available in the UI external collection): j2sdk-1.4.1_01-fcs.i586.rpm j2sdk_profile-1.4.1_01-1.noarch.rpm (You can get away with only the run-time env. jre if you will always use non-Java APIs to R-GMA. Remember to remove kaffe/jikes first if they are already installed...) Tomcat (from EDG1.5.0 external collection): tomcat4-4.1.18-full.1jpp.noarch.rpm >>Once this rpm has been installed please read the instructions given by >>the rpm. It tells you to create a file /etc/java.conf. This file should >>contain the location of java eg. JAVA_HOME=/usr/java/j2sdk1.4.1 Tomcat only needs install (rpm -ivh ...) - it is configured and started up by R-GMA's setup script, but you may want to briefly fire it up and check for errors in the logs. Stop tomcat4 service, and ensure tomcat4 user can read config files (server.xml) in /var/tomcat4/conf/ (don't chown/chgrp to 'tomcat4' as R-GMA must still configure). For starters create a /etc/sysconfig/edg file with a EDG_LOCATION=/opt/edg Steve Traylen Get latest R-GMA from WP6 repository by browsing the RH7.3 autobuild directory: // edg-lcfg-rgma-3.1.39-1.i386.rpm // edg-lcfg-rgma-defaults-s1-3.1.39-1.i386.rpm server+Java API: edg-rgma-api-java-3.1.39-1.noarch.rpm edg-rgma-common-3.1.39-1.noarch.rpm // edg-rgma-gin-3.1.39-1.i386.rpm // edg-rgma-gout-3.1.39-1.noarch.rpm // edg-rgma-dummy-infoproviders-3.1.39-1.i386.rpm edg-rgma-service-status-3.1.39-1.noarch.rpm edg-rgma-servlets-3.1.39-1.noarch.rpm edg-rgma-sqlutil-3.1.39-1.noarch.rpm Deps from EDG1.5.0 external collection // ant-1.5-5jpp.noarch.rpm bouncycastle-jdk14-1.14-1.noarch.rpm junit-3.8.1-1jpp.noarch.rpm log4j-1.2.6-1jpp.noarch.rpm xerces-j1-1.4.4-12jpp.noarch.rpm xml-commons-1.0-0.b2.1jpp.noarch.rpm xml-commons-apis-1.0-0.b2.1jpp.noarch.rpm Deps (search on WP6 site) netlogger-jar-1.0.0-1.i386.rpm prevayler-1.3.3-2.i386.rpm JavaCC-2.1-edg1.noarch.rpm TexDoclet-1.1-edg1.noarch.rpm Deps (EDG, from RH 7.3 autobuild) edg-java-security-1.3.6-1.noarch.rpm edg-java-security-client-1.3.6-1.noarch.rpm Deps from EDG1.5.0 EDG collection edg-java-data-util-config-1.1.8-1.noarch.rpm edg-user-env-0.3-1.noarch.rpm (may not actually be needed) Command-line tool: edg-rgma-3.1.39-1.i386.rpm edg-rgma-api-3.1.39-1.i386.rpm Deps within R-GMA: edg-rgma-api-c-3.1.39-1.i386.rpm edg-rgma-api-python-3.1.39-1.i386.rpm Pulse: edg-rgma-pulse-3.1.39-1.noarch.rpm Deps: jas-jar-1.0.0-1.i386.rpm jxUtil-jar-1.0.1-1.i386.rpm IMPORTANT: Things below will depend on whether you want to use GCC 2.96 (default RH 7.3 compiler) or GCC 2.95.2 (EDG/LCG mandated). I use the latter. Esp. note Perl and Python depend on SWIG, and swig-1.3.11-edg1.7x has a dependency on GNU.LANG_gcc_sys-2.95 - but log4cpp-0.3.4b-RH7.3 will not work with GNU.LANG_gcc_sys-2.95. C++ API: edg-rgma-api-cpp-3.1.39-1.i386.rpm edg-rgma-api-cpp-devel-3.1.39-1.i386.rpm (header files) Deps (search on WP6 site) GCC 2.96: log4cpp-0.3.4b-RH7.3.i386.rpm (also log4cpp-devel-0.3.4b-RH7.3.i386.rpm) cppunit-1.8.0-RH7.3.i386.rpm xerces-c-1.7.0-RH7.3.i386.rpm (also xerces-c-devel-1.7.0-RH7.3.i386.rpm) or 2.95.2: log4cpp-0.3.4b-3.i386.rpm (also log4cpp-devel-0.3.4b-3.i386.rpm) cppunit-1.8.0-1.i386.rpm xerces-c-1.7.0-1.i386.rpm (also xerces-c-devel-1.7.0-1.i386.rpm) C API: edg-rgma-api-c-3.1.39-1.i386.rpm edg-rgma-api-c-devel-3.1.39-1.i386.rpm Deps (search on WP6 site) log4c-1.0.10-1.i386.rpm (also log4c-devel-1.0.10-1.i386.rpm) Perl API: edg-rgma-api-perl-3.1.39-1.i386.rpm Deps (search on WP6 site) log4c-1.0.10-1.i386.rpm Deps from EDG1.5.0 external collection swig-1.3.11-edg1.7x.i386.rpm GNU.LANG_gcc_sys-2.95.2-0_asis_1.i386.rpm (also GNU.LANG_gcc-alt-2.95.2-6.i386.rpm, GNU.LANG_gcc_shr-2.95.2-0_asis_1.noarch.rpm) Python API: edg-rgma-api-python-3.1.39-1.i386.rpm Deps (search on WP6 site) log4c-1.0.10-1.i386.rpm Deps from EDG1.5.0 external collection swig-1.3.11-edg1.7x.i386.rpm GNU.LANG_gcc_sys-2.95.2-0_asis_1.i386.rpm (also GNU.LANG_gcc-alt-2.95.2-6.i386.rpm, GNU.LANG_gcc_shr-2.95.2-0_asis_1.noarch.rpm) As root, run edg-rgma-config (/opt/edg/sbin/edg-rgma-config) If registry and schema are to be on the local box, R-GMA won't set up MySQL automatically. Need to do this manually: In /opt/edg/etc/edg-rgma/rgma-db-setup.sql change predicate varchar(100), to predicate varchar(150), in creating the "consumers" table in the registry, then do mysql -u root -p < /opt/edg/etc/edg-rgma/rgma-db-setup.sql and then restart Tomcat. Then source /opt/edg/etc/profile.d/edg-rgma-env.csh in user .cshrc. Copy /opt/edg/etc/info/rgma-schemaBrowser.xml.in to /opt/edg/etc/info/rgma-schemaBrowser.xml. Edit and replace whole {URI} for Schema and registry servers to be used - note this includes servlet path and name (/R-GMA/SchemaServlet, etc.). This is probably http://infocat.gridpp.ac.uk:8080/R-GMA/SchemaServlet [This is young.brunel.ac.uk for CMS/BOSS test] [ general: infocat.gridpp.rl.ac.uk:8080] If you are likely to be playing with more than one registry, you may want to create different files and use a symbolic link to select the appropriate one. In the ${RGMA_PROPS} directory, edit all the .props files so that they contain the full DNS name of the machine rather than just "localhost" then restart Tomcat. In user's .bashrc or .cshrc alias pulse="edg-rgma-pulse ${RGMA_PROPS}/rgma-schemaBrowser.xml &" saves a lot of typing... Should be it. Servlet logging is controlled by $EDG_LOCATION/share/webapps/R-GMA/WEB-INF/classes/log4j.properties while Java API logging is controlled by $RGMA_PROPS/log4j.props /* in 3.1.16: /opt/edg/sbin/edg-rgma-config has a typo at about line 356, change: cp $destch $dest2 to cp $destcsh $dest2 I still get an error message due to the EDG_LOCATION_VAR variable being empty at line 251: ----- ... Which machine hosts the Registry and Schema servlets? [localhost]: cp /opt/edg/etc/profile.d/edg-rgma-env.sh /profile.d/ cp: cannot create regular file `/profile.d/edg-rgma-env.sh': No such file or directory cp /opt/edg/etc/profile.d/edg-rgma-env.csh /profile.d/ cp: cannot create regular file `/profile.d/edg-rgma-env.csh': No such file or directory creating schema user creating registry user creating test user Linking in R-GMA webapps to Tomcat ----- A glitch in /opt/edg/etc/profile.d/edg-rgma-env.csh need to change setenv PYTHONPATH $PYTHONPATH:/opt/edg/lib/python to setenv PYTHONPATH ${PYTHONPATH}:/opt/edg/lib/python and ditto for PERLLIB */ /* [ I've also got Apache: apache-1.3.22-5.6 apache-devel-1.3.22-5.6 ] Apache and PHP for BODE You will need to install and configure Apache and PHP */ /* ######################################################################## # # # Top-level EDG configuraton file. # # # # This file should be parsed by EDG daemons to location the EDG root # # directory and various other global properties. # # # # Charles Loomis # Version 1.1.1 : 16/12/02 16:13 # # ######################################################################## # Root directory for EDG software. (mandatory) # Usual value: /opt/edg EDG_LOCATION=/opt/edg # Directory for machine-specific files. # Usual value: $EDG_LOCATION/var EDG_LOCATION_VAR=/opt/edg/var # World writable directory for temporary files. (mandatory) # Usual value: /tmp EDG_TMP=/tmp # The directory containing trusted certificates and CRLs (CERTDIR). # Usual value: /etc/grid-security/certificates # Host certificate (X509_USER_CERT) for services which don't have their own. # Usual value: /etc/grid-security/hostcert.pem X509_USER_CERT=/etc/grid-security/hostcert.pem # Host key (X509_USER_KEY) for services which don't have their own. # Usual value: /etc/grid-security/hostkey.pem X509_USER_KEY=/etc/grid-security/hostkey.pem # Location of the grid mapfile (GRIDMAP). # Usual value: /etc/grid-security/grid-mapfile GRIDMAP=/etc/grid-security/grid-mapfile # Location of the grid map directory for pooled accounts (GRIDMAPDIR). # Usual value: /etc/grid-security/gridmapdir GRIDMAPDIR=/share/grid-security/gridmapdir/ */