Do You PHP はてブロ

Do You PHPはてなからはてブロに移動しました

Symfony2のBundleインストール時に"fatal: unable to connect to github.com"が発生する

Subversionで管理している*1Symfony2を使った作成中のWebアプリケーションがあり、別サーバでcheckout後、環境構築しようとして躓いたのでメモ。

現象

bin/vendors installを実行したところ、とあるBundle(今回はGenemuFormBundle)だけ"fatal: unable to connect to github.com"が発生する

$ bin/vendors install
> Installing/Updating symfony
c2480c1e73879593ef6b88571fc733ada5a26bba
HEAD is now at c2480c1 updated VERSION for 2.0.15
                :
> Installing/Updating GenemuFormBundle
fatal: unable to connect to github.com:
github.com[0: 207.97.227.239]: errno=?????????????

原因

"gitサーバ(github.com)にアクセスする際のプロトコル"を使ったアクセスがネットワークレベルで禁止されている。

詳細

今回の場合、depsファイルが

[symfony]
    git=http://github.com/symfony/symfony.git
    version=v2.0.15

[twig]
    git=http://github.com/fabpot/Twig.git
    version=v1.8.2
                :
[GenemuFormBundle]
    git=git://github.com/genemu/GenemuFormBundle.git
    target=bundles/Genemu/Bundle/FormBundle
    version=origin/2.0

といったもので、install結果とまとめると

Bundle プロトコル 結果
GenemuFormBundle git ×
GenemuFormBundle以外 http

となっていました。で、サーバを確認してみるとiptablesではなくゲートウェイサーバでhttp/https以外のoutgoingを閉じていた模様。

対応

とりあえず、depsファイルにあるGenemuFormBundleのプロトコルをhttpに変更して、再度bin/vendors installを実行したところ問題なくcloneされた。

[symfony]
    git=http://github.com/symfony/symfony.git
    version=v2.0.15

[twig]
    git=http://github.com/fabpot/Twig.git
    version=v1.8.2
                :
[GenemuFormBundle]
;    git=git://github.com/genemu/GenemuFormBundle.git
    git=http://github.com/genemu/GenemuFormBundle.git
    target=bundles/Genemu/Bundle/FormBundle
    version=origin/2.0

まとめ

PHPタグ付けてますが、結果的には全然関係ありませんでした。。。まあ、そもそも"fatal: unable to connect to github.com"なので。。。

*1:gitじゃないのか?というツッコミは無しの方向で