Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
Note:  Next revision cycle, start building everything into
$HOME/\[app\]-\[version#\] and creating a symlink to $HOME/\[app\] so that there is
no question about what the current, in use, directory is.

Note: When downloading software to install in these instructions, always
download the source code, and avoid binary installers.  Binary installers tend
to make inaccurate assumptions about what libraries you have installed on your
system, as well as other problems.

1. download openssl 0.9.8a source from [http://www.openssl.org/source/]. follow
   the instruction in the INSTALL document, compile and install the
   binaries. the default location is /usr/local/ssl. If you want to change it,
   run config like this:

   cd /opt
   tar \-xzvf /root/openssl-0.9.8a.tar.gz
   cd openssl-0.9.8a
   ./config \--prefix=/usr/local/ssl \--openssldir=/usr/local/ssl
   make
   make install

2. set up certificates:

  2a:  get the mitca at [http://ca.mit.edu/mitClient.crt] and save it as
       /usr/local/ssl/certs/mitClient.crt

  2b:  convert mitCA.crt to pem format:

       openssl x509 \-in /usr/local/ssl/certs/mitClient.crt \-inform DER \-outform \
       PEM \-out /usr/local/ssl/certs/mitCA.pem

  2c: Generate rsa key

      This simply generates some random stuff:

    ps > /tmp/foo
    ps \-elf >> /tmp/foo
    cd /usr/local/ssl/bin
    ./openssl genrsa \-rand /tmp/foo 1024 >/usr/local/ssl/private/`hostname`-key.pem

  2d: Generate request for a certificate
   \--------------------------------\-

    cd /usr/local/ssl/bin
    ./openssl req \-key /usr/local/ssl/private/`hostname`-key.pem \-new \
        >../certs/`hostname`-req.pem

   send the file /usr/local/ssl/certs/`hostname`-req.pem to mitcert@mit.edu,

      Please be aware, the organization (O) is:
      Massachusetts Institute of Technology
      and the common name (CN) is the name of the server or
      service, including the domain name (.mit.edu).  Also, some servers, such
      as Thalia servers, can represent an entire subdomain.  These servers
      will need certificates issued with a wildcard in the domain name, such
      as \*.isda-thalia-1.mit.edu.  

   Remember, if the server is a Thalia server, if will need a wildcard
   certificate and DNS record for \*.\[hostname\], and if it is doing any type of
   authentication, it will need a joint client/server certificate to be able
   to connect to the Shibboleth server (and have end users connect to it as
   well).

   2db. To generate a self signed temporary certificate, add the x509 and
        nodes options to the openssl command line.

     cd /usr/local/ssl/bin
     ./openssl req \-key /usr/local/ssl/private/`hostname`-key.pem \-new \
       \-x509 \-nodes >../certs/`hostname`-temp.cert

  2e:When you receive a certificate from MIT Certificates, save it as
      /usr/local/ssl/certs/`hostname`-cert.pem

  2f:  to look at a request:
    openssl req \-in ./req.pem \-text
       to look at the private key:
    openssl rsa \-in /usr/local/ssl/private/`hostname`-key.pem \-text
       to look at the server certificate:
    openssl x509 \-in /usr/localx/ssl/certs/`hostname`-cert.pem \-text

3 set up apache-ssl
  3a: download Apache 2.2.4 from apache archive site at
      [http://archive.apache.org/dist/httpd/]

  3b: Unpack apache 2.2.4 (tar \-xzvf) and do "cd httpd-2.2.4"

      cd /opt
      tar \-xzvf /root/httpd-2.2.4.tar.gz
      cd httpd-2.2.4

  3c. compile apache following the instruction in the INSTALL file.
      To enable the SSL, do the following:

      ./configure \--prefix=/home/apache \--enable-ssl \
       \--with-ssl=/usr/local/ssl \
       \--enable-modules="most mod_rewrite"
      make
      make install

4. set up mod-jk

  4a. download mod-jk 1.2.21 source (previous versions have a security hole
      that could allow a remote attacker to execute arbitary code) from
      [http://tomcat.apache.org/connectors-doc/].

      cd /opt
      tar \-xzvf /root/tomcat-connectors-1.2.21-src.tar.gz
      cd tomcat-connectors-1.2.21-src

  4b. build and install binaries according to BUILD.txt. apxs is at
      /home/apache/bin/apxs. mod_jk.so will be put at /home/apache/modules

      cd native                              
      ./configure \--with-apxs=/home/apache/bin/apxs \--enable-ssl
      make
      make install

5. install jdk 1.6 which is required by tomcat 5.5.25

   5a. download jdk 1.6 binary at
    [http://java.sun.com/javase/downloads/index.jsp]

   5b. You may need to set the binary file to be executable:

       chmod u+x,u-w jdk-6-linux-i586.bin

   5c. execute the binary installer as root.  If it produces a rpm file,
       use rpm \-ivh to install it.  If you downloaded the straight binary
       installer, move to a directory with installed software, such as
       /usr/local.  Also, you will need to page through a licensing agreement
       and type yes to accept it.
 
       cd /usr/local
       /root/jdk-6-linux-i586.bin

       or

       ./jdk-6-linux-i586-rpm.bin
       rpm \-ivh jdk-6-linux-i586

   5d. create a file in /etc/profile.d named java_home.sh.  It should contain
        a line exporting a variable pointing to the Java home directory.  Then
        make this file world executable.:

       cat > /etc/profile.d/java_home.sh
       export JAVA_HOME=/usr/local/jdk1.6.0
       \^C
       chmod a+xr,a-w /etc/profile.d/java_home.sh

6. install the SASH Server   NOTE:  These instructions are written assuming version 2.0.3 of the SASH Server, but this version has been deprecated.  We are waiting on version 2.0.4 to become officially supported.


   6a. download sash-server-2.0.3-1.noarch.tar.gz from: [https://portal.sourcelabs.com/?module=download]You will need to register and login to the web site to be able to
         download the SASH Server.  Also, copy the modify-instance-file.sh and mit-worker-consolidater.sh out of the ISDA repository and onto the machine.

   6b. unzip and untar (gunzip , tar \-xvf) into your working
       directory, such as /home

       cd /home
       tar \-xzvf /root/sash-server-2.0.3-1.noarch.tar.gz                   
       cd sash-server-2.0.3-1

   6c.  Copy the modify instance file and the MIT worker consolidator file into the SASH server bin directoryEdit /etc/profile.d/sash_home.sh to export a home variable, and set it world executable.

       cpcat > /etc/root/modify-instance-file.sh $SASHSRV_HOME/binprofile.d/sash_home.sh
       cpexport SASHSRV_HOME=/roothome/mitsash-workerserver-consolidater.sh $SASHSRV_HOME/bin2.0.3-1
       \^c
       chmod ug+rx,a-w $SASHSRV_HOME/bin/modify-instance-file.sh $SASHSRV_HOME/bin/mit-worker-consolidater.sh

7. If this server is going to authenticate users to a Shibboleth server (does
   WebSSO authentication), then download and install the software needed for
,a+rx /etc/profile.d/sash_home.sh
       source /etc/profile.d/sash_home.sh

   6d.  Copy the modify instance file and the MIT worker consolidator file into the SASH server bin directory.

       Shibboleth from [http://shibboleth.internet2.edu/downloads/:]

  7a. [http://shibboleth.internet2.edu/downloads/log4cpp-0.3.5rc1.tar.gz]
&nbspcp /root/modify-instance-file.sh $SASHSRV_HOME/bin
        [http://shibboleth.internet2.edu/downloads/opensaml-1.1.tar.gz] cp /root/mit-worker-consolidater.sh $SASHSRV_HOME/bin
      [http://shibboleth.internet2.edu/downloads/shibboleth-sp-1.3.tar.gz]
 &nbsp  chmod ug+rx,a-w $SASHSRV_HOME/bin/modify-instance-file.sh $SASHSRV_HOME/bin/mit-worker-consolidater.sh

7. Do the configuration:

  7a. SASH Server part: cd into the tomcat home directory

      [http://shibboleth.internet2.edu/downloads/xerces-c-src_2_6_1.tar.gz] cd $SASHSRV_HOME/conf/template
 
     [http://xml.apache.org/security/dist/c-library/xml-security-c-1.3.1.tar.gz]
 7aa. enter the conf directory and create a jk directory

       [http://curl.haxx.se/download/curl-7.16.2.tar.gz]

   7b. Set up cURL:

cd conf
       cd /opt
   mkdir jk
    tar \-xzvf /root/curl-7.16.2.tar.gz
      cd curl-7.16.2/jk

      7ab./configure \--disable-static \--without-ca-bundle \--enable-thread \ copy the workers.properties file from
     /opt/tomcat-connectors-1.2.21-src/conf and put it in conf/jk

         \--prefix=/home/shibboleth-sp

 cp /opt/tomcat-connectors-1.2.21-src/conf/workers.properties \
       make
      make install

$SASHSRV_HOME/conf/template/conf/jk

    7b7ac. Setmake certain upthe log4Cppfollowing (adirectives loggerin simialrworkers.properties toare log4j)set:

       cd /opt
workers.tomcat_home=%%CATALINA_BASE%%
    workers.java_home=/usr/local/jdk1.6.0
     tar \-xzvf /root/log4cpp-0.3.5rc1.tar.gzps=/
    worker.list=ajp13
   cd log4cpp-0.3.5rc1
 worker.ajp13.port=%%AJP_PORT%%
    worker.ajp13.host=localhost
   ./configure \--disable-static \--disable-doxygen \
 worker.ajp13.type=ajp13   
    worker.ajp13.lbfactor=1
   \--prefix=/home/shibboleth-sp

 worker.loadbalancer.type=lb      make
      make install

  7c. Set up XercesC:

      cd /opt 
    worker.loadbalancer.balanced_workers= ajp13  
  tar \-xzvf /root/xerces-c-src_2_6_1.tar.gz
      cd xerces-c-src_2_6_1

      cat > /etc/profile.d/xerces_home.sh
      export XERCESCROOT=/opt/xerces-c-src_2_6_1
             \^C

 
        chmod a+x,a-w /etc/profile.d/xerces_home.sh
 comment out the ajp12 lines in workers.properties.
           . /etc/profile.d/xerces_home.sh

      cd $XERCESCROOT/src/xercesc
      autoconf

      ./runConfigure \-p linux \-c gcc \-x g+\+ \-r pthread \-b 32 \-P /home/shibboleth-sp
        make
 
     make install

  7d. Set up XmlSecurityC7ad. edit conf/server.xml and add the following:

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd /opt after <Server port="%%SHUTDOWN_PORT%%" shutdown="SHUTDOWN">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tar \-xzvf /root/xml-security-c-1.3.1.tar.gz
add&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; cd xml-security-c-1.3.1



&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <Listener className="org.apache.jk.config.ApacheConfig"
&nbsp; &nbsp; ./configure \--prefix=/home/shibboleth-sp \--without-xalan&nbsp; modJk="/home/apache/modules/mod_jk.so" jkDebug="info"
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; makeworkersConfig="%%CATALINA_BASE%%/conf/jk/workers.properties"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make installjkLog="%%CATALINA_BASE%%/logs/mod_jk.log"/>

&nbsp; 7e. Set up OpenSAML:

&nbsp;&nbsp;&nbsp;&nbsp; after&nbsp; cd /opt<Engine name="Catalina" defaultHost="localhost">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tar \-xvzf /root/opensaml-1.1.tar.gzadd

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd cd opensaml-1.1 <Listener className="org.apache.jk.config.ApacheConfig" append="true" />

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ./configure \--with-curl=/home/shibboleth-sp \
7ae. If this is going to be a Web Services servers, disable direct
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \--with-log4cpp=/home/shibboleth-sp \--prefix=/home/shibboleth-sp \-C
connections to the SASH Server and force communications to go through apache,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make install

 by commenting out the http port&nbsp; 7f.connector Setblock upin Shibbolethserver.xml:


&nbsp;&nbsp;<\!-\-
&nbsp;&nbsp;&nbsp; cd /opt<Connector port="%%HTTP_PORT%%"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tar \-xzvf /root/shibboleth-sp-1.3.tar.gz
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd shibboleth-1.3

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ./configure \--with-saml=/home/shibboleth-sp \ maxHttpHeaderSize="8192"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \--with-log4cpp=/home/shibboleth-sp \--enable-apache-22 \
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \--with-apxs22=/home/apache/bin/apxs \--prefix=/home/shibboleth-sp \-C \maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \--with-apr1=/home/apache/bin/apr-1-config

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make install

&nbsp; 7g. Additional information about shibboleth at MIT is available at:
 enableLookups="false" redirectPort="8443" acceptCount="100"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [https://wikis.mit.edu/confluence/display/ZEST/Building+Shibboleth+SP+on+Linux]

8. Do the configuration:

&nbsp; 8a. SASH Server part: cd into the tomcat home directory

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd /home/sash-server-2.0.3-1/conf/template
&nbsp;
&nbsp;&nbsp;&nbsp; 8aa. enter the conf directory and create a jk directory

 connectionTimeout="20000" disableUploadTimeout="true" />
\-->

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd conf If this is going to be a Thalia server, skip this step.

&nbsp;&nbsp;&nbsp;&nbsp; 7af. Uncomment the AJP block in server.xml.

&nbsp;&nbsp; <\!-\- An AJP Connector - uncomment if needed -->
&nbsp;&nbsp;&nbsp; mkdir jk<Connector port="%%AJP_PORT%%"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd jk

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8ab. copy the workers.properties file from
protocol="AJP/1.3" />

&nbsp;&nbsp;&nbsp;&nbsp; /opt/tomcat-connectors-1.2.21-src/conf and put it in conf/jk

 7ag. edit tomcat_users.xml, and add the following user definition just
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; above cpthe /opt'</tomcat-connectors-1.2.21-src/conf/workers.properties \users>' line:

&nbsp;&nbsp;&nbsp; <role rolename="manager"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /home/sash-server-2.0.3-1/conf/template/conf/jk

&nbsp;&nbsp;&nbsp;&nbsp; 8ac. make certain the following directives in workers.properties are set:

&nbsp;&nbsp; &nbsp;workers.tomcat_home=%%CATALINA_BASE%%
&nbsp;&nbsp; &nbsp;workers.java_home=/usr/local/jdk1.6.0
&nbsp;&nbsp; &nbsp;ps=/
&nbsp;&nbsp; &nbsp;worker.list=ajp13
&nbsp;&nbsp; &nbsp;worker.ajp13.port=%%AJP_PORT%%
&nbsp;&nbsp; &nbsp;worker.ajp13.host=localhost
&nbsp;&nbsp; &nbsp;worker.ajp13.type=ajp13&nbsp; &nbsp;
&nbsp;&nbsp; &nbsp;worker.ajp13.lbfactor=1
&&nbsp;&nbsp; &nbsp;worker.loadbalancer.type=lb&nbsp;&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <user username="tomcat" password="zest2006" roles="tomcat,manager"/>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp; &nbsp;worker.loadbalancer.balanced_workers= ajp13 &nbsp; be certain to change the password to be the password for the team
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the server is providing services to.&nbsp; A server for the Zest group
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (Web Services machines are usually for the Zest group) would be
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; comment out 'zest2006', and for the ajp12Thalia lines in workers.propertiesgroup, 'thalia2006'.
&nbsp;&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp; 7ah.&nbsp; Add the sashsrv user.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; useradd \-d $SASHSRV_HOME&nbsp; \-M \-r sashsrv
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; chown \-R sashsrv:sashsrv $SASHSRV_HOME


&nbsp;&nbsp;&nbsp;&nbsp; 8ad7ai.&nbsp; edit conf/server.xml and add the following:

Add the JAVA_HOME location to $SASHSRV_HOME/conf/sashsrv.conf.&nbsp; Also
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; after <Server port="%%SHUTDOWN_PORT%%" shutdown="SHUTDOWN">
 change the ACTIVE_PROBE_PLAN and LD_LIBRARY_PATH to have
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; add&nbsp;&nbsp;&nbsp;&nbsp; $SASH_HOME in their paths.&nbsp;
 The conf file is read by the startup
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <Listener className="org.apache.jk.config.ApacheConfig"
&nbsp; &nbsp; &nbsp; modJk="/home/apache/modules/mod_jk.so" jkDebug="info"
&&nbsp;&nbsp;&nbsp; &nbsp; workersConfig="%%CATALINA_BASE%%/conf/jk/workers.properties"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jkLog="%%CATALINA_BASE%%/logs/mod_jk.log"/>
 script, so putting the variables in will not work.&nbsp; They must be
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; after&nbsp; <Engine name="Catalina" defaultHost="localhost">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; addfully qualified.

&nbsp;&nbsp;&nbsp;&nbsp; 7aj.&nbsp; <Listener className="org.apache.jk.config.ApacheConfig" append="true" />

&nbsp;&nbsp;&nbsp;&nbsp; 8ae. If this is going to be a Web Services servers, disable direct
To progate the changes made to the config, delete the default
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; connections to the SASH Serverserver container, and forcecreate communicationsa to go through apache,new one.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; by commenting out the http port&nbsp; connector block in server.xml:

<\!-\-
cd $SASHSRV_HOME/servers
&nbsp;&nbsp;&nbsp; <Connector port="%%HTTP_PORT%%"
&&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rm \-rf default
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; maxHttpHeaderSize="8192"
&nbsp;&nbsp;&nbsp;&nbsp; cd $SASHSRV_HOME/bin
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; maxThreads="150" minSpareThreads="25" maxSpareThreads="75"./mkInstance \-N default
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd $SASHSRV_HOME/servers/default
&nbsp;&nbsp;&nbsp;&nbsp; enableLookups="false" redirectPort="8443" acceptCount="100"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $SASHSRV_HOME/bin/modify-instance-file.sh /conf/jk/workers.properties $SASHSRV_HOME
&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp; 7ak.&nbsp;&nbsp;&nbsp; connectionTimeout="20000" disableUploadTimeout="true" />
\--> Run the java_home.sh script and start the SASH Server

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If this is going to be a Thalia server, skip this step.
source /etc/profile.d/java_home.sh
&nbsp;&nbsp;&nbsp;&nbsp; 8af. Uncomment the AJP block in server.xml.

&nbsp;&nbsp; <\!-\- An AJP Connector - uncomment if needed \-->
&nbsp;&nbsp;&nbsp; <Connector port="%%AJP_PORT%%"$SASHSRV_HOME/bin/sashctl all start

&nbsp;&nbsp;&nbsp;&nbsp; 7am.&nbsp; Tomcat creates a mod_jk.conf file in ./core/conf/auto/ directory
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protocol="AJP/1.3" />

&nbsp;&nbsp;&nbsp;&nbsp; 8ag. edit tomcat_users.xml, and add the following user definition just
 the first time is runs.&nbsp; Correct it to point to where mod_jk.so
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; above the '</tomcat-users>' line:resides.

&nbsp;&nbsp;&nbsp; <role rolename="manager"/>&&nbsp;&nbsp;&nbsp; change
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LoadModule jk_module "/usr/local/apache/libexec/mod_jk.so"
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LoadModule jk_module "/home/apache/modules/mod_jk.so"

&nbsp; 7b. apache side: edit /home/apache/conf/httpd.conf
&nbsp;&nbsp; edit the following directives:

&nbsp;&nbsp; ServerRoot "/home/apache"&nbsp;&nbsp;&nbsp;&nbsp; # change to apache home directory
&nbsp;&nbsp; User apache&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <user username="tomcat" password="zest2006" roles="tomcat,manager"/>
 # change from daemon
&nbsp;&nbsp; Group apache&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; be certain to# change the password to be the password for the teamfrom daemon
&nbsp;&nbsp; Include conf/extra/httpd-vhosts.conf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Uncomment
&nbsp;&nbsp; the server is providing services to.&nbsp; A server for the Zest group
Include conf/extra/httpd-ssl.conf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Uncomment

&nbsp;&nbsp; (Web Services machines are usually for the Zest group) would be
&nbsp;&nbsp; 7c. add to /home/apache/conf/httpd.conf, and the bottom of the other includes:

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'zest2006', and for the Thalia group, 'thalia2006'.# SASH Server/mod_jk includes
&nbsp;&nbsp; &nbsp; &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp; 8ah.&nbsp; Add the sashsrv user.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; useradd \-d /home/sash-server-2.0.3-1 \-M \-r sashsrv
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Include /home/sash-server-2.0.4-BETA/core/conf/auto/mod_jk.conf

&nbsp; 7d. edit /home/apache/conf/extra/httpd-vhosts.conf to have ONLY one of the
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; chownfollowing \-RVirtualHost sashsrv:sashsrv /home/sash-server-2.0.3-1/

&nbsp;&nbsp;&nbsp;&nbsp; 8ai.&nbsp; Add a sash home script.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cat > /etc/profile.d/sash_home.sh
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; export SASHSRV_HOME=/home/sash-server-2.0.3-1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \^C
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; chmod a+rx,a-w /etc/profile.d/sash_home.sh
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; source /etc/profile.d/sash_home.sh

&nbsp;&nbsp;&nbsp;&nbsp; 8aj.&nbsp; Add the JAVA_HOME location to $SASHSRV_HOME/conf/sashsrv.conf.&nbsp; Also
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; change the ACTIVE_PROBE_PLAN and LD_LIBRARY_PATH to have
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $SASH_HOME in their paths.&nbsp; The conf file is read by the startup
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; script, so putting the variables in will not work.&nbsp; They must be
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fully qualified.

&nbsp;&nbsp;&nbsp;&nbsp; 8ak.&nbsp; To progate the changes made to the config, delete the default
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; server container, and create a new one.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd $SASHSRV_HOME/servers
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rm \-rf default
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd $SASHSRV_HOME/bin
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ./mkInstance \-N default
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd $SASHSERV_HOME/servers/default
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $SASHSRV_HOME/bin/modify-instance-file.sh /conf/jk/workers.properties
&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp; 8al.&nbsp; Run the java_home.sh script and start the SASH Server

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; source /etc/profile.d/java_home.sh
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /home/sash-server-2.0.3-1/bin/sashctl all start

&nbsp;&nbsp;&nbsp;&nbsp; 8am.&nbsp; Tomcat creates a mod_jk.conf file in ./core/conf/auto/ directory
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the first time is runs.&nbsp; Correct it to point to where mod_jk.so
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; resides.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; change
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LoadModule jk_module "/usr/local/apache/libexec/mod_jk.so"
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LoadModule jk_module "/home/apache/modules/mod_jk.so"

&nbsp; 8b. apache side: edit /home/apache/conf/httpd.conf
&nbsp;&nbsp; edit the following directives:

&nbsp;&nbsp; ServerRoot "/home/apache"&nbsp;&nbsp;&nbsp;&nbsp; # change to apache home directory
&nbsp;&nbsp; User apache&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # change from daemon
&nbsp;&nbsp; Group apache&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # change from daemon
&nbsp;&nbsp; Include conf/extra/httpd-vhosts.conf&nbsp;&nbsp;&nbsp;&nbsp; # Uncomment
&nbsp;&nbsp; Include conf/extra/httpd-ssl.conf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Uncomment

&nbsp; 8c. add to /home/apache/conf/httpd.conf, near the end of the file:

&nbsp;&nbsp;&nbsp;&nbsp; <IfModule \!mod_rewrite.c>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LoadModule rewrite_module modules/mod_rewrite.so
&nbsp;&nbsp;&nbsp;&nbsp; </IfModule>

&nbsp;&nbsp;&nbsp;&nbsp; <IfModule \!mod_jk.c>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LoadModule jk_module "/home/apache/modules/mod_jk.so"
&nbsp;&nbsp;&nbsp;&nbsp; </IfModule>

&nbsp;&nbsp;&nbsp;&nbsp; JkWorkersFile "/home/sash-server-2.0.3-1/servers/default/conf/jk/workers.properties"
&nbsp;&nbsp;&nbsp;&nbsp; JkLogFile "/home/sash-server-2.0.3-1/servers/default/logs/mod_jk.log"

&nbsp;&nbsp;&nbsp;&nbsp; JkLogLevel info

&nbsp; 8d. edit /home/apache/conf/extra/httpd-vhosts.conf to have ONLY one of the
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; following VirtualHost blocks:

&nbsp;&nbsp;&nbsp;&nbsp; 8d1. Thalia:

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NameVirtualHost \*:80

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <VirtualHost \*:80>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerName \*.isda-thalia2.mit.edu

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RewriteEngine On&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RewriteCond %
{HTTP_HOST}   \!^isda-thalia2\.mit\.edu \[NC\]
RewriteCond %{HTTP_HOST}
&nbsp;&nbsp; \!^test\.isda-thalia2\.mit\.edu \[NC\]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RewriteCond %
{HTTP_HOST}   \!^demo\.isda-thalia2\.mit\.edu \[NC\]
RewriteCond %{HTTP_HOST}
&nbsp;&nbsp; \!^hst\.isda-thalia2\.mit\.edu \[NC\]blocks:

&nbsp;&nbsp;&nbsp; &nbsp; 7d1. Thalia:

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RewriteCond %
{HTTP_HOST}
NameVirtualHost \*:80

&nbsp;&nbsp;&nbsp; \!^ap\.isda-thalia2\.mit\.edu \[NC\]&nbsp;&nbsp;&nbsp; <VirtualHost \*:80>
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RewriteRuleServerName \^/(.*)*.isda-thalia2.mit.edu

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RewriteEngine On&nbsp;&nbsp;&nbsp; [http://isda-thalia2.mit.edu/$1] \[L,R\] &nbsp;
\\

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </VirtualHost>

&nbsp;&nbsp;&nbsp;&nbsp; 8d2. Web Services:

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <VirtualHost \*:80>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RedirectPermanent&nbsp;&nbsp; /&nbsp;&nbsp;&nbsp; [https://isda-ws2.mit.edu/]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </VirtualHost>

&nbsp; 8e. edit /home/apache/conf/extra/httpd-ssl.conf and alter the following
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; directives:

&nbsp; &nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DocumentRoot "/home/sash-server-2.0.3-1/servers/default/webapps" RewriteCond %
{HTTP_HOST}   \!^isda-thalia2\.mit\.edu \[NC\]
RewriteCond %{HTTP_HOST}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \!^test\.isda-thalia2\.mit\.edu \[NC\]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # points to directory with tomcat webappsRewriteCond %
{HTTP_HOST}   \!^demo\.isda-thalia2\.mit\.edu \[NC\]
RewriteCond %{HTTP_HOST}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \!^hst\.isda-thalia2\.mit\.edu \[NC\]&nbsp;&nbsp; &nbsp; ServerName gybe.mit.edu:443
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RewriteCond %
{HTTP_HOST}
&nbsp;&nbsp; \!^ap\.isda-thalia2\.mit\.edu \[NC\]&nbsp;&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # the servername of the server
RewriteRule \^/(.*)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerAdmin dracus@mit.edu,dongq@mit.edu,dtanner@mit.edu
&nbsp;[http://isda-thalia2.mit.edu/$1] \[L,R\] &nbsp;
\\

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </VirtualHost>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7d2. Web Services - edit for correct server name:

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # the admins of this server<VirtualHost \*:80>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ErrorLog /home/apache/logs/error_log
RedirectPermanent&nbsp;&nbsp; /&nbsp;&nbsp;&nbsp; [https://isda-ws2.mit.edu/]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </VirtualHost>

&nbsp; 7e. edit /home/apache/conf/extra/httpd-ssl.conf and alter the following
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # error log filedirectives:

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TransferLogDocumentRoot "/home/apache/logs/access_logsash-server-2.0.4-BETA/servers/"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # access log file points to directory with tomcat servers
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SSLCertificateFile /usr/local/ssl/certs/ServerName gybe.mit.edu.pem:443
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # public the servername of the server certificate
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SSLCertificateKeyFile /usr/local/ssl/private/https-key.pemServerAdmin dracus@mit.edu,dongq@mit.edu,dtanner@mit.edu
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # private the admins of this server certificate
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SSLCACertificatePathErrorLog /usrhome/localapache/ssllogs/certserror_log
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # error #certificatelog pathfile
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SSLCACertificateFileTransferLog /usrhome/localapache/ssl/certs/mitCA.pemlogs/access_log
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # certificateaccess authoritylog keyfile
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nbsp; SSLCertificateFile /usr/local/ssl/certs/gybe.mit.edu.pem
&nbsp; SSLVerifyClient require
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SSLVerifyDepth&nbsp; 10

&nbsp;&nbsp; 8f. add the following after the '<Directory "/home/apache/cgi-bin">'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # blockpublic in /home/apache/conf/extras/httpd-ssl.conf
server certificate
&nbsp;&nbsp;&nbsp;&nbsp; SSLOptions \+StdEnvVars \+ExportCertData

&nbsp;&nbsp; 8g. add the following at the end of
&nbsp;&nbsp;&nbsp; SSLCertificateKeyFile /homeusr/apachelocal/confssl/extraprivate/httpdhttps-sslkey.conf:pem
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp; JKMount / ajp13
&nbsp;&nbsp;&nbsp;&nbsp; # JKMountprivate /\* ajp13
server certificate
&nbsp;&nbsp;&nbsp;&nbsp; JkMount /manager ajp13
&nbsp;&nbsp;&nbsp;&nbsp; JkMountSSLCACertificatePath /usr/local/manager/\* ajp13

ssl/certs
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JkMount /uaws ajp13
&nbsp;&nbsp;&nbsp;&nbsp; JkMount /uaws/\* ajp13

&nbsp;&nbsp;&nbsp;&nbsp; JkMount /webdav ajp13
&nbsp;&nbsp;&nbsp;&nbsp; JkMount /webdav/\* ajp13
#certificate path
&nbsp;&nbsp;&nbsp;&nbsp; JkMount /geows ajp13
&nbsp;&nbsp;&nbsp;&nbsp; JkMountSSLCACertificateFile /geows/\* ajp13

usr/local/ssl/certs/mitCA.pem
&nbsp;&nbsp;&nbsp;&nbsp; JkMount /servlets-examples ajp13
&nbsp;&nbsp;&nbsp;&nbsp; JkMount /servlets-examples/\* ajp13

&nbsp;&nbsp;&nbsp;&nbsp; JkMount /tomcat-docs ajp13
&nbsp;&nbsp;&nbsp;&nbsp; JkMount /tomcat-docs/\* ajp13

&nbsp;&nbsp;&nbsp;&nbsp; # JkMount /host-manager ajp13certificate authority key
&nbsp;&nbsp;&nbsp;&nbsp; JkMount /host-manager/\* ajp13

&nbsp;&nbsp;&nbsp;&nbsp; JkMount /jsp-examples ajp13
SSLVerifyClient require
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JkMount /jsp-examples/\* ajp13

&nbsp;&nbsp;&nbsp; SSLVerifyDepth&nbsp; JkMount /balancer ajp13
&nbsp;&nbsp;10

&nbsp;&nbsp; 7f. add the following after the '<Directory "/home/apache/cgi-bin">'
&nbsp;&nbsp; JkMount /balancer/\* ajp13

&nbsp;&nbsp;&nbsp;&nbsp; block JkMount /mitidws ajp13in /home/apache/conf/extras/httpd-ssl.conf

&nbsp;&nbsp;&nbsp;&nbsp; JkMountSSLOptions /mitidws/\* ajp13+StdEnvVars \+ExportCertData

&nbsp;
98. to pass environment variables from apache to tomcat, add the following to
&nbsp;&nbsp; the end of httpd.conf (note, the name for those environment variables might
&nbsp;&nbsp; change between different apache versions. Apache comes with a cgi script in
&nbsp;&nbsp; cgi-bin/printenv. Run this script in your https enabled browser to verify
&nbsp;&nbsp; that these variables still holds).

&nbsp;&nbsp; &nbsp;JkEnvVar SSL_CLIENT_DN nodefault&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp; &nbsp;JkEnvVar SSL_CLIENT_S_DN_CN nodefault&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp; &nbsp;JkEnvVar SSL_CLIENT_S_DN_Email nodefault &nbsp;
&nbsp;&nbsp; &nbsp;JkEnvVar SSL_CLIENT_S_DN nodefault&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp; &nbsp;JkEnvVar HTTP_ACCEPT_LANGUAGE nodefault&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JkEnvVar SSL_CLIENT_CERT none &nbsp;

9.&nbsp; copy the following files to the noted locations.&nbsp; They should be bundled
&nbsp;&nbsp; with this document: in the ISDA software repository.

&nbsp;&nbsp;&nbsp;&nbsp; 9a. MitIdService.jar&nbsp;&nbsp; moves to: $SASHSRV_HOME/core/shared/lib

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cp /home/sash-server-2.0.3-1root/MitIdService.jar $SASHSRV_HOME/core/shared/lib


&nbsp;&nbsp;&nbsp;&nbsp; 9b. rolesApplicationContext.xml&nbsp;&nbsp; moves to: $SASHSRV_HOME/core/shared/classes

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cp /home/sash-server-2.0.3-1root/rolesApplicationContext.xml $SASHSRV_HOME/core/shared/classes/



&nbsp;&nbsp;&nbsp;&nbsp; 9c.&nbsp; rootauth&nbsp; moves to
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /root

1110. install the web init script into /etc/init.d, and place starter links into
&nbsp;&nbsp;&nbsp; the /etc/rc.d/ runlevel directories.&nbsp; It should be bundled with this
&nbsp;&nbsp;&nbsp; document.

&nbsp; 11a10a.&nbsp; edit the variables in the top section of the web file to use the
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; directories and binaries correct for this system

&nbsp;&nbsp; 11b10b.&nbsp; be certain to check if apache is using a httpdctl or apachectl starter
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; program, usually contained in /home/apache/bin, and set the apachectl
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; variable accordingly

&nbsp;&nbsp;&nbsp; 11c10c.&nbsp; set web to be executable

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; chmod a+rx,a-w /etc/init.d/web

&nbsp;&nbsp; 11d&nbsp;&nbsp; 10d.&nbsp; link startweb and stopweb to the web program, from wherever it is
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; located, and link start scripts in /etc/init.d:

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln \-s /etc/init.d/web /root/startweb
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln \-s /etc/init.d/web /root/stopweb
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln \-s /etc/init.d/web /etc/rc.d/rc1.d/K15web
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln \-s /etc/init.d/web /etc/rc.d/rc2.d/K15web
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln \-s /etc/init.d/web /etc/rc.d/rc3.d/K15web
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln \-s /etc/init.d/web /etc/rc.d/rc4.d/K15web
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln \-s /etc/init.d/web /etc/rc.d/rc5.d/K15web
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln \-s /etc/init.d/web /etc/rc.d/rc6.d/K15web
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln \-s /etc/init.d/web /etc/rc.d/rc2.d/S15web
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln \-s /etc/init.d/web /etc/rc.d/rc3.d/S15web
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln \-s /etc/init.d/web /etc/rc.d/rc4.d/S15web
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln \-s /etc/init.d/web /etc/rc.d/rc5.d/S15web



&nbsp;&nbsp;&nbsp; 11e10e.&nbsp; Copy the SASH Server init file into /etc/init.d

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cp $SASHSRV_HOME/bin/sash-server.init /etc/init.d/sash-server
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; chmod a+rx,a-w /etc/init.d/sash-server

&nbsp;&nbsp;&nbsp; 11f10f.&nbsp; Link the SASH Server init file to runlevels.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln \-s /etc/init.d/sash-server /etc/rc.d/rc1.d/K16web
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln \-s /etc/init.d/sash-server /etc/rc.d/rc2.d/K16web
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln \-s /etc/init.d/sash-server /etc/rc.d/rc3.d/K16web
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln \-s /etc/init.d/sash-server /etc/rc.d/rc4.d/K16web
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln \-s /etc/init.d/sash-server /etc/rc.d/rc5.d/K16web
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln \-s /etc/init.d/sash-server /etc/rc.d/rc6.d/K16web
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln \-s /etc/init.d/sash-server /etc/rc.d/rc2.d/S16web
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln \-s /etc/init.d/sash-server /etc/rc.d/rc3.d/S16web
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln \-s /etc/init.d/sash-server /etc/rc.d/rc4.d/S16web
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln \-s /etc/init.d/sash-server /etc/rc.d/rc5.d/S16web

&nbsp;&nbsp;&nbsp; 11g10g.&nbsp; Edit /etc/init.d/sash-server and correct the value of SASHSRV_HOME.

1211. Add line to /var/spool/cron/root to cause rootauth to run every 15 min, and
&nbsp;&nbsp;&nbsp; freshen the Kerberos tickets.

&nbsp;&nbsp;&nbsp; cat >> /var/spool/cron/root
&nbsp;&nbsp;&nbsp; 0,15,30,45 * * * * /root/rootauth
&nbsp;&nbsp;&nbsp; \^C

1312. update paths in /etc/profile, by adding the following line in the path
&nbsp;&nbsp;&nbsp; manipulation code block (you can find it by searching for /usr/local/sbin)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pathmunge /usr/local/bin
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pathmunge /usr/kerberos/bin

1413. If this is an upgrade on a server that had previously had a tomcat on it,
&nbsp;&nbsp;&nbsp; there are additional steps to move necessay files and code to the new
&nbsp;&nbsp;&nbsp; directories.

&nbsp; 14a13a.&nbsp; copy the webapps from the old deploy of tomcat to the new one.&nbsp; Be certain
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to restart the server if it was running previously.

&nbsp;&nbsp;&nbsp; cd /home/apache-tomcat-5.5.20

&nbsp;&nbsp;&nbsp; cp \-a geows\* mapws\* mitidws\* uaws\* testcert\* TestRemoteAlfresco\* \
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /home/apache-tomcat-5.5.23/webapps/

&nbsp;&nbsp;&nbsp; to see the applications deployed on a server that are not part of the
&nbsp;&nbsp;&nbsp; default tomcat install, get a listing of the directory:

&nbsp;&nbsp;&nbsp; ls \-1 \--hide=balancer \--hide ROOT \--hide=jsp-examples \
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \--hide=servlets-examples \--hide=tomcat-docs \--hide=webdav

&nbsp; 14b13b.&nbsp; Move the /home/https/weblib directory into /home

&nbsp;&nbsp;&nbsp; mv /home/https/weblib/ /home/weblib
&nbsp;&nbsp;&nbsp; ln \-s /home/weblib /home/https/weblib

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Alternatively, if there is not /home/https/weblib, create a
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /home/weblib directory

&nbsp;&nbsp;&nbsp; mkdir /home/weblib

&nbsp; 14c13c.&nbsp; Edit /etc/init.d/web to have the following global variable:

&nbsp;&nbsp;&nbsp; export LD_LIBRARY_PATH=/usr/lib:/home/weblib

&nbsp; 14d13d.&nbsp; Restart web services and tomcat

&nbsp;&nbsp;&nbsp; /etc/init.d/web restart

1514. Install an AFS client, or check that a client is installed.

&nbsp; 15a14a. Check if an AFS client is installed by looking at the root directory.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If a client is installed, the afs directory will be near the top.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ls \-l /

&nbsp; 15b14b. If an AFS client is not installed, download these packages from the MIT
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Athena or Thalia software lockers:

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mit-openafs-setup-1.2-3.noarch.rpm
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mit-krb-config-1.0-3.noarch.rpm
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mit-openafs-package.patch

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 15c Unless the server is a virtual server.&nbsp; If this is the case, email server ops to have the virtualized AFS kernel module installed.
&nbsp;

&nbsp; 14c. Use rpm to install these packages, installing the Kerberos
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; configuration package first.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rpm \-ivh mit-krb-config-1.0-3.noarch.rpm
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rpm \-ivh mit-openafs-setup-1.2-3.noarch.rpm

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Please note: There are no paths in these commands.&nbsp; Store them in a
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conveinent install directory, and cd to it first.

&nbsp; 15d14d. Go to the OpenAFS client binary directory and execute the setup
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; script.&nbsp; It will ask if you want the AFS client to be started at boot
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; time.&nbsp; Type yes.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd /opt/mit-openafs-setup/bin
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ./setup

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If system is a SMP (multiprocessor) machine, apply the SMP patch before compiling.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd /opt/mit-openafs-setup/bin
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; patch < /root/mit-openafs-package.patch
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ./setup

1615. Install version of moira that uses Kerberos 5

&nbsp; 16a15a. upload moira-rhel4-clients.tar.gz onto the server, and untar to
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /usr/local

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd /usr/local
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tar \-xzvf /root/moira-rhel4-clients.tar.gz

1716. To start and stop tomcat and apache, use the initialization scripts in
&nbsp;&nbsp;&nbsp; /etc/init.d.&nbsp; Be certain to leave them running when you are finished.

&nbsp;&nbsp; starting
&nbsp;&nbsp;&nbsp;&nbsp; /etc/init.d/web start

&nbsp;&nbsp; stopping
&nbsp;&nbsp;&nbsp;&nbsp; /etc/init.d/web stop