| [[createdb]] | |
| == Database Setup | |
| During the init phase of Gerrit you will need to specify which database to use. | |
| [[createdb_h2]] | |
| === H2 | |
| If you choose H2, Gerrit will automatically set up the embedded H2 database as | |
| backend so no set up or configuration is necessary. | |
| Using the embedded H2 database is the easiest way to get a Gerrit | |
| site up and running, making it ideal for proof of concepts or small team | |
| servers. On the flip side, H2 is not the recommended option for large | |
| corporate installations. This is because there is no easy way to interact | |
| with the database while Gerrit is offline, it's not easy to backup the data, | |
| and it's not possible to set up H2 in a load balanced/hotswap configuration. | |
| If this option interests you, you might want to consider link:install-quick.html[the quick guide]. | |
| [[createdb_derby]] | |
| === Apache Derby | |
| If Derby is selected, Gerrit will automatically set up the embedded Derby | |
| database as backend so no set up or configuration is necessary. | |
| Currently only support for embedded mode is added. There are two other | |
| deployment options for Apache Derby that can be added later [1]: | |
| + | |
| * Derby Network Server (standalone mode) | |
| * Embedded Server (hybrid mode) | |
| + | |
| [1] http://db.apache.org/derby/papers/DerbyTut/ns_intro.html#ns | |
| [[createdb_postgres]] | |
| === PostgreSQL | |
| This option is more complicated than the H2 option but is recommended | |
| for larger installations. It's the database backend with the largest userbase | |
| in the Gerrit community. | |
| Create a user for the web application within PostgreSQL, assign it a | |
| password, create a database to store the metadata, and grant the user | |
| full rights on the newly created database: | |
| ---- | |
| $ createuser --username=postgres -RDIElPS gerrit2 | |
| $ createdb --username=postgres -E UTF-8 -O gerrit2 reviewdb | |
| ---- | |
| Visit PostgreSQL's link:http://www.postgresql.org/docs/9.1/interactive/index.html[documentation] for further information regarding | |
| using PostgreSQL. | |
| [[createdb_mysql]] | |
| === MySQL | |
| This option is also more complicated than the H2 option. Just as with | |
| PostgreSQL it's also recommended for larger installations. | |
| Create a user for the web application within the database, assign it a | |
| password, create a database, and give the newly created user full | |
| rights on it: | |
| ---- | |
| mysql | |
| CREATE USER 'gerrit2'@'localhost' IDENTIFIED BY 'secret'; | |
| CREATE DATABASE reviewdb; | |
| GRANT ALL ON reviewdb.* TO 'gerrit2'@'localhost'; | |
| FLUSH PRIVILEGES; | |
| ---- | |
| Visit MySQL's link:http://dev.mysql.com/doc/[documentation] for further | |
| information regarding using MySQL. | |
| [[createdb_oracle]] | |
| === Oracle | |
| PostgreSQL or H2 is the recommended database for Gerrit Code Review. | |
| Oracle is supported for environments where running on an existing Oracle | |
| installation simplifies administrative overheads, such as database backups. | |
| Create a user for the web application within sqlplus, assign it a | |
| password, and grant the user full rights on the newly created database: | |
| ---- | |
| SQL> create user gerrit2 identified by secret_password default tablespace users; | |
| SQL> grant connect, resources to gerrit2; | |
| ---- | |
| JDBC driver ojdbc6.jar must be obtained from your Oracle distribution. Gerrit | |
| initialization process tries to copy it from a known location: | |
| ---- | |
| /u01/app/oracle/product/11.2.0/xe/jdbc/lib/ojdbc6.jar | |
| ---- | |
| If this file can not be located at this place, then the alternative location | |
| can be provided. | |
| Instance name is the Oracle SID. Sample database section in | |
| $site_path/etc/gerrit.config: | |
| ---- | |
| [database] | |
| type = oracle | |
| instance = xe | |
| hostname = localhost | |
| username = gerrit2 | |
| port = 1521 | |
| ---- | |
| Sample database section in $site_path/etc/secure.config: | |
| ---- | |
| [database] | |
| password = secret_pasword | |
| ---- | |
| [[createdb_maxdb]] | |
| === SAP MaxDB | |
| SAP MaxDB is a supported database for running Gerrit Code Review. However it is | |
| recommended only for environments where you intend to run Gerrit on an existing | |
| MaxDB installation to reduce administrative overhead. | |
| In the MaxDB studio or using the SQLCLI command line interface create a user | |
| 'gerrit2' with the user class 'RESOURCE' and a password <secret password>. This | |
| will also create an associated schema on the database. | |
| To run Gerrit on MaxDB, you need to obtain the MaxDB JDBC driver. It can be | |
| found in your MaxDB installation at the following location: | |
| - on Windows 64bit at "C:\Program Files\sdb\MaxDB\runtime\jar\sapdbc.jar" | |
| - on Linux at "/opt/sdb/MaxDB/runtime/jar/sapdbc.jar" | |
| It needs to be stored in the 'lib' folder of the review site. | |
| In the following sample database section it is assumed that the database name is | |
| 'reviewdb' and the database is installed on localhost: | |
| In $site_path/etc/gerrit.config: | |
| ---- | |
| [database] | |
| type = maxdb | |
| database = reviewdb | |
| hostname = localhost | |
| username = gerrit2 | |
| ---- | |
| In $site_path/etc/secure.config: | |
| ---- | |
| [database] | |
| password = <secret password> | |
| ---- | |
| Visit SAP MaxDB's link:http://maxdb.sap.com/documentation/[documentation] for further | |
| information regarding using SAP MaxDB. | |
| [[createdb_db2]] | |
| === DB2 | |
| IBM DB2 is a supported database for running Gerrit Code Review. However it is | |
| recommended only for environments where you intend to run Gerrit on an existing | |
| DB2 installation to reduce administrative overhead. | |
| Create a system wide user for the Gerrit application, and grant the user | |
| full rights on the newly created database: | |
| ---- | |
| db2 => create database gerrit | |
| db2 => connect to gerrit | |
| db2 => grant connect,accessctrl,dataaccess,dbadm,secadm on database to gerrit2; | |
| ---- | |
| JDBC driver db2jcc4.jar and db2jcc_license_cu.jar must be obtained | |
| from your DB2 distribution. Gerrit initialization process tries to copy | |
| it from a known location: | |
| ---- | |
| /opt/ibm/db2/V10.5/java/db2jcc4.jar | |
| /opt/ibm/db2/V10.5/java/db2jcc_license_cu.jar | |
| ---- | |
| If these files cannot be located at this place, then an alternative location | |
| can be provided during init step execution. | |
| Sample database section in $site_path/etc/gerrit.config: | |
| ---- | |
| [database] | |
| type = db2 | |
| database = gerrit | |
| hostname = localhost | |
| username = gerrit2 | |
| port = 50001 | |
| ---- | |
| Sample database section in $site_path/etc/secure.config: | |
| ---- | |
| [database] | |
| password = secret_pasword | |
| ---- | |
| [[createdb_hana]] | |
| === SAP HANA | |
| SAP HANA is a supported database for running Gerrit Code Review. However it is | |
| recommended only for environments where you intend to run Gerrit on an existing | |
| HANA installation to reduce administrative overhead. | |
| In the HANA studio or the SAP HANA Web-based Development Workbench create a user | |
| 'GERRIT2' with the role 'RESTRICTED_USER_JDBC_ACCESS' and a password | |
| <secret password>. This will also create an associated schema on the database. | |
| As this user would be required to change the password upon first login you might | |
| want to to disable the password lifetime check by executing | |
| 'ALTER USER GERRIT2 DISABLE PASSWORD LIFETIME'. | |
| To run Gerrit on HANA, you need to obtain the HANA JDBC driver. It can be found | |
| as described | |
| link:http://help.sap.com/saphelp_hanaplatform/helpdata/en/ff/15928cf5594d78b841fbbe649f04b4/frameset.htm[here]. | |
| It needs to be stored in the 'lib' folder of the review site. | |
| In the following sample database section it is assumed that HANA is running on | |
| the host 'hana.host' with the instance number 00 where a schema/user GERRIT2 | |
| was created: | |
| In $site_path/etc/gerrit.config: | |
| ---- | |
| [database] | |
| type = hana | |
| instance = 00 | |
| hostname = hana.host | |
| username = GERRIT2 | |
| ---- | |
| In $site_path/etc/secure.config: | |
| ---- | |
| [database] | |
| password = <secret password> | |
| ---- | |
| Visit SAP HANA's link:http://help.sap.com/hana_appliance/[documentation] for | |
| further information regarding using SAP HANA. | |
| GERRIT | |
| ------ | |
| Part of link:index.html[Gerrit Code Review] | |
| SEARCHBOX | |
| --------- |