= Gerrit Code Review - Standalone Daemon Installation Guide

[[prerequisites]]
== Prerequisites

To run the Gerrit service, the following requirement must be met on the host:

* JRE, version 1.8 http://www.oracle.com/technetwork/java/javase/downloads/index.html[Download]
+
Gerrit is not yet compatible with Java 9 or newer at this time.

[[cryptography]]
== Configure Java for Strong Cryptography

Support for extra strength cryptographic ciphers: _AES128CTR_, _AES256CTR_,
_ARCFOUR256_, and _ARCFOUR128_ can be enabled by downloading the _Java
Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files_
from Oracle and installing them into your JRE.

[NOTE]
Installing JCE extensions is optional and export restrictions may apply.

. Download the unlimited strength JCE policy files.
+
- link:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html[JDK7 JCE policy files]
- link:http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html[JDK8 JCE policy files]
. Uncompress and extract the downloaded file.
+
The downloaded file  contains the following files:
+
[cols="2"]
|===
|README.txt
|Information about JCE and installation guide

|local_policy.jar
|Unlimited strength local policy file

|US_export_policy.jar
|Unlimited strength US export policy file
|===
. Install the unlimited strength policy JAR files by following instructions
found in `README.txt`.

[[download]]
== Download Gerrit

Current and past binary releases of Gerrit can be obtained from
the link:https://www.gerritcodereview.com/download/index.html[
Gerrit Releases site].

Download any current `*.war` package. The war will be referred to as
`gerrit.war` from this point forward, so you may find it easier to
rename the downloaded file.

If you would prefer to build Gerrit directly from source, review
the notes under link:dev-readme.html[developer setup].

[[init]]
== Initialize the Site

Gerrit stores configuration files, the server's SSH keys, and the
managed Git repositories under a local directory, typically referred
to as `'$site_path'`.

You also have to decide where to store your server side git repositories. This
can either be a relative path under `'$site_path'` or an absolute path
anywhere on your server system. You have to choose a place before commencing
your init phase.

Initialize a new site directory by running the init command, passing
the path of the site directory to be created as an argument to the
'-d' option.  Its recommended that Gerrit Code Review be given its
own user account on the host system:

----
  sudo adduser gerrit
  sudo su gerrit

  java -jar gerrit.war init -d /path/to/your/gerrit_application_directory
----

[NOTE]
If you choose a location where your new user doesn't
have any privileges, you may have to manually create the directory first and
then give ownership of that location to the `'gerrit'` user.

If run from an interactive terminal, the init command will prompt through a
series of configuration questions.  If the terminal is not interactive,
running the init command will choose some reasonable default selections.
Once the init phase is complete, you can review your settings in the file
`'$site_path/etc/gerrit.config'`.

When running the init command, additional JARs might be downloaded to
support optional selected functionality.  If a download fails a URL will
be displayed and init will wait for the user to manually download the JAR
and store it in the target location.

When the init phase is complete, the daemon will be automatically started
in the background and your web browser will open to the site:

----
  Initialized /home/gerrit/review_site
  Executing /home/gerrit/review_site/bin/gerrit.sh start
  Starting Gerrit Code Review: OK
  Waiting for server to start ... OK
  Opening browser ...
----

When the browser opens, sign in to Gerrit through the web interface.
The first user to sign-in and register an account will be
automatically placed into the fully privileged Administrators group,
permitting server management over the web and over SSH.  Subsequent
users will be automatically registered as unprivileged users.


== Installation Complete

Your base Gerrit server is now installed and running.  You're now ready to
either set up more projects or start working with the projects you've already
imported.


[[project_setup]]
== Project Setup

See link:project-configuration.html[Project Configuration] for further details on
how to register a new project with Gerrit.  This step is necessary
if existing Git repositories were not imported during 'init'.


[[rc_d]]
== Start/Stop Daemon

To control the Gerrit Code Review daemon that is running in the
background, use the rc.d style start script created by 'init':

----
  review_site/bin/gerrit.sh start
  review_site/bin/gerrit.sh stop
  review_site/bin/gerrit.sh restart
----

('Optional') Configure the daemon to automatically start and stop
with the operating system.

Uncomment the following 3 lines in the `'$site_path/bin/gerrit.sh'`
script:

----
 chkconfig: 3 99 99
 description: Gerrit Code Review
 processname: gerrit
----

Then link the `gerrit.sh` script into `rc3.d`:

----
  sudo ln -snf `pwd`/review_site/bin/gerrit.sh /etc/init.d/gerrit
  sudo ln -snf /etc/init.d/gerrit /etc/rc3.d/S90gerrit
----

('Optional') To enable autocompletion of the gerrit.sh commands, install
autocompletion from the `/contrib/bash_completion` script.  Refer to the
script's header comments for installation instructions.

To install Gerrit into an existing servlet container instead of using
the embedded Jetty server, see
link:install-j2ee.html[J2EE installation].

[[installation_on_windows]]
== Installation on Windows

The `ssh-keygen` command must be available during the init phase to
generate SSH host keys. If you have
link:https://git-for-windows.github.io/[Git for Windows] installed,
start Command Prompt and temporary add directory with ssh-keygen to the
PATH environment variable just before running init command:

====
  PATH=%PATH%;c:\Program Files\Git\usr\bin
====

Please note that the path in the above example must not be
double-quoted.

To run the daemon after site initialization execute:

====
  cd C:\MY\GERRIT\SITE
  java.exe -jar bin\gerrit.war daemon --console-log
====

To stop the daemon press Ctrl+C.

=== Install the daemon as Windows Service

To install Gerrit as Windows Service use the
link:http://commons.apache.org/proper/commons-daemon/procrun.html[Apache
Commons Daemon Procrun].

Sample install command:

====
  prunsrv.exe //IS//Gerrit --DisplayName="Gerrit Code Review" --Startup=auto ^
        --Jvm="C:\Program Files\Java\jre1.8.0_65\bin\server\jvm.dll" ^
        --Classpath=C:\MY\GERRIT\SITE\bin\gerrit.war ^
        --LogPath=C:\MY\GERRIT\SITE\logs ^
        --StartPath=C:\MY\GERRIT\SITE ^
        --StartMode=jvm --StopMode=jvm ^
        --StartClass=com.google.gerrit.launcher.GerritLauncher --StartMethod=daemonStart ^
        --StopClass=com.google.gerrit.launcher.GerritLauncher --StopMethod=daemonStop
====

[[customize]]
== Site Customization

Gerrit Code Review supports some site-specific customization options.
For more information, see the related topics in this manual:

* link:config-reverseproxy.html[Reverse Proxy]
* link:config-sso.html[Single Sign-On Systems]
* link:config-themes.html[Themes]
* link:config-gitweb.html[Gitweb Integration]
* link:config-gerrit.html[Other System Settings]
* link:config-auto-site-initialization.html[Automatic Site Initialization on Startup]


[[anonymous_access]]
== Anonymous Access

Exporting the Git repository directory
(link:config-gerrit.html#gerrit.basePath[gerrit.basePath]) over the
anonymous, unencrypted git:// protocol is more efficient than
Gerrit's internal SSH daemon.  See the `git-daemon` documentation
for details on how to configure this if anonymous access is desired.

* http://www.kernel.org/pub/software/scm/git/docs/git-daemon.html[man git-daemon]


[[plugins]]
== Plugins

Place Gerrit plugins in the review_site/plugins directory to have them loaded on Gerrit startup.


== External Documentation Links

* http://www.kernel.org/pub/software/scm/git/docs/git-daemon.html[git-daemon]


GERRIT
------
Part of link:index.html[Gerrit Code Review]

SEARCHBOX
---------
