1

すべての git リポジトリの所有者としてサーバーに設定したユーザーがいます。これは ssh を介して行ったので、そのユーザーには WHM アカウントが設定されていません。このユーザーに「git」という名前を付けました。

私のプライマリ ドメイン exmaple.com で、git.example.com というサブドメインを作成しました。

/home/example/subdomains/git を指すこのサブドメインを、代わりに /home/git/public_html を指すようにします。

なぜ私はそれをしたいのですか?さて、私は自分のサーバー上に自分の git リポジトリ用の Web インターフェイスを構築しています。インターフェイスを 'git' の public_html ディレクトリに貼り付けておくと便利だと思いました。インターフェイスを介してリポジトリに書き込みます。

(パーミッションをいじる必要のない、これを行うためのより良い方法があるのではないでしょうか? idk.)


ここに vhost インクルードを作成することから始めました:
/usr/local/apache/conf/userdata/std/2/example/git.example.com/config.conf
このファイルに追加DocumentRoot /home/git/public_html
し、実行/scripts/ensure_vhost_includes --all-usersして .conf をロールインしましたhttpd.conf.

そしてもちろん、ユーザー 'git' の public_html ディレクトリにアクセスできないため、git.example.com にアクセスしようとすると 403 が返されます。


ユーザー 'git' の public_html にアクセスできるようにするには、config.conf に何を追加する必要がありますか?


更新:これを機能させるためにいくつかのことを試しましたが、403エラーなしでサブドメインにアクセスできるものはありませんでした:

  • 同僚が提案しchgrp -R nobody /home/git/public_htmlましたが、これはうまくいきませんでした。
  • ユーザー「git」をグループ「nobody」に追加しようとしましたが、機能しませんでした。ユーザー「nobody」をグループ「git」に追加しても機能しませんでした。(誰もApacheが使用するユーザー/グループではありません)
  • 仮想ホストのインクルード内から SuexecUserGroup と RUidGid を使用して仮想ホストのユーザー/グループの設定を追加しようとしましたが、これも機能しませんでした。(git git に加えて、これらに対して git nobody、nobody nobody、および nobody git を試しましたが、うまくいきませんでした。)

    <IfModule !mod_disable_suexec.c>
        <IfModule !mod_ruid2.c>
            SuexecUserGroup git git
        </IfModule>
    </IfModule>
    <IfModule mod_ruid2.c>
        RUidGid git git
    </IfModule>
    
  • useradd私のウェブホストは、「git」ユーザーのデータをすべてバックアップし、アカウントを消去してから、sshではなく WHM で「git」を作成し、バックアップを復元することを提案しました。これが私が持っている唯一のオプションのようです。

4

0 に答える 0