Alfresco on Glassfish revised for 3.2r2

This is a walkthrough of installing Alfresco 3.2r2 on Glassfish v2 on OpenSolaris. I decided to start with the smallest delta from the original walkthrough so as to better get up to speed with the changes. Next I'll do the same for Glassfish v3 on OpenSolaris, CentOS and Windows. We can also look at deploying the share and mobile war files as well.

This walkthrough was performed on an OpenSolaris 2009.06 VM running in VirtualBox 3.0.12 on a Mac Book Pro running Snow Leopard. To run both MySQL, the App Server and Firefox you'll probably need at least 1.5GB of (v)RAM.

First you need to install the infrastructure, so install Glassfish v2 and MySQL 5.1 from the OpenSolaris repository:

$ pfexec pkg install glassfishv2 
$ pfexec pkg install SUNWmysql51

We are going to assume that you are running as a user with the root role, so many of the commands are prefixed with pfexec. If you are doing this as root then you don't need to type pfexec.

Create a glassfish domain:

$ pfexec asadmin create-domain --adminport 4848 domain1

Download the MySQL JDBC connector from http://dev.mysql.com/downloads/connector/j/

Untar or unzip the bundle and from the extracted directory copy the mysql-connector-java-x.x.x-bin.jar file to the newly created glassfish domain's lib directory:

$ pfexec cp mysql-connector-java-5.1.10-bin.jar /var/appserver/domains/domain1/lib

There are some issues with MySQL in 32-bit mode on OpenSolaris so change the installed MySQL package to use 64-bit mode:

$ pfexec svccfg -s mysql:version_51 setprop mysql/enable_64bit=true
$ svcadm refresh mysql:version_51 
$ svcadm enable mysql:version_51   (or restart it if it's already running)

Now create the 'alfresco' db and the 'alfresco' user using the mysql client:

$ /usr/mysql/bin/mysql -u root
mysql> create database alfresco;
mysql> grant all on alfresco.\* to 'alfresco'@'localhost' identified by 'alfresco';

Now download the Alfresco War file bundle which at the time of writing was named alfresco-community-war-3.2r2.tar.gz (there's also a .zip version) and was available from http://wiki.alfresco.com/wiki/Community_Edition_file_list_32r2

Create a new directory and untar/unzip the downloaded bundle into it. Change into that directory, here you'll find the alfresco.war file along with other optional parts of the Alfresco app. The Alfresco war file has a WEB-INF/web.xml deployment descriptor that doesn't comply with the DTD, you need to replace this file and add a Glassfish specific deployment descriptor that will allow Alfresco to use MyFaces instead of JSF. The two files are available here:

web.xml

sun-web.xml

Create a new directory named WEB-INF and copy these files into it. Now update the alfresco.war file using the Java jar command:

$ jar -uvf alfresco.war WEB-INF/\*.xml

The jar command should output something similar to the following:

adding: WEB-INF/web.xml(in = 25157) (out= 3836)(deflated 84%)
adding: WEB-INF/sun-web.xml(in = 317) (out= 237)(deflated 25%)

In this setup, by default Alfresco will create the alf_data directory in /var/appserver/domains/domain1/config which isn't the best place for it. To change the location you need to provide a configuration file that Alfresco can use at startup. First create the following directory:

$ pfexec mkdir -p /var/alfresco/alf_data

We'll use this directory for the walkthrough, feel free to replace /var/alfresco/alf_data with a path of your chosing.

Then (assuming you are in the same directory in which you untared/unzipped the Alfresco War file bundle)  edit the file extensions/extension/alfresco-global.properties

$ vim extensions/extension/alfresco-global.properties

Near the top of the file is a line for 'dir.root' change that line as necessary for the path you are using, in our example case:

dir.root=./alf_data

becomes:

dir.root=/var/alfresco/alf_data

If you need to at any point, you can also specify alternative information for the MySQL DB in this file. Save the file and then copy it to the /var/appserver/domains/domain1/lib/classes which is on the Glassfish global classpath

$ pfexec cp extensions/extension/alfresco-global.properties /var/appserver/domains/domain1/lib/classes

Now start the Glassfish domain and deploy the alfresco.war:

$ pfexec asadmin start-domain
$ asadmin deploy alfresco.war
Please enter the admin user name>admin
Please enter the admin password> 
Command deploy executed successfully

You should now be able to connect to http://localhost:8080/alfresco

Summary

This really just covers the basics and uses a clean OpenSolaris install just to show what actually needs to be done to get it working. Hopefully it can be extrapolated from to help install Alfresco on Glassfish in more complicated scenarios.

At some point it would be nice to show how to get the PDF to Flash functionality working as currently that's missing,

Troubleshooting

Check that it's using the MySQL database that you created by connecting to MySQL through the mysql command and looking to see if the Alfresco database has a bunch of tables. Also check that /var/alfresco/alf_data contains directories if it doesn't then it probably hasn't picked up the configuration in /var/appserver/domains/domain1/lib/classes/alfresco-global.properties. Check that you've put the file in the correct path and that the changes that you made to to the file are correct.

If during setup you make a mistake and end up with a populated DB and an empty 'dir.root' or vice versa then stop the app server and drop the database and empty out dir.root (obviously don't do this if you have data store in Alfresco that you want to keep). Then restart the app server.

Alfresco will complain via the app server logs that it doesn't have the minimum amount of memory it requires to run (499 instead of 512), if you want to increase the amount of memory available to Glassfish take a look at the Glassfish docs.

If you see any issues or mistakes then post a comment on this blog.



        
    
Comments:

I followed the tutorial and everything seemed well, but I'm unable to deploy alfresco.war. After entering the asadmin deploy alfresco.war command, I get the following error:
"CLI171 Command deploy failed : Deploying application in domain failed; Error loading deployment descriptors for module [alfresco] Line 262 Column 20 -- Deployment descriptor file WEB-INF/web.xml in archive [alfresco]. The content of element type "init-param" must match "(param-name,param-value,description?)"."

What is it I have to do?

I'm trying to set up alfresco on a remote redhat server using ssh. Glassfish v2, Alfresco Community 3.2r3, jdk 1.6.0_18, mysql ver. 8.41, distrib 5.0.77

Posted by skocko on January 25, 2010 at 01:53 AM GMT #

You need to check that the you have actually updated the war file with the new deployment descriptors and that they are in the correct location within the war file. The error you are seeing is the one that the web.xml file supplied above fixes

Posted by Mandy on January 25, 2010 at 02:38 AM GMT #

Thank you, that worked!
I named the WEB-INF folder wrongly (WEB_INF). I must be tired.
Thank you so much!

One more question if I may, I have to set up alfresco share... I make the same .xml change to share.war and deploy it successfully but ,in browser, I get http status 503.

Here is the log excerpt:

[#|2010-01-25T09:03:46.235-0500|SEVERE|sun-appserver9.1|javax.enterprise.system.container.web|_ThreadID=18;_ThreadName=httpWorkerThread-4848-0;_RequestID=fc05012a-ac24-4e33-9b1b-4b3a8d56bee6;|WebModule[/share]PWC1257: Error configuring application listener of class org.alfresco.web.app.ContextListener
java.lang.ClassNotFoundException: org.alfresco.web.app.ContextListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1498)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4466)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:5184)
at com.sun.enterprise.web.WebModule.start(WebModule.java:326)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:973)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:957)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:688)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1584)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1222)
at com.sun.enterprise.server.WebModuleDeployEventListener.moduleDeployed(WebModuleDeployEventListener.java:182)
at com.sun.enterprise.server.WebModuleDeployEventListener.moduleDeployed(WebModuleDeployEventListener.java:278)
at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:974)
at com.sun.enterprise.admin.event.AdminEventMulticaster.handleModuleDeployEvent(AdminEventMulticaster.java:961)
at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:464)
at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:176)
at com.sun.enterprise.admin.server.core.DeploymentNotificationHelper.multicastEvent(DeploymentNotificationHelper.java:308)
at com.sun.enterprise.deployment.phasing.DeploymentServiceUtils.multicastEvent(DeploymentServiceUtils.java:226)
at com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent(ServerDeploymentTarget.java:298)
at com.sun.enterprise.deployment.phasing.ApplicationStartPhase.runPhase(ApplicationStartPhase.java:132)
at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:919)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:591)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:635)
at com.sun.enterprise.admin.mbeans.ApplicationsConfigMBean.start(ApplicationsConfigMBean.java:744)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:375)
at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:358)
at com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:464)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:90)
at $Proxy1.invoke(Unknown Source)
at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:304)
at com.sun.enterprise.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:174)
at com.sun.enterprise.admin.jmx.remote.server.callers.InvokeCaller.call(InvokeCaller.java:69)
at com.sun.enterprise.admin.jmx.remote.server.MBeanServerRequestHandler.handle(MBeanServerRequestHandler.java:155)
at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.processRequest(RemoteJmxConnectorServlet.java:122)
at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.doPost(RemoteJmxConnectorServlet.java:193)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
at com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:116)
|#]

[#|2010-01-25T09:03:46.237-0500|SEVERE|sun-appserver9.1|org.apache.catalina.core.StandardContext|_ThreadID=18;_ThreadName=httpWorkerThread-4848-0;_RequestID=fc05012a-ac24-4e33-9b1b-4b3a8d56bee6;|PWC1258: Skipped installing application listeners due to previous error(s)|#]

[#|2010-01-25T09:03:46.237-0500|SEVERE|sun-appserver9.1|org.apache.catalina.core.StandardContext|_ThreadID=18;_ThreadName=httpWorkerThread-4848-0;_RequestID=fc05012a-ac24-4e33-9b1b-4b3a8d56bee6;|PWC1306: Startup of context /share failed due to previous errors|#]

Posted by skocko on January 25, 2010 at 06:29 AM GMT #

Hello again.
Can someone, at least, tell me if it is even possible to run Alfresco Share on Glassfish?
Has anyone done it so far?

Posted by skocko on February 02, 2010 at 03:00 AM GMT #

Yes I have run Share on Glassfish but not from Alfresco 3.2r2. The exception you are seeing though is pretty significant. It says that it's unable to find a class that's declared as a listener within the web.xml file.

You can't use the web.xml from the alfresco War file with the Share War file. Try to deploy Alfresco Share without making any changes to the War file, if it doesn't deploy post the errors that you see here. I'll see if I can test it at some point

Posted by Mandy Waite on February 02, 2010 at 03:49 AM GMT #

Hi ,
I followed ur blog (Given above) to deploy Alfresco war file onto the Glassfish Application Server On Solaris.I am getting following Exception:

javax.faces.FacesException: java.net.ConnectException: Connection timed out
at org.apache.myfaces.shared_impl.webapp.webxml.WebXmlParser.parse(WebXmlParser.java:115)
at org.apache.myfaces.shared_impl.webapp.webxml.WebXml.init(WebXml.java:207)
at org.apache.myfaces.shared_impl.webapp.webxml.WebXml.getWebXml(WebXml.java:194)
at org.apache.myfaces.application.jsp.JspViewHandlerImpl.getServletMapping(JspViewHandlerImpl.java:304)
at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:179)
at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:140)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:333)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:110)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:122)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy206.doFilter(Unknown Source)

Posted by Aswatham Aruna on February 09, 2010 at 03:12 AM GMT #

I don't know the answer, a quick google of the error throws up a question of whether you either are behind a proxy server or don't have an internet connection on your system. That's from a couple of years ago though. Does it work on the same system if you deploy to Tomcat?

Posted by Amanda Waite on February 09, 2010 at 08:54 AM GMT #

Hi Amanda,

I tried giving proxysettings , as mentioned in the blog:
http://weblogs.java.net/blog/2009/03/17/how-configure-proxy-glassfish-v3

I added these JVm settings:
-Dhttp.proxyHost=proxy.com
-Dhttp.proxyPort=52
-Dhttp.proxyUser=abc123
-Dhttp.proxyPassword=abc12345

Now i am getting this

javax.faces.FacesException: java.io.IOException: Server returned HTTP response code: 407 for URL: http://java.sun.com/dtd/web-app_2_3.dtd
at org.apache.myfaces.shared_impl.webapp.webxml.WebXmlParser.parse(WebXmlParser.java:115)
at org.apache.myfaces.shared_impl.webapp.webxml.WebXml.init(WebXml.java:207)
at org.apache.myfaces.shared_impl.webapp.webxml.WebXml.getWebXml(WebXml.java:194)
at org.apache.myfaces.application.jsp.JspViewHandlerImpl.getServletMapping(JspViewHandlerImpl.java:304)
at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:179)
at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:140)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:333)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:110)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

Posted by Aswatham Aruna on February 10, 2010 at 11:17 PM GMT #

As I'm not able to reproduce your problem, you would probably make more progress by asking this question on the Glassfish and Alfresco forums.

http://www.checkupdown.com/status/E407.html suggests that you are not authenticating with the proxy server correctly. Do you usually need to supply credentials when you access the web via the proxy? Are these valid credentials (they look made up)? Maybe try with out specifying proxyUser and proxyPassword.

It does prove that it is trying to read the Servlet 2.3 Web App dtd from java.sun.com

Posted by Mandy Waite on February 11, 2010 at 02:41 AM GMT #

Hi Amanda,

I got solution for the problem mentined in the above comment..

Steps:
1) I created one java file ProxyStartupListener,complied it and placed in /WEB-INF/classes folder.

package com.atheeb.utils.thread;

import java.net.Authenticator;
import java.net.PasswordAuthentication;
import java.util.Properties;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class ProxyStartupListener implements ServletContextListener {
private ServletContext context;

public ProxyStartupListener() {
this.context = null;
}

public void contextDestroyed(ServletContextEvent paramServletContextEvent) {
this.context = null;
}

public void contextInitialized(ServletContextEvent paramServletContextEvent) {
this.context = paramServletContextEvent.getServletContext();
Properties props = System.getProperties();
props.put("http.proxySet", "true");
props.put("http.proxyHost", "proxy.com");
props.put("http.proxyPort", "52");
props.put("http.proxyUser", "abc");
props.put("http.proxyPassword", "abcd123");

final String login = "abc";
final String password = "abcd123";

Authenticator.setDefault(new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(login, password.toCharArray());
}
});
}
}

2) I made an entry of that class in web.xml

<listener>
<listener-class>org.alfresco.web.app.ContextListener</listener-class>
</listener>

at the end of all listener classes...

Thats it.....it was deployed...

Now i have one more question:
Can u refer me any blog which gives me how to make use of alfresco deployed just now in detail,bcz after i deploy i am not able to login , bcz as a guest user i do not have permission to create pages....

Posted by Aswatham Kumari on February 11, 2010 at 02:52 AM GMT #

Hi Amanda,

Sorry,
u have to add

<listener>
<listener-class>com.wipro.util.ProxyStartupListener</listener-class>
</listener>

in web.xml...

Please make correction in the above comment..

Posted by Aswatham Kumari on February 11, 2010 at 02:56 AM GMT #

you should be able to login with admin/admin

Thanks for the detailed solution for running Alfresco from behind a proxy, I'm sure that others will find it very useful

Posted by Mandy Waite on February 11, 2010 at 03:06 AM GMT #

Very useful - thank you. Mine's a linux install on a remote server (not on my own machine and not on Windows; which I would understand a whole lot better) & I wasn't the one who installed GF or MySQL on the server so I started at the jar file point of the install.

I'm still not clear on all the configuration file locations that I'll need to know later to make WCM, Share, Studio, and Extensions work... but I will muddle along.
Also, I see that the 3.2r2 package I installed does not have the alfresco/bin directory so I'll have to go hunting for that (I used alfresco-community-war-3.2r2.tar.gz).

A nagging question in my mind is whether your post is a \*delta\* on top of the original instructions or are they a short (better) variant of the old instructions. Specifically whether the /extensions/ directory contents are copied to /lib/classes/ directory.

Posted by willson on February 24, 2010 at 05:05 AM GMT #

The delta is between setups not between instructions. The steps described are everything that you need to do to setup a very basic Alfresco deployment on Glassfish v2

Posted by Mandy Waite on February 24, 2010 at 05:55 AM GMT #

Great tutorial! Worked for me. I am noticing some unusual formating of the top bar (seems the rounded corner on the home bar is misaligned) but that could have nothing to do with using glassfish instead of tomcat. I used a minimal Ubuntu Server 9.10 / MySql / glassfish stack all from the command line and it went very well (so far) I'd love to see how much of the other functionality i could get going. I also worked with this tutorial http://wiki.alfresco.com/wiki/Alfresco_on_Glassfish and I was wondering what changes were required in the web.xml to make it work as there were no changes in that tutorial.

Thanks
-Garry

Posted by Garry Donnelly on April 08, 2010 at 09:45 AM BST #

Been doing a little testing to see how robust the setup is and so far only found one (probably minor) issue. If you go to Administration Console > System Information > HTTP Application State you'll get a null pointer exception. Could just be my set up but would interesting to know if others are having this issue...

Posted by Garry Donnelly on April 08, 2010 at 10:30 AM BST #

There were no changes to the web.xml needed with 3.0 (the original tutorial).

I'm not in a position to check out the NPE that you saw at the moment. You can post the stacktrace here and I can tell you if it rings any bells.

Posted by Mandy Waite on April 09, 2010 at 04:49 AM BST #

This was very helpful... but now I am thoroughly stuck on how to install WCM. The instructions mention an "/opt/alfresco" directory - but this is not mentioned in this tutorial??

Posted by Ahmed on April 26, 2010 at 04:37 AM BST #

Unstuck for now... Anyone trying to get wcm to work, here is what worked for me:

1. The "/opt/alfresco" directory maps to "/opt/glassfishv3/glassfish/domains/domain1/lib/classes/alfresco"

2. Move the alfresco-community-wcm-3.3.tar file in that directory above.

3. Untar it. (tar xvf ...)

4. Move the wcm-bootstrap-context.xml file into the "extension" directory.

5. Restart the server.

By the way, I used the web.xml that came with the original ... but I just changed the doctype declaration to the following (I've removed the less-than and greater-than signs):

!DOCTYPE web-app SYSTEM "/opt/glassfishv3/glassfish/lib/dtds/web-app_2_3.dtd"

(of course, change the directory paths to match yours...)

Posted by Ahmed on April 27, 2010 at 02:01 AM BST #

Post a Comment:
  • HTML Syntax: NOT allowed
About

Bloggity, blog

Search

Archives
« April 2014
MonTueWedThuFriSatSun
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    
       
Today