Package Sonar
Sommaire
Votre avis
Nobody voted on this yet
|
|
Installation initiale
L'installation de Sonar nécessite la génération du WAR avant déploiement sous le serveur d'application. Pour cela, il faut se placer dans le répertoire <UNZIP_DIRECTORY>/war/build-war.sh où UNZIP_DIRECTORY est le répertoire de décompression de l'archive téléchargée.
./build-war.sh Buildfile: build.xml clean: war: [mkdir] Created dir: /home/etienne/Téléchargements/sonar-2.4.1/war/build/sonar-server [copy] Copying 1794 files to /home/etienne/Téléchargements/sonar-2.4.1/war/build/sonar-server [copy] Copying 4 files to /home/etienne/Téléchargements/sonar-2.4.1/war/build/sonar-server/WEB-INF/lib [copy] Copying 1 file to /home/etienne/Téléchargements/sonar-2.4.1/war/build/sonar-server/WEB-INF/classes/conf append-sonar-home: [echo] Setting home to: /home/etienne/Téléchargements/sonar-2.4.1 [copy] Copying 1 file to /home/etienne/Téléchargements/sonar-2.4.1/war/build/sonar-server/WEB-INF/classes [war] Building war: /home/etienne/Téléchargements/sonar-2.4.1/war/sonar.war [echo] [echo] ----------------------------------------------------------------------------------------------------------- [echo] sonar.war is ready to be deployed. It is linked to the Sonar home directory: [echo] /home/etienne/Téléchargements/sonar-2.4.1 [echo] [echo] IMPORTANT NOTES : [echo] * supported web servers are Jetty and Tomcat 5.x/6.x [echo] * the web application uses the Sonar home directory. For this reason it must be deployed on this host only. [echo] * the war file must be rebuilt when : [echo] - configuration is updated (files in the directory conf/) [echo] - the Sonar home directory is moved to other location [echo] - sonar is upgraded to a new version [echo] It does not have to be rebuilt when a plugin is removed or installed. [echo] ----------------------------------------------------------------------------------------------------------- [echo] BUILD SUCCESSFUL Total time: 6 seconds
Configuration de la log
La configuration initiale des logs, fichier WEB-INF/classes/logback.xml
provoque des erreurs au démarrage de l'application. La configuration initiale est:
<!-- appender used when using sonar with the provided jetty web container -->
<appender name="SONAR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>../../logs/sonar.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<param name="FileNamePattern" value="../../logs/sonar.%i.log"/>
<param name="MinIndex" value="1"/>
<param name="MaxIndex" value="3"/>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<param name="MaxFileSize" value="5MB"/>
</triggeringPolicy>
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator name="mavenRepoFileNotFound">
<expression>message.startsWith("files: File not found: /maven")</expression>
</evaluator>
<OnMismatch>NEUTRAL</OnMismatch>
<OnMatch>DENY</OnMatch>
</filter>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
%d{yyyy.MM.dd HH:mm:ss} %-5level %logger{20} %X %msg%n
</pattern>
</layout>
</appender>
<!-- appender used to profile Sonar Web Server -->
<appender name="PROFILING_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>../../logs/profiling.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<param name="FileNamePattern" value="../../logs/profiling.%i.log"/>
<param name="MinIndex" value="1"/>
<param name="MaxIndex" value="3"/>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<param name="MaxFileSize" value="5MB"/>
</triggeringPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
%d{yyyy.MM.dd HH:mm:ss} %-5level %logger{20} %X %msg%n
</pattern>
</layout>
</appender>
L'emplacement des logs a été modifié pour spécifier un chemin absolu sur les logs.
<!-- appender used when using sonar with the provided jetty web container -->
<appender name="SONAR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>/var/lib/tomcat6/logs/sonar.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<param name="FileNamePattern" value="/var/lib/tomcat6/logs/sonar.%i.log"/>
<param name="MinIndex" value="1"/>
<param name="MaxIndex" value="3"/>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<param name="MaxFileSize" value="5MB"/>
</triggeringPolicy>
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator name="mavenRepoFileNotFound">
<expression>message.startsWith("files: File not found: /maven")</expression>
</evaluator>
<OnMismatch>NEUTRAL</OnMismatch>
<OnMatch>DENY</OnMatch>
</filter>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
%d{yyyy.MM.dd HH:mm:ss} %-5level %logger{20} %X %msg%n
</pattern>
</layout>
</appender>
<!-- appender used to profile Sonar Web Server -->
<appender name="PROFILING_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>/var/lib/tomcat6/logs/profiling.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<param name="FileNamePattern" value="/var/lib/tomcat6/logs/profiling.%i.log"/>
<param name="MinIndex" value="1"/>
<param name="MaxIndex" value="3"/>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<param name="MaxFileSize" value="5MB"/>
</triggeringPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
%d{yyyy.MM.dd HH:mm:ss} %-5level %logger{20} %X %msg%n
</pattern>
</layout>
</appender>
Il est recommandé d'augmenter la mémoire JAVA de Tomcat. Dans le cadre de cette installation, le principe mis en place est de mettre en place un fichier setenv.sh
au niveau de Tomcat, comme décrit ici. La configuration mise en place est la suivante.
export CATALINA_OPTS="-Xms1024m -Xmx1024m -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true -XX:MaxPermSize=256m"
Sonar utilise MAVEN pour fonctionner. Par défaut, l'instance est supposée être dans le répertoire .m2
du répertoire home de l'utilisateur lançant le serveur d'application. Afin d'éviter la duplication des informations, du repository maven, un lien symbolique est mis en place pour le fichier settings.xml
. Dans l' installation réalisée, un lien /var/opt/maven
a été mise en place. Le lien mis en place reflète ce dernier.
#sudo ln -s /var/opt/maven/conf/settings.xml /usr/share/tomcat6/.m2/settings.xml
Au démarrage de l'application, l'erreur suivante a été constatée
13 déc. 2010 00:02:34 org.apache.catalina.core.ApplicationContext log GRAVE: unable to create shared application instance org.jruby.rack.RackInitializationException: org.picocontainer.PicoLifecycleException: PicoLifecycleException: method 'public void org.sonar.server.platform.DefaultServerFileSystem.start()', instance 'org.sonar.server.platform.DefaultServerFileSystem@4c6e1034, java.lang.RuntimeException: wrapper from org/picocontainer/lifecycle/ReflectionLifecycleStrategy.java:132:in `monitorAndThrowReflectionLifecycleException' from org/picocontainer/lifecycle/ReflectionLifecycleStrategy.java:115:in `invokeMethod' from org/picocontainer/lifecycle/ReflectionLifecycleStrategy.java:89:in `start' from org/picocontainer/injectors/AbstractInjectionFactory.java:84:in `start' from org/picocontainer/behaviors/AbstractBehavior.java:169:in `start' from org/picocontainer/behaviors/Stored.java:132:in `start' from org/picocontainer/behaviors/Stored.java:110:in `start' from org/picocontainer/DefaultPicoContainer.java:996:in `potentiallyStartAdapter' ... 12 levels... from /var/cache/tomcat6/Catalina/localhost/sonar/loader/vendor/rack-1.0.0/rack/builder.rb:29:in `initialize' from <script>:2:in `new' from <script>:2 at org.jruby.rack.DefaultRackApplicationFactory$4.init(DefaultRackApplicationFactory.java:164) at org.jruby.rack.DefaultRackApplicationFactory.getApplication(DefaultRackApplicationFactory.java:51) at org.jruby.rack.SharedRackApplicationFactory.init(SharedRackApplicationFactory.java:27) at org.jruby.rack.RackServletContextListener.contextInitialized(RackServletContextListener.java:40) at org.sonar.server.platform.PlatformLifecycleListener.contextInitialized(PlatformLifecycleListener.java:49) 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.deployDescriptor(HostConfig.java:637) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498) 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) Caused by: org.jruby.exceptions.RaiseException: Native Exception: 'class org.picocontainer.PicoLifecycleException'; Message: PicoLifecycleException: method 'public void org.sonar.server.platform.DefaultServerFileSystem.start()', instance 'org.sonar.server.platform.DefaultServerFileSystem@4c6e1034, java.lang.RuntimeException: wrapper; StackTrace: org.picocontainer.PicoLifecycleException: PicoLifecycleException: method ' public void org.sonar.server.platform.DefaultServerFileSystem.start()', instance 'org.sonar.server.platform.DefaultServerFileSystem@4c6e1034, java.lang.RuntimeException: wrapper at org.picocontainer.monitors.NullComponentMonitor.lifecycleInvocationFailed(NullComponentMonitor.java:77) at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.monitorAndThrowReflectionLifecycleException(ReflectionLifecycleStrategy.java:132) at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:115) at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.start(ReflectionLifecycleStrategy.java:89) at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.start(AbstractInjectionFactory.java:84) at org.picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:169) at org.picocontainer.behaviors.Stored$RealComponentLifecycle.start(Stored.java:132) at org.picocontainer.behaviors.Stored.start(Stored.java:110) at org.picocontainer.DefaultPicoContainer.potentiallyStartAdapter(DefaultPicoContainer.java:996) at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:989) at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:746) at org.sonar.server.platform.Platform.startCoreComponents(Platform.java:142) at org.sonar.server.platform.Platform.start(Platform.java:100) Caused by: java.lang.RuntimeException: wrapper at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.monitorAndThrowReflectionLifecycleException(ReflectionLifecycleStrategy.java:130) at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:115) at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.start(ReflectionLifecycleStrategy.java:89) at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.start(AbstractInjectionFactory.java:84) at org.picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:169) at org.picocontainer.behaviors.Stored$RealComponentLifecycle.start(Stored.java:132) at org.picocontainer.behaviors.Stored.start(Stored.java:110) at org.picocontainer.DefaultPicoContainer.potentiallyStartAdapter(DefaultPicoContainer.java:996) at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:989) at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:746) at org.sonar.server.platform.Platform.startCoreComponents(Platform.java:142) at org.sonar.server.platform.Platform.start(Platform.java:100) 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.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:433) at org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:297) at org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:41) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:290) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:109) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:136) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:153) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:290) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:109) at org.jruby.ast.VCallNode.interpret(VCallNode.java:85) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.IfNode.interpret(IfNode.java:117) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:136) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:153) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:290) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:109) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.ast.RootNode.interpret(RootNode.java:129) at org.jruby.Ruby.loadFile(Ruby.java:2419) at org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:64) at org.jruby.runtime.load.LoadService.load(LoadService.java:249) at org.jruby.RubyKernel.load(RubyKernel.java:932) at org.jruby.RubyKernel$s_method_0_1$RUBYFRAMEDINVOKER$load.call(org/jruby/RubyKernel$s_method_0_1$RUBYFRAMEDINVOKER$load.gen) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:180) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:176) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:310) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:149) at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:136) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:153) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:290) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:109) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:136) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:153) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:290) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:109) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:317) at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:305) at org.jruby.runtime.Block.yield(Block.java:199) at org.jruby.RubyObject.yieldUnder(RubyObject.java:508) at org.jruby.RubyObject.specificEval(RubyObject.java:330) at org.jruby.RubyObject.instance_eval(RubyObject.java:1284) at org.jruby.RubyObject$i_method_multi$RUBYFRAMEDINVOKER$instance_eval.call(org/jruby/RubyObject$i_method_multi$RUBYFRAMEDINVOKER$instance_eval.gen) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:300) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:118) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:123) at org.jruby.ast.FCallNoArgBlockPassNode.interpret(FCallNoArgBlockPassNode.java:27) at org.jruby.ast.IfNode.interpret(IfNode.java:117) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:155) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:161) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:300) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:118) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:123) at org.jruby.RubyClass$SpecificArityNew.call(RubyClass.java:698) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:300) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:118) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:123) at org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:64) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.ast.RootNode.interpret(RootNode.java:129) at org.jruby.Ruby.evalScriptlet(Ruby.java:293) at org.jruby.Ruby.evalScriptlet(Ruby.java:270) at org.jruby.rack.DefaultRackApplicationFactory.createRackServletWrapper(DefaultRackApplicationFactory.java:144) at org.jruby.rack.rails.RailsRackApplicationFactory.createApplicationObject(RailsRackApplicationFactory.java:22) at org.jruby.rack.DefaultRackApplicationFactory$1.create(DefaultRackApplicationFactory.java:44) at org.jruby.rack.DefaultRackApplicationFactory$4.init(DefaultRackApplicationFactory.java:162) at org.jruby.rack.DefaultRackApplicationFactory.getApplication(DefaultRackApplicationFactory.java:51) at org.jruby.rack.SharedRackApplicationFactory.init(SharedRackApplicationFactory.java:27) at org.jruby.rack.RackServletContextListener.contextInitialized(RackServletContextListener.java:40) at org.sonar.server.platform.PlatformLifecycleListener.contextInitialized(PlatformLifecycleListener.java:49) 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.deployDescriptor(HostConfig.java:637) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498) 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) Caused by: org.sonar.server.platform.ServerStartException: The following directory can not be created: /var/opt/sonar/extensions/deprecated at org.sonar.server.platform.DefaultServerFileSystem.start(DefaultServerFileSystem.java:91) 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.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:110) ... 128 more Caused by: java.io.IOException: Unable to create directory /var/opt/sonar/extensions/deprecated at org.apache.commons.io.FileUtils.forceMkdir(FileUtils.java:1488) at org.sonar.server.platform.DefaultServerFileSystem.start(DefaultServerFileSystem.java:87) ... 133 more at org.picocontainer.monitors.NullComponentMonitor.lifecycleInvocationFailed(NullComponentMonitor.java:77) at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.monitorAndThrowReflectionLifecycleException(ReflectionLifecycleStrategy.java:132) at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:115) at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.start(ReflectionLifecycleStrategy.java:89) at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.start(AbstractInjectionFactory.java:84) at org.picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:169) at org.picocontainer.behaviors.Stored$RealComponentLifecycle.start(Stored.java:132) at org.picocontainer.behaviors.Stored.start(Stored.java:110) at org.picocontainer.DefaultPicoContainer.potentiallyStartAdapter(DefaultPicoContainer.java:996) at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:989) at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:746) at org.sonar.server.platform.Platform.startCoreComponents(Platform.java:142) at org.sonar.server.platform.Platform.start(Platform.java:100) Caused by: org.picocontainer.PicoLifecycleException: PicoLifecycleException: method 'public void org.sonar.server.platform.DefaultServerFileSystem.start()', instance 'org.sonar.server.platform.DefaultServerFileSystem@4c6e1034, java.lang.RuntimeException: wrapper ... 13 more Caused by: java.lang.RuntimeException: wrapper at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.monitorAndThrowReflectionLifecycleException(ReflectionLifecycleStrategy.java:130) at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:115) at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.start(ReflectionLifecycleStrategy.java:89) at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.start(AbstractInjectionFactory.java:84) at org.picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:169) at org.picocontainer.behaviors.Stored$RealComponentLifecycle.start(Stored.java:132) at org.picocontainer.behaviors.Stored.start(Stored.java:110) at org.picocontainer.DefaultPicoContainer.potentiallyStartAdapter(DefaultPicoContainer.java:996) at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:989) at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:746) at org.sonar.server.platform.Platform.startCoreComponents(Platform.java:142) at org.sonar.server.platform.Platform.start(Platform.java:100) 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.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:433) at org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:297) at org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:41) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:290) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:109) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:136) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:153) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:290) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:109) at org.jruby.ast.VCallNode.interpret(VCallNode.java:85) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.IfNode.interpret(IfNode.java:117) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:136) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:153) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:290) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:109) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.ast.RootNode.interpret(RootNode.java:129) at org.jruby.Ruby.loadFile(Ruby.java:2419) at org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:64) at org.jruby.runtime.load.LoadService.load(LoadService.java:249) at org.jruby.RubyKernel.load(RubyKernel.java:932) at org.jruby.RubyKernel$s_method_0_1$RUBYFRAMEDINVOKER$load.call(org/jruby/RubyKernel$s_method_0_1$RUBYFRAMEDINVOKER$load.gen) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:180) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:176) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:310) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:149) at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:136) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:153) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:290) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:109) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:136) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:153) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:290) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:109) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:317) at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:305) at org.jruby.runtime.Block.yield(Block.java:199) at org.jruby.RubyObject.yieldUnder(RubyObject.java:508) at org.jruby.RubyObject.specificEval(RubyObject.java:330) at org.jruby.RubyObject.instance_eval(RubyObject.java:1284) at org.jruby.RubyObject$i_method_multi$RUBYFRAMEDINVOKER$instance_eval.call(org/jruby/RubyObject$i_method_multi$RUBYFRAMEDINVOKER$instance_eval.gen) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:300) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:118) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:123) at org.jruby.ast.FCallNoArgBlockPassNode.interpret(FCallNoArgBlockPassNode.java:27) at org.jruby.ast.IfNode.interpret(IfNode.java:117) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:155) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:161) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:300) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:118) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:123) at org.jruby.RubyClass$SpecificArityNew.call(RubyClass.java:698) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:300) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:118) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:123) at org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:64) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.ast.RootNode.interpret(RootNode.java:129) at org.jruby.Ruby.evalScriptlet(Ruby.java:293) at org.jruby.Ruby.evalScriptlet(Ruby.java:270) at org.jruby.rack.DefaultRackApplicationFactory.createRackServletWrapper(DefaultRackApplicationFactory.java:144) at org.jruby.rack.rails.RailsRackApplicationFactory.createApplicationObject(RailsRackApplicationFactory.java:22) at org.jruby.rack.DefaultRackApplicationFactory$1.create(DefaultRackApplicationFactory.java:44) at org.jruby.rack.DefaultRackApplicationFactory$4.init(DefaultRackApplicationFactory.java:162) at org.jruby.rack.DefaultRackApplicationFactory.getApplication(DefaultRackApplicationFactory.java:51) at org.jruby.rack.SharedRackApplicationFactory.init(SharedRackApplicationFactory.java:27) at org.jruby.rack.RackServletContextListener.contextInitialized(RackServletContextListener.java:40) at org.sonar.server.platform.PlatformLifecycleListener.contextInitialized(PlatformLifecycleListener.java:49) 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.deployDescriptor(HostConfig.java:637) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498) 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) Caused by: org.sonar.server.platform.ServerStartException: The following directory can not be created: /var/opt/sonar/extensions/deprecated at org.sonar.server.platform.DefaultServerFileSystem.start(DefaultServerFileSystem.java:91) 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.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:110) ... 128 more Caused by: java.io.IOException: Unable to create directory /var/opt/sonar/extensions/deprecated at org.apache.commons.io.FileUtils.forceMkdir(FileUtils.java:1488) at org.sonar.server.platform.DefaultServerFileSystem.start(DefaultServerFileSystem.java:87) ... 133 more 13 déc. 2010 00:02:34 org.apache.catalina.core.ApplicationContext log GRAVE: Error: application initialization failed org.jruby.rack.RackInitializationException: unable to create shared application instance at org.jruby.rack.SharedRackApplicationFactory.init(SharedRackApplicationFactory.java:39) at org.jruby.rack.RackServletContextListener.contextInitialized(RackServletContextListener.java:40) at org.sonar.server.platform.PlatformLifecycleListener.contextInitialized(PlatformLifecycleListener.java:49) 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.deployDescriptor(HostConfig.java:637) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498) 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) Caused by: org.jruby.rack.RackInitializationException: org.picocontainer.PicoLifecycleException: PicoLifecycleException: method 'public void org.sonar.server.platform.DefaultServerFileSystem.start()', instance 'org.sonar.server.platform.DefaultServerFileSystem@4c6e1034, java.lang.RuntimeException: wrapper from org/picocontainer/lifecycle/ReflectionLifecycleStrategy.java:132:in `monitorAndThrowReflectionLifecycleException' from org/picocontainer/lifecycle/ReflectionLifecycleStrategy.java:115:in `invokeMethod' from org/picocontainer/lifecycle/ReflectionLifecycleStrategy.java:89:in `start' from org/picocontainer/injectors/AbstractInjectionFactory.java:84:in `start' from org/picocontainer/behaviors/AbstractBehavior.java:169:in `start' from org/picocontainer/behaviors/Stored.java:132:in `start' from org/picocontainer/behaviors/Stored.java:110:in `start' from org/picocontainer/DefaultPicoContainer.java:996:in `potentiallyStartAdapter' ... 12 levels... from /var/cache/tomcat6/Catalina/localhost/sonar/loader/vendor/rack-1.0.0/rack/builder.rb:29:in `initialize' from <script>:2:in `new' from <script>:2 at org.jruby.rack.DefaultRackApplicationFactory$4.init(DefaultRackApplicationFactory.java:164) at org.jruby.rack.DefaultRackApplicationFactory.getApplication(DefaultRackApplicationFactory.java:51) at org.jruby.rack.SharedRackApplicationFactory.init(SharedRackApplicationFactory.java:27) ... 26 more Caused by: org.jruby.exceptions.RaiseException: Native Exception: 'class org.picocontainer.PicoLifecycleException'; Message: PicoLifecycleException: method 'public void org.sonar.server.platform.DefaultServerFileSystem.start()', instance 'org.sonar.server.platform.DefaultServerFileSystem@4c6e1034, java.lang.RuntimeException: wrapper; StackTrace: org.picocontainer.PicoLifecycleException: PicoLifecycleException: method ' public void org.sonar.server.platform.DefaultServerFileSystem.start()', instance 'org.sonar.server.platform.DefaultServerFileSystem@4c6e1034, java.lang.RuntimeException: wrapper at org.picocontainer.monitors.NullComponentMonitor.lifecycleInvocationFailed(NullComponentMonitor.java:77) at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.monitorAndThrowReflectionLifecycleException(ReflectionLifecycleStrategy.java:132) at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:115) at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.start(ReflectionLifecycleStrategy.java:89) at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.start(AbstractInjectionFactory.java:84) at org.picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:169) at org.picocontainer.behaviors.Stored$RealComponentLifecycle.start(Stored.java:132) at org.picocontainer.behaviors.Stored.start(Stored.java:110) at org.picocontainer.DefaultPicoContainer.potentiallyStartAdapter(DefaultPicoContainer.java:996) at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:989) at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:746) at org.sonar.server.platform.Platform.startCoreComponents(Platform.java:142) at org.sonar.server.platform.Platform.start(Platform.java:100) Caused by: java.lang.RuntimeException: wrapper at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.monitorAndThrowReflectionLifecycleException(ReflectionLifecycleStrategy.java:130) at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:115) at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.start(ReflectionLifecycleStrategy.java:89) at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.start(AbstractInjectionFactory.java:84) at org.picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:169) at org.picocontainer.behaviors.Stored$RealComponentLifecycle.start(Stored.java:132) at org.picocontainer.behaviors.Stored.start(Stored.java:110) at org.picocontainer.DefaultPicoContainer.potentiallyStartAdapter(DefaultPicoContainer.java:996) at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:989) at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:746) at org.sonar.server.platform.Platform.startCoreComponents(Platform.java:142) at org.sonar.server.platform.Platform.start(Platform.java:100) 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.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:433) at org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:297) at org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:41) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:290) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:109) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:136) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:153) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:290) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:109) at org.jruby.ast.VCallNode.interpret(VCallNode.java:85) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.IfNode.interpret(IfNode.java:117) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:136) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:153) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:290) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:109) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.ast.RootNode.interpret(RootNode.java:129) at org.jruby.Ruby.loadFile(Ruby.java:2419) at org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:64) at org.jruby.runtime.load.LoadService.load(LoadService.java:249) at org.jruby.RubyKernel.load(RubyKernel.java:932) at org.jruby.RubyKernel$s_method_0_1$RUBYFRAMEDINVOKER$load.call(org/jruby/RubyKernel$s_method_0_1$RUBYFRAMEDINVOKER$load.gen) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:180) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:176) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:310) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:149) at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:136) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:153) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:290) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:109) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:136) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:153) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:290) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:109) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:317) at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:305) at org.jruby.runtime.Block.yield(Block.java:199) at org.jruby.RubyObject.yieldUnder(RubyObject.java:508) at org.jruby.RubyObject.specificEval(RubyObject.java:330) at org.jruby.RubyObject.instance_eval(RubyObject.java:1284) at org.jruby.RubyObject$i_method_multi$RUBYFRAMEDINVOKER$instance_eval.call(org/jruby/RubyObject$i_method_multi$RUBYFRAMEDINVOKER$instance_eval.gen) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:300) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:118) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:123) at org.jruby.ast.FCallNoArgBlockPassNode.interpret(FCallNoArgBlockPassNode.java:27) at org.jruby.ast.IfNode.interpret(IfNode.java:117) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:155) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:161) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:300) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:118) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:123) at org.jruby.RubyClass$SpecificArityNew.call(RubyClass.java:698) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:300) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:118) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:123) at org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:64) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.ast.RootNode.interpret(RootNode.java:129) at org.jruby.Ruby.evalScriptlet(Ruby.java:293) at org.jruby.Ruby.evalScriptlet(Ruby.java:270) at org.jruby.rack.DefaultRackApplicationFactory.createRackServletWrapper(DefaultRackApplicationFactory.java:144) at org.jruby.rack.rails.RailsRackApplicationFactory.createApplicationObject(RailsRackApplicationFactory.java:22) at org.jruby.rack.DefaultRackApplicationFactory$1.create(DefaultRackApplicationFactory.java:44) at org.jruby.rack.DefaultRackApplicationFactory$4.init(DefaultRackApplicationFactory.java:162) at org.jruby.rack.DefaultRackApplicationFactory.getApplication(DefaultRackApplicationFactory.java:51) at org.jruby.rack.SharedRackApplicationFactory.init(SharedRackApplicationFactory.java:27) at org.jruby.rack.RackServletContextListener.contextInitialized(RackServletContextListener.java:40) at org.sonar.server.platform.PlatformLifecycleListener.contextInitialized(PlatformLifecycleListener.java:49) 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.deployDescriptor(HostConfig.java:637) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498) 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) Caused by: org.sonar.server.platform.ServerStartException: The following directory can not be created: /var/opt/sonar/extensions/deprecated at org.sonar.server.platform.DefaultServerFileSystem.start(DefaultServerFileSystem.java:91) 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.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:110) ... 128 more Caused by: java.io.IOException: Unable to create directory /var/opt/sonar/extensions/deprecated at org.apache.commons.io.FileUtils.forceMkdir(FileUtils.java:1488) at org.sonar.server.platform.DefaultServerFileSystem.start(DefaultServerFileSystem.java:87) ... 133 more at org.picocontainer.monitors.NullComponentMonitor.lifecycleInvocationFailed(NullComponentMonitor.java:77) at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.monitorAndThrowReflectionLifecycleException(ReflectionLifecycleStrategy.java:132) at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:115) at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.start(ReflectionLifecycleStrategy.java:89) at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.start(AbstractInjectionFactory.java:84) at org.picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:169) at org.picocontainer.behaviors.Stored$RealComponentLifecycle.start(Stored.java:132) at org.picocontainer.behaviors.Stored.start(Stored.java:110) at org.picocontainer.DefaultPicoContainer.potentiallyStartAdapter(DefaultPicoContainer.java:996) at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:989) at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:746) at org.sonar.server.platform.Platform.startCoreComponents(Platform.java:142) at org.sonar.server.platform.Platform.start(Platform.java:100) Caused by: org.picocontainer.PicoLifecycleException: PicoLifecycleException: method 'public void org.sonar.server.platform.DefaultServerFileSystem.start()', instance 'org.sonar.server.platform.DefaultServerFileSystem@4c6e1034, java.lang.RuntimeException: wrapper ... 13 more Caused by: java.lang.RuntimeException: wrapper at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.monitorAndThrowReflectionLifecycleException(ReflectionLifecycleStrategy.java:130) at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:115) at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.start(ReflectionLifecycleStrategy.java:89) at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.start(AbstractInjectionFactory.java:84) at org.picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:169) at org.picocontainer.behaviors.Stored$RealComponentLifecycle.start(Stored.java:132) at org.picocontainer.behaviors.Stored.start(Stored.java:110) at org.picocontainer.DefaultPicoContainer.potentiallyStartAdapter(DefaultPicoContainer.java:996) at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:989) at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:746) at org.sonar.server.platform.Platform.startCoreComponents(Platform.java:142) at org.sonar.server.platform.Platform.start(Platform.java:100) 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.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:433) at org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:297) at org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:41) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:290) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:109) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:136) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:153) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:290) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:109) at org.jruby.ast.VCallNode.interpret(VCallNode.java:85) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.IfNode.interpret(IfNode.java:117) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:136) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:153) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:290) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:109) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.ast.RootNode.interpret(RootNode.java:129) at org.jruby.Ruby.loadFile(Ruby.java:2419) at org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:64) at org.jruby.runtime.load.LoadService.load(LoadService.java:249) at org.jruby.RubyKernel.load(RubyKernel.java:932) at org.jruby.RubyKernel$s_method_0_1$RUBYFRAMEDINVOKER$load.call(org/jruby/RubyKernel$s_method_0_1$RUBYFRAMEDINVOKER$load.gen) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:180) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:176) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:310) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:149) at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:136) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:153) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:290) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:109) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:136) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:153) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:290) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:109) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:317) at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:305) at org.jruby.runtime.Block.yield(Block.java:199) at org.jruby.RubyObject.yieldUnder(RubyObject.java:508) at org.jruby.RubyObject.specificEval(RubyObject.java:330) at org.jruby.RubyObject.instance_eval(RubyObject.java:1284) at org.jruby.RubyObject$i_method_multi$RUBYFRAMEDINVOKER$instance_eval.call(org/jruby/RubyObject$i_method_multi$RUBYFRAMEDINVOKER$instance_eval.gen) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:300) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:118) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:123) at org.jruby.ast.FCallNoArgBlockPassNode.interpret(FCallNoArgBlockPassNode.java:27) at org.jruby.ast.IfNode.interpret(IfNode.java:117) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:155) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:161) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:300) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:118) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:123) at org.jruby.RubyClass$SpecificArityNew.call(RubyClass.java:698) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:300) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:118) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:123) at org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:64) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.ast.RootNode.interpret(RootNode.java:129) at org.jruby.Ruby.evalScriptlet(Ruby.java:293) at org.jruby.Ruby.evalScriptlet(Ruby.java:270) at org.jruby.rack.DefaultRackApplicationFactory.createRackServletWrapper(DefaultRackApplicationFactory.java:144) at org.jruby.rack.rails.RailsRackApplicationFactory.createApplicationObject(RailsRackApplicationFactory.java:22) at org.jruby.rack.DefaultRackApplicationFactory$1.create(DefaultRackApplicationFactory.java:44) at org.jruby.rack.DefaultRackApplicationFactory$4.init(DefaultRackApplicationFactory.java:162) at org.jruby.rack.DefaultRackApplicationFactory.getApplication(DefaultRackApplicationFactory.java:51) at org.jruby.rack.SharedRackApplicationFactory.init(SharedRackApplicationFactory.java:27) at org.jruby.rack.RackServletContextListener.contextInitialized(RackServletContextListener.java:40) at org.sonar.server.platform.PlatformLifecycleListener.contextInitialized(PlatformLifecycleListener.java:49) 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.deployDescriptor(HostConfig.java:637) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498) 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) Caused by: org.sonar.server.platform.ServerStartException: The following directory can not be created: /var/opt/sonar/extensions/deprecated at org.sonar.server.platform.DefaultServerFileSystem.start(DefaultServerFileSystem.java:91) 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.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:110) ... 128 more Caused by: java.io.IOException: Unable to create directory /var/opt/sonar/extensions/deprecated at org.apache.commons.io.FileUtils.forceMkdir(FileUtils.java:1488) at org.sonar.server.platform.DefaultServerFileSystem.start(DefaultServerFileSystem.java:87) ... 133 more
Il apparaît clairement un problème d'accès à des fichiers. Les répertoires indiqués sont créés manuellement:
#cd /var/opt/sonar #mkdir extensions #cd extensions #sudo cp -R <UNZIP_FOLDER>/extensions/* ./ #cd /var/opt/sonar #sudo cp -R <UNZIP_FOLDER>/extras ./ #sudo cp -R <UNZIP_FOLDER>/lib ./ #chown -R tomcat6:tomcat6 *
Initialisation de la base de donnée
Une fois installé, il est nécessaire d'initialiser la base de données. Pour cela, il faut se connecter à l'adresse suivante: http://localhost:8080/sonar/setup
Il faut alors cliquer sur le bouton <Upgrade> pour lancer l'initialisation de la base de données.
Sécurité sur fichier de paramétrage
L'application utilise le fichier de configuration sonar.properties
, qui est externalisé à partir de la version 2.13, pouvant contenir des données sensibles. Avec l'utilisation du plugin LDAP, le mot de passe du compte d'administration est renseigné, donc potentiellement visible. Il est donc important de positionner des droits d'accès restrictifs. Etant installé sur un serveur Tomcat, le seul compte devant accéder au fichier est celui exécutant le serveur, soit tomcat6
.
#sudo chown tomcat6:tomcat6 /var/opt/sonar/conf/sonar.properties #sudo chmod 640 /var/opt/sonar/conf/sonar.properties
Update
Ce principe de construction de war ne sera plus explicité après la version 3.7.4. En effet, le script n'est plus fourni. Toutefois, il est encore possible de le faire manuellement, opération expliquée à partir de la version 4.0 de SonarQube, qui est le nouveau nom de l'application.