cgit
gitリポジトリ
sudo install -d -o root -g www-data -m 0750 /srv/git
sudo git init --bare --initial-branch=main /srv/git/example.git
sudo chown -R root:www-data /srv/git/example.git
#sudo chmod -R g+rX /srv/git/example.git
cgit
- /etc/cgitrc
scan-path=/srv/git
virtual-root=/
nginx
- /etc/nginx/sites-available/cgit
server {
server_name git.example.com;
location /cgit-css/ {
alias /usr/share/cgit/;
}
# cgit CGI
location / {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /usr/lib/cgit/cgit.cgi;
fastcgi_param SCRIPT_NAME /;
fastcgi_param PATH_INFO $uri;
fastcgi_pass unix:/run/fcgiwrap.socket;
}
}
sudo ln -s /etc/nginx/sites-available/cgit \
/etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
ホスト名解決
git.example.com
HTTPS
テスト
git init -b main
echo "# example" > README.md
git add README.md
git commit -m "Initial commit"
git remote add origin /srv/git/example.git
git push -u origin main
gitolite
インストール
公開鍵の設定
ssh接続確認
ssh gitolite3@サーバーのホスト名
再設定
sudo dpkg-reconfigure gitolite3
リポジトリ設定
git clone gitolite3@サーバーのホスト名:gitolite-admin
- gitolite-admin/conf/gitolite.conf
repo test-cgit
RW+ = admin
git add conf/gitolite.conf
git commit -m "Add test-cgit repository"
git push
cgit設定
sudo usermod -aG gitolite3 www-data
sudo namei -l /var/lib/gitolite3/repositories/test-cgit.git
sudo chmod 750 /var/lib/gitolite3
sudo chmod -R g+rX /var/lib/gitolite3/repositories
- /etc/gitolite3/gitolite.rc
UMASK => 0027,
- /etc/cgitrc
project-list=/etc/cgit/projects.list
scan-path=/var/lib/gitolite3/repositories
- /etc/cgit/projects.list
sudo install -d -m 755 /etc/cgit
test-cgit.git
グループ変更を反映
sudo systemctl restart fcgiwrap
sudo systemctl restart nginx
テスト
git clone gitolite3@サーバーのホスト名:test-cgit
cd test-cgit
echo "Gitolite + cgit test" > README.md
git add README.md
git commit -m "Initial test"
git push origin HEAD