title: How to configure Jenkins to run on port 80
body: <p>I'm running Ubuntu 11.10 and have run <code>sudo apt-get install jenkins</code> to install Jenkins on this system.</p>
  
  <p>I've seen some tutorials on how to setup a reverse proxy (Apache, Nginx, etc), however this is a VM dedicated for just jenkins and I'd like keep it as lean as possible while having jenkins running on port 80.</p>
  
  <p>I've found the upstart config in <code>/etc/init/jenkins.conf</code> and modified the port to 80 <code>env HTTP_PORT=80</code></p>
  
  <p>When I start jenkins via <code>service jenkins start</code>, <code>ps</code> reveals that it runs for a few seconds then terminates.</p>
  
  <p>Is this because jenkins is running as the <code>jenkins</code> user on a privileged port? If so, how do I fix this? Any other ideas a welcome.</p>
  
  <p>Here is the upstart config:</p>
  
  <pre><code>description "jenkins: Jenkins Continuous Integration Server"
  author "James Page &lt;james.page@ubuntu.com&gt;"
  
  start on (local-filesystems and net-device-up IFACE!=lo)
  stop on runlevel [!2345]
  
  env USER="jenkins"
  env GROUP="jenkins"
  env JENKINS_LOG="/var/log/jenkins"
  env JENKINS_ROOT="/usr/share/jenkins"
  env JENKINS_HOME="/var/lib/jenkins"
  env JENKINS_RUN="/var/run/jenkins"
  env HTTP_PORT=80
  env AJP_PORT=-1
  env JAVA_OPTS=""
  env JAVA_HOME="/usr/lib/jvm/default-java"
  
  limit nofile 8192 8192
  
  pre-start script
      test -f $JENKINS_ROOT/jenkins.war || { stop ; exit 0; }
      $JENKINS_ROOT/bin/maintain-plugins.sh   
      mkdir $JENKINS_RUN &gt; /dev/null 2&gt;&amp;1  || true
      chown -R $USER:$GROUP $JENKINS_RUN || true
  end script
  
  script
      JENKINS_ARGS="--webroot=$JENKINS_RUN/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT"
      exec daemon --name=jenkins --inherit --output=$JENKINS_LOG/jenkins.log --user=$USER \
          -- $JAVA_HOME/bin/java $JAVA_OPTS -jar $JENKINS_ROOT/jenkins.war $JENKINS_ARGS \
          --preferredClassLoader=java.net.URLClassLoader
  end script
  </code></pre>