どのようにして自分のGitサーバーを作成しますか?
私は楽しい(同時に有料)GitHubユーザーですが、私は何度も自分のサーバーにプライベートウェアハウスを構築したいと思っています(githubは有料ユーザーにプライベートウェアハウスを提供します.公共ネットワークに接続できない場合や、ぼんやりした管理にうんざりしている場合、Github(その他の類似のサイト)が提供するサービスとは単純に異なるサービスを望んでいる場合は、自分のGitサーバを構築するのに役立ちます.Unix(Linux、Mac OSX、*BSD、Solaris、AIX)のマシンにGitサーバを配備するのは難しいことではありませんが、まだ多くの詳細に注意する必要があります.ここは完全なチュートリアルです.以下の手順で、myhostなどの独自のGitサービスをサーバ上で構築して使用します.example.com.その中のいくつかのステップは、email通知のように、ユーザーの権限を制限し、特定のグループのアクセス管理は、あなたの要求と現実状況に基づいてオプションです.実行するにはroot権限が必要なコマンドもたくさんありますので、sudoを使うか、rootに直接切り替えて実行することを忘れないでください.読み取りと書き込みの権限を持つユーザーのグループを作成します.オペレーティングシステムによっては、groupaddコマンドで実装したり、vigrでパケットファイルを編集したり、/etc/groupファイルを直接編集したりすることができます.最後に、/etc/groupファイルに次の行が表示されます.
このうちrepogroupは、この倉庫へのアクセスを許可するグループの名前です.10005はユニークなパケット識別数字であり、marry、john、violetはこの倉庫へのアクセスを許可されたユーザーである.Git倉庫の経路を決める.ホームパスの下に置くこともできます(e.g./home/yourname/gitroot)、専用のパスの下に置くこともできます(e.g./var/gitroot).Gitユーザーがこのディレクトリchmod g+rx/path-to/gitroot chown:grouprepo/path-to/gitrootにアクセスできるように権限を設定し、newrepo cd/path-to/gitroot git init--bare newrepoという新しいGit倉庫を構築する.gitは、ユーザグループのアクセスを可能にするためのパス認証を確立するとともに、Git cd newrepoを的確に設定する.git chown -R :grouprepo . git config core.sharedRepository group find . -type d -print0 | xargs -0 chmod 2770 find . -type f-print 0|xargs-0 chmod g=u設定コミット(commit)のemail通知(commitはコマンド)は、新しい変更が倉庫にコミットされると、開発者たちは変更内容の一覧に関する電子メールを受け取る.echo 'One-line project description' >description git config --local hooks.mailinglist [email protected],[email protected],... git config --local hooks.emailprefix '[DI-PR] ' git config --local hooks.showrev "git show -C %s; echo"git config --local hooks.Emailmaxlines 100は、フック(hook)と呼ばれる東を設定することによって、これらのemail通知を作成する.cd hooks cp post-receive.sample post-receive chmod+x post-receive最後の行のコメントの番号をpost-receiveのスクリプトから削除します.最後の文はこのようなものです./path-to-hooks/post-receive-emailライブラリにREADMEなどのファイルを先に入れます.他のユーザが最初のコミット時に奇妙なエラーメッセージに遭遇したときに困惑しないようにする必要がある.cd to-your-personal-working-directory git clone myhost.example.com:/path-to/gitroot/newrepo.git echo "Short project description">README.txt git add README.txt git commit-a-m「Add README file」git push origin master#初めてT「origin master」というパラメータだけが倉庫の他のユーザーのために口座を設立する必要があります.あなたのシステムによってはuseraddやadduserで実現できます.ユーザが公開/秘密鍵ペアでアクセスできるように設定します.これには,1)既に公開鍵を持っているユーザが,公開鍵を送るだけでよいステップが含まれる.2)公開鍵を持たないユーザは,ssh-keygenコマンドで1つ生成し,その後.ssh/id_rsa.pubを送ってくれればいいのに.3)その後、対応するアカウントの下にこのような公開/秘密鍵ペアを確立する必要があります.彼の公開鍵をコピーし、次のコマンドを順番に実行します.sudo su - username mkdir -p .ssh cat >>.ssh/authorized_keys<
repogroup:*:10005:marry,john,violet
このうちrepogroupは、この倉庫へのアクセスを許可するグループの名前です.10005はユニークなパケット識別数字であり、marry、john、violetはこの倉庫へのアクセスを許可されたユーザーである.Git倉庫の経路を決める.ホームパスの下に置くこともできます(e.g./home/yourname/gitroot)、専用のパスの下に置くこともできます(e.g./var/gitroot).Gitユーザーがこのディレクトリchmod g+rx/path-to/gitroot chown:grouprepo/path-to/gitrootにアクセスできるように権限を設定し、newrepo cd/path-to/gitroot git init--bare newrepoという新しいGit倉庫を構築する.gitは、ユーザグループのアクセスを可能にするためのパス認証を確立するとともに、Git cd newrepoを的確に設定する.git chown -R :grouprepo . git config core.sharedRepository group find . -type d -print0 | xargs -0 chmod 2770 find . -type f-print 0|xargs-0 chmod g=u設定コミット(commit)のemail通知(commitはコマンド)は、新しい変更が倉庫にコミットされると、開発者たちは変更内容の一覧に関する電子メールを受け取る.echo 'One-line project description' >description git config --local hooks.mailinglist [email protected],[email protected],... git config --local hooks.emailprefix '[DI-PR] ' git config --local hooks.showrev "git show -C %s; echo"git config --local hooks.Emailmaxlines 100は、フック(hook)と呼ばれる東を設定することによって、これらのemail通知を作成する.cd hooks cp post-receive.sample post-receive chmod+x post-receive最後の行のコメントの番号をpost-receiveのスクリプトから削除します.最後の文はこのようなものです./path-to-hooks/post-receive-emailライブラリにREADMEなどのファイルを先に入れます.他のユーザが最初のコミット時に奇妙なエラーメッセージに遭遇したときに困惑しないようにする必要がある.cd to-your-personal-working-directory git clone myhost.example.com:/path-to/gitroot/newrepo.git echo "Short project description">README.txt git add README.txt git commit-a-m「Add README file」git push origin master#初めてT「origin master」というパラメータだけが倉庫の他のユーザーのために口座を設立する必要があります.あなたのシステムによってはuseraddやadduserで実現できます.ユーザが公開/秘密鍵ペアでアクセスできるように設定します.これには,1)既に公開鍵を持っているユーザが,公開鍵を送るだけでよいステップが含まれる.2)公開鍵を持たないユーザは,ssh-keygenコマンドで1つ生成し,その後.ssh/id_rsa.pubを送ってくれればいいのに.3)その後、対応するアカウントの下にこのような公開/秘密鍵ペアを確立する必要があります.彼の公開鍵をコピーし、次のコマンドを順番に実行します.sudo su - username mkdir -p .ssh cat >>.ssh/authorized_keys<