Gitolite의 설정은 계정 관리 하나만의 문제가 아니다.
Repository 관리를 하기 위한 계정 관리 도구이므로 당연히 Repository 관리와도 밀접한 관계에 있다.


1. Repository

     - 제 포스팅을 따라서 Gitolite를 설치하신 분들은 아래와 같은 디렉토리 구조일 것이다.


     - 관심사항인 것만 표시한 것이다.

     - Gitolite에서 repository에 대해서 제약조건을 두는 것은 다음과 같다.

▷ 모든 repository는 Bare Repository여야 한다.
▷ 모든 repository의 접미사는 ".git"으로 끝나야 한다.




2. Path

     - 어떤 분의 문의로 인해서 알아보게 된 [ repositories ] 변경 방법이다.

     - 즉, 현재는 Gitolite 설치 時 정해진 경로대로 위 그림과 같이 자동으로 셋팅이 되어버린다.
     - 그런데, 다른 디렉토리로 설정하고 싶다거나 다른 디스크로 지정하고 싶을 경우에는 어떻게 해야할까?!

     - 여기저기 찾아본 결과 g3 버전의 Gitolite에서는 변경할 수 없었다.
     - [ $REPO_BASE ] 설정으로 변경할 수 있다고 하는데, 몇 번 테스트 결과 정상적으로 되지 않았다.

     - 그러면 어떻게 이 문제를 해결할 수 있을까?!

     - 뭐, 아시는 분들이라면 바로 알 수 있겠지만 '심볼릭 링크(ln)'를 이용하면 된다.

     - 중요한 것은 "권한 설정"이다.



오늘은 여기까지~ 헛! 또 날이 바뀌었네.... ㅠㅠ
반응형

'SCM > Git-GitHub' 카테고리의 다른 글

Gitolite - Personal Branches  (4) 2012.05.28
Gitolite - user, repo 추가하기  (14) 2012.05.26
Git 계정 관리 - Gitolite 설정하기  (3) 2012.05.19
Git 계정 관리 - Gitolite 설치하기  (23) 2012.05.15
GitWeb + Nginx  (0) 2012.05.09

하아~ Gitolite 설치하고 오랜시간이 흘렀다.
이제는 어떻게 쓰는지 알아보자.


1. pwd

     - Gitolite의 환경을 설정을 하기 위해서는 [ gitolite-admin.git ] repository를 다루면 된다.
     - 앞에서 Gitolite의 관리자로 [ gitolite ] 계정을 설정했으니 해당 계정으로 작업을 하면 된다.



     - clone 이후 디렉토리를 살펴보면 위와 같다.



2. gitolite.conf

     - repository 別 권한 설정에 대한 정보는 [ ./conf/gitolite.conf ] 파일에 있다.


     - 참 직관적이고 쉽게 되어있다.
     - 하나씩 알아보자.



3. Permission

     - Gitolite에서 사용할 수 있는 옵션은 다음과 같다.

Permission  Comments
 -  deny
 R  show
 RW  create a ref or fast-forward push a ref. No rewinds or deletes.
 RW+  create, fast-forward push, rewind push, or delete a ref.
 C  create repository.
 RWC  RW but no longer permit creating a ref.
 RW+C  RW+ but no longer permit creating a ref.
 RWD  RW but no longer permit deleting a ref.
 RW+D  RW+ but no longer permit deleting a ref.
 RWCD  RW but no longer permit creating and deleting a ref.
 RW+CD  RW+ but no longer permit creating and deleting a ref.
 M  no longer permit merge.

     - (우쒸 이 놈의 티스토리... 위지윅으로 표 편집하기 짜증나네...)

     - "-", "R" qualifier의 경우는 밑에서 예를 들면서 다시 한 번 설명을 하겠다.

     - "RW" qualifier는 앞으로 나아가는 것은 모두 가능하지만, 지우거나 되돌아가는 것을 허용하지 않는다.
     - "RW+" qualifier는 진정한 모든 기능 할당이다.

     - 단독으로 "C" qualifier를 할당할 경우 repository를 create할 수 있다.

     - "RWC"와 같이 같이 사용되는 "C"와 단독으로 사용되는 "C"는 의미가 다르다!!!

     - 만약 단독으로 사용된 "C" qualifier가 적용되었을 경우,
       다른 qualifier와 같이 사용되는 "C" or "D" permission 내역은 적용되지 않는다.

     - 마지막으로 "M" qualifier가 있다. 이는 merge를 허용하지 않고 싶을 경우에 사용한다고 한다.



4. Structure

     - [ gitolite.conf ] 옵션의 문법(?)은 아래와 같다.

<permission> <zero or more refexes> = <one or more users/user groups>

     - 여기에서 애매한 용어가 나온다. 바로 "refexes"

refexes = a regex that matches a ref

     - 그러면 [ ref ]는 무엇이냐고? 이런 의문을 갖는 분들은 Git을 많이 공부하지 않으신 분이 분명하다!!!
     - [ refs/heads/master ] 이런것 많이 보지 않으셨을런지... ^^

     - 저 위의 "문법"에 대해서 실 사용예를 몇 가지 들어보겠다.

repo wow
     RW    master                      = chani
     RW    refs/tags/v0.[0-9]      = hardworker
     RW    source/                    = iamslave

     - [ RW   master      = chani ]는 "master"라는 브랜치 RW 권한을 chani 계정에게 줘라!라는 의미이다.
     - 그런데, 여기에서 주의할 점이 있다. [ refexes = a regex that matches a ref ] 포인트는 "regex"
     - 그래서 'master' 브랜치 뿐만 아니라 "master21", "master_wow" 등도 모두 해당한다.
     - 그러면 정확히 "master" 브랜치만 지정하려면 어떻게 해야할까? 정답은 "$"

RW    master$     = chani

     - 그 다음 [ RW    refs/tags/v0.[0-9]      = hardworker ]를 살펴보면 tag에 대한 권한 설정도 확인이 된다.
     - 그 다음 [ RW    source/                    = iamslave]를 보면 디렉토리에 대한 권한 설정도 확인이 된다.

     - Gitolite는 기본적으로 명시되지 않을 경우에는 [ refs/heads/ ]가 생략되었다고 판단한다.



5. Group


     - 권한을 주기 위해서 일일이 계정이름을 적어주는 것은 너무 번거롭다.
     - 팀 別 권한을 주고, 그 안에 업무 別 권한을 주는 등의 설정을 위해서 Group 설정을 해보자.

@prj_kernel_repo     = kernel linux
@prj_kernel_user     = chani john

@prj_uboot_repo      = uboot boot               # make uboot
@prj_uboot_user      = miae charlse

@prj_repo               = @prj_kernel @prj_uboot
@prj_user               = @prj_kernel @prj_uboot

     - 여기에서 특이한 점은 repository와 user 그룹을 구분할 방법은 없다.
     - 사용을 할 때에 그 성격이 구분된다.



6, Read but...

     - Permission에서 "-"와 "R"의 용법에 대해서 알아보자.

repo gitolite-admin
   -  =   gitweb daemon
   option deny-rules = 1

repo @all
    R  = gitweb daemon

     - 위 글상자 안의 것을 보면 더 이상 설명이 필요 없을 것 같다.

     - 다만, 주의할 점은 순서이다. "-"가 앞에 위치하고 "R"이 뒤에 와야 한다.



7. Tip

     - Makefile과 같은 중요한 파일을 제어하는 방법에 대해서 알아보자.

@professional                 = chani john whatwant charlse
@begineer                      = doosan twins

repo ourproject
     RW                            = @professional @begineer

     RW   source/              = @professional
     -      source/Makefile  = @begineer
     RW   source/              = @begineer

     - 위 내용을 잘 살펴보아야 한다. 포인트는 제일 밑의 2줄!
     - [ source/Makefile ]에 대한 권한을 빼앗고선 [ source/ ]에 대한 권한을 설정해주었다.
     - 순서가 중요하다!



Gitolite를 제대로 멋지게 사용해보자!!!

반응형

'SCM > Git-GitHub' 카테고리의 다른 글

Gitolite - user, repo 추가하기  (14) 2012.05.26
Git 계정 관리 - Gitolite's Repository  (4) 2012.05.20
Git 계정 관리 - Gitolite 설치하기  (23) 2012.05.15
GitWeb + Nginx  (0) 2012.05.09
SSH Public Key - SSH 공개키  (0) 2012.05.04

예쁜 아가씨들이 3명이나 나온다고 하여 보게 된 일본 B급(C급?) 고어물~!!


가끔 일본 B급 고어물을 보는데,
보고나면 그다지 기분이 좋지는 않지만
가끔 아무생각없이 보기엔 나름 괜찮다는....ㅋㅋ
(변태 취급하지는 말아주세요 ㅠㅠ)


2010년도 뉴욕 아시안 필름 페스티벌에 나오면서 많이 유명해진 것 같다.
물론 그 배경에는 여주인공들이 예쁘다는...^^

감독은 3명이다,
이구치 노보루(Noboru Iguchi)
니시무라 요시히로(Yoshihiro Nishimura, 西村喜廣)
사카구치 타크(Tak Sakaguchi)


여주인공들은 아래와 같다.
스기모토 유미 (杉本有美 | すぎもとゆみ | Sugimoto Yumi)
타카야마 유코 (高山侑子 | たかやまゆうこ | Takayama Yuko)
모리타 스즈카 (森田涼花, Suzuka Morita)

피치레몬 잡지의 모델 출신들이거나
그라비아 아이돌 출신들이니 뭐... ^^



영화는 정말 B급이라고 불리우기도 좀 거시기한 C급 고어 액션물이다.
킬빌을 보신 분들은 알겠지만,
피가 정말 분수처럼 솟구치고 손목이 잘리고 목이 잘리고
머리가 부풀어 터지고 얼굴 피부가 벗겨지고...

하지만, 정말 어설픈 특수효과와 CG 그리고 분장....ㅋㅋ


기본적으로 이 영화는 신체변형을 기본으로한 요괴물(?)이다.
기본 설정은 정말 딱 만화책같다.

하지만, 나름대로 사회풍자도 하고 있고, 코믹적인 요소도 많다.
배우들도 면면이 보면 나름 많이 보던 사람들도 꽤 나온다.

일드를 조금 본 사람들이라면 알만한
타케나카 나오토(Naoto Takenaka, 竹中直人)의 발연기(?)를 보면 정말이지...


킬빌과 같은 영화에 익숙하지 않은 분들에게는 절대 추천하고 싶지 않다.
이 영화를 보면서 뭔가를 얻기를 원한다면 절대 추천할 수 없다.

유치찬란한 고어물이면서
나름 코믹하면서도
예쁜 언니들이 나오는 영화를
보기 원하는 분들만 보기 바란다.

그렇다고 야하거나 성적인 것이 나오는 영화는 아니다.
그렇다고 성적인 요소가 완전히 없는 것은 아니지만
이런 B급 영화에 나오는 살짝 맛뵈기식 정도만?!


개인적으로 메인 주인공보다는
그라비아 출신인 '모리타 스즈카'가 제일 마음에 드는데,
ㅋㅋ 연기는 정말 발연기...라는... ^^


정말 특이한 것은 IMDb의 평점과 네이버 평점이 비교적 높은 편이다.
이런 영화에 왜 이 정도의 점수가 나온 것인지 정말 의문이다.

이 영화에 녹아있는 풍자적인 측면을 높게 쳐준것인지,
아니면 여배우들의 미모를 높게 쳐준것인지...

보다보면 정말 손발이 오그라들기도 하는데....
그럼에도 이런 평점이라니....ㅋㅋ





IMDb   평점 : 5.80
네이버 평점 : 5.33
나만의 평점 : 3.91


Naver
http://movie.naver.com/movie/bi/mi/basic.nhn?code=76082
Wikipedia
http://en.wikipedia.org/wiki/Mutant_Girls_Squad
IMDb - Internet Movie Database
http://www.imdb.com/title/tt1590796/

[출처]
* 포스터 및 스크린샷은 위키피디아에서 퍼왔음을 밝힙니다.
(영화 관련 저작권 괴담은 무서워요~)
[ 주의 사항 ]
어디까지나 개인적인 영화평을 적는 공간이니만큼,
개인의 취향은 존중해주시면 감사하겠습니다.
건전한 비판이나 조언은 언제든 환영입니다!!!

반응형

회사에서도 개발 프로세스 하면 제일 먼저 언급되는 것이 바로 Agile(애자일)이다.

개발자들이 너무 많이 요청을 해서인지 공식적인 개발 프로세스 중 하나로 애자일이 포함되기는 하지만,
실제 애자일을 적용하여 진행하는 과제는 회사에서 그리 많지 않다.

그 이유는 바로 윗분들에게 보고를 해야하는 현실과 맞지 않는 부분이 많기에....^^
(물론 그 외에도 많은 다양한 이유가 있지만)


뭐 여하튼 현실 이야기는 그렇다치고...


애자일 프로세스를 지원하기 위한 도구 중 한가지로 많이 언급되는 것이 바로 Redmine이다.
뭐 딱히 애자일을 지원하기 위해 뭔가가 있는 것은 아니지만, 뭐 어떻게 보면 그렇기도 하고.....^^

사실 애자일 프로세스를 지원하기 좋은 도구는 IBM RTC 라는 도구이기는 하다.
하지만, 고가의 도구이면서 실제로 써보면... 음... 뭐라고 해야할지... 음 미묘하게... 음...

뭐 여기에서 이야기하려는 것과는 조금 벗어나니 다시 원위치로 돌아와서~

Redmine의 버전을 잘 이용하면 애자일의 스프린트를 적용해서 어찌어찌 어떻게 할 수는 있다.



하지만, 애자일을 위해 조금 더 지원되는 것이 있으면 좋겠다라고 생각했는데,
역시나 Plugin으로 제공이 된다.

그것이 바로 "Redmine-Scrumbler"



1. clone

     - 일반적인 플러그인 설치 과정과 같다.


$ sudo su - redmine


     - [ Redmine ]을 설치했던 계정으로 접속을 하자.


$ cd /srv/www/redmine.whatwant.com/redmine/
$ git clone git://github.com/256MbTeam/Redmine-Scrumbler.git vendor/plugins/redmine_scrumbler


     - [ Redmine ]이 설치되어있는 디렉토리로 이동 후 clone 하면 된다.
     - 경로는 [ ./vendor/plugins/redmine_scrumbler ] 이다. 디렉토리명 변경하면 에러~



2. migrate

     - database 셋업을 해야한다.


$ rake db:migrate:plugin NAME=redmine_scrumbler


   - 그런데, 위 스크린샷과 같이 에러가 발생했다.
   - 기본적으로 database가 'development'로 잡혀있어서 그렇다.


$ rake db:migrate:plugin NAME=redmine_scrumbler RAILS_ENV=production


     - 'production'으로 database가 되어있다면 위와 같이 해주면 된다.



3. execute

     - 이제 Redmine을 재시작해서 확인하면 된다. Redmine 재시작의 제일 깔끔한 방법은 Linux의 재부팅 ^^
     - 그리고 Redmine을 접속해보면 된다.


     - 관리 메뉴에서 보면 위와 같이 "Scrumbler" 항목이 추가되어있는 것을 확인할 수 있을 것이다.


     - 막상 눌러보면 위와 같이 썰렁한 내용만 나온다.
     - "Scrum Points"로 줄 수 있는 점수들을 할당해주는 것이다.

     - 그러면 나머지 사항들은 어디에서 볼 수 있을까!?



4. Projects

     - 프로젝트의 항목에서 그 진가를 발휘한다.


     - 기존에 있던 프로젝트로 가서 '설정'→'모듈'을 들어가보면 위 스크린샷과 같다.
     - [ Redmine scrumbler ] 항목을 체크해보면...


     - 위와 같이 메뉴에 [ Scrumbler ] 항목이 추가된 것을 볼 수 있을 것이다.


     - 눌러보면 또다시 썰렁한 화면만 나온다.



5. Sprint

     - Sprint는 어떻게 만들까?


     - Project의 '설정'→'버전'에서 추가해주면 된다.


     - [ Scrumbler ] 메뉴의 "Backlog" 화면의 오른쪽 'Sprint'에서 오른쪽 끝의 [ + ] 버튼을 눌러서 추가해주어도 된다.


     - 제일 좋은 것은 그냥 "새 버전"으로 만드는 것이 깔끔하긴 하다.


     - 그런데, 이렇게 새로 추가를 해도 위와 같이 [ Scrumbler ] 메뉴에서는 아무런 변화가 없다.


     - [ Scrumbler ]의 "설정"을 누르면 위와같이 보이기는 한다.


     - 위 화면을 잘 보면 상태가 "Planning"인 것을 확인할 수 있을 것이다.


     - "All Sprints"를 눌러도 아무것도 안보인다.


     - 그럼 "새 일감 만들기"를 하면 어떻게 될 것인가?

     - 그런데, 위 화면을 보면 못보던 아이들이 추가된 것을 알 수 있을 것이다. [ Scrum Points ]


     - [ Scrumbler ]의 "Backlog"를 누르면 위와 같이 나타난 것을 볼 수 있을 것이다.


     - 왼쪽 "Backlog"의 'New Issue" 눌러서 일감을 추가할 수도 있다.
     - 하지만, 위에서 말한 바와 같이 "새 일감 만들기"로 만드는 것이 이로울 것 같다는...


     - 여기에서 드래드&드랍 기능도 지원한다.



6. 애자일

     - 여기에서 지켜야할 것들을 몇 가지 발견했다.

     - 일감을 만들 때엔 우선 Backlog에다가 만든다 (목표 버전 또는 Sprint에 할당하지 않으면 된다)
     - Sprint는 한 번에 하나만 Open 할 수 있다. ( Planning → Open → Close )
     - Sprint가 Planning인 상태에서 Backlog에 있는 이슈들을 할당을 하고,
     - 다 추가했으면, 해당 Spirnt를 Open해서 진행하면 된다.




보다 자세한 정보는 아래 링크에서 확인하면 된다.
     - https://github.com/256MbTeam/Redmine-Scrumbler

애자일 프로세스를 사용한다면 한 번쯤 적용을 심각히 고려해봐도 괜찮을 것 같다.

애자일에 대한 이해가 있어야 이 플러그인을 제대로 사용할 수 있다.
방법을 벗어나면 에러메시지를 뿌려댄다.

나름 잘 만들었지만, 예외 사항에 대한 처리는 아직 조금 부족한 것 같다.

반응형

Git의 기본적인 계정(권한) 관리는 SSH를 따라간다고 앞에서 지겹게 언급했다.

SSH가 훌륭한 놈이라는 것은 분명하지만,
계정 관리에 있어서 부족함이 있는 것 또한 분명하다.

Git에 있어서도 다양하고 디테일한 권한 설정 등이 필요한데,
이 부분을 SSH는 충분히 채워주지 못하고 있다.

그래서, Git을 위한 계정(권한) 관리 도구들이 계속 나타나고 있다.

과거에는 Gitosis 라는 것을 주로 사용했으나 기능이나 사용상의 편의성에 있어서 부족함이 보여서
새로운 Gitolite 라는 것이 나타났고, 최근에는 거의 대부분 Gitolite를 사용하고 있다.

사실 일반적인 경우 Gitosis만 가지고도 대부분 처리가 가능하나,
왠지 더 최근의 보다 더 막강한 Gitolite를 적용하곤 하는 것도 없지 않아 있는 것 같다.
물론 나의 경우에도 마찬가지다! 최신병에 걸린 죄로.... Gitolite에 대해서 연구를 해보겠다!!!




Gitolite를 설치하는 방법은 당연하게도 패키지 설치와 소스 설치가 있고...
여기에서는 소스를 가지고 설치하는 과정으로 설명을 할 것이다.


[ 전면수정 ]
   - 내가 바보같아서인지, 이 놈의 Gitolite에 대해서 친절하게 설명해 놓은 자료가 안보인다.
   - 가끔 친절한척 자세히 적어놓은 것들이 있지만, 따라하다보면 대체 뭘하는 것인지 모르겠는 그런 것이 대부분이다.
   - 더더욱 힘들게 하는 것은 Gitolite가 최근 g2 버전에서 g3로 바뀌면서 설치 과정들이 바뀌었다.
   - 그래서 예전 기억을 더듬어 차근차근 포스팅을 해나가다가... 좌절! 결국 대폭 수정 작업!!! 짜증 확!!! ㅠㅠ




1. Gitolite


     - Gitolite 프로젝트의 홈페이지는 아래와 같다.
          ▷ https://github.com/sitaramc/gitolite
     - 설치 과정에 대한 매뉴얼은 아래와 같다.
          ▷ http://sitaramc.github.com/gitolite/install.html
     - 계정 관리 등에 대해서 요약(?)을 한글로 보고 싶다면 아래 주소로 가라.
          ▷ https://github.com/progit/progit/blob/master/ko/04-git-server/01-chapter4.markdown



2. 시스템(계정) 구성

     - Gitolite를 설치하는 환경을 위해 어떻게 구성해야하는지 살펴보자.


     - 꼭 위와 같이 구성해야하는 것은 절대 아니다.
     - 아래 설명하는 내용을 잘 읽어보고 어떻게 구성해야하는지 각자 결정하면 된다.

     - 위의 직사각형은 각 계정을 의미한다.
     - [ git-repo ] 계정은 Git repository를 운영하기 위한 계정이다.
     - [ gitolite ] 계정은 Gitolite를 관리하기 위한 관리자 계정이다.
     - [ user ] 계정은 그냥 여러분이 사용하는 Ubuntu의 기본 계정이다.

     - 위 그림에 대한 설명은 아래 내용들을 하나씩 따라하면 알 수 있을 것이다.



3. 계정 생성

     - SSH 환경에서 여러 개발자들을 지원해주기 위해서는 Linux 계정을 그 숫자만큼 만들어줘야 했다.
     - Gitolite를 적용하게 되면 Linux 계정을 만들어주지 않고도 Git 계정을 만들어 줄 수 있다.
     - 대표 계정 하나로 나머지를 모두 커버하는 것이다.


$ sudo adduser gitolite
$ sudo adduser git-repo

     - [ gitolite, git-repo ]라는 계정을 추가해주자.



4. Public Key 등록

     - 현재 작업중인 계정에서 다른 계정에 접근하기 위해 Public-Key를 등록해주자.


     - 지금 사용중인 user의 계정에서 gitolite, git-repo 계정으로 ssh 접근을 바로(패스워드 없이) 하기 위해서
       user 계정의 공개키를 넣어주는 것이다.


$ ssh-keygen
$ ls -al ~/.ssh/

     - [ ~/.ssh/ ] 계정의 홈디렉토리 밑에 있는 '.ssh/' 디렉토리 밑의 파일들을 우선 확인하고,
     - [ id_rsa ], [ id_rsa.pub ] 파일들이 안보이면 [ ssh-keygen ]으로 생성을 해주면 된다.

 

$ ssh-copy-id -i ~/.ssh/id_rsa.pub gitolite@localhost
$ ssh-copy-id -i ~/.ssh/id_rsa.pub git-repo@localhost


     - 지금 현재 계정의 공개키를 gitolite, git-repo 계정에 넣어주기 위한 명령이다.


     - 잘 되었는지 검증해보기 위해서는 아래와 같이 직접 ssh 접속을 해보면 안다.

     - 암호를 묻는 과정이 사라졌다.
     - gitolite 계정의 [ ~/.ssh/ ] 경로를 살펴보면 [ authorized_keys ] 파일이 보일 것이다!



5. Gitolite 다운로드 받기

     - 위와같이 계정들을 생성하고 준비를 하고...이제 Gitolite를 설치해보자.
     - 그런데, 어디에 Gitolite를 설치해야할까?!

     - 정답은 repository를 저장할 곳이다! 즉, [ git-repo ] 계정에서 설치를 해야하는 것이다.

 


     - [ git-repo ] 계정에서 Gitolite를 다운로드 받고 설치하면 된다.
 



     - 위 사이트에서 경로를 확인하고... 진행을 계속 해보자.



   - [ git-repo ] 계정으로 작업을 하기 위해서 해당 계정으로 접속한다.
   - [ git-repo ]의 홈디렉토리에서 Gitolite를 clone하면 된다.

   - 그런데, 여기에서 중요한 점을 하나 집고 넘어가야 한다.
   - 웹에서 검색이 되는 Gitolite의 설치가이드 대부분과 지금 현재 상황이 맞지 않는다는 점이다.
   - 그 이유는 버전이 틀리다!!! 기존 Gitolite 대부분은 "g2" 버전이고, 지금은 "g3"다.
   - 그래서 설치 스크립트가 틀리다.
   - 2012.04.17에 g3가 릴리스가 되어서인지, 이와 관련한 자료는 거의 없다.



6. install

     - 다운로드 받은 Gitolite를 설치해보자.


$ ./gitolite/install

     - 그냥 'install'만 실행하면 일단 끝이다.

     - 만약 다른 디렉토리에 설치하고 싶으면 [ ./gitolite/install -to /srv/install/gitolite ]와 같이 사용한다.
     - 여기에서 설치하는 것은 실행할 수 있는 binary들이다.

     - 이제 이어서 'setup'을 해야하는데, 관리자 계정의 공개키가 필요하다.
     - 앞에서 만든 계정 중에서 우리는 [ gitolite ]라는 이름으로 관리자 계정을 만들어 놓았다.


$ ssh gitolite@localhost
$ ssh-keygen

     - 여기서 생성한 공개키를 전송해야한다.



     - [ gitolite ]의 공개키를 [ git-repo ] 계정 어딘가로 전송을 하고자 한다.

     - 위의 경우 ~/.ssh/ 밑에 위치했는데, 꼭 그곳이 아니어도 된다.
     - 관리자로 사용할 계정의 공개키가 Gitolite 설치과정에서 필요로 해서 이렇게 하는 것이다.


$ ./gitolite/src/gitolite setup -pk ./.ssh/gitolite.pub

     - install 후에 사용할 수 있게 된 [ ./gitolite/src/gitolite ] 명령어를 이용하여 setup을 하는데,
     - [ gitolite ] 계정의 공개키를 관리자로 등록하는 것이다.

     - Gitolite는 하나의 repository로 관리를 하게 된다. 위 화면에서 보는 바와 같이 [ gitolite-admin.git ]이 그것이다.
     - 해당 repository에 자료를 넣을 수 있는 관리자는 방금 전에 등록한 공개키로 인하여 [ gitolite ] 계정이다.

     - 친절하게도 테스트 해볼 수 있게 [ testing.git ] repository도 제공을 해준다.



7. clone

     - [ gitolite-admin.git ] repository를 clone 받아서 확인을 해보도록 하겠다.


$ ssh gitolite@localhost
$ mkdir repositories

     - Gitolite에 관리자로 등록시킨 [ gitolite ] 계정으로 접속하자.
     - clone 받을 디렉토리도 'repositories'라는 이름으로 만들어두자.

▶ 여기에서 Gitolite를 처음 접하는 분들을 위한 질문~!!!!!!!
     - 위와 같이 만든 [ Gitolite를 적용한 Git ]에 어떻게 접근을 할까?!

▷ 정답은 대표 계정 1개로 접근을 한다!
     - 이 포스팅 내용대로라면 여기에서는 [ git-repo ] 계정


     - [ gitolite ] 계정이 [ git-repo ] 계정에 접근을 하려고 하면,
     - 'gitolite' 계정의 private key에 대응하는 public key를 찾는데,
     - [ Gitolite ]가 이 부분에 개입을 해서 등록된 public key를 기반으로 권한을 확인하고
     - repository에 대한 접근 권한을 조정한다.

     - 이 부분에 대해서 오랫동안 고민해보질 못해서인지 쉽게 설명은 안되는데, 위의 글과 그림을 잘 봐보면....^^

     - 일단, clone을 해보자.


$ cd ~/repositories
$ git clone git-repo@localhost:gitolite-admin.git


     - 지금 현재 사용자 계정은 [ gitolite ]이다.
     - Gitolite에 관리자로 public key를 등록한 계정도 [ gitolite ]이다.
     - 그런데, clone을 할 때 [ git-repo ] 계정으로 접근을 했다. 응?!

     - 위에서 말한바와 같이, Gitolite를 사용할 때에는 무조건 대표 계정을 사용한다.

     - 그러면, 다른 계정에서 똑같이 하면 어떻게 될까?


     - Gitolite에 별도로 계정 등록을 하지 않은 사용자 chani 계정에서 접근을 할 때인데... 당연히 접속 불가~!!!


     - [ chani ] 계정이 'git-repo' 계정으로 접근을 하지만,
     - Gitolite가 등록된 공개키를 확인을 하는데 등록된 것이 없기에 접근을 거부하게 된다.




이번 포스팅을 하면서 너무 오랜 시간이 걸렸고, (헷갈리기도 하고 주말에 열심히 놀기도 하고 사고도 있고.....)
포스팅 내용 자체도 너무 길어지는 관계로 여기까지만해서 설치에 대해서 마무리!!!

계정 관리하는 것이나, admin 환경 설정하는 것이나 그러한 것들은 다음 포스팅으로.......


아자~!!! 오늘 두산 이겼다.... 그런데, 좀 부끄럽게 이겼다.... 프로들이 어이없는 실수들을 서로 남발하는....ㅋㅋㅋ

반응형

'SCM > Git-GitHub' 카테고리의 다른 글

Git 계정 관리 - Gitolite's Repository  (4) 2012.05.20
Git 계정 관리 - Gitolite 설정하기  (3) 2012.05.19
GitWeb + Nginx  (0) 2012.05.09
SSH Public Key - SSH 공개키  (0) 2012.05.04
Git Branch (브랜치) - Remote Ⅲ (생성, track)  (0) 2012.05.01

예전에 한 번 봤는데, 다시 한 번 더 본 영화


포스터 보니까 뭔가 느껴지지 않으십니까?!
빙고! 주연들이 제법 이름값 있는 애들입니다!!!


생각보다 돈은 많이 못 벌었다.
주연 배우들의 이름값에 비해서...


감독은 "로버트 루케틱(Robert Luketic)"이라는 1973년생 아저씨다.
2001년도 '금발이 너무해'라는 너무나 유명한 영화로 데뷔를 한 엄친아 아저씨다.
그 이후로도 계속 대박내지는 중박을 터뜨렸고,
또 너무나 유명한 MIT 애들이 라스베가스에 가서 장난친 "21"도 이 아저씨 작품이다.
"금발이 너무해"부터 "21"까지 데뷔부터 연타석 4번이나 박스오피스 1위를 했다는...


여주인공은 "캐서린 헤이글(Katherine Heigl)"이라는 1978년생 미국 아줌마다.
남편은 2살 어린 "조쉬 켈리 (Josh Kelley)"라는 가수다. 오~ 능력자!!!
그런데, 특이하게도(?) 2009년도에 딸을 한 명 입양했다.
그것도 한국인으로...
더욱 더 특이한(?) 것은 캐서린의 언니도 한국인 입양아이다.
캐서린은 부모님과 같은 가정을 이루고 싶은 마음에 친자식을 갖기 전에
한국출신으로 입양을 했다고 한다.

"캐서린 헤이글"은 대박 미드 '그레이 아나토미'로 인해서 우리에게 잘 알려졌다.
그 외에는 1998년도 '사탄의 인형 4 - 사탄의 신부'에서 주연을 했었다.
'그레이 아나토미'로 대박을 쳐서인지 최근에는 주연으로 계속 영화를 찍고 있다.


문제의
남주인공 "애쉬튼 커처(Ashton Kutcher), 1978년생 미국 아이오와 출신 이혼남.
데미무어와 결혼을 해서 이슈가 되고, 또 다시 이혼을 해서 이슈가 된
여자들에게 정말 인기가 많은 놈!
6년간의 결혼생활을 쫑낸 이유도 바로 '애쉬튼 커처'가 외도를 해서라고 한다.

"라스베거스에서만 생길 수 있는 일"
"나비 효과"
"우리 방금 결혼했어요"

내가 알고 있는 영화에는 이 정도로 나온 것 같다.

아주 멋진 일은
아카데미 시상식 하루 전 날 진행하는
"제31회 골든 라즈베리 시상식"에서
 바로 이 "킬러스"라는 영화로
최악의 남우주연상을 수상했다!!! ^^



에고...
감독도 잘난 놈이고
두 주연도 잘난 애들이다 보니
소개하다가 시간 다 지나갔네...




이제 이 "킬러스"라는 영화에 대해서 좀 소개를 하자면...
"액션, 코미디, 멜로"라는 장르인데,
철저하게 그 장르의 특성을 갖고 있는 영화다.

초반에는 그냥 봐줄만하다가 중간에도 그냥 멜로로 볼만하다가
클라이막스 부분에서는 조금 아쉬운 마음은 들지만 그래도
액션과 총격씬도 그냥 괜찮고 하다가
마무리에 가서 정말 정말 맥이 탁~ 빠지는 것이 실망이 아주 그냥...

기본적인 설정은 조금 빤~하다.

하지만,
여주인공의 글래머러스한 몸매가 아주 그냥~
애쉬튼 커처도 조금 삐툴어져 보이는 코가 조금 거슬리긴하지만 봐줄만 하고~



그냥 킬링 타임용으로는 꽤 괜찮다.
감독, 남주, 여주 만으로도 꽤 봐줄만하다.

버뜨~ 엔딩의 허무함은 조금 이겨낼 각오를 해야한다.




IMDb   평점 : 5.10
네이버 평점 : 7.09
나만의 평점 : 5.11


Naver
http://movie.naver.com/movie/bi/mi/basic.nhn?code=70122
Wikipedia
http://en.wikipedia.org/wiki/Killers_(2010_film)
IMDb - Internet Movie Database
http://www.imdb.com/title/tt1103153/

[출처]
* 포스터 및 스크린샷은 위키피디아에서 퍼왔음을 밝힙니다.
(영화 관련 저작권 괴담은 무서워요~)
[ 주의 사항 ]
어디까지나 개인적인 영화평을 적는 공간이니만큼,
개인의 취향은 존중해주시면 감사하겠습니다.
건전한 비판이나 조언은 언제든 환영입니다!!!
반응형

Git Repository를 셋팅해놓고 보면 자주 나오는 요청 사항 중 하나가 바로 Web 환경이다.
소스 코드 등을 Web 환경에서 제공해주길 바라는 것이다.


Git은 기본적으로 GitWeb이라는 것을 제공해준다.
Redmine을 사용한다면 GitWeb 대신 Redmine에서 제공해주는 '저장소' 메뉴를 활용할 수도 있다.


여기에서는 GitWeb을 설치하는 방법을 알아보겠다.
단, 일반적인 설치 방법과 다른 점은 웹서버를 Apache가 아니라 Nginx를 이용해보겠다.

그렇다고, 뭐가 많이 다른 것은 아니다.
CGI만 구동할 수 있다면 어떤 웹서버를 사용해도 무관할 것으로 보인다.


1. build

   - 일단은 Git의 Source Code가 필요하다.
   - 이번 기회에 Git 업그레이드도 할 겸 새로 다운로드 받아보자.



   - Git의 경우 major 업그레이드는 가끔이지만, Minor 업그레이드는 자주 올라오고 있다.

 


$ tar zxvf git-1.7.10.1.tar.gz
$ cd git-1.7.10.1/

$ make GITWEB_PROJECTROOT=/srv/repository prefix=/usr/local all
$ sudo make prefix=/usr/local install

   - 압축을 풀고, make를 진행하면 된다.
   - 기존과 다른 점은 [ GITWEB_PROJECTROOT=/srv/repository ] 옵션이 추가되었다.
     → repository가 있는 위치를 지정해주는 부분이다.
   - make 옵션의 제일 뒤에 [ all ]이 있는데, 모든 것으로 지정했기 때문에 GitWeb 관련 부분도 포함이 되어버린다.
     → GitWeb만을 위해 make 할 때에는 [ all ] 대신에 [ gitweb/gitweb.cgi ]라고 적어주면 된다.


$ git --version

   - 설치된 결과를 확인해보자.




2. copy

   - 생성한 파일들을 웹서버로 구동하기 위해 일단 위치 정리부터 해보자.


$ sudo cp -Rf gitweb /srv/www/

   - 우리가 관심이 있는 파일은 [ gitweb.cgi ]이다.



3. webrick

   - 잘 동작하는지 한 번 살펴보자.


$ git instaweb --httpd=webrick

   - 아무곳에서나 실행을 하면 위와 같이 에러가 발생을 한다.
   - git repository 안에서 실행을 하면 된다.


   - "bare1repo.git" 디렉토리 안에서 실행을 하지만, 그 상위 디렉토리에서 실행이 된다. (이유는 ???)


   - 정말 보기가 편하다. 'CLI' 환경에 비해서 다양한 정보를 보기가 너무 좋다.



4. Nginx

   - 이 블로그의 포스팅을 계속 보고 계시는 분들은 알겠지만, WAS로 Nginx를 계속 사용하고 있다.
   - Redmine, Munin 모두 Nginx를 기반으로 구동을 했었으니, GitWeb도 Nginx로 구동을 하고자 했다.

   - 그런데, 문제는 이쒸 정말 아우~ 정말 빡치게도.... Nginx와 GitWeb은 친하지 않다.

   - GitWeb이 'CGI'로 되어있는데, Nginx는 기본적으로 FastCGI를 지원하지 않는다.
   - 거기에다가 더욱 더 큰 문제는 기본적인 CGI가 아니라 Perl 기반으로 되어있는 GitWeb이다.


$ sudo apt-get install libfcgi-perl

   - Perl기반의 CGI 지원을 위해 [ libfcgi-perl ]을 설치해주자.


$ sudo apt-get install fcgiwrap spawn-fcgi

   - 추가적으로 2가지 더 설치를 해주자.


$ sudo nano /opt/nginx/conf/nginx.conf

    server {
        listen 9000;

        location @gitwebhandler {
            rewrite /gitweb /gitweb.cgi;
        }

        location /gitweb {
            alias /srv/www/gitweb;
            index gitweb.cgi;

            try_files $uri $uri/ @gitwebhandler;
            expires 10d;

            location ~* \.(css|png|gif|ico|jpe?g|js) {
                expires 31d;
            }

            location ~ .cgi$ {
                root /srv/www/gitweb;
                if (!-e $request_filename) { rewrite / /gitweb.cgi last; }
                expires off;

            #    fastcgi_pass unix:/var/run/fcgiwrap.socket;
                fastcgi_pass 127.0.0.1:8999;
                fastcgi_index gitweb.cgi;
            #    fastcgi_param SCRIPT_NAME $fastcgi_script_name;
                fastcgi_param SCRIPT_NAME gitweb.cgi;
            #    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param SCRIPT_FILENAME /srv/www/gitweb/gitweb.cgi;
                include /opt/nginx/conf/fastcgi_params;
            }
        }
    }

   - 위와 같이 하면 일단 구동은 할 수 있는데, 제대로 동작은 하지 않았다.
   - 첫 화면은 잘 나오는데, repository 등을 클릭했을 때 정상 동작하지 않는다.

   - 몇 일을 해결하려고 애를 썼는데, 해결이 안된 상태로 그냥 그대로 포스팅한다.




다른 진도를 나가야하는데, 여기에 너무 많은 시간을 투자하게 되어 해결하지 못하고 마무리 하게 되어 정말 아쉽다.
나중에라도 꼭 해결을 해보도록 하겠다.

Apache2 환경에서는 곧 추가하도록 하겠다.

이상~

반응형

TV판으로 너무나 재미있게 봤던 대작, "마크로스 프론티어"의 마지막 완결판.
2011년도 작품으로 극장판이다.


이 작품에 대한 설명은 아래 사이트에 접속하면 너무나 친절하고 자세하게 나온다.

http://www.rigvedawiki.net/r1/wiki.php/%EB%A7%88%ED%81%AC%EB%A1%9C%EC%8A%A4%20%ED%94%84%EB%A1%A0%ED%8B%B0%EC%96%B4%20%EC%9E%91%EB%B3%84%EC%9D%98%20%EB%82%A0%EA%B0%9C
   - 위 사이트가 느리다면 아래 주소로 접속하면 된다.
   - http://mirror.enha.kr/wiki/%EB%A7%88%ED%81%AC%EB%A1%9C%EC%8A%A4%20%ED%94%84%EB%A1%A0%ED%8B%B0%EC%96%B4%20%EC%9E%91%EB%B3%84%EC%9D%98%20%EB%82%A0%EA%B0%9C

물론 아래에 있는 일본 위키피디아를 보면 더욱 더 자세히 알 수 있다.



공식 사이트는 아래와 같다.
   - http://macrossf.com/movie2/




재패니메이션의 경우 종종 TV판과 극장판의 시나리오가 이상하게 얽혀있다.
TV판과 극장판의 이야기가 관계가 없지도, 있지도 않은 것이다.

기본적인 설정은 공유하지만
이야기가 조금 다르게 풀려나가곤 하는 것이다.

그렇다고 해서 둘 사이에 관계가 아예 없는 것도 아니고... 좀 묘하다.


여하튼, "마크로스 F - 작별의 날개" 역시 마찬가지다.
TV판과 다른 부분이 꽤 나오지만,
또 어떤 부분은 인과관계를 가지기도 한다.



'마크로스 F'의 특징인 노래!!!
이번에도 역시나 대단하다!!!!!!!

특히 오프닝에 나오는 "금단의 엘릭시아"는 정말 마음에 든다.



일본 위키피디아를 읽어보면 홍보 방법 등도 너무나 재미있고,
설정 등도 정말 너무 재미있다.

역시 오타쿠의 본고장 답고,
'마크로스 프론티어'의 명성 답다는 생각이 든다.




TV판을 보지 않은 사람들이 봐도 괜찮겠지만,
이왕이면 TV판을 모두 보고
어느 정도 '마크로스 프론티어'의 세계에 적응을 하고
이 애니메이션을 보면
보다 더 재미있게 볼 수 있을 것이다.



더욱 더 재미있는 것은
엔딩이 상당히 애매하게 끝나는데...
그 부분에 대해서
팬들이 흔적을 찾고 추적을 하는 모습이... ^^




나만의 평점 : 8.21


Wikipedia (JPN)
http://en.wikipedia.org/wiki/Tron:_Legacy
Wikipedia (JPN→KOR)
http://translate.google.co.kr/translate?hl=ko&sl=ja&u=http://ja.wikipedia.org/wiki/%25E5%258A%2587%25E5%25A0%25B4%25E7%2589%2588_%25E3%2583%259E%25E3%2582%25AF%25E3%2583%25AD%25E3%2582%25B9F&ei=ItqjT-H4ELGciAf_mMiCCQ&sa=X&oi=translate&ct=result&resnum=2&sqi=2&ved=0CD0Q7gEwAQ&prev=/search%3Fq%3D%25E5%258A%2587%25E5%25A0%25B4%25E7%2589%2588%2B%25E3%2583%259E%25E3%2582%25AF%25E3%2583%25AD%25E3%2582%25B9F%2B%25E6%2581%258B%25E9%259B%25A2%25E9%25A3%259B%25E7%25BF%25BC%2B~%25E3%2582%25B5%25E3%2583%25A8%25E3%2583%258A%25E3%2583%25A9%25E3%2583%258E%25E3%2583%2584%25E3%2583%2590%25E3%2582%25B5%26hl%3Dko%26newwindow%3D1%26biw%3D1253%26bih%3D945%26prmd%3Dimvns


[출처]
* 포스터 및 스크린샷은 http://eiga-chirashi.jp/view_item.php?titleid=6507에서 퍼왔음을 밝힙니다.
(영화 관련 저작권 괴담은 무서워요~)
[ 주의 사항 ]
어디까지나 개인적인 영화평을 적는 공간이니만큼,
개인의 취향은 존중해주시면 감사하겠습니다.
건전한 비판이나 조언은 언제든 환영입니다!!!

반응형

+ Recent posts