Linux

GitLab CE で gitレポジトリホスティングサーバーを構築する

投稿日:

GitHub, Bitbucket, GitLab(.com) のような gitレポジトリホスティングサーバーを自前で構築できる、GitLab Communitiy Edition (GitLab CE) をインストールした忘備録。

本記事は 2017/03/14 の時点で大部分を書いた後、長く下書き状態のまま残っていたものです。
2020/05 に Docker版 の公開に伴い、参考資料として当時のまま掲載します。
そういった経緯で、記事内容の鮮度や校閲に多少問題があるかもしれませんが、どうぞご了承ください。

 

インストール環境

Scientific Linux Fermi 6.6 x86_64
 

インストール手順

基本的にはオフィシャルのインストール手順に従う。
RHEL6 なのでこのページ

「2. Add the GitLab package server and install the package」の項で、
os detection に失敗するので手動でスクリプトを落として、os=scientific と指定した。

「3. Configure and start GitLab」の項について、
GitLabを稼動させるサーバーにはホスト名としてFQDN(ドメイン名を省略していないドメイン名)が指定されている必要があるらしい。

「4. Browse to the hostname and login」で、
初回アクセス時にrootのぱすわーどを設定できる。
 

初期設定

  • ユーザーアカウントの作成
  • プロジェクトの作成
  • SSH公開鍵を作成、登録
  • .ssh/config に適当な設定を書く

ここでホスト側の sshd_config で UsePAM が no になっているとアクセスできないので。
no になっている場合は yes にする。

Google Adsense



メールサーバーの設定

ユーザー追加、パスワード初期化などの際に通知メールを送るのに必要となる。
この用途だけのために sendmail/postfix を立てるのがメンドウなので
web mail の smtp を設定した。
/etc/gitlab/gitlab.rb 内の "gitlab_rails[‘smtp_*’] = ~" を全て適切に設定すると、
Gmail 等を用いてシステムの通知を送ることができる。
 

(オプション) http にベーシック認証をつける

主にブラウザからのページアクセスを制限する目的で、
httpにベーシック認証を設定してみる。

以下で、htpasswd ファイルを作成。
$> htpasswd -c -b /var/opt/gitlab/nginx/conf/htpasswd USER PASS

/etc/gitlab/gitlab.rb を編集、以下を追加
nginx['custom_gitlab_server_config'] = "auth_basic 'Restricted';\n auth_basic_user_file htpasswd;\n"

設定を反映。
$> gitlab-ctl reconfigure

ただしこれをやると http で clone できなくなる。
SSH公開鍵で gitアクセスする分には問題無し。
おそらく手はあるのだろうけど、すぐにどう設定すれば良いのか分からないし、
SSHのみで特に問題ないので保留。
 

Google Adsense

Google Adsense

-Linux
-, ,

Copyright© HEPtech, 2024 All Rights Reserved.