1. JDK 설치
- http://whatwant.tistory.com/660
2. PostgreSQL 설치
3. Apache
- Proxy 기능이 필요하므로 해야할 일이 조금 더 있다.
$ sudo a2enmod proxy
$ sudo a2enmod proxy_http
$ sudo service apache2 restart
4. Git
- http://whatwant.tistory.com/658
5. Download
- 최근 사이트가 변경되면서... 웹사이트에서 다운로드 페이지 등의 호환성에서 IE는 잘 안되는 경우가 있다.
- 다운로드는 잘 되니 그냥 아래와 같이 수행하면 된다.
6. DB 계정 및 db 생성
$ createuser -A -D -P -E gerrit2
$ createdb -E UTF-8 -O gerrit2 reviewdb
$ exit
7. Gerrit 운영 계정 생성
$ sudo adduser gerrit2
$ sudo chown -R gerrit2:gerrit2 /srv/install/gerrit/
8. 설치하기
$ cd /srv/install/gerrit
$ java -jar ./gerrit-2.8.4.war init -d /srv/install/gerrit/workspace
***
Create '/srv/install/gerrit/workspace' [Y/n]? (Enter)
*** Git Repositories
***
Location of Git repositories [git]: repositories
*** SQL Database
***
Database server type [h2]: postgresql
Server hostname [localhost]: (Enter)
Server port [(POSTGRESQL default)]: (Enter)
Database name [reviewdb]: (Enter)
Database username [gerrit2]: (Enter)
gerrit2's password : (passwd)
confirm password : (passwd)
*** User Authentication
***
Authentication method [OPENID/?]: http
Get username from custom HTTP header [y/N]? (Enter)
SSO logout URL : (Enter)
*** Email Delivery
***
SMTP server hostname [localhost]: smtp.gmail.com
SMTP server port [(default)]: 587
SMTP encryption [NONE/?]: (Enter)
SMTP username [gerrit2]: xxx@gmail.com
@gmail.com's password : (passwd)
confirm password : (passwd)
*** Container Process
***
Run as [gerrit2]: (Enter)
Java runtime [/usr/local/java/jdk1.7.0_55/jre]: (Enter)
Copy gerrit-2.8.war to /srv/install/gerrit/workspace/bin/gerrit.war [Y/n]? (Enter)
Copying gerrit-2.8.war to /srv/install/gerrit/workspace/bin/gerrit.war
*** SSH Daemon
***
Listen on address [*]: (Enter)
Listen on port [29418]: (Enter)
Gerrit Code Review is not shipped with Bouncy Castle Crypto v144
If available, Gerrit can take advantage of features
in the library, but will also function without it.
Download and install it now [Y/n]? (Enter)
Downloading http://www.bouncycastle.org/download/bcprov-jdk16-144.jar ... OK
Checksum bcprov-jdk16-144.jar OK
Generating SSH host key ... rsa... dsa... done
*** HTTP Daemon
***
Behind reverse proxy [y/N]? (Enter)
Use SSL (https://) [y/N]? (Enter)
Listen on address [*]: (Enter)
Listen on port [8080]: (Enter)
Canonical URL [http://chani-VBox:8080/]: http://localhost:8080/
*** Plugins
***
Install plugin reviewnotes version v2.8.4 [y/N]? y
Install plugin download-commands version v2.8.4 [y/N]? y
Install plugin replication version v2.8.4 [y/N]? y
Install plugin commit-message-length-validator version v2.8.4 [y/N]? y
Initialized /srv/install/gerrit/workspace
Executing /srv/install/gerrit/workspace/bin/gerrit.sh start
Starting Gerrit Code Review: OK
Waiting for server on localhost:8080 ... OK
Opening http://localhost:8080/#/admin/projects/ ...No protocol specified
No protocol specified
OK
- 나중에 설정 내용은 변경할 수 있으므로 최대한 기본값으로 정했다.
9. Apache Configuration
$ htpasswd -c /srv/install/gerrit/workspace/etc/passwords "admin"
$ exit
ServerName localhost
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location /login/>
AuthType Basic
AuthName "Gerrit Code Review"
Require valid-user
AuthUserFile /srv/install/gerrit/workspace/etc/passwords
</Location>
AllowEncodedSlashes On
ProxyPass / http://127.0.0.1:8081/ nocanon
</VirtualHost>
- 추가로 sites-enabled 디렉토리에 동적링크도 만들어주자.
$ sudo ln -s ../sites-available/gerrit2 ./001-gerrit2
- 위와 같이 설정을 하였으면 Apache의 port 설정에도 추가해줘야 한다.
Listen 8080
- 위와 같이 8081 포트에 대해서 설정을 추가로 적어주면 된다.
- gerrit 의 설정값도 다시 한 번 살펴봐야 한다.
$ nano /srv/install/gerrit/workspace/etc/gerrit.config
basePath = repositories
canonicalWebUrl = http://localhost:8080/
[database]
type = postgresql
hostname = localhost
database = reviewdb
username = gerrit2
[auth]
type = HTTP
[sendemail]
smtpServer = smtp.gmail.com
smtpServerPort = 587
smtpUser = xxx@gmail.com
[container]
user = gerrit2
javaHome = /usr/local/java/jdk1.7.0_55/jre
[sshd]
listenAddress = *:29418
[httpd]
listenUrl = proxy-http://127.0.0.1:8081/
[cache]
directory = cache
$ cd /srv/install/gerrit/workspace/
$ ./bin/gerrit.sh restart
- [ http://localhost:8080 ] 주소로 접속을 하면 위와 같이 이름과 암호를 물어본다.
- 앞에서 "htpasswd"로 만든 계정을 이용해서 로그인하면 된다.
- 드디어 길고 긴 과정을 거쳐서 gerrit의 화면이 나왔다.
9. 후기
- 최근 시스템을 구축하면서 Gerrit에 대해서 활용팁(?) 등을 많이 얻었는데,
집에서 테스트 해보기 위해 우선 예전 설치 방식으로 설치를 다시 한 번 진행해보았다.
- 앞으로 Gerrit과 관련된 다른 내용을 추가해보도록 하겠다.
'SCM > Git-GitHub' 카테고리의 다른 글
Git build & install (linuxmint-17-cinnamon-64bit-v2, Git 2.1.2) (0) | 2014.10.26 |
---|---|
Git build & install (Ubuntu 14.04, Git 2.1.0) (1) | 2014.08.30 |
GitLab에 Gmail 셋팅하기 (사용자 관리) (0) | 2014.01.13 |
GitLab 6.3.1 (Ubuntu12.04, PostgreSQL, SourceCode) (0) | 2014.01.13 |
GitLab 3.5.3 (Ubuntu Server 12.04, SourceCode) (0) | 2014.01.13 |