こんにちは私は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」に変更するにはどうすればよいですか。
あなたは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を記述してください)。
幸運を。
またはできる
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
「/ 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>
Suexec.cから再コンパイルする必要があります。理想的には、virtualminをインストールできるため、install.shを介して自動的に実行され、アカウントやドメインなども作成されます。