最近、Amazon EC2でubuntu-serverをセットアップしました。gitサーバーとして使用したいので、リポジトリをそこに保存できます。
だから、ubuntuサーバーでgitをセットアップする方法の詳細な指示はどこにありますか?これらすべてのSSHキーとそのようなもの、複数のユーザーなど。
最近、Amazon EC2でubuntu-serverをセットアップしました。gitサーバーとして使用したいので、リポジトリをそこに保存できます。
だから、ubuntuサーバーでgitをセットアップする方法の詳細な指示はどこにありますか?これらすべてのSSHキーとそのようなもの、複数のユーザーなど。
回答:
aking1012が提案したように、チュートリアルを使用して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
そして、より安全な認証のためのsshキーを生成するために、SSH認証に関するこの記事を読むことができます。
openssh-server
?
ssh-server
は、少なくともUbuntu 10.04では、openssh-serverのエイリアスのようです。
~/.ssh/config
、ユーザー名/ホストアドレス、キー入力、ポートなどを処理できます。
http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-wayは、目的に合わせてわずかに変更できます...同様のチュートリアル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:user_password@git.yourserver.com/myrepo.git
そしてあなたは終わった。コミットした変更をサーバーに送信する場合:
git push origin master
を使用して、必要な数のユーザーを作成できますsudo htpasswd
。-c
古いファイルは削除されるため、ユーザーを追加するときにスイッチを使用しないでください。
ユーザーとセキュリティを管理するためのgitoliteアプローチも気に入っています。現在テスト中のEC2用のGit + gitoliteサーバーAMIがあります。試してみてください。ドキュメントはここから入手できます。
このアプローチを使用すると、プライベートリポジトリを備えた中央のGitサーバーを数分で実行できます。あなたがそれらに精通していない場合、gitoliteとEC2の学習曲線があります。