blob: 89004420654951f4738a7406639174ed74848f31 [file] [log] [blame]
Jason Huntley25bbd512012-08-02 11:10:31 -04001Gerrit Code Review - Standalone Daemon Installation Guide
2=========================================================
Shawn O. Pearced2b73db2009-01-09 11:55:47 -08003
Fredrik Luthander833aa742011-10-27 21:07:46 +02004[[requirements]]
5Requirements
Martin Fick472bb9d2012-05-08 16:30:16 -07006------------
Fredrik Luthander833aa742011-10-27 21:07:46 +02007To run the Gerrit service, the following requirements must be met on
8the host:
9
10* JDK, minimum version 1.6 http://www.oracle.com/technetwork/java/javase/downloads/index.html[Download]
11
David Pursehouse3be717b2013-05-13 13:56:11 +090012You'll also need an SQL database to house the review metadata. You have the
Fredrik Luthander833aa742011-10-27 21:07:46 +020013choice of either using the embedded H2 or to host your own MySQL or PostgreSQL.
14
Shawn O. Pearced2b73db2009-01-09 11:55:47 -080015
Shawn O. Pearce9ad8ba52009-12-11 19:06:21 -080016[[download]]
17Download Gerrit
Shawn O. Pearced2b73db2009-01-09 11:55:47 -080018---------------
19
Shawn O. Pearce31af1ff2009-01-26 12:04:41 -080020Current and past binary releases of Gerrit can be obtained from
21the downloads page at the project site:
22
23* http://code.google.com/p/gerrit/downloads/list[Gerrit Downloads]
24
Shawn O. Pearce8ddb8cb2009-09-28 12:21:28 -070025Download any current `*.war` package. The war will be referred to as
26`gerrit.war` from this point forward, so you may find it easier to
Anthonyd3aed4c2009-09-26 13:48:10 -040027rename the downloaded file.
Shawn O. Pearceb8527ea2009-02-02 15:39:12 -080028
Shawn O. Pearce9ad8ba52009-12-11 19:06:21 -080029If you would prefer to build Gerrit directly from source, review
30the notes under link:dev-readme.html[developer setup].
Shawn O. Pearce31af1ff2009-01-26 12:04:41 -080031
Jason Huntley25bbd512012-08-02 11:10:31 -040032include::database-setup.txt[]
Shawn O. Pearce0b91a632009-02-06 12:53:59 -080033
Shawn O. Pearce9ad8ba52009-12-11 19:06:21 -080034[[init]]
35Initialize the Site
36-------------------
Shawn O. Pearced2b73db2009-01-09 11:55:47 -080037
Shawn O. Pearce9ad8ba52009-12-11 19:06:21 -080038Gerrit stores configuration files, the server's SSH keys, and the
39managed Git repositories under a local directory, typically referred
40to as `'$site_path'`. If the embedded H2 database is being used,
41its data files will also be stored under this directory.
Shawn O. Pearced2b73db2009-01-09 11:55:47 -080042
Fredrik Luthander833aa742011-10-27 21:07:46 +020043You also have to decide where to store your server side git repositories. This
44can either be a relative path under `'$site_path'` or an absolute path
45anywhere on your server system. You have to choose a place before commencing
46your init phase.
47
Shawn O. Pearce9ad8ba52009-12-11 19:06:21 -080048Initialize a new site directory by running the init command, passing
49the path of the site directory to be created as an argument to the
50'-d' option. Its recommended that Gerrit Code Review be given its
51own user account on the host system:
52
53----
54 sudo adduser gerrit2
55 sudo su gerrit2
Shawn O. Pearce9ad8ba52009-12-11 19:06:21 -080056
Fredrik Luthander833aa742011-10-27 21:07:46 +020057 java -jar gerrit.war init -d /path/to/your/gerrit_application_directory
Shawn O. Pearce9ad8ba52009-12-11 19:06:21 -080058----
59
Fredrik Luthander833aa742011-10-27 21:07:46 +020060'Please note:' If you choose a location where your new user doesn't
61have any privileges, you may have to manually create the directory first and
62then give ownership of that location to the `'gerrit2'` user.
63
64If run from an interactive terminal, the init command will prompt through a
Shawn O. Pearce9ad8ba52009-12-11 19:06:21 -080065series of configuration questions, including gathering information
Fredrik Luthander833aa742011-10-27 21:07:46 +020066about the database created above. If the terminal is not interactive,
67running the init command will choose some reasonable default selections,
68and will use the embedded H2 database. Once the init phase is complete,
69you can review your settings in the file `'$site_path/etc/gerrit.config'`.
Shawn O. Pearce9ad8ba52009-12-11 19:06:21 -080070
Fredrik Luthander833aa742011-10-27 21:07:46 +020071When running the init command, additional JARs might be downloaded to
72support optional selected functionality. If a download fails a URL will
73be displayed and init will wait for the user to manually download the JAR
74and store it in the target location.
Shawn O. Pearce9ad8ba52009-12-11 19:06:21 -080075
Fredrik Luthander833aa742011-10-27 21:07:46 +020076When the init phase is complete, the daemon will be automatically started
Shawn O. Pearce9ad8ba52009-12-11 19:06:21 -080077in the background and your web browser will open to the site:
78
79----
80 Initialized /home/gerrit2/review_site
81 Executing /home/gerrit2/review_site/bin/gerrit.sh start
82 Starting Gerrit Code Review: OK
83 Waiting for server to start ... OK
84 Opening browser ...
85----
86
87When the browser opens, sign in to Gerrit through the web interface.
88The first user to sign-in and register an account will be
89automatically placed into the fully privileged Administrators group,
90permitting server management over the web and over SSH. Subsequent
91users will be automatically registered as unprivileged users.
92
93
Fredrik Luthander833aa742011-10-27 21:07:46 +020094Installation Complete
95---------------------
96
97Your base Gerrit server is now installed and running. You're now ready to
98either set up more projects or start working with the projects you've already
99imported.
100
101
Shawn O. Pearce9ad8ba52009-12-11 19:06:21 -0800102[[project_setup]]
103Project Setup
104-------------
105
106See link:project-setup.html[Project Setup] for further details on
107how to register a new project with Gerrit. This step is necessary
108if existing Git repositories were not imported during 'init'.
109
110
Karsten Dambekalnsa7f72a22011-03-25 14:21:59 +0100111[[rc_d]]
Shawn O. Pearce9ad8ba52009-12-11 19:06:21 -0800112Start/Stop Daemon
113-----------------
114
115To control the Gerrit Code Review daemon that is running in the
116background, use the rc.d style start script created by 'init':
Shawn O. Pearced2b73db2009-01-09 11:55:47 -0800117
118====
Shawn O. Pearce9ad8ba52009-12-11 19:06:21 -0800119 review_site/bin/gerrit.sh start
120 review_site/bin/gerrit.sh stop
121 review_site/bin/gerrit.sh restart
Shawn O. Pearced2b73db2009-01-09 11:55:47 -0800122====
123
Shawn O. Pearce9ad8ba52009-12-11 19:06:21 -0800124('Optional') Link the gerrit.sh script into rc3.d so the daemon
125automatically starts and stops with the operating system:
Shawn O. Pearced2b73db2009-01-09 11:55:47 -0800126
127====
Kyle Laker839edfc2013-03-08 01:05:10 -0500128 sudo ln -snf `pwd`/review_site/bin/gerrit.sh /etc/init.d/gerrit
129 sudo ln -snf /etc/init.d/gerrit /etc/rc3.d/S90gerrit
Shawn O. Pearce86816ee2009-05-13 17:37:20 -0700130====
131
David Pursehousebe284992013-09-26 14:43:33 +0900132('Optional') To enable autocompletion of the gerrit.sh commands, install
133autocompletion from the `/contrib/bash_completion` script. Refer to the
134script's header comments for installation instructions.
135
Shawn O. Pearce9ad8ba52009-12-11 19:06:21 -0800136To install Gerrit into an existing servlet container instead of using
137the embedded Jetty server, see
138link:install-j2ee.html[J2EE installation].
Shawn O. Pearce86816ee2009-05-13 17:37:20 -0700139
Shawn O. Pearced2b73db2009-01-09 11:55:47 -0800140
Shawn O. Pearce9ad8ba52009-12-11 19:06:21 -0800141[[customize]]
142Site Customization
143------------------
Shawn O. Pearced2b73db2009-01-09 11:55:47 -0800144
Shawn O. Pearce9ad8ba52009-12-11 19:06:21 -0800145Gerrit Code Review supports some site-specific customization options.
David Pursehouse221d4f62012-06-08 17:38:08 +0900146For more information, see the related topics in this manual:
Shawn O. Pearced2b73db2009-01-09 11:55:47 -0800147
Francois Marierd550b462011-04-13 14:30:20 +1200148* link:config-reverseproxy.html[Reverse Proxy]
Shawn O. Pearcef384b442009-01-10 16:20:56 -0800149* link:config-sso.html[Single Sign-On Systems]
Dave Borowitz1e49e142013-04-09 12:14:57 -0700150* link:config-themes.html[Themes]
Shawn O. Pearced2b73db2009-01-09 11:55:47 -0800151* link:config-gitweb.html[Gitweb Integration]
Shawn O. Pearce7b405712009-05-08 18:27:53 -0700152* link:config-gerrit.html[Other System Settings]
Sasa Zivkove5fc90e2013-05-10 15:12:13 +0200153* link:config-auto-site-initialization.html[Automatic Site Initialization on Startup]
Shawn O. Pearced2b73db2009-01-09 11:55:47 -0800154
Shawn O. Pearce0b91a632009-02-06 12:53:59 -0800155
Shawn O. Pearce9ad8ba52009-12-11 19:06:21 -0800156[[anonymous_access]]
157Anonymous Access
158----------------
Shawn O. Pearced2b73db2009-01-09 11:55:47 -0800159
Shawn O. Pearce9ad8ba52009-12-11 19:06:21 -0800160Exporting the Git repository directory
161(link:config-gerrit.html#gerrit.basePath[gerrit.basePath]) over the
162anonymous, unencrypted git:// protocol is more efficient than
163Gerrit's internal SSH daemon. See the `git-daemon` documentation
164for details on how to configure this if anonymous access is desired.
Shawn O. Pearced2b73db2009-01-09 11:55:47 -0800165
Shawn O. Pearce9ad8ba52009-12-11 19:06:21 -0800166* http://www.kernel.org/pub/software/scm/git/docs/git-daemon.html[man git-daemon]
Shawn O. Pearceb546c9b2009-02-24 13:12:39 -0800167
168
Martin Fick472bb9d2012-05-08 16:30:16 -0700169[[plugins]]
170Plugins
171-------
172
173Place Gerrit plugins in the review_site/plugins directory to have them loaded on Gerrit startup.
174
175
Shawn O. Pearce9ad8ba52009-12-11 19:06:21 -0800176External Documentation Links
177----------------------------
Shawn O. Pearced2b73db2009-01-09 11:55:47 -0800178
Shawn O. Pearce9ad8ba52009-12-11 19:06:21 -0800179* http://www.postgresql.org/docs/[PostgreSQL Documentation]
180* http://dev.mysql.com/doc/[MySQL Documentation]
181* http://www.kernel.org/pub/software/scm/git/docs/git-daemon.html[git-daemon]
Shawn O. Pearced2b73db2009-01-09 11:55:47 -0800182
Shawn O. Pearce5500e692009-05-28 15:55:01 -0700183
184GERRIT
185------
186Part of link:index.html[Gerrit Code Review]