= OpenSpecimen HowTo Install Tags: [[OpenSpecimen]] [[HowTo]] See [[https://openspecimen.atlassian.net/wiki/display/CAT/Deployment+steps]] - Have to make install.sh and catalina.sh executable. - Have to amend apache config: - Amend `loadmodule.conf` to: {{{ ... # Tomcat - used for JBoss #LoadModule jk_module /usr/lib64/apache2/mod_jk.so # Proxy to divert to the JBoss Application Server LoadModule proxy_module /usr/lib64/apache2-prefork/mod_proxy.so LoadModule proxy_http_module /usr/lib64/apache2-prefork/mod_proxy_http.so }}} - Amend `httpd.cong` to {{{ ... # Proxy to provide access to the JBoss Application Server ProxyPass / http://localhost:8280/ timeout=180 ProxyPassReverse / http://localhost:8280/ ProxyTimeout 180 # Use mod_jk to forward to JBoss - not used now, cos it broke # Include /local/apache2/etc/mod.d/mod_jk.conf ... }}} == Notes from watching Nitesh upgrade our dev version 1. Our customisations are in the file {{{/local/os_v20/app/plugin-dir/os-le-1.0.0.jar}}}. This file can be copied between installations. 2. He copied the build zip file (linked in the page above) into the directory {{{/local/os_v20/installable}}} and unzipped it. 3. Give execute permission to the file {{{install.sh}}} script from within the unzipped directory. 4. He then ran the {{{install.sh}}} script from within the unzipped directory. 5. He ran the script using {{{nohup}}} so that the output for the installation is stored in the file {{{nohup.out}}}. 6. The full command was: {{{ nohup ./install.sh -dhost localhost -dport 3306 -dname {db name} -duser {db user name} -dpass {db password name} -dtype mysql -ahome /local/{Open Specimen Directory}/app -ahost localhost -aport 8280 -adtype fresh -adatadir /local/{Open Specimen Directory}/app/os-data -aplugindir /local/{Open Specimen Directory}/app/plugin-dir & }}} 7. He then ran {{{chmod 777 *}}} in the app OpenSpecimen directory and the {{{app/lib}}} directory. 8. He then : {{{ unset JAVA_TOOL_OPTIONS export JAVA_HOME=/opt/java export JRE_HOME=/opt/java/jre }}} 9. He then ran {{{/local/os_v20/app/bin/catalina.sh start}}} These later steps are documented in the script {{{/local/os_v20/run_osv20.sh}}} 7. Create the script `run_open_specimen.sh`: {{{ #!/bin/bash unset JAVA_TOOL_OPTIONS export JAVA_ROOT=/usr/lib64/jvm/java export JDK_HOME=/usr/lib64/jvm/java export SDK_HOME=/usr/lib64/jvm/java export JAVA_BINDIR=/usr/lib64/jvm/java/bin export JRE_HOME=/usr/lib64/jvm/java/jre JAVA_HOME=/opt/java JRE_HOME=/opt/java/jre OPEN_SPECIMEN_DIR=/local/{Open Specimen Directory}/app export JAVA_TOOL_OPTIONS=-XX:CompressedClassSpaceSize=10m export JAVA_OPTS="-Xmx2G -XX:-UseCompressedClassPointers" $OPEN_SPECIMEN_DIR/bin/catalina.sh start >$OPEN_SPECIMEN_DIR/logs/tomcat-start.log 2>$OPEN_SPECIMEN_DIR/logs/tomcat-start.err & }}} 8. Create the script `stop_open_specimen.sh`: {{{ #!/bin/bash unset JAVA_TOOL_OPTIONS export JAVA_ROOT=/usr/lib64/jvm/java export JDK_HOME=/usr/lib64/jvm/java export SDK_HOME=/usr/lib64/jvm/java export JAVA_BINDIR=/usr/lib64/jvm/java/bin export JRE_HOME=/usr/lib64/jvm/java/jre JAVA_HOME=/opt/java JRE_HOME=/opt/java/jre OPEN_SPECIMEN_DIR=/local/openSpecimen_v2_4/app export JAVA_TOOL_OPTIONS=-XX:CompressedClassSpaceSize=10m export JAVA_OPTS="-Xmx2G -XX:-UseCompressedClassPointers" $OPEN_SPECIMEN_DIR/bin/catalina.sh stop }}} 9. Give `www-run` account permission to run the scripts: {{{ setfacl -m u:wwwrun:rx /local/{Open Specimen Directory}/run_open_specimen.sh setfacl -m u:wwwrun:rx /local/{Open Specimen Directory}/stop_open_specimen.sh }}} 10. Give `www-run` permission to write to the logs and work directories: {{{ setfacl -R -m u:wwwrun:rwx /local/{Open Specimen Directory}/logs/ setfacl -R -m u:wwwrun:rwx /local/{Open Specimen Directory}/work/ }}} 11. Give `www-run` and yourself (go on, treat yourself) permission to run Tomcat: {{{ chmod 774 /local/{Open Specimen Directory}/app/bin/catalina.sh setfacl -m u:wwwrun:rx /local/{Open Specimen Directory}/app/bin/catalina.sh }}} 12. Then `run_open_specimen.sh` as yourself. You need to do this to be able to unpack the WAR file. The site will not come up successfully because there is a bug or somesuch in the database upgrade scripts. 13. Nitesh changed one of the change sets because it fails if you don't. Hurray. 1. The file is `/local/{Open Specimen Directory}/app/webapps/openspecimen/WEB-INF/classes/db/2.0/schema.xml` 2. Change `` to `` [[BackLinks]]