Separating the base from the installation not working
Hi! I'm trying to install archiva 1.0.1 on Linux as a standalone application as running in JBoss gives various errors. The archiva admin guide for standalone installation [0] says | However, the best way to use this installation technique is to separate | the configuration from the installation to make it easy to upgrade to | newer versions in the future. I tried to follow these steps exactly as explained. However, it seems this does not work at all. First, there is no 'data'-directory as mentioned in step 2 (I ignored this for now). Second, as archiva should now hold it's data in the PLEXUS_BASE directory, I thought it shouldn't need to write to the installation directory (PLEXUS_HOME) which seems not to be true. If write access to the PLEXUS_HOME directory is denied archiva startup fails. So I granted write permissions to this directory. Third, the user- and artifact- database seem to be created in the installation base (PLEXUS_HOME) and not PLEXUS_BASE, as PLEXUS_HOME now contains new directories data/archiva and data/users with lots of files in it. Has anybody successfully tried to perform a separation of installation and data in archiva 1.0.1? Any comments are welcome. tia, - martin [0] http://maven.apache.org/archiva/docs/1.0.1/adminguide/standalone.html -- Martin Höller | [EMAIL PROTECTED] *x Software + Systeme | http://www.xss.co.at/ Karmarschgasse 51/2/20 | Tel: +43-1-6060114-30 A-1100 Vienna, Austria | Fax: +43-1-6060114-71 signature.asc Description: PGP signature
Re: Separating the base from the installation not working
On 19 Feb 2008, Brett Porter wrote: The doc could well be a bit wrong in step 2 - please file a bug for that :) Ok, done that: http://jira.codehaus.org/browse/MRM-701 I do use it successfully with the following script to start it though: #!/bin/sh version=1.0.1 PLEXUS_BASE=$HOME/Library/Application\ Support/Archiva /Applications/Archiva/apache-archiva-$version/bin/macosx-universal-32/run.sh $@ That's what I'd expect to work, but unfortunately it doesn't :-( (I suppose the $@ should be on one line with the run.sh line) Maybe you were missing an export of PLEXUS_BASE before starting? (the above doesn't need it since it's all on one line, the env vars are passed to the second run script). No, I did export PLEXUS_BASE and also tried it in a script like yours. No success. Here are exactly the steps i performed: 1) tar xzvf ~/downloads/apache-archiva-1.0.1-bin.tar.gz 2) mkdir -p archiva-data/logs (NOTE: when I do not create the 'logs' directory archiva throws an exception) 3) mv apache-archiva-1.0.1/conf archiva-data/ 4) chmod ugo-w -R apache-archiva-1.0.1/ 5) ./apache-archiva-1.0.1/bin/linux-x86-32/run.sh console The result is: Running Archiva... wrapper | ERROR: Could not write pid file ./archiva.pid: Permission denied It tries to write the PID-File to bin/linux-x86-32/, not './'. If I allow for writing there by doing 6) chmod a+w apache-archiva-1.0.1/bin/linux-x86-32/ 7) ./apache-archiva-1.0.1/bin/linux-x86-32/run.sh console The result is another exception: Running Archiva... wrapper | -- Wrapper Started as Console wrapper | Launching a JVM... jvm 1| Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org jvm 1| Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved. jvm 1| jvm 1| java.io.FileNotFoundException: [...]/apache-archiva-1.0.1/conf/classworlds.conf (No such file or directory) jvm 1| at java.io.FileInputStream.open(Native Method) jvm 1| at java.io.FileInputStream.init(FileInputStream.java:106) jvm 1| at java.io.FileInputStream.init(FileInputStream.java:66) jvm 1| at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:385) jvm 1| at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:351) jvm 1| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) jvm 1| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) jvm 1| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) jvm 1| at java.lang.reflect.Method.invoke(Method.java:585) jvm 1| at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240) jvm 1| at java.lang.Thread.run(Thread.java:595) wrapper | -- Wrapper Stopped BTW, I'm running on Debian GNU/Linux, with java version 1.5.0_12. Anyone knows whats the problem here? - martin -- Martin Höller | [EMAIL PROTECTED] *x Software + Systeme | http://www.xss.co.at/ Karmarschgasse 51/2/20 | Tel: +43-1-6060114-30 A-1100 Vienna, Austria | Fax: +43-1-6060114-71 signature.asc Description: PGP signature
Re: Separating the base from the installation not working
Hi Brett! Thanks for you help so far. On 19 Feb 2008, Brett Porter wrote: Ah, I see. You shouldn't move the original configuration (specifically the classworlds configuration). I just copy the 3 XML files to the new conf directory. Ok, so this is an issue in the mentioned documentation which says Move the conf and data directories. I'll file a JIRA issue for this as soon as I see it confirmed. Also, you are write - the PID file is written to the installation (which is probably a bug - we should make sure that is addressed in MRM-688. Well, even with the PID file writeable and the configuration copied instead of moved, it's still throwing exceptions. The stacktrace I get is as follows: $ ./apache-archiva-1.0.1/bin/linux-x86-32/run.sh console Running Archiva... wrapper | -- Wrapper Started as Console wrapper | Launching a JVM... jvm 1| Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org jvm 1| Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved. jvm 1| jvm 1| [INFO] Loading on start [role,roleHint]: [org.codehaus.plexus.naming.Naming,dataSources] jvm 1| [INFO] Loading on start [role,roleHint]: [org.codehaus.plexus.contextualizer.Contextualizer,jettyConfiguration] jvm 1| [INFO] Services will be deployed in: '/home/martin/work/archiva/apache-archiva-1.0.1/services'. jvm 1| [INFO] Applications will be deployed in: '/home/martin/work/archiva/apache-archiva-1.0.1/apps'. jvm 1| [INFO] Service Supervisor is deploying plexus-appserver-service-jetty-2.0-alpha-8. jvm 1| [ERROR] Error while deploying service plexus-appserver-service-jetty-2.0-alpha-8.sar. jvm 1| org.codehaus.plexus.appserver.ApplicationServerException: Error executing service deployment id. jvm 1| at org.codehaus.plexus.appserver.service.deploy.DefaultServiceDeployer.deploy(DefaultServiceDeployer.java:91) jvm 1| at org.codehaus.plexus.appserver.service.deploy.DefaultServiceDeployer.deploy(DefaultServiceDeployer.java:65) jvm 1| at org.codehaus.plexus.appserver.lifecycle.phase.ServiceDeploymentPhase$1.onJarDiscovered(ServiceDeploymentPhase.java:45) jvm 1| at org.codehaus.plexus.appserver.supervisor.DefaultSupervisor.scanDirectory(DefaultSupervisor.java:100) jvm 1| at org.codehaus.plexus.appserver.supervisor.DefaultSupervisor.scan(DefaultSupervisor.java:73) jvm 1| at org.codehaus.plexus.appserver.lifecycle.phase.ServiceDeploymentPhase.execute(ServiceDeploymentPhase.java:59) jvm 1| at org.codehaus.plexus.appserver.DefaultApplicationServer.start(DefaultApplicationServer.java:218) jvm 1| at org.codehaus.plexus.personality.plexus.lifecycle.phase.StartPhase.execute(StartPhase.java:33) jvm 1| at org.codehaus.plexus.lifecycle.AbstractLifecycleHandler.start(AbstractLifecycleHandler.java:128) jvm 1| at org.codehaus.plexus.component.manager.AbstractComponentManager.startComponentLifecycle(AbstractComponentManager.java:142) jvm 1| at org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:132) jvm 1| at org.codehaus.plexus.component.manager.ClassicSingletonComponentManager.getComponent(ClassicSingletonComponentManager.java:90) jvm 1| at org.codehaus.plexus.DefaultComponentLookupManager.lookup(DefaultComponentLookupManager.java:147) jvm 1| at org.codehaus.plexus.DefaultComponentLookupManager.lookup(DefaultComponentLookupManager.java:69) jvm 1| at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:297) jvm 1| at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:291) jvm 1| at org.codehaus.plexus.appserver.PlexusApplicationHost.start(PlexusApplicationHost.java:155) jvm 1| at org.codehaus.plexus.appserver.PlexusApplicationHost.start(PlexusApplicationHost.java:85) jvm 1| at org.codehaus.plexus.appserver.PlexusApplicationHost.main(PlexusApplicationHost.java:289) jvm 1| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) jvm 1| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) jvm 1| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) jvm 1| at java.lang.reflect.Method.invoke(Method.java:597) jvm 1| at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) jvm 1| at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) jvm 1| at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:408) jvm 1| at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:351) jvm 1| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) jvm 1| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) jvm 1|
Re: Separating the base from the installation not working
On 19 Feb 2008, Brett Porter wrote: oops - you need to edit plexus.xml too. Which one, a find -name plexus.xml gives me this: ./archiva-data/conf/plexus.xml ./apache-archiva-1.0.1/conf/plexus.xml ./apache-archiva-1.0.1/apps/archiva/conf/plexus.xml I assume it's either the first or the second one. If you could file one bug that captures all the problems with this given document (preferably with a patch ;) it would be much appreciated. Ok, I'll file one as soon as my archiva is running as it should :) Many thanks to your Brett! - martin -- Martin Höller | [EMAIL PROTECTED] *x Software + Systeme | http://www.xss.co.at/ Karmarschgasse 51/2/20 | Tel: +43-1-6060114-30 A-1100 Vienna, Austria | Fax: +43-1-6060114-71 signature.asc Description: PGP signature
Re: Separating the base from the installation not working
On 19 Feb 2008, Brett Porter wrote: ${appserver.base} should work, but if not you can hardcode it YES! Finally got it working! Many thanks again to you Brett! I'll go and file an issue with the updated documentation. - martin -- Martin Höller | [EMAIL PROTECTED] *x Software + Systeme | http://www.xss.co.at/ Karmarschgasse 51/2/20 | Tel: +43-1-6060114-30 A-1100 Vienna, Austria | Fax: +43-1-6060114-71 signature.asc Description: PGP signature