17
開発環境構築勉強会資料 -gitolite,gitweb編- Jun HASHIMOTO @manji602

Gitolite gitweb

Embed Size (px)

DESCRIPTION

3/31 開発環境構築勉強会用資料です。

Citation preview

Page 1: Gitolite gitweb

開発環境構築勉強会資料-gitolite,gitweb編-

Jun HASHIMOTO@manji602

Page 2: Gitolite gitweb

gitolite,gitwebとは● gitolite

– githubの個人版– バージョン管理・ユーザ管理

● gitweb

– gitoliteをWebで可視化

Page 3: Gitolite gitweb

環境構築

● 開発環境(リモート)– さくらのVPS512(CentOS 6.2)

– Server:nginx 1.012

– PHP:php-fpm

● 開発環境(ローカル)– Mac book pro early 2011

– OS:Snow Leopard

Page 4: Gitolite gitweb

環境構築-gitolite(1)

● 作業はローカルとリモート(さくら)でそれぞれ設定すべき点があります!

– ローカルはL:リモートはR:と表記します● Gitのインストール

– L:brew install git

– R:yum install git

● Gitolite用のユーザ作成– R:sudo /usr/sbin/useradd --shell /bin/bash

--home /home/gitolite gitolite

Page 5: Gitolite gitweb

環境構築-gitolite(2)

● GitoliteユーザのSSH設定– R:/etc/ssh/sshd_configを設定

● AllowUser *** gitolite(<-追加)● ただし、AllowUserを設定している場合

– R:SSHの再起動● sudo /etc/init.d/sshd restart

● Gitoliteアクセス用公開鍵作成– L:cd ~/.ssh;ssh-keygen -t

– ファイル名はgitoliteで

Page 6: Gitolite gitweb

環境構築-gitolite(3)

● 公開鍵をリモートにコピー– L:scp -p 10022 /.ssh/gitolite.pub

[email protected]:~/● ※sshのポートを変更している場合

● 公開鍵の設定– R:chown gitolite:gitolite gitolite.pub

– R:sudo mv gitolite.pub /home/gitolite/

● Gitoliteのインストール– 作業ユーザをgitoliteへ変更– R:sudo su – gitolite

Page 7: Gitolite gitweb

環境構築-gitolite(4)

● Gitoliteのソースをgithubから取ってくる– R:mkdir ~/tmp; cd ~/tmp

– R:git clone git://github.com/sitaramc/gitolite

● Gitoliteのインストール– R: ~/tmp/gitolite/src/gl-system-install

– R: gl-setup ~/gitolite.pub

Page 8: Gitolite gitweb

環境構築-gitolite(5)

● ローカルの接続設定– L:~/.ssh/configの編集

Host gitolite.example.com

HostName example.com

User gitolite

Port 10022

IdentityFile ~/.ssh/gitolite

● リモートから設定用リポジトリを取得– L:mkdir ~/tmp; cd ~/tmp

– L:git clone gitolite.example.com:gitolite-admin

Page 9: Gitolite gitweb

リポジトリの追加@gitolite

● Gitolite-admin/conf/gitolite.confへ追記repo test-repo //test-repoというリポジトリを追加

RW+ = gitolite hogehoge //全権限をgitolite,hogehogeへ付与

R = hugahuga //読み込みの権限をhugahugaへ

RW= piyopiyo //読み込み+書き込みの権限をpiyopiyoへ

//@allと設定すると全てのユーザへ権限を付与できる

● Gitolite-adminの変更を反映– L:git add .

– L:git commit -m "ADD: test-repo"

– L:git push

Page 10: Gitolite gitweb

ファイルの追加・コミット@gitolite

● 追加したリポジトリをローカルへ– L:git clone gitolite.example.com:test-repo

● ファイルの追加・コミット– L:cd test-repo

– L:touch readme.txt | echo "hogehoge" >> readme.txt

– L:git add .

– L:git commit -m "ADD: readme.txt

– L:git push origin master

Page 11: Gitolite gitweb

ユーザの追加@gitolite

● 追加したいユーザの公開鍵をインポート– L:cd ~/tmp/gitolite-admin

– L:cp ~/hogehoge.pub ~/tmp/gitolite-admin/keydir

– L:git add .

– L:git commit -m "Add User: hogehoge"

– L:git push

Page 12: Gitolite gitweb

環境構築-gitweb(1)

● こちらはリモートのみで完結します● インストール

– yum install gitweb libfcgi-perl libfcgi-procmanager-perl

● cgiを動かすためlibfcgi絡みもインスコ

● /etc/gitweb.confの編集– our $projectrootのコメントアウトを解除

し、”/home/gitolite/repositories/”へ

Page 13: Gitolite gitweb

環境構築-gitweb(2)

● nginxの設定(/etc/nginx/conf.d/virtual.conf)

– 名前ベースのバーチャルホストでgitwebのページを管理する

● Webサーバ:http://yourdomain.com/● Gitweb:

http://subdomain.yourdomain.com/

Page 14: Gitolite gitweb

環境構築-gitweb(3)server {

listen *:80;

server_name subdomain.maindomain.com;

location / {

root /var/www/git; //documentrootを/var/www/gitに作る

index gitweb.cgi;

}

location ~ gitweb\.cgi$ {

fastcgi_pass 127.0.0.1:8999; //php-fpmで127.0.0.1:9000を使用済なため

fastcgi_index gitweb.cgi;

include fastcgi_params;

}

}

Page 15: Gitolite gitweb

環境構築-gitweb(4)

● gitweb.fcgiの導入– nginxでgitwebを動かすために

は、gitweb.fcgiを追加する必要がある● https://gist.github.com/985059

– cd /var/lib/gitolite //ここにgitweb.fcgiを置く– sudo chown gitolite:gitolite gitweb.fcgi

– sudo chmod +x gitweb.fcgi

● gitweb.fcgiの常駐化– sudo -u gitolite /var/lib/gitolite/gitweb.fcgi

--fcgi-socket=127.0.0.1:8999 --cgi-bin=/usr/share/gitweb/gitweb.cgi &

Page 16: Gitolite gitweb

環境構築-gitweb(5)

● http://subdomain.maindomain.com/へアクセスすると、以下のような画面が出るはずです!

Page 17: Gitolite gitweb

参考ページ● http://www.atmarkit.co.jp/fjava/rensai4/devt

ool26/devtool26_1.html ● http://totekan.jp/server/sakura-vps-

settings-git-with-gitolite/ ● http://d.hatena.ne.jp/Yudoufu/20110626/13

09066814● http://d.hatena.ne.jp/manji602/20120323/1

332468525