3

PHP Webサイトを使用してGitバージョン管理システムから特定のブランチをチェックアウトすることは可能ですか?必要なのは、利用可能なブランチのいずれかを選択し、ボタンを押した後(もちろん認証後)にチェックアウトを実行できる単一のWebページです。

利用可能なすべてのブランチを一覧表示してページを表示するスクリプトを作成するのは簡単ですが、PHPスクリプトにはGitチェックアウトを実行するための十分な権限がありません。Webサーバー(ApacheまたはNginx)をrootとして実行できますが、明らかにセキュリティ上のリスクが大きすぎます。

最小でPHPWebスクリプトからGitチェックアウトを開始するにはどうすればよいですか?

4

2 に答える 2

0

私も同じ問題を抱えていました。私の解決策は、サイト全体をapacheユーザーにchownすることでした。これで、PHPスクリプトでgitcheckoutを実行できます。

バグのあるスクリプトがWebフォルダ内のスクリプトを変更する可能性があるため、このソリューションはセキュリティにとって100%理想的ではありません。これに対する適切な解決策は、特権ユーザーとして実行され、要求に応じてapacheユーザーに対して非常に特定のコマンドのみを実行するデーモンを作成することです。私は開発ウェブサーバーのソリューションしか必要としなかったので、デーモンはやり過ぎだったでしょう。

于 2012-12-21T13:39:06.670 に答える
0

gitolite (Google で検索) などを使用して、Git サーバーをセットアップすることをお勧めします。キーのセットアップなども処理します。

于 2013-01-15T20:00:57.240 に答える