ホーム > Linux, Ubuntu > Ubuntu 12.04 Gitサーバー(後編)

Ubuntu 12.04 Gitサーバー(後編)

前回の記事(Ubuntu 12.04 Gitサーバー(前編)) からの続きです。

以下の手順で進めます。(太字が今回の分)

  1. Git のインストール
  2. gitolite のインストール
  3. gitweb のインストール
  4. git-daemon-run のインストール
  5. おまけ(各サービスの確認)



3. gitwebをインストール
  3-1. aptitude よりインストール

#インストールします。
$ sudo aptitude -y install gitweb


  3-2. インストール環境の確認

#インストールされたパッケージの確認
$ dpkg -l | grep \\sgit
ii  git      1:1.7.9.5-1 fast, scalable, distributed revision control system
ii  git-man  1:1.7.9.5-1 fast, scalable, distributed revision control system (manual pages)
ii  gitolite 2.2-1       SSH-based gatekeeper for git repositories
ii  gitweb   1:1.7.9.5-1
             fast, scalable, distributed revision control system (web interface)


  3-3. gitwebの設定
    gitweb.conf を編集し、保存します。(projectroot,projects_listを編集)

#viでconfを編集
$ sudo vi /etc/gitweb.conf
(元)
$projectroot = "/var/cache/git";
#$projects_list = $projectroot;
(先)
$projectroot = "/home/gitolite/repositories";
$projects_list = "/home/gitolite/projects.list";
@stylesheets = ("/gitweb/static/gitweb.css");
$javascript = "/gitweb/static/gitweb.js";
$logo = "/gitweb/static/git-logo.png";
$favicon = "/gitweb/static/git-favicon.png";


    gitweb ファイルを編集し、保存します。

#viでconfを編集
$ sudo vi /etc/apache2/sites-available/gitweb
Alias /git /usr/lib/cgi-bin
<Directory /usr/lib/cgi-bin>
  Options ExecCGI
  AddHandler cgi-script cgi
  DirectoryIndex gitweb.cgi
  AllowOverride None
  Order allow,deny
  allow from all
</Directory>


    gitweb を有効化します。

#サイトを有効化します。
$ sudo a2ensite gitweb

#Apacheサービスを再起動します。
$ sudo service apache2 restart

 
4. git-daemon-runをインストール
  4-1. aptitude よりインストール

#インストールします。
$ sudo aptitude -y install git-daemon-run


  4-2. インストール環境の確認

#インストールされたパッケージの確認
$ dpkg -l | grep //sgit
ii  git      1:1.7.9.5-1 fast, scalable, distributed revision control system
ii  git-daemon-run 1:1.7.9.5-1
             fast, scalable, distributed revision control system (git-daemon service)
ii  git-man  1:1.7.9.5-1 fast, scalable, distributed revision control system (manual pages)
ii  gitolite 2.2-1       SSH-based gatekeeper for git repositories
ii  gitweb   1:1.7.9.5-1
             fast, scalable, distributed revision control system (web interface)


  4-3. git-daemon-runの設定
    以下の様に編集し、保存します。(runを編集)

#viで設定ファイルを編集
$ sudo vi /etc/sv/git-daemon/run
(元)
#!/bin/sh
exec 2>&1
echo 'git-daemon starting.'
exec chpst -ugitdaemon \
  "$(git --exec-path)"/git-daemon --verbose --reuseaddr \
    --base-path=/var/cache /var/cache/git
(先)
#!/bin/sh
exec 2>&1
echo 'git-daemon starting.'
exec chpst -ugitdaemon:gitolite \
  "$(git --exec-path)"/git-daemon --verbose --reuseaddr \
    --base-path=/home/gitolite/repositories /home/gitolite/repositories


    git-daemon サービスを再起動します。

#サービスを再起動
$ sudo sv restart git-daemon

  #git-daemon stop でエラーが出る場合
  $ sudo /usr/lib/git-core/git-daemon stop
  fatal: unable to allocate any listen sockets on port 9418
    Ubuntuでは、svコマンドで操作すると再起動できました。

  #sv でタイムアウトが出る場合
    stop、startに分けて行うとokになりました。

 
5. おまけ(各サービスの確認)
  インストールしたUbuntuからの接続

#sshプロトコル(gitlite)
$ cd
$ git clone gitolite@localhost:testing.git testing2
Cloning into testing2...
Enter passphrase for key '/home/hoge/.ssh/id_rsa': (sshのパスワード)
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.

#gitプロトコル(git-daemon)
$ git clone git://localhost/testing.git testing3
Cloning into testing3...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.

#Webアクセス(gitweb)
$ wget -nc -S http://localhost/git/
$ view index.html

#確認したファイルの後始末
$ rm -rf testing2/
$ rm -rf testing3/
$ rm index.html

  ちなみに Windows環境からの接続は以下の様に確認します。

#msysgit(ssh)で取得する場合
git clone ssh://gitolite@server:port/testing.git

#Tortoise(gitプロトコル)で取得する場合
git://server/testing.git

#Tortoise(sshプロトコル)で取得する場合
ssh://gitolite@server:port/testing.git

 


記事リンク
    Ubuntu 12.04 サーバー版 LTS

  1. サーバー版インストール
  2. Apache+SSL
  3. Subversion 1.6+WebDAV
  4. Subversion 1.7+WebDAV
  5. Gitサーバー(前編)(後編)

 

カテゴリー:Linux, Ubuntu タグ: , ,
  1. まだコメントはありません。
  1. No trackbacks yet.

コメントを残す