a625c0fc18
* stable-2.14: Documentation: Remove references to optional BouncyCastle libraries Change-Id: I7a0a6063b96a8655630754c4e3a62d2dd4578c66
265 lines
8.5 KiB
Plaintext
265 lines
8.5 KiB
Plaintext
= Gerrit Code Review - Standalone Daemon Installation Guide
|
|
|
|
[[requirements]]
|
|
== Requirements
|
|
To run the Gerrit service, the following requirements must be met on
|
|
the host:
|
|
|
|
* JRE, minimum version 1.8 http://www.oracle.com/technetwork/java/javase/downloads/index.html[Download]
|
|
|
|
You'll also need an SQL database to house the review metadata. You have the
|
|
choice of either using the embedded H2 or to host your own MySQL or PostgreSQL.
|
|
|
|
[[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].
|
|
|
|
include::database-setup.txt[]
|
|
|
|
[[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'`. If the embedded H2 database is being used,
|
|
its data files will also be stored under this directory.
|
|
|
|
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, including gathering information
|
|
about the database created above. If the terminal is not interactive,
|
|
running the init command will choose some reasonable default selections,
|
|
and will use the embedded H2 database. 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 ^
|
|
++DependsOn=postgresql-x64-9.4
|
|
====
|
|
|
|
[[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.postgresql.org/docs/[PostgreSQL Documentation]
|
|
* http://dev.mysql.com/doc/[MySQL Documentation]
|
|
* http://www.kernel.org/pub/software/scm/git/docs/git-daemon.html[git-daemon]
|
|
|
|
|
|
GERRIT
|
|
------
|
|
Part of link:index.html[Gerrit Code Review]
|
|
|
|
SEARCHBOX
|
|
---------
|