HTTPなローカルGitサーバの構築
よく躓くのでメモ書き。
とりあえず使えればいいやって感じで。
サーバ側の準備
CentOS 7のインストール
特別なことはせず、Minimalインストール。
パッケージのアップデート
yum -y update
使用するパッケージのインストール
yum -y install git git-all git-daemon vim httpd
SELinuxの無効化
vim /etc/selinux/config
再起動
reboot
Apacheの設定
git.confの作成
vim /etc/httpd/conf.d/git.conf
SetEnv GIT_PROJECT_ROOT /var/lib/git SetEnv GIT_HTTP_EXPORT_ALL ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/ <LocationMatch "^/git/"> AuthType Basic AuthName "Git" AuthUserFile /etc/httpd/htpasswd/.htpasswd require valid-user Order allow,deny Allow from all </LocationMatch>
.htpasswdファイルの作成
mkdir /etc/httpd/htpasswd cd /etc/httpd/htpasswd htpasswd -c .htpasswd user
リポジトリの作成
初期化
mkdir /var/lib/git/***.git cd /var/lib/git/***.git git init --bare --shared
所有者、権限変更
chown -R user:user /var/lib/git/***git chmod -R 777 /var/lib/git/***git
Apache起動
systemctl start httpd systemctl enable httpd
とりあえずBasic認証付きでgit push origin masterに成功。
権限とかもっと厳密にやるべきではありますが…とりあえず動けばよいということで。