= Gerrit Code Review - Standalone Daemon Installation Guide

[[prerequisites]]
== Prerequisites

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

* JRE, versions 1.8 or 11 http://www.oracle.com/technetwork/java/javase/downloads/index.html[Download]
+
Gerrit is not yet compatible with Java 13 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://gerrit-releases.storage.googleapis.com/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]


[[backup]]
== Backup

See the link:backup.html[backup documentation].

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

SEARCHBOX
---------
