|  | = Gerrit Code Review - Standalone Daemon Installation Guide | 
|  |  | 
|  | [[requirements]] | 
|  | == Requirements | 
|  | To run the Gerrit service, the following requirements must be met on | 
|  | the host: | 
|  |  | 
|  | * JDK, minimum version 1.7 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 gerrit2 | 
|  | sudo su gerrit2 | 
|  |  | 
|  | java -jar gerrit.war init -d /path/to/your/gerrit_application_directory | 
|  | ---- | 
|  |  | 
|  | 'Please 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 `'gerrit2'` 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/gerrit2/review_site | 
|  | Executing /home/gerrit2/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]. | 
|  |  | 
|  |  | 
|  | [[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 | 
|  | --------- |