=====HISTORY - Set-up for Springboard development===== ===19/04/2012:=== Ignore the basic Centos set-up (and subsequent switch to X Windows desktop)... Disable SELinux: # vi /etc/selinux/config ... SELINUX=permissive ... Then, reboot and check # sestatus SELinux status: enabled SELinuxfs mount: /selinux Current mode: permissive Mode from config file: permissive Policy version: 24 Policy from config file: targeted Create jtadmin account: # useradd jtadmin # passwd jtadmin ... Grant jtadmin full sudo access: # visudo ... jtadmin ALL=(ALL) ALL ... Need to install basic software (httpd already installed via yum): Java: Download JDK and set-up... # 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 Ant: Download and set-up... # tar -zxf apache-ant-1.8.3-bin.tar.gz # ln -s /usr/local/apache-ant-1.8.3/ /usr/local/ant Tomcat: Download and set-up... # 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 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... # 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) MySQL is running as a service by default. CVS: # yum install cvs ... NTP: Installed by default - but not running as a service... # 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 ] SAMBA: # 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 ... DON'T NEED nmb running - but do need to set-up smb user for jtadmin: # 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 Update jtadmin profile - then switch to jtadmin user: $ 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 Check as ~jtadmin... $ 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 NOTE: Also need to disable firewall (iptables) which appears to be enabled by default. # yum install system-config-firewall ... 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...=== $ vi ~/springboard.env . ~jtadmin/system.env . ~jtadmin/user.env $ chmod 755 springboard.env Add this script to bash profile... $ 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:aluwilliam@172.20.0.216:2401/cws_cvs export DISABLE_UPDATES=1 export HOLDING= $ chmod 755 user.env Create basic directories, and check-out initial projects (Springboard + AFT) $ 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 Will work thorough a copy of the clean script... $ cp projects/Springboard/etc/scripts/clean_spr.sh ~ Run database scripts... $ 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 All OK - but note... # 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"; Ensure correct folders and symlinks exist... $ 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 Add Solr... $ 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 Build springboard-all Apache conf issues?? Some modules missing on Centos 6 so removed from config... #LoadModule file_cache_module modules/mod_file_cache.so #LoadModule mem_cache_module modules/mod_mem_cache.so Also log folder needs changing as default config runs Apache as jtadmin... # chown jtadmin.jtadmin /var/log/httpd Needs cronolog install/set-up... (install rpmforge repository) $ 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 ... Springboard expects a different cronolog location... # ln -s /usr/sbin/cronolog /usr/local/bin/cronolog Also the previous PID file location stopped Apache restarting properly - have changed this to... PidFile /var/run/httpd/httpd.pid Start Apache... $ sudo service httpd restart Tomcat config: $ 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 ... ... ... ... ... $ cp /usr/local/tomcat/conf/tomcat-users.xml /usr/local/tomcat/conf/tomcat-users.xml.000 $ vi /usr/local/tomcat/conf/tomcat-users.xml ... Context config appears to have been deployed in the build... $ 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 Needs local host name set-up # vi /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 centos6.local fulcrum.local $ /usr/local/tomcat/bin/startup.sh Seems to work... Try project (AFT)... $ ./wbuild.sh aft checkout ... $ ./wbuild.sh aft deploy ... restart... Cool! ===TODO:=== - SAMBA! - Scripted set-up?