ATG, JBoss and MySQL on Mac OS X

Since Mac OS X is not a platform supported by ATG , installation can be… a bit troublesome. Everything ATG related is hard to find with Google so I decided to write this down. This is the installation of the ATG 2006.3 version.

At the end perhaps not everything is necessary, but the result works for me.

I found a lot of tips on Nabble by qmnonic . Thanks for sharing

<EDIT on June 15, 2007>

Steps 7, 8 and 9 are not necessary. So you can skip them

</EDIT>

Pre installation

  • Have jboss-4.0.3SP1 ready. This is the only version supported by ATG.
  • Have MySQL ready. Only 5.0.20 is supported. However I have used 5.0.27 and so far it seems to be working fine. Make sure you use the InnoDB engine instead of the MyISAM. If you don’t, prepare for the infamous 1000 characters unique key problem. I found this on Nabble. Further integration of MySQL and JBoss is described below. However I used an O’Reilly article: JBoss and MySQL
  • Take care of your permissions.
  • Add export JBOSS_HOME=< your JBOSS path here> to .bash_login. If you use another shell, you know what to do.

Installation and configuration

  1. Download the unix installer ATG2006.3.bin and install ATG. Your life will be easier if you do not use the default space.
  2. Drop your license files in <ATG folder>/home/localconfig
  3. Add Darwin to <ATG folder>/home/bin/DynamoEnv.sh as explained in ATG SolutionID atg33147 as follows:
    1. Add: DARWIN_OSDIR_NAME=”Darwin”
    2. Add: elif [ $UNIXFLAVOR = Darwin ]
      then
      OSDIRNAME=$DARWIN_OSDIR_NAME
  4. Added dasEnv.sh to <ATG folder>/home/localconfig/ with the next line
    export ATGJRE=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Commands/java as described on Nabble.
  5. Copy MySQL JDBC driver to <JBOSS_HOME>/server/atg/lib
  6. Add mysql-ds.xl to <JBOSS_HOME>/server/atg/deploy fill in the correct database name etc.
  7. Add MySqlDS datasource to standardjaws.xml as follows:
    <jaws>
    <datasource>java:/MySqlDS</datasource>
    <type-mapping>mySQL</type-mapping>
    </jaws>
  8. Edit standardjbosscmp-jdbc.xml (I guess this is not necessary, since it is for EJB’s. But better safe then sorry. I’ll remove it later to see if still works)
    <jbosscmp-jdbc>
    <defaults>
    <datasource>java:/MySqlDS</datasource>
    <datasource-mapping>mySQL</datasource-mapping>
    </defaults>
    </jbosscmp-jdbc>
  9. Add the following text to login-config.xml (Again I’m not sure is needed, I’ll check this later):
    <application-policy name = “MySqlDbRealm”>
    <authentication>
    <login-module code = “org.jboss.resource.security.ConfiguredIdentityLoginModule”
    flag = “required”>
    <module-option name =”principal”>sa</module-option>
    <module-option name =”userName”>sa</module-option>
    <module-option name =”password”></module-option>
    <module-option name =”managedConnectionFactoryName”>
    jboss.jca:service=LocalTxCM,name=MySqlDS
    </module-option>
    </login-module>
    </authentication>
    </application-policy>
  10. Create a file, like this: /<ATG_HOME>/home/localconfig/atg/dynamo/service/jdbc/JTDataSource.properties
    The ATG documentation states to create a jbossconfig folder with a change to a manifest to point to that path. I skipped that.
  11. Edit this JTDataSource.properties. It should contain:
    JNDIName=java:/MySqlDS
    and should NOT contain
    $class=atg.nucleus.JNDIReference
    This is wrong. error in ATG docs I guess. It results in classnotfoundexception in my case. Leaving it out seems to fix it?!
  12. Run datascripts
    /Applications/ATG 2006.3/DAS/sql/install/mysql/das_ddl.sql
    /Applications/ATG 2006.3/DPS/sql/install/mysql/dps_ddl.sql
    /Applications/ATG 2006.3/DSS/sql/install/mysql/dss_ddl.sql
    I used mysql <dbname> < dss_ddl.sql –user=<user> –password=<password>

After installation

Run by using the startDynamoOnJBOSS.sh script form <ATG_HOME>home/bin folder and use -c atg to use the atg server-config-name.

I sometimes had to delete the ATGDAF.ear from the Deploy folder and retry, when changing some configuration. It seems they are not always recopied.

These steps worked for me to get a basic Nucleus install where the ACC is working correctly.

Good luck

10 Responses to ATG, JBoss and MySQL on Mac OS X

  1. Matt says:

    Thanks for consolidating the information, it’s much more helpful in this format. I’ve linked to this post from the Nabble ATG Forum for future reference – http://www.nabble.com/ATG-2006.3-on-OSX-Installation-Instructions-tf3547278.html

  2. Tobias says:

    Got Nucleus up and running. Thanks for the help.

  3. […] 2007.1 on Mac OS X with MySQL For some weeks now ATG 2007.1 is available. My entry about installing ATG on Mac OS X explained how to install ATG 2006.3 on Mac OS X Tiger whic is not suppoerted by ATG . It got a few […]

  4. mindy says:

    Hi,
    I’m actually trying to get ATG 7.0 running on OS X. Thought I’d check to see if you had ever tried that or knew if it were even possible. I probably shouldn’t be wasting time trying it if it’s not 🙂 Any info would be greatly appreciated. Thanks for sharing the detailed info. If only we were able to work with the more recent version, this would have saved me a lot of time.

  5. Gautam says:

    Thanks for compiling this valuable information. You haven’t mentioned about data import step. To make the ATG modules work we need to import data from solid to mysql DB. I am running into trouble while importing data for PioneerCyclingJSP module. I am getting following error:
    *** CONTAINER:atg.repository.RepositoryException; SOURCE:java.sql.SQLException: Incorrect string value: ‘\xE9titio…’ for column ‘long_description’ at row 1
    CONTAINER:atg.repository.RepositoryException; SOURCE:java.sql.SQLException: Incorrect string value: ‘\xE9titio…’ for column ‘long_description’ at row 1
    at atg.adapter.gsa.GSAItemDescriptor.addItem(GSAItemDescriptor.java:5841)
    at atg.adapter.gsa.GSARepository.addItem(GSARepository.java:920)
    at atg.adapter.gsa.xml.TemplateParser.addItem(TemplateParser.java:1283)
    at atg.adapter.gsa.xml.TemplateParser.importAddElements(TemplateParser.java:905)

    I am using UTF8 as default character set for mysql DB. Please help.

  6. […] ATG, JBoss and MySQL on Mac OS X « KnobsLeversButtons – January 29th ( tags: atg dynamo jboss mac java osx mysql programming install setup guide tutorial ) […]

  7. Jeff Tarbox says:

    Does anyone know whether AFTER “end-of-life” I can still somewhere generate new license keys for Dynamo? I don’t need to upgrade or even change anything, I just want to move an old Dynamo portal with basic user authentication, targeted content, etc. over to a new set of servers. I think there’s a bunch of IP-dependent code in there, and I am hoping against hope there’s a way to make things work. I’m afraid that years of customizations may be hard-coded to the current domain or even to current IPs. Any help from anyone on this, some good advice? Please? :O)

Leave a comment