« PHPエラー関連 | メイン | centos7 network周り »

2017年11月11日

git apache経由を導入してみる

以前ssh経由のgitを導入したが、パスワード毎回入れないといけないので、apache経由を導入してみる。

subversionもapache経由ならID PASS省略できるしいけるような気がするので。

環境centos7です。


#mod_cgi、 mod_alias、 mod_env、 mod_rewrite が必要らしい
#/usr/lib64/httpd/modules/以下に全部入ってるのでこれはOKっぽい


#git インストール
yum install git
mkdir /home/mygit
cd /home/mygit/


#初期化
git init

#bareリポジトリかどうか調べる
git config --get-all core.bare → false

#ノンベアリポジトリはワーキングディレクトリを持つ
#ベアリポジトリはワーキングディレクトリを持たない。更新情報だけを持っている

#コミットする場所はbareにする
git config --bool core.bare true

#apacheさんが使うので所有者変更
chown -R apache.apache /home/mygit/

#Apache の設定
/etc/httpd/conf.d/git.conf
#-------------------------------
SetEnv GIT_PROJECT_ROOT /home/mygit/
SetEnv GIT_HTTP_EXPORT_ALL

ScriptAlias /mygit/ /usr/libexec/git-core/git-http-backend/


AuthType Basic
AuthName "go away!!"
Require valid-user
AuthUserFile /pathto/.htpasswd

#-------------------------------

とりあえずこれで
http://example.com/mygit のURL使ってcloneできた

ソースの自動展開とかは以前のメモを参照。

うん やってみたけど、やっぱりコミットとプッシュの2段階がどうもめんどくさい。
vmware とかでソース部分をファイル共有してコミットのみで構築テストして、OKだったら遠隔サーバにプッシュかな?

これはvmwareで作業用のブランチをファイル共有して動作確認後、そこににコミットして記録を残しつつ、完成時のバージョンのみマスターにコミットかな。

作業時毎にブランチ切ろうかな。

この方法なら遠隔地サーバはバックアップという意味合いだから、マスターと作業記録ブランチをたまにプッシュするだけなのでIDPASS問題はOKだし、コミットとプッシュ毎回2作業の必要ないからこれがいいかな。

となると自動展開デプロイの必要ないね。
てか そう考えると ssh経由でも何も問題ないのかww

投稿者 muuming : 2017年11月11日 10:08