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 indicated, always download the tomcat tarball, 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 the latest Alfresco Enterprise edition software from http://customers.alfresco.com; Login using provided Alfresco username and password.  The software is in:
    [Company Home] - [Downloads] - [{Version} Releases] - [{Minor Version}]
    
    • The files needed are:
      alfresco-enterprise-tomcat-[new version].tar.gz
      alfresco-enterprise-wcm-[new version].tar.gz    is needed for WCM, but not Thalia
      
    • Also needed is a license from:
      [Company Home] - [Downloads] - [Limited Downloads]
      
    • Such as:
      enterprise-network-developer-unlimited.lic
      
    1. Store the software in a convenient temporary directory on the system receiving the install, such as /tmp/alfresco or /root/alfresco.
  1. If this system is currently in use as an Alfresco server, suspend any services directly dependent upon Alfresco (such as Thalia IME), and then suspend Alfresco itself.
    1. Suspend any services directly dependent upon Alfresco, such as Thalia IME. This is highly dependent upon what that service is.
    2. Suspend Alfresco.
      cd $ALF_HOME
      ./alfresco.sh stop
      
    3. Scan the process list to see when the Alfresco processes finish shutting down and terminate.  Repeat until no alfresco processes are left.
      ps aux | grep alfresco
      
    4. This may take some time to do.  If it takes longer then 5 minutes, kill the process directly.
      kill -9 [process number]
      
    5. Back up the current repository, and copy the backup to a backup storage server.
  2. Prepare the home directories.  If this system had previous installations of Alfresco, move the previous repository stores and database to a backup location. Then create the home directories. Note: All of the ISDA/IPS users are installed on ISDA/IPS servers by default, even if they only need 2 of them.
    cd /home
    groupadd -r logs
    useradd -g logs -d /home/logs -m -r -s /bin/bash logs
    groupadd -r www
    useradd -g www -G logs -d /home/www -m -r -s /bin/bash www
    groupadd -r repos
    useradd -g repos -G logs  -d /home/repos -m -r -s /bin/bash repos
    groupadd -r db
    useradd -g db -G logs -d /home/db -m -r -s /bin/bash db
    mkdir /home/repos/alfresco-[new version]
    mkdir /home/repos/alf_data
    ln -s /home/repos/alfresco-[new version] /home/repos/alfresco
    
    ##Put the Alfresco home script into place, and source it.
    cat > /etc/profile.d/alf_home.sh
    export ALF_HOME=/home/repos/alfresco
    export ALF_DATA=/home/repos/alf_data
    export ALF_EXT=$ALF_HOME/tomcat/shared/classes/alfresco/extension
    ^C
    chmod a+rx,a-w /etc/profile.d/alf_home.sh
    source /etc/profile.d/alf_home.sh
    
    1. If this is going to be a clustered machine, create the cluster directories.
      mkdir /home/repos/alf_data/cluster-A
      mkdir /home/repos/alf_data/cluster-B
      mkdir /home/repos/alf_data/cluster-[repeat for each stack in cluster
      mkdir /home/repos/alf_data/replication
      
  3. Unpack the software into the correct directory.
    cd $ALF_HOME
    tar -xzvf /root/alfresco-enterprise-tomcat-[new version].tar.gz
    
    • If this is going to be a WCM server, unpack the WCM component.
      tar -xzvf /root/alfresco-enterprise-wcm-2.0.1.tar.gz
      
  4. Copy the alfresco.sh file from the ISDA software repository to the new Alfresco home directory.
    scp [krb-id]@[software-repository]:alfresco.sh $ALF_HOME
    
  5. If this is not a server ops machine, copy the sudoers file from Trogdor:/opt/software-repository-tmp/common-init into /etc.
  6. Unpack the Alfresco war file.
    cd $ALF_HOME/tomcat/webapps
    mkdir alfresco
    cd alfresco
    $JAVA_HOME/bin/jar -xvf ../alfresco.war
    
  7. Copy the license to the license directory.
    cp /root/enterprise-network-unlimited.lic  \
       $ALF_HOME/tomcat/shared/classes/alfresco/extension/license
    
  8. Set up the dir.root location by adding it to the custom-repository.properties file.
    dir.root=/home/repos/alf_data
    
  9. Setup MySQL database to be used by this system, if this is a new install. If this is an upgrade, backup the database with mysqldump.
    1. Login to MySQL server as root and connect to the MySQL database
    2. If this is a new install, create a new database and setup a user.
      1. Create the database.
        create database [name of database]
        
      2. Grant permissions to user.
        grant all on alfresco.* to 'username'@'localhost' identified by  'password' with grant option;
                 grant all on alfresco.* to 'username'@'localhost.localdomain'  identified by 'password' with grant option;
        
      • Replace the database, password and user names as needed, to match the alfresco server. Select a password that will be secure.
  1. If this is going to be the second indepenant instance of Alfresco on a server, then edit the files:
    $ALF_HOME/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/alfresco-shared.propertie
    $ALF_HOME/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/web-client-config-wcm.xml
    
    • Alter the option avm.remote.port to have a unique port number, and the ports for RMI and JMX.
  2. If this is going to be a WCM system, move the wcm-bootstrap-context.xml file into the extensions directory, and configure virtualization and TinyMCE.
    1. Move the bootstrap file for WCM.
      cd $ALF_HOME
      mv wcm-bootstrap-context.xml tomcat/shared/classes/alfresco/extension
      
    2. If this is a WCM machine, then edit the virtualization server properties file and change the server address.
      vi virtual-tomcat/conf/alfresco-virtserver.properties
      
  3. #* Edit alfresco.virtserver.domain to have the IP address of the server receiving the Alfresco software:
    alfresco.virtserver.domain=18-92-1-223.ip.alfrescodemo.net
    
  4. If this is going to be a clustered system, more or alter the following files to make a cluster configuration.
    1. Move the following files in $ALF_HOME/tomcat/share/classes/alfresco/extension
      cp replicating-content-services-context.xml.sample  replicating-content-services-context.xml
      cp ehcache-custom.xml.sample.cluster ehcache-custom.xml
      
    2. Select an ID for the cluster ID, and alter the following properties in the custom-repository.properties file.
      cluster.id=A
      dir.root=/home/repos/alf_data   #  Set to an appropriate local, usually a SAN mount
      dir.root.replicated=${dir.root}/replication
      
      dir.contentstore=${dir.root}/contentstore
      
      dir.contentstore.replicated=${dir.root.replicated}/contentstore
      dir.contentstore.deleted=${dir.root}/contentstore.deleted
      
      dir.auditcontentstore=${dir.root}/audit.contentstore
      dir.indexes = ${dir.root}/lucene-indexes
      dir.indexes.lock = ${dir.indexes}/locks
      
      index.recovery.mode = AUTO
      index.tracking.cronExpression=0/5 * * * * ?
      
      system.bootstrap.config_check.strick = true
      

13.  See the Alfresco Non-Root Modifications instructions at https://wikis.mit.edu/confluence/display/ISDA/Alfresco+Non-Root+Modifications for information on how to make your installation operate as non-root

  • No labels

1 Comment

  1. 9.  If this is going to be the second indepenant instance of Alfresco on a
        server, then edit the files:

        $ALF_HOME/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/alfresco-shared.properties
        $ALF_HOME/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/web-client-config-wcm.xml

        Alter the option avm.remote.port to have a unique port number, and the
        ports for RMI and JMX.

    First thing: it's probably bad to require altering anything under tomcat/webapps/alfresco/, since all that stuff gets clobbered if anyone ever updates the tomcat/alfresco/alfresco.war.  Have you tried, instead,

    $ALF_HOME/tomcat/shared/classes/alfresco/extension/alfresco-shared.properties and
    $ALF_HOME/tomcat/shared/classes/alfresco/extension/web-client-config-custom.xml?

    Second thing: I don't know where in web-client-config-wcm.xml you mean to change the RMI and JMX information, but if it's in the tag, I don't think you want to update that in this case.... the ports listed in thetag are ports on theremoteserver to which you're deploying a Web Site.

    11c. Upgrade the TinyMCE files to upgrade to the latest version and edit        the jsp files to get advanced features.  Download latest version from
            http://tinymce.moxiecode.com/.

            cd /home/alfresco-[new version]/tomcat/webapps/alfresco/scripts/
            mv tiny_mce tiny_mce_bak

            cd /opt
            tar -xzvf /root/alfresco/tinymce_[version].tgz
            cd tinymce/jscripts
            cp -a tiny_mce \
                  /home/alfresco-[new-version]/tomcat/webapps/alfresco/scripts/

            Edit these files:

            /home/alfresco-[version]/tomcat/webapps/alfresco/scripts/ajax/xforms.js
            /home/alfresco-[version]/tomcat/webapps/alfresco/jsp/dialog/edit-html-inline.jsp
            /home/alfresco-[version]/tomcat/webapps/alfresco/jsp/wcm/create-web-content-wizard/create-html.jsp
            /home/alfresco-[version]/tomcat/webapps/alfresco/jsp/content/create-content-wizard/create-html.jsp

            to include the fullscreen button in the button1 portion of
            tinyMCE.init:

            theme_advanced_buttons1:
            "fullscreen,bold,italic,underline,strikethrough,separator,fontselect,fontsizeselect,code",

            or similar.

    I think this turns out to be highly dependent on the version of Alfresco.  Actually I think the procedure for editing the jsps will fail to work properly after version 2.0.x, although I may be wrong.  Since version 2.1, they use config xml files to configure tinymce programmatically.  You'll see in web-client-config-custom.xml or web-client-config-wcm.xml some <widget> elements which do this.  Probably the best thing is to remove this step entirely from this document, since I think only Alfresco WCM cares about this, and MITMods take care of it, at least for version 2.1.1 Enterprise.