User Tools

Site Tools


work:springboarddevvm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
work:springboarddevvm [2012/04/26 13:47] – created 193.130.68.17work:springboarddevvm [2012/04/26 14:08] (current) 193.130.68.17
Line 1: Line 1:
 +=====HISTORY - Set-up for Springboard development=====
 +
 +===19/04/2012:===
 +
 +Ignore the basic Centos set-up (and subsequent switch to X Windows desktop)...
 +
 +Disable SELinux:
 +<code>
 +# vi /etc/selinux/config
 +...
 +SELINUX=permissive
 +...
 +</code>
 +
 +Then, reboot and check
 +
 +<code>
 +# sestatus
 +SELinux status:                 enabled
 +SELinuxfs mount:                /selinux
 +Current mode:                   permissive
 +Mode from config file:          permissive
 +Policy version:                 24
 +Policy from config file:        targeted
 +</code>
 +
 +Create jtadmin account:
 +<code>
 +# useradd jtadmin
 +# passwd jtadmin
 +...
 +</code>
 +
 +Grant jtadmin full sudo access:
 +<code>
 +# visudo
 +...
 +jtadmin ALL=(ALL)       ALL
 +...
 +</code>
 +
 +Need to install basic software (httpd already installed via yum):
 +
 +Java:
 +Download JDK and set-up...
 +<code>
 +# cd /usr/local
 +# chmod 755 jdk-6u31-linux-i586.bin 
 +# ./jdk-6u31-linux-i586.bin
 +...
 +# ln -s /usr/local/jdk1.6.0_31/ /usr/local/java
 +</code>
 +
 +Ant:
 +Download and set-up...
 +<code>
 +# tar -zxf apache-ant-1.8.3-bin.tar.gz
 +# ln -s /usr/local/apache-ant-1.8.3/ /usr/local/ant
 +</code>
 +
 +Tomcat:
 +Download and set-up...
 +<code>
 +# tar -zxf apache-tomcat-5.5.35.tar.gz
 +# chown -R jtadmin.jtadmin apache-tomcat-5.5.35/
 +# ln -s /usr/local/apache-tomcat-5.5.35/ /usr/local/tomcat
 +</code>
 +
 +MySQL:
 +Default version for Centos 6.2 is 5.1, but this has had issues with Hibernate 
 +and Springboard - so will try to install 5.0 manually for now.
 +Ensure any other versions are uninstalled first...
 +<code>
 +# yum list mysql*
 +...
 +# rpm -ivh MySQL-server-5.0.96-1.glibc23.i386.rpm \
 +> MySQL-client-5.0.96-1.glibc23.i386.rpm \
 +> MySQL-shared-5.0.96-1.glibc23.i386.rpm
 +
 +#/usr/bin/mysql_secure_installation
 +... (root/password)
 +</code>
 +
 +MySQL is running as a service by default.
 +
 +CVS:
 +<code>
 +# yum install cvs
 +...
 +</code>
 +
 +NTP:
 +Installed by default - but not running as a service...
 +<code>
 +# chkconfig --level 345 ntpd on
 +# chkconfig --list|grep ntp
 +ntpd            0:off 1:off 2:off 3:on 4:on 5:on 6:off
 +ntpdate        0:off 1:off 2:off 3:off 4:off 5:off 6:off
 +# service ntpd start
 +Starting ntpd:                                              OK  ]
 +</code>
 +
 +SAMBA:
 +<code>
 +# yum install samba samba-common samba-winbind
 +...
 +# cd /etc/samba/
 +# cp smb.conf smb.conf.000
 +# vi smb.conf
 +[global]
 + workgroup-wiley.com
 + security=USER
 +
 +[centos6]
 + path=/home/jtadmin
 + guest ok=yes
 + read only=no
 + create mask=0644
 +
 +# chkconfig --level 345 smb on
 +# chkconfig --level 345 nmb on
 +# service smb start
 +...
 +# service nmb start
 +...  
 +</code>                 
 +
 +DON'T NEED nmb running - but do need to set-up smb user for jtadmin:
 +<code>
 +# smbpasswd -a jtadmin
 +...
 +
 +# chkconfig --list|grep smb
 +smb            0:off 1:off 2:on 3:on 4:on 5:on 6:off
 +# chkconfig --list|grep nmb
 +nmb            0:off 1:off 2:off 3:off 4:off 5:off 6:off
 +</code>
 +
 +Update jtadmin profile - then switch to jtadmin user:
 +<code>
 +$ vi .bash_profile
 +# .bash_profile
 +
 +# Get the aliases and functions
 +if [ -f ~/.bashrc ]; then
 +        . ~/.bashrc
 +fi
 +
 +# User specific environment and startup programs
 +
 +export JAVA_HOME=/usr/local/java
 +export ANT_HOME=/usr/local/ant
 +export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$ANT_HOME/bin
 +</code>
 +
 +Check as ~jtadmin...
 +<code>
 +$ java -version
 +java version "1.6.0_31"
 +Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
 +Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing)
 +$ ant -version
 +Apache Ant(TM) version 1.8.3 compiled on February 26 2012
 +</code>
 +
 +NOTE: Also need to disable firewall (iptables) which appears to be enabled by 
 +default.
 +
 +<code>
 +# yum install system-config-firewall
 +...
 +</code>
 +
 +Then disable the firewall via the installed GUI.
 +
 +
 +LATE NOTES:
 +
 +Have disabled SELinux for now (though probably didn't need to - as the Apache
 +issue below wasn't about SELinux).
 +
 +
 +
 +===Set-up ~jtadmin environment...===
 +
 +<code>
 +$ vi ~/springboard.env
 +. ~jtadmin/system.env
 +. ~jtadmin/user.env
 +$ chmod 755 springboard.env 
 +</code>
 +
 +Add this script to bash profile...
 +
 +<code>
 +$ vi ~/system.env
 +# Java (also appears in ~/.bash_profile)
 +#export JAVA_HOME=/usr/local/java
 +#export ANT_HOME=/usr/local/ant
 +#export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$ANT_HOME/bin
 +export JRE_HOME=$JAVA_HOME/jre
 +
 +# Tomcat
 +export CATALINA_HOME=/usr/local/tomcat
 +export CATALINA_BASE=$CATALINA_HOME
 +export CATALINA_PID=$CATALINA_BASE/temp/catalina.pid
 +export CATALINA_OPTS='-Xms256m -Xmx256m -server
 +-Dspringboard.inst.name=local 
 +-Dspringboard.base.dir=/home/jtadmin/springboard/base 
 +-Dspringboard.data.dir=/home/jtadmin/springboard/data 
 +-Duser.language=en 
 +-Duser.country=GB 
 +-Dfile.encoding=UTF-8 
 +-Dcom.sun.management.jmxremote 
 +-Dcom.sun.management.jmxremote.port=8010 
 +-Dcom.sun.management.jmxremote.ssl=false 
 +-Dcom.sun.management.jmxremote.authenticate=false '
 +
 +export JPDA_ADDRESS=8787
 +export JPDA_TRANSPORT=dt_socket
 +export SPRINGBOARD_DIST=http://fulcrum.cwsdev4.wiley.com:24000/userfiles/sprdist
 +export SPRINGBOARD_HOME=/home/jtadmin/springboard/base
 +export SPRINGBOARD_DATA=/home/jtadmin/springboard/data
 +export CVSSERVER=172.20.0.216
 +export DISABLE_UPDATES=0
 +export PS1='[sb:\W]\$ '
 +
 +$ chmod 755 system.env
 +
 +$ vi ~/user.env
 +export CVSROOT=:pserver:[email protected]:2401/cws_cvs
 +export DISABLE_UPDATES=1
 +export HOLDING=
 +$ chmod 755 user.env
 +</code>
 +
 +Create basic directories, and check-out initial projects (Springboard + AFT)
 +<code>
 +$ mkdir ~/projects
 +$ mkdir ~/springboard
 +
 +$ vi ~/build.properties
 +# build properties
 +jboss.home=${env.SPRINGBOARD_HOME}
 +dev.root.dir=/home/jtadmin/projects
 +static-web.dir=${env.SPRINGBOARD_HOME}/htdocs
 +local.httpd.port=80
 +
 +#libs.base.dir=/home/jtadmin/springboard/base/sbcore/conf/lib
 +#project.libs.dir=/home/jtadmin/tomcat/common/lib
 +#springboard.generate.project=SpringboardDist
 +#disable.generate=true
 +#build.lib.jars=*.jar
 +#build.project.jars=*.jar
 +
 +build.override.type=aw
 +junit.outputtofile=yes
 +junit-report.dir=/home/jtadmin/springboard/data/htdocs/userfiles/reports
 +junit.format=xml
 +javac.source.version=1.6
 +javac.target.version=1.6
 +
 +$ vi /usr/local/apache-tomcat-5.5.35/shared/classes/springboard.properties
 +...
 +$ vi /usr/local/apache-tomcat-5.5.35/shared/classes/log4j.properties
 +...
 +
 +$ sudo cp ~/Downloads/mod_jk.so /etc/httpd/modules/
 +$ sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.000
 +$ sudo cp ~/Downloads/httpd.conf /etc/httpd/conf/
 +
 +$ cvs checkout build
 +$ cvs checkout Fulcrum
 +$ cvs checkout libs
 +$ cvs checkout Springboard
 +$ cvs checkout SpringboardCommon
 +$ cvs checkout SpringboardWebApp
 +</code>
 +
 +Will work thorough a copy of the clean script...
 +<code>
 +$ cp projects/Springboard/etc/scripts/clean_spr.sh ~
 +</code>
 +
 +Run database scripts...
 +<code>
 +$ mysql --default-character-set=utf8 -u root -ppassword < /home/jtadmin/projects/Springboard/etc/db/Springboard_MySQL_InitialDB.sql
 +$ mysql springboard --default-character-set=utf8 -u root -ppassword < /home/jtadmin/projects/Springboard/etc/db/Springboard_MySQL_CreateDB.sql
 +$ mysql springboard --default-character-set=utf8 -u root -ppassword < /home/jtadmin/projects/Springboard/etc/db/Springboard_CreateRefData.sql
 +$ mysql springboard --default-character-set=utf8 -u root -ppassword < /home/jtadmin/projects/Springboard/etc/db/uberUser.sql
 +$ mysql springboard --default-character-set=utf8 -u root -ppassword < /home/jtadmin/projects/Springboard/etc/db/Springboard_countries_data.sql
 +</code>
 +
 +All OK - but note...
 +<code>
 +# Should not include database in use for first script
 +# Also have issue with nagios user, could update SQL to include
 +# GRANT USAGE ON *.* TO 'username'@'localhost';
 +# before DROP USER
 +
 +# Script also expects user springboard to already exist...
 +# grant all privileges on *.* to "springboard"@"%" identified by "password";
 +</code>
 +
 +Ensure correct folders and symlinks exist...
 +<code>
 +$ mkdir --parents $SPRINGBOARD_HOME/htdocs
 +$ mkdir --parents $SPRINGBOARD_HOME/conf/classes
 +$ mkdir --parents $SPRINGBOARD_HOME/conf/httpd/rel
 +$ mkdir --parents $SPRINGBOARD_HOME/extra/files
 +$ mkdir --parents $SPRINGBOARD_HOME/biofpr/jsp
 +$ mkdir --parents $SPRINGBOARD_DATA/htdocs/userfiles
 +
 +$ ln -s /var/run ~jtadmin/springboard/run
 +$ ln -s /var/log/httpd ~jtadmin/springboard/logs
 +$ ln -s /usr/lib/httpd/modules ~jtadmin/springboard/modules
 +$ ln -s /etc/httpd/conf ~jtadmin/springboard/conf
 +$ ln -s $SPRINGBOARD_HOME/sbcore/common $SPRINGBOARD_HOME/common
 +$ ln -s $SPRINGBOARD_HOME/sbcore/fulcrum $SPRINGBOARD_HOME/fulcrum
 +$ ln -s $SPRINGBOARD_HOME/sbcore/htdocs/common  $SPRINGBOARD_HOME/htdocs/common
 +$ ln -s $SPRINGBOARD_HOME/sbcore/htdocs/fulcrum $SPRINGBOARD_HOME/htdocs/fulcrum
 +$ ln -s $SPRINGBOARD_HOME/sbcore/htdocs/fckeditor $SPRINGBOARD_HOME/htdocs/fckeditor
 +$ ln -s $SPRINGBOARD_HOME/sbcore/conf/httpd/httpd-common-rewrites.conf  $SPRINGBOARD_HOME/conf/httpd/httpd-common-rewrites.conf 
 +$ ln -s $SPRINGBOARD_HOME/fulcrum/jsp $SPRINGBOARD_HOME/sbcore/webapps/SpringboardWebApp/WEB-INF/fulcrum
 +$ ln -s $SPRINGBOARD_HOME/biofpr/jsp $SPRINGBOARD_HOME/sbcore/webapps/SpringboardWebApp/WEB-INF/biofpr
 +$ ln -s $SPRINGBOARD_DATA/htdocs/userfiles $SPRINGBOARD_HOME/sbcore/webapps/SpringboardWebApp/userfiles
 +</code>
 +
 +Add Solr...
 +<code>
 +$ cd $SPRINGBOARD_HOME 
 +$ curl -O http://fulcrum.cwsdev4.wiley.com:24000/userfiles/sprdist/apache-solr-3.3.0.war
 +...
 +$ ln -s $SPRINGBOARD_HOME/apache-solr-3.3.0.war $SPRINGBOARD_HOME/apache-solr.war
 +</code>
 +
 +Build springboard-all
 +
 +Apache conf issues??
 +Some modules missing on Centos 6 so removed from config...
 +<code>
 +#LoadModule file_cache_module modules/mod_file_cache.so
 +#LoadModule mem_cache_module modules/mod_mem_cache.so
 +</code>
 +
 +Also log folder needs changing as default config runs Apache as jtadmin...
 +<code>
 +# chown jtadmin.jtadmin /var/log/httpd
 +</code>
 +
 +Needs cronolog install/set-up... (install rpmforge repository)
 +<code>
 +$ curl -LO http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
 +# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
 +# rpm -K ~jtadmin/Downloads/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
 +# rpm -ivh ~jtadmin/Downloads/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
 +
 +# yum install cronolog
 +...
 +</code>
 +
 +Springboard expects a different cronolog location...
 +<code>
 +# ln -s /usr/sbin/cronolog /usr/local/bin/cronolog
 +</code>
 +
 +Also the previous PID file location stopped Apache restarting properly - have 
 +changed this to...
 +<code>
 +PidFile /var/run/httpd/httpd.pid
 +</code>
 +
 +Start Apache...
 +<code>
 +$ sudo service httpd restart
 +</code>
 +
 +Tomcat config:
 +<code>
 +$ cp /usr/local/tomcat/conf/catalina.properties /usr/local/tomcat/conf/catalina.properties.000
 +$ vi /usr/local/tomcat/conf/catalina.properties
 +...
 +shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar,/home/jtadmin/springboard/base/sbcore/conf/classes,/home/jtadmin/springboard/base/conf/classes,/home/jtadmin/springboard/base/sbcore/conf/lib/*.jar,/home/jtadmin/springboard/base/conf/lib/*.jar
 +...
 +
 +$ cp /usr/local/tomcat/conf/server.xml /usr/local/tomcat/conf/server.xml.000
 +$ vi /usr/local/tomcat/conf/server.xml
 +...
 +<Server port="8021" shutdown="SHUTDOWN">
 +...
 +    <!-- Define an AJP 1.3 Connector on port 8009 -->
 +    <Connector port="8009" emptySessionPath="true"
 +               enableLookups="false" redirectPort="8443" protocol="AJP/1.3" URIEncoding="UTF-8" />
 +...
 +    <Engine name="Catalina" defaultHost="localhost" jvmRoute="node01">
 +...
 +      <Host name="localhost" appBase="webapps"
 +       unpackWARs="true" autoDeploy="false"
 +       xmlValidation="false" xmlNamespaceAware="false">
 +...
 +
 +$ cp /usr/local/tomcat/conf/tomcat-users.xml /usr/local/tomcat/conf/tomcat-users.xml.000
 +$ vi /usr/local/tomcat/conf/tomcat-users.xml
 +...
 +<tomcat-users>
 +  <role rolename="manager"/>
 +  <role rolename="tomcat"/>
 +  <role rolename="admin"/>
 +
 +  <user name="tomcat" password="tomcat" roles="manager,tomcat,admin" />
 +</tomcat-users>
 +</code>
 +
 +Context config appears to have been deployed in the build...
 +<code>
 +$ ls -l /usr/local/tomcat/conf/Catalina/localhost/
 +total 16
 +-rw-rw-r--. 1 jtadmin jtadmin  271 Apr 20 09:05 apache-solr.xml
 +-rw-------. 1 jtadmin jtadmin 1148 Jan  6 19:21 host-manager.xml
 +-rw-------. 1 jtadmin jtadmin 1303 Jan  6 19:21 manager.xml
 +-rw-rw-r--. 1 jtadmin jtadmin   98 Apr 20 09:05 SpringboardWebApp.xml
 +</code>
 +
 +Needs local host name set-up
 +<code>
 +# vi /etc/hosts
 +127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 centos6.local fulcrum.local
 +
 +$ /usr/local/tomcat/bin/startup.sh
 +</code>
 +
 +Seems to work...
 +
 +Try project (AFT)...
 +<code>
 +$ ./wbuild.sh aft checkout
 +...
 +$ ./wbuild.sh aft deploy
 +...
 +</code>
 +
 +restart...
 +
 +Cool!
 +
 +
 +===TODO:===
 +
 +- SAMBA!
 +- Scripted set-up?
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki