ユーザ用ツール

サイト用ツール


サイドバー

このページの翻訳:



最近の更新



Tag Cloud

01_linux:12_ツール:06_gitprep

06 GitPrep

GitPrepはGithubのクローン、ポータブルなGithubシステムをUnix/LinuxにインストールできるWebアプリケーショGitPrepです。

https://github.com/yuki-kimoto/gitprep/releases

1.インストール

gitはインストールしておく。35 gitインストール

ソースwget

# wget https://github.com/yuki-kimoto/gitprep/archive/latest.tar.gz
# mv gitprep-latest gitprep

設定ファイル修正

git_binのパスと、ssh_rep_urlをを修正

$ diff gitprep.conf gitprep.conf.org 
11c11
< ssh_rep_url_base=
---
> ;ssh_rep_url_base=/git
16c16
< git_bin=/usr/bin/git
---
> ;git_bin=/usr/local/bin/git
35c35
< authorized_keys_file=/home/gitprep/.ssh/authorized_keys
---
> ; authorized_keys_file=/home/gitprep/.ssh/authorized_keys
48c48
< listen=http://*:10020
---
> ;listen=http://*:10020
52c52
< on=1
---
> ;on=1

authorized_keys用意

$ ssh-keygen
$ touch ~/.ssh/authorized_key
$ chmod 600 ~/.ssh/authorized_key

セットアップ

$ cd gitprep
$ bash -x setup.sh

Mojolicousの起動スクリプト用意

$ cat << EOM > gitprep/mojo.sh
#!/bin/sh
DIR=$(dirname $0)
PERL5LIB="$DIR/mojo/lib:$DIR/extlib/lib/perl5"
#MOJO_LOG_LEVEL='debug'
HOME=$(egrep ^$(whoami): /etc/passwd |awk -F ":" '{print $6}')
export PERL5LIB MOJO_LOG_LEVEL HOME
exec $DIR/mojo/script/hypnotoad $* $DIR/script/gitprep --foreground
EOM

Mojolicousの起動

$ nohup ./mojo.sh &
Mojolicousの自動起動スクリプト
$ vi bin/check_gitprep.sh

#!/bin/bash

netstat -ant | grep ':10020'
if [ $? -eq 0 ];then
	echo OK
else
	nohup bash ~/public_html/gitprep/mojo.sh  &
fi

SSL設定

# REVERSE_PROXY=$(cat << EOS

  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>
  ProxyRequests Off
  ProxyPreserveHost On
 
  ProxyPass / http://localhost:10020/ keepalive=On
  ProxyPassReverse / http://localhost:10020/
  RequestHeader set X-Forwarded-HTTPS "1"
</VirtualHost>
EOS
)

# perl -i.org -nle "s%^</VirtualHost>%$REVERSE_PROXY%;print;" /etc/httpd/conf.d/ssl.conf
# /etc/init.d/httpd reload

git on SSL

SSLに対してgitコマンドで実行してもエラーになる。

$ git clone https://gitprep.example.jp:10443/matsui/test.git
Cloning into test...
error: SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing https://gitprep.example.jp:10443/matsui/test.git/info/refs

fatal: HTTP request failed

対処

これでSSLでもいけるようになる。

# git config --global http.sslVerify false

upgrate

1.念の為バックアップ

$ rsync -av gitprep/ gitprep.`date "+%Y%m%d"`/

2.レポジトリを最新にする

※gitprep.repoディレクトリレポジトリを入れてるものとして
レポジトリがない場合は、下記のコマンドでcloneしておく。

git clone https://github.com/yuki-kimoto/gitprep.git gitprep.repo
$ cd gitprep.repo
$ git pull

3.全て上書き

$ rsync -av gitprep.repo/ gitprep/

4.confを戻す

$ cp gitprep.`date "+%Y%m%d"`/gitprep.conf gitprep/gitprep.conf

5.setup.sh実行

$ cd gitprep/
$ bash -x setup.sh

6.mojo.sh再起動

mojo.shを起動しなおせば完了

01_linux/12_ツール/06_gitprep.txt · 最終更新: 2016/04/13 17:38 by matsui