Nginx 환경에서 gitweb 구동은 아직 성공은 못했다.
누군가 성공하신 분이 계시면 알려주시면 대단히 감사하겠다는....
일단 기본적인 사항에 대해서는 지난 포스팅을 참고하길 바란다.
- http://whatwant.tistory.com/397
1. Git 준비 (gitweb 준비)
- Git을 소스코드 설치를 하셨다면 기본적인 준비는 모두 되어있는 것이다.
- http://whatwant.tistory.com/289
2. Apache2 준비
- 간단하게 그냥 패키지로 설치하자.
$ sudo apt-get install apache2
3. 경로 정리
- 개인적인 취향이 반영된 부분이지만... 여하튼 경로를 정리해보자.
- git 을 소스설치한 경로는 다음과 같다. [ /srv/install/git/git-1.7.11.2 ]
$ cd /srv/www
$ sudo ln -s /srv/install/git/git-1.7.11.2/gitweb ./gitweb.whatwant.com
$ sudo ln -s /srv/install/git/git-1.7.11.2/gitweb ./gitweb.whatwant.com
4. VirtualHost 생성
- default 사이트는 삭제하고, 포트 변경해서 생성해보자.
$ cd /etc/apache2/sites-available
$ sudo nano ./gitweb
$ sudo nano ./gitweb
<VirtualHost *:8080>
ServerAdmin whatwant@whatwant.com
DocumentRoot /srv/www/gitweb.whatwant.com
<Directory "/srv/www/gitweb.whatwant.com">
DirectoryIndex gitweb.cgi
Allow from all
AllowOverride all
Order allow,deny
Options ExecCGI
<Files gitweb.cgi>
SetHandler cgi-script
</Files>
SetEnv GITWEB_CONFIG /srv/www/gitweb.conf
</Directory>
</VirtualHost>
ServerAdmin whatwant@whatwant.com
DocumentRoot /srv/www/gitweb.whatwant.com
<Directory "/srv/www/gitweb.whatwant.com">
DirectoryIndex gitweb.cgi
Allow from all
AllowOverride all
Order allow,deny
Options ExecCGI
<Files gitweb.cgi>
SetHandler cgi-script
</Files>
SetEnv GITWEB_CONFIG /srv/www/gitweb.conf
</Directory>
</VirtualHost>
- 위 설정과 같이 8080 포트로 gitweb을 구동하고자 한다.
$ sudo nano /etc/apache2/ports.conf
NameVirtualHost *:8080
Listen 8080
Listen 8080
- sites 설정을 맞추자
$ cd /etc/apache2/sites-enabled
$ sudo rm -rf ./000-default
$ sudo ln -s ../sites-available/gitweb ./001-gitweb
$ sudo rm -rf ./000-default
$ sudo ln -s ../sites-available/gitweb ./001-gitweb
5. gitweb.conf
- gitweb 환경설정을 해보자.
$ sudo nano /srv/www/gitweb.conf
$git_temp = "/tmp";
# The directories where your projects are. Must not end with a slash.
$projectroot = "/srv/repositories";
$feature{'blame'}{'default'} = [1];
$feature{'highlight'}{'default'} = [1];
# The directories where your projects are. Must not end with a slash.
$projectroot = "/srv/repositories";
$feature{'blame'}{'default'} = [1];
$feature{'highlight'}{'default'} = [1];
6. gitweb + gitolite
- 기본적으로 gitolite를 적용한 환경에서 그냥 gitweb을 연결하면 testing.git repository밖에 안보인다.
- 그래서 별도의 과정을 추가로 진행하여야 한다.
$ sudo usermod -a -G gitolite www-data
$ sudo chown -R git.www-data /srv/repositories
$ sudo chmod -R g+rx /srv/repositories
$ sudo chown -R git.www-data /srv/repositories
$ sudo chmod -R g+rx /srv/repositories
- UMASK 기본 값을 변경해야 한다.
- 이와 관련된 설정 파일은 gitolite를 설치한 repository를 관리하기 위한 계정에 있다.
$ sudo su - git
$ nano ./.gitolite.rc
$ nano ./.gitolite.rc
#UMASK => 0077,
UMASK => 0027,
UMASK => 0027,
이제 8080 포트로 웹사이트 접속을 하면 된다~!!!
반응형
'SCM > Git-GitHub' 카테고리의 다른 글
git blame (-e 옵션) (0) | 2012.07.29 |
---|---|
git man (0) | 2012.07.25 |
Code Review - Gerrit (Install) (12) | 2012.07.07 |
[004] 당신은 Git을 어떻게 읽나요? (0) | 2012.06.28 |
[003] Git의 탄생 비화 (2) | 2012.06.26 |