You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

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, unless
otherwise noted, 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.

When setting up Thalia servers, be certain to know which servers have which
hostnames, and where they will fit into the cluster stack.  A Thalia cluster
will need 3 layers to the cluster.  While these can all exist on the same
server, this is not recommended.

1.  Configure an Apache SSL/Tomcat server as described in the Apache-SSL
    instructions.  This is the top layer of the cluster.  Extra care must be
    given to certificates and wildcard DNS entries if the system is going to
    exist within a multi-stack cluster.

2.  Configure an Alfresco server without WCM components, as described in the
    Alfresco instructions.  This is the second layer of the stack.  Give care
    to the cluster configuration is this is part of a multi-stack cluster. If
    needed, do not start the Alfresco instance until after the configuration below,
    and unpack the alfresco.war file like this:

    cd $ALF_HOME/tomcat/webapps
    mkdir alfresco
    cd alfresco
    $JAVA_HOME/bin/jar -xvf ../alfresco.war

3.  Configure a MySQL server as described in the MySQL instructions.  This is
    the bottom layer of the stack.  Be certain to configure replication if it
    is part of a multi-stack cluster.

4.  On the top system in the stack, create directory structure:

     mkdir /home/thalia
     mkdir /home/thalia/conf
     mkdir /home/thalia/log
     mkdir /home/thalia/bulkimage
     mkdir /home/thalia/tmp

5.  Place the thaliausers.xml file into /home/thalia/conf.  Its contents
    should be similar to:

      <user-list>
      <user><name>iannuzzo</name>
      <domain>ADMIN</domain>
      </user>
      <user><name>colodzin</name>
      <domain>ADMIN</domain>
      </user>
      <user><name>dongq</name>
      <domain>ADMIN</domain>
      </user>
      <user><name>dracus</name>
      <domain>ADMIN</domain>
      </user-list>

6.  Install ImageMagic on the top layer of the stack.

     6a. go to www.imagemagick.org and get the source distribution:
ImageMagick-6.3.2-9.tar.gz

     6b. unzip and unstar ImageMagick-6.3.2.tar.gz and cd to ImageMagic-6.3.2
         directory

     6c. by default, the base installation directory is /usr/local. binary
         files go in /usr/local/bin and library files go in /usr/local/lib. If
         you want to specify an installationprefix other than /usr/local, you
         can do it by specify the --prefix=PATH in step 6d.

     6d.  ./configure (specify the path here if necessary. Please note that
         the binary files should be in the system path)

     6e. make; make install

     6f. for more info, please refer to the Install-unix.txt in the package

     6g. after installation, you should be able to type "convert" command and
         get the help page.

7.  On the second server in the stack, customize the Alfresco installation.

     7a. Stop the Alfresco service, if needed.

          cd /home/alfresco-[version number]-[series]
          ./alfresco.sh stop
          ps aux | grep alfresco

          Repeat the ps command until the Alfresco processes terminate.

     7b. Edit contentModel.xml and add the Thalia admin property definition.
         It is located in the following directory:

        $ALF_HOME/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/model

         In the block containing <type name="cm:person">, and before the
         </properties> line, add:

                <property name="cm:isAdmin">
                <type>d:text</type>
                </property>

     7c. Put our custom model (includes thaliaModel.xml and thalia-model-
   context.mxl) in the extension folder.  Use the one from either the deploy
   repository or from thalia-dev.

     7d. Edit permissionDefinitions.xml and add the Thalia permissionGroup
         definitions to the permission group definition block.  Be certain not
         to split a block of code.  It is located in directory:

        $ALF_HOME/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/model

         The new block should be inserted after:
           <permissionGroup name="Execute" allowFullControl="false" expose="false">
              <includePermissionGroup type="sys:base"
                 permissionGroup="ExecuteContent" />
           </permissionGroup>

         The additional block should be:

           <!-- Custom permissions for Thalia -->

           <permissionGroup name="ThaliaWrite" allowFullControl="false"
                 expose="false">
              <includePermissionGroup type="sys:base" permissionGroup="Write"/>
          <includePermissionGroup type="sys:base" permissionGroup="Read"/>
          <includePermissionGroup type="sys:base"
                 permissionGroup="AddChildren"/>
          <includePermissionGroup type="sys:base" permissionGroup="Delete"/>
          <includePermissionGroup type="sys:base"
                 permissionGroup="ExecuteContent"/>
           </permissionGroup>
    
           <permissionGroup name="ThaliaRead"  allowFullControl="false"
                 expose="false">
             <includePermissionGroup type="sys:base"
                  permissionGroup="ReadProperties"/>
             <includePermissionGroup type="sys:base"
                  permissionGroup="ReadChildren"/>
         <includePermissionGroup type="sys:base"
                  permissionGroup="ReadContent"/>
           </permissionGroup>

           <permissionGroup name="ThaliaDownload" allowFullControl="false"
                expose="false">
              <includePermissionGroup type="sys:base"
                  permissionGroup="ReadProperties"/>
              <includePermissionGroup type="sys:base"
                  permissionGroup="ReadChildren"/>
              <includePermissionGroup type="sys:base"
                  permissionGroup="ReadContent"/>
          <includePermissionGroup type="sys:base"
                  permissionGroup="ExecuteContent"/>
           </permissionGroup>

           <!--  End of custom permissions for Thalia  -->

      7e. Add an admin account to the Alfresco custom-authority-services-context.xml
          file.  The file is located at:

         $ALF_HOME/tomcat/shared/classes/alfresco/extension

          In the <property name="adminUsers"> block, add the following line
          before the </properties> line:

                        <value>thaliaAdmin</value>

          If the file is not there, import it from the file repsoitory on Eurydice
          or another 2.1 E machine.

          Alternatively, add this line to the authority-services-context.xml
      file located at:

         $ALF_HOME/tomcat/webapps/alfresco/WEB-INF/classes/alfresco

      7f. If this is going to be part of a cluster, do the Alfresco cluster
          configuration now, per the Alfresco Cluster setup instructions.

      7g. Start the Alfresco service.

          cd $ALF_HOME
          ./alfresco.sh start

      7h. Log in as the Alfresco Admin user, and add the thaliaAdmin and
          guestUser users.  Check the passwords for these users on the Thalia
          server (top server in the stack).  Use the Web interface web tool in
          Alfresco to do this.

      7i. Also create a guest user account.  User name is guestuser, and the
          password is in the
          /home/apache-tomcat-5.5.23/webapps/ROOT/WEB-INF/web.xml file.

8.  On the top server in the stack, run the BuildThaliaDomain tool to create
    domains.  

     cd /home/qing/dist
     $JAVA_HOME/bin/java -classpath ./lib -jar \
      BuildThaliaDomain.jar \
      http://`hostname`:8080/alfresco \
      [DOMAIN NAME]

    Where [DOMAIN NAME] is the domain to configure (such as test, hst, psb,
    etc).

9.  Upload the thalia-ime.war file to /home/apache-tomcat-5.5.23/webapps.

    9a. Copy the thalia.war file from either the deploy repository (pending)
        or from thali-dev.mit.edu:/home/apache-tomcat/webapps to
        [newserver]:/home/apache-tomcat/webapps as BOTH thalia.war and
        ROOT.war.

    9b. If this is a production server, move the current web.xml file to
        web.xml.original, and web.xml.production to web.xml.

    9c. Change the passwords for the users admin and thaliaAdmin on both the
        Alfresco repository and the Thalia IME server.

10. Set the domain specific metadata mapping

11. Upload the rmoldlog.py file to /root, and add the following line to
    /var/spool/cron/root:

     30 2 * * * /root/rmoldlog.py > /loc/logs/rmlog.log  2>&1 &

  • No labels