最近、Amazon EC2でubuntu-serverをセットアップしました。 gitサーバーとして使用したいので、リポジトリをそこに保存できます。
だから、ubuntuサーバーでgitをセットアップする方法の詳細な指示はどこにありますか?これらすべてのSSHキーとそのようなもの、複数のユーザーなど。
チュートリアルを使用してGitサーバーをインストールするためのチュートリアル を使用するか、またはEC2インスタンスにSSHサーバーをインストールすることができます(おそらく、それを保護してデフォルトのポートを変更するのが賢明でしょう)。
Gitは、サーバーを使用せずにリポジトリを初期化し、SSH経由でリモートからアクセスできます。したがって、Ubuntu Serverでのこのような指示はそれを行う必要があります。
GIT_DIR=project.git git init
cd project.git
git --bare update-server-info
cp hooks/post-update.sample hooks/post-update
最後に、サーバーにSSHをインストールします。
Sudo apt-get install ssh-server
次に、SSHを構成してセキュリティを確保する必要があります。
プロジェクト(開発マシンに既にあるデータ)をオンラインにするときです。
git Push ssh://<username>@<remote-git-hostname>/path/to/project.git master
これで、クローン作成を開始できます。開発用マシンに行きます:
git clone ssh://<username>@<remote-git-hostname>/path/to/dir.git
これを確認してください Gitの優れたリソース 。
そして、より安全な認証のためのsshキーを生成するには、 SSH認証 に関するこの記事を読むことができます。
すべてのGitサーバーのセットアップで Gitolite を使用します。これにより、「ブランチごとの」アクセスのセキュリティ粒度が可能になります。リモートサーバーでセットアップを行う場合、セットアップは非常に簡単です。インタラクティブスクリプトを実行するのと同じくらい簡単です。この「セットアップが簡単」な性質に加えて、NattyおよびMaverickにもパッケージがあります。
Sudo apt-get install gitolite
これはGithubやGitwebのようなWebフロントエンドを提供しませんが、Gitoliteのようなものの上にそれらを簡単に構成してインストールできます。
http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way は、目的に合わせてわずかに変更できます... a同様のチュートリアル http://blog.agdunn.net/?p=277 。
公式ドキュメントを確実に守ってください: https://help.ubuntu.com/community/Git (セクションGitとプロジェクト管理のセットアップ)
私にとって最適なソリューションは、WebDAVのセットアップでした。
Sudo a2enmod Sudo dav_fs
Sudo a2enmod dav
新しいファイルを/etc/Apache2/sites-available
に追加し、名前を付けます(例:git.yourserver.com
)。それを編集して、次の行を追加します。
<VirtualHost *:80>
DocumentRoot /var/www/git.yourserver.com/repos
ServerName git.yourserver.net
Options Indexes FollowSymLinks MultiViews
<Location />
DAV On
AuthType Basic
AuthName "git repos"
AuthUserFile /var/www/git.yourserver.net/password.dav
Require valid-user
</Location>
</VirtualHost>
/var/www/git.yourserver.com
とディレクトリrepos
を作成しますSudo chown www-data /var/www/git.yourserver.com/repos
Sudo htpasswd -c /var/www/git.yourserver.com/password.dav user_login
およびuser_login
という名前のユーザーのパスワードを入力しますSudo chown root:www-data /var/www/git.yourserver.com/password.dav
Sudo chmod 640 /var/www/git.yourserver.com/password.dav
さて、Sudo a2ensite git.yourserver.com
とSudo service Apache2 restart
。
/var/www/git.yourserver.com/repos
と入力して、ディレクトリを作成します(例:myrepo.git
)cd myrepo.git
git --bare init
git update-server-info
次に、リモートサーバーからログアウトし、ファイルを編集するローカルディレクトリに移動します。
git clone http://user_login:[email protected]/myrepo.git
そしてあなたは終わった。コミットした変更をサーバーに送信する場合:
git Push Origin master
Sudo htpasswd
を使用して、必要な数のユーザーを作成できます。古いファイルが削除されるため、ユーザーを追加するときに-c
スイッチを使用しないでください。
ユーザーとセキュリティを管理するためのgitoliteアプローチも気に入っています。現在テスト中のEC2用のGit + gitoliteサーバーAMIがあります。試してみてください。ドキュメントはここから入手できます。
このアプローチを使用すると、プライベートリポジトリを備えた中央のGitサーバーを数分で実行できます。あなたがそれらに精通していない場合、gitoliteとEC2の学習曲線があります。