4

WHM と CentOS 5 を使用して、クライアントのアカウントを分離する専用サーバーを実行しています。クライアントの 1 人から、Subversion をインストールし、リポジトリを webroot の下に保存するように求められました。

  • リポジトリの真のフォルダーは「/home/theirfolder/svn」になります
  • リポジトリは、「svn.theirdomain.com」のサブドメインを介してアクセスされます

これを行う通常の方法は、リダイレクトを処理する仮想ホストを Apache に設定することです。問題は、WHM が仮想ホスティング プロセス全体を追い越しているように見えることです。そのため、私には機能していないように見える外部ファイルに変更を焼き付けることを余儀なくされています。webroot の下にフォルダーを保持すると、仮想ホスティングにこのフォルダーへのパスをまったく認識させることができませんでした。

私が得た最も近い方法は、代わりにsubversionフォルダーをwebrootに移動することでしたが、それでも、認証を使用するための私の指示に従っていないため、セキュリティ的には良い解決策ではありません. この設定では、ページが Subversion ではなく Apache によって生成されているようにも見えました。

このタイプのセットアップをガイドしてくれるチュートリアルの方向性を教えてくれる人、または何をする必要があるかについての明確なステップバイステップのガイドを教えてくれる人はいますか? 私は多くのことを試しましたが、本当にそこにたどり着くことができませんでした。Subversion とそのすべての依存関係が既にダウンロードされ、正しくインストールされています。

前もって感謝します!

4

2 に答える 2

10

これを実現する 1 つの方法は、WHM のカスタム インクルード ファイルの<virtualhost>1 つを使用し、そこにカスタム ディレクティブを「通常の方法」で追加することです。これらのファイルに加えられた変更は、WHM による Apache 構成ファイルの自動再構築後も存続しますが、/etc/httpd/conf/httpd.confに直接加えられた変更は存続しない可能性があります。

includedメインの httpd.conf によって異なるポイントにある 3 つのカスタム インクルード ファイルがあります。これらのファイル (Apache 2.x を実行している場合) は次の場所にあります。

  • /usr/local/apache/conf/includes/pre_virtualhost_2.conf、自動生成された<virtualhost>ディレクティブの前に含まれます
  • /usr/local/apache/conf/includes/post_virtualhost_2.conf、自動生成された<virtualhost>ディレクティブの後に含まれます
  • /usr/local/apache/conf/includes/pre_main_2.conf、 httpd.conf の上部に含まれています

これらのファイルは、直接、または WHM 管理パネル (サービス構成 -> Apache 構成、WHM 11.30 のインクルード エディター) を介して編集できます。

私は post_virtualhost_2.conf を使用して、WHM/cpanel が他の構成方法でやりたいことを実行しない場合に、クライアント アカウント用の追加の仮想ホストをセットアップしました。有効な Apache 構成ディレクティブはすべてファイルに入れることができます。メインの httpd.conf に全体が含まれているだけです。

于 2011-08-23T02:09:00.273 に答える
3

上記の手順は、アカウントごとに使用するものではありません。Apache インクルードに配置されるものはすべて、サーバー全体です。mod dav および mod authz 共有オブジェクトを含めるには、apache includes を使用する必要があります。すでに設定されているかもしれませんが、念のため説明します。WHM で、[Service Configuration] -> [Apache Configuration] -> [Include Editor] に移動します。これを Pre Main Include に配置します。

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

次に、.conf ファイルを作成して配置します。

/usr/local/apache/conf/userdata/std/2/<user account name>/svn.conf

SSLが必要な場合は、

/usr/local/apache/conf/userdata/ssl/2/<user account name>/svn.conf

上記のディレクトリがまだ存在しない場合は、作成する必要があります。

ファイルには次が含まれます。

<IfModule mod_dav_svn.c>
<Location /svn>
DAV svn
SVNPath /home/<user account>/svn
AuthType Basic
AuthName "My Repo"
AuthUserFile /etc/svn-auth-conf
Require valid-user
</Location>
</IfModule> 

ユーザー名とパスワードは次のように設定できます。

htpasswd -cm /etc/svn-auth-conf myusername

次に、ファイルの変更をコミットするには、次を実行します。

/scripts/ensure_vhost_includes --user=<user account>
/scripts/rebuildhttpdconf
/scripts/restartsrv_httpd

を参照できるはずです

yourdomain.com/svn 

そして、それはから引っ張られます

/home/<user account>/svn
于 2011-08-23T06:54:07.130 に答える