web-dev-qa-db-ja.com

suexecルートディレクトリを「/ var / www」から「/ home」に変更するにはどうすればよいですか?

こんにちは私はubuntu 12.04を使用してsuexecをインストールしました:

apt-get install Apache2 Apache2-suexec libapache2-mod-fcgid php5-cgi

ただし、次のコマンドを実行すると、

Sudo /usr/lib/Apache2/suexec -V

次の情報を取得します。

 -D AP_DOC_ROOT="/var/www"
 -D AP_GID_MIN=100
 -D AP_HTTPD_USER="www-data"
 -D AP_LOG_EXEC="/var/log/Apache2/suexec.log"
 -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
 -D AP_UID_MIN=100
 -D AP_USERDIR_SUFFIX="public_html"

「/ home/user/public_html」を使用して、「/ var/www」ではなく、Web上のユーザーコンテンツにサービスを提供しています。ルートディレクトリを「/ home」に変更するにはどうすればよいですか。

6
Oudin

あなたはubuntuを使用しています。したがって、再コンパイルは非常に簡単です。

/etc/apt/sources.listにソースリポジトリを追加します。 12.04の場合

echo "deb-src http://de.archive.ubuntu.com/ubuntu/ precise main"|Sudo tee -a /etc/apt/sources.list

de.archive.ubuntu.comを現在の国に変更します。その後、リポジトリを更新します。

apt-get update

ディレクトリを変更し、ソースをダウンロードします。

mkdir ~/Apache_new  ; cd ~/Apache_new
apt-get source Apache2
apt-get build-dep Apache2

Apacheソースをダウンロードして抽出し、すべての依存関係をインストールするため、Apacheをビルドできます。ただし、AP_DOC_ROOTを修正する必要があります。したがって、Apacheソースを使用してdirにcdし、--with-suexec-docrootファイルのdebian/rulesオプションのdirパスを変更します。そのため、パッケージをビルドする必要があります。あなたはそれで作ることができます

debuild -us -uc

それでおしまい。これで、固定パスを持つApache deb-packageができました。 Sudo dpkg -iでインストールしてください。しかし、更新に注意してください。アップデートはあなたのすべての努力を一掃します。したがって、aptitude hold Apache2を実行して更新を禁止し、毎回手動で再コンパイルすることを忘れないでください(またはスクリプトfprを記述してください)。

幸運を。

5
rush

またはできる

apt-get install Apache2-suexec-custom

インストール後、

cd /etc/Apache2/suexec

ファイルvi www-dataを編集します

最初の2行を確認し、変更を加えます。replace/var/www/home

esc 
:wq

その後、Apacheを再起動します

/etc/init.d/Apache2 restart
16
Carl Parsons

「/ home/user/public_html」を使用して、「/ var/www」ではなく、Web上のユーザーコンテンツにサービスを提供しています。ルートディレクトリを「/ home」に変更するにはどうすればよいですか。

実際にはmod_userdirを使用できます

この場合、suexecは/ home/userの所有者からスクリプトを生成します-この例では "user"

したがって、Apache設定でSuexecUserGroupを定義する必要はありません

UPD:userdirモジュールを有効にするだけ

そしてメインの仮想ホスト設定に追加

UserDir/home/*/public_html

そして

<Directory /home/*/public_html/ >
      AllowOverride All
      Options +ExecCGI
      AddHandler cgi-script .cgi .pl  .py .rb
</Directory>
1
A M

Suexec.cから再コンパイルする必要があります。理想的には、virtualminをインストールできるため、install.shを介して自動的に実行され、アカウントやドメインなども作成されます。

0
Andrew Smith