Hi Pavlin, I expect Dave (the lead developer) will respond shortly to your question. I'd be interested in hearing the answer also. I mentioned that I placed my properties file outside both Roller and Tomcat. If you're interested in seeing my configuration, browse to the below case study. A symbolic link was placed in tomcat/lib (Tomcat version 6.0.29).
http://assets.optomus.com/documents/Roller%205%20-%20Multi-domain%20Case%20Study.pdf Regards, Chris Dodunski. > Hi Chris and thanks for your quick response! > > I agree with you, that placing library dependency outside the > webapp/${app} > folder or ${app}.WAR potentially leads to troubles with versions among > different web apps, but ... > > Roller would just not start if I don't follow the installation guide > advise > and don't put the libraries in the common/lib or any other place > accessible > by the bootstrap process of the web server. > > I certainly want to avoid this, but still didn't find/receive any hint how > to do it if only possible. > > There was some forum note, that it is just like that, but no in depth > explanation found yet. > I believe I could do some bootstrap debugging and find the answer my self, > but my time is ind of limited right now, so I decided to ask the > community. > > Regards, > > Pavlin > > > > > Christopher Dodunski-4 wrote: >> >> Hi Pavlin, >> >> Generally speaking, placing dependencies willy nilly in tomcat/lib is >> not >> a good idea. These libraries are shared by other Tomcat applications, >> and >> by globally introducing/updating a library you run the risk of upsetting >> other Tomcat applications. It also makes upgrading Tomcat more >> involved. >> >> The recommended course is to place dependencies inside the application's >> WEB-INF/lib directory. Then package it into a WAR, and deploy. >> Personally, I have placed roller-custom.properties outside both Tomcat >> and >> Roller, creating a symbolic link inside tomcat/lib. >> >> Hope this helps. >> >> Regards, >> >> Chris Dodunski. >> >> >>> Hi all, >>> >>> I'm quite new to Roller too (less than 12 hours), so may by I'm missing >>> some >>> points. >>> >>> I had similar problems with the installation of Roller, but found that >>> simply following the installation guide strictly makes it work. Namely >>> you >>> really have to put the JDBC, Mail and Activation (JAF) jars in a place >>> where >>> Tomcat can find them (for example as the guide guides - in >>> ${TOMCAT_HOME}/common/lib). >>> >>> An other problem is that you can not do this if you don't have admin >>> rights >>> on the server environment where your web server runs. >>> >>> So my questions are: >>> - (JUST CURIOUS) Why Roller needs to put anything (libs, properties >>> etc.) >>> outside it's WAR in order to start context? >>> - (REQUIRED!) How can we overcome that restriction? >>> >>> Really appreciate a hint how to install Roller as simple war. Otherwise >>> it >>> is no-go for me :-(. >>> >>> Anyone? >>> >>> Pavlin >>> >>> >>> >>> nanren888 wrote: >>>> >>>> Dave, Chris, many thanks. >>>> >>>> (1) Had not seen the distinction between JNDI & whatever the other is >>>> called at this point. Have long forgotten what little I knew of this. >>>> Seems exactly right. Had taken then message in the log about about >>>> rollerdb to be from the file. A default, I now assume. Should have >>>> changed >>>> it to test it. >>>> >>>> (2) Where to put roller-custom.properties? Had put it separately, as >>>> suggested by a comment online, when searching, specifically saying >>>> don't >>>> put it in tomcat directories, ... >>>> Had named it in the tomcat deploy "XML Configuration file URL: " & >>>> assumed that meant it could then find it, having been handed it. >>>> >>>> (3) Tomcat classpath? At this point, I have no clue which directories >>>> might be included in that. >>>> >>>> The guide says >>>> STEP 3: Create a roller-custom.properties file in your Servlet >>>> container's >>>> classpath, e.g. on Tomcat you'd put it in common/classes. >>>> But, of course, there is no "common" directory & there is no "classes" >>>> directory. >>>> >>>> Any chance you could just nominate a good place to put it? Standard, >>>> follow-the-guide install. (pathetic & pleadingly) could the guide just >>>> say >>>> where to put it, rather than where to not put it? >>>> >>>> I've put it in /lib. >>>> If that's a bad idea, please nominate a better place. >>>> >>>> But, again, many thanks. On to the next error, to do with >>>> authenticating >>>> that user on that database, so seems to be finding it now, should be >>>> easier to sort MySQL out. >>>> >>>> >>>> >>>> >>>> Christopher Dodunski-4 wrote: >>>>> >>>>> Hi, >>>>> >>>>> The "mail.hostName=send.xtra.co.nz" directive tells me I am >>>>> communicating >>>>> with a fellow Kiwi. I see Dave has since replied, suggesting that >>>>> your >>>>> roller-custom.properties file may not be available to Roller - not in >>>>> the >>>>> Tomcat classpath. If you have since sorted it, great. If not, feel >>>>> free >>>>> to TXT me on 027 535 3722 for my landline - happy to provide some >>>>> verbal >>>>> support. >>>>> >>>>> The case study below outlines my particular configuration. >>>>> >>>>> http://assets.optomus.com/documents/Roller%205%20-%20Multi-domain%20Case%20Study.pdf >>>>> >>>>> Regards, >>>>> >>>>> Chris Dodunski. >>>>> (New Plymouth, NZ) >>>>> >>>>> >>>>>> This has got to be something simple. Can someone tell me the most >>>>>> likely >>>>>> causes? >>>>>> >>>>>> new J2EE install >>>>>> new MySQL install (mysql-essential-5.1.52-win32.msi) >>>>>> new connector (mysql-connector-java-5.1.13-bin.jar in tomcat/lib) >>>>>> new mail.jar ( in tomcat/lib from javamail-1.4.3.zip) >>>>>> new activation.jar (in tomcat/lib from jaf-1_0_2-upd2.zip) >>>>>> new tomcat install (apache-tomcat-6.0.29-windows-x86.zip) >>>>>> All exactly to guides. >>>>>> >>>>>> New to this, lost & frustrated. >>>>>> >>>>>>>>If you are posting a question, please try search first. Your >>>>>>>> question >>>>>>>> may >>>>>> have already been answered. >>>>>> Entirely agree, but, searched this error, here & web & get 1,000s of >>>>>> hits, >>>>>> seemingly no clear pattern to the fixes offered. >>>>>> Many (old?) install suggestions/guides about endless config files, >>>>>> most >>>>>> that >>>>>> simply do not talley with the install I see. References to putting >>>>>> contexts >>>>>> in config files & such, now seems to be a separate file? Many >>>>>> questions >>>>>> about complicated configurations; I just want the first vanila >>>>>> installation. >>>>>> >>>>>> Lost with no idea of a coherent direction! >>>>>> >>>>>> tomcat clearly running. >>>>>> examples run >>>>>> admin runs >>>>>> deploy does not complain about roller >>>>>> reload & undeploy do not complain. >>>>>> >>>>>> created rollerdb as per guide, granted rolleruser for both '%' & >>>>>> localhost >>>>>> as per guide. >>>>>> mysql worbench can see mysql by TCP & pipe. can see rollerdb & >>>>>> rolleruser >>>>>> Seems to confirm mysql is on 3306 >>>>>> mysql seems to say it is on utf8 >>>>>> >>>>>> >>>>>> roller creates log as included below. >>>>>> >>>>>> used roller-custom.properties placed separately as suggested >>>>>> elsewhere. >>>>>> >>>>>> installation.type=auto >>>>>> database.configurationType=jdbc >>>>>> database.jdbc.driverClass=com.mysql.jdbc.Driver >>>>>> database.jdbc.connectionURL=jdbc:mysql://localhost:3306/rollerdb >>>>>> database.jdbc.username=rolleruser >>>>>> database.jdbc.password=rollerPassword >>>>>> mail.hostName=send.xtra.co.nz >>>>>> mail.username=<our account name here> >>>>>> mail.password=<our password here> >>>>>> >>>>>> Specific questions, from install >>>>>> Have seen reference to roller-custom.properties as an xml config >>>>>> file, >>>>>> but >>>>>> it is not xml: Just as here: plain text. Can someone confirm that it >>>>>> is >>>>>> just >>>>>> text as here? >>>>>> >>>>>> >>>>>> if a ask for localhost:8080/roller/roller-ui it redirects to >>>>>> localhost:8080/roller/roller-ui/login.rol, gives a login page & of >>>>>> course, >>>>>> fails with >>>>>> >>>>>> Unexpected Exception >>>>>> Status Code 500 >>>>>> Message Roller Weblogger has not been bootstrapped yet >>>>>> Type >>>>>> Exception Roller has encountered and logged an unexpected >>>>>> exception. >>>>>> >>>>>> <Not been bootstrapped>? Search of the install & guides gave me zero >>>>>> hits >>>>>> on >>>>>> bootstrapped. >>>>>> >>>>>> >>>>>> My guess, lots see the same problem. Anyone let me in on the secret >>>>>> 3 >>>>>> most >>>>>> likely things? >>>>>> >>>>>> Next steps are to search for an example jsp or two that just uses >>>>>> mysql >>>>>> so >>>>>> I >>>>>> can test connection separately to roller. Or maybe some stand-alone >>>>>> java >>>>>> example of jdbc, is that the name? >>>>>> >>>>>> After that it is back to randomly trying the thousand or so random >>>>>> configuration tips on the web, or maybe just set the machine to >>>>>> format >>>>>> & >>>>>> go >>>>>> watch TV? >>>>>> >>>>>> Lost, tired, bewildered. >>>>>> Any help much appreciated. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> Status Code 500 >>>>>> Message An exception occurred processing JSP page /index.jsp at >>>>>> line >>>>>> 31 >>>>>> 28: >>>>>> } else { 29: // dispatch to setup page 30: RequestDispatcher >>>>>> setuppage >>>>>> = >>>>>> request.getRequestDispatcher("/roller-ui/setup.rol"); 31: >>>>>> setuppage.forward(request, response); 32: } 33: 34: %> Stacktrace: >>>>>> Type >>>>>> Exception Roller has encountered and logged an unexpected >>>>>> exception. >>>>>> >>>>>> roller.log starts >>>>>> >>>>>> INFO 2010-11-21 07:58:48,234 DatabaseProvider:successMessage - >>>>>> SUCCESS: >>>>>> Got >>>>>> parameters. Using configuration type JNDI_NAME >>>>>> INFO 2010-11-21 07:58:48,234 DatabaseProvider:successMessage - -- >>>>>> Using >>>>>> JNDI datasource name: java:comp/env/jdbc/rollerdb >>>>>> INFO 2010-11-21 07:58:48,234 DatabaseProvider:successMessage - >>>>>> SUCCESS: >>>>>> located JNDI DataSource [java:comp/env/jdbc/rollerdb] >>>>>> ERROR 2010-11-21 07:58:48,250 DatabaseProvider:errorMessage - ERROR: >>>>>> unable >>>>>> to obtain database connection. Likely problem: bad connection >>>>>> parameters >>>>>> or >>>>>> database unavailable. >>>>>> FATAL 2010-11-21 07:58:48,265 RollerContext:contextInitialized - >>>>>> Roller >>>>>> Weblogger startup failed during app preparation >>>>>> org.apache.roller.weblogger.business.startup.StartupException: >>>>>> ERROR: >>>>>> unable >>>>>> to obtain database connection. Likely problem: bad connection >>>>>> parameters >>>>>> or >>>>>> database unavailable. >>>>>> at >>>>>> org.apache.roller.weblogger.business.DatabaseProvider.<init>(DatabaseProvider.java:148) >>>>>> at >>>>>> org.apache.roller.weblogger.business.startup.WebloggerStartup.prepare(WebloggerStartup.java:171) >>>>>> at >>>>>> org.apache.roller.weblogger.ui.core.RollerContext.contextInitialized(RollerContext.java:138) >>>>>> at >>>>>> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4135) >>>>>> at >>>>>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4630) >>>>>> at >>>>>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) >>>>>> at >>>>>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) >>>>>> at >>>>>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546) >>>>>> at >>>>>> org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1041) >>>>>> at >>>>>> org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:964) >>>>>> at >>>>>> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502) >>>>>> at >>>>>> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277) >>>>>> at >>>>>> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321) >>>>>> at >>>>>> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) >>>>>> at >>>>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) >>>>>> at >>>>>> org.apache.catalina.core.StandardHost.start(StandardHost.java:785) >>>>>> at >>>>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) >>>>>> at >>>>>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445) >>>>>> at >>>>>> org.apache.catalina.core.StandardService.start(StandardService.java:519) >>>>>> at >>>>>> org.apache.catalina.core.StandardServer.start(StandardServer.java:710) >>>>>> at org.apache.catalina.startup.Catalina.start(Catalina.java:581) >>>>>> 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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) >>>>>> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) >>>>>> --- ROOT CAUSE --- >>>>>> org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC >>>>>> driver >>>>>> of >>>>>> class '' for connect URL 'null' >>>>>> at >>>>>> org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1452) >>>>>> >>>>>> -- >>>>>> View this message in context: >>>>>> http://old.nabble.com/yet-another-install-problem-%3C---ERROR%3A-unable-to-obtain-database-connection.-Likely-problem%3A-bad-connection-parameters-or-database-unavailable.-tp30268237s12275p30268237.html >>>>>> Sent from the Roller - User mailing list archive at Nabble.com. >>>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>> >>> -- >>> View this message in context: >>> http://old.nabble.com/yet-another-install-problem-%3C---ERROR%3A-unable-to-obtain-database-connection.-Likely-problem%3A-bad-connection-parameters-or-database-unavailable.-tp30268237s12275p30276977.html >>> Sent from the Roller - User mailing list archive at Nabble.com. >>> >> >> >> >> > > -- > View this message in context: > http://old.nabble.com/yet-another-install-problem-%3C---ERROR%3A-unable-to-obtain-database-connection.-Likely-problem%3A-bad-connection-parameters-or-database-unavailable.-tp30268237s12275p30277970.html > Sent from the Roller - User mailing list archive at Nabble.com. >