Apache2 DocumentRootを「vboxsf」VirtualBox共有フォルダーに設定するにはどうすればよいですか?(許可の問題?)


17

ホストへの共有フォルダーを持つVirtualBox VM上でUbuntu 11.04デスクトップ32ビットをセットアップします。共有フォルダーは

/media/sf_Dev/

Apache2をDocumentRootそのフォルダーを指すように変更したいので、そのファイルの/etc/apache2/sites-available/default既存の2つのパスを/ var / wwwではなく/ media / sf_Dev /に置き換えるように編集しましたが、index.htmlは表示されません。

私が見たとき/varls -l、私が見

drwxr-xr-x  2 root root ... www

そして私ls -l /media/が見たとき

drwxrwx---  1 root vboxsf ... sf_Dev

そして、Apacheは私がそのディレクトリに置いたindex.htmlを見ないようです(cp /var/www/index.html /media/sf_Dev/iirc)

また、グループをvboxsfにするためにenvvarsを編集しようとしましたが、その部分は間違っていたと思います。

export APACHE_RUN_GROUP=www-data

export APACHE_RUN_GROUP=vboxsf

私が間違っているのは何ですか、Apache2にそのディレクトリからファイルを提供させるにはどうすればよいですか?(技術的にはApache用のファイルを提供したい/media/sf_Dev/apache/wwwが、一度に1つのステップを考えているので、それが物事を短絡させるのに役立つなら、それである)

回答:


22

おそらく、Apacheの補助グループとしてvboxsfグループを追加するのが最も簡単でしょう。

Ubuntu:

sudo usermod -a -G vboxsf www-data

Fedora:

sudo usermod -a -G vboxsf apache

これは、自動マウントされた共有フォルダーにアクセスしたい場合に役立ちます。ファイルにアクセスするために、独自のユーザー名をvboxsfグループに追加することもできます。


しかし、apacheアプリはユーザー名apacheで実行されていますか?それが変わったと思った>。>
jcolebrand

あなたは正しい、私はfedoraとubuntuのapacheユーザーをミックスしました。編集した:)
フー

1
手動でのマウントをいじる時間を節約してくれました。ありがとう!
xorinzor

このソリューションにより、Ubuntu 15で修正されました。
イアンルイス

3

これはパーミッションの問題のようです。/media/sf_Dev/「その他」の読み取りおよび実行許可が必要になります(許可ビットの3番目のグループ---。現在許可はありませんまたは)。

したがって、このコマンドを実行する必要があります(Ubuntuであるため、sudoに注意してください)。

sudo chmod 775 /media/sf_Dev/

これにより、「その他」の読み取りと実行が追加され、所有者とグループに完全な権限が付与されます。

また、インデックスファイルが/ media / sf_Dev /に実際に存在することを確認してください。(cpコマンドでsudoを忘れていて、rootとして実行していないと仮定します。)


1
ああ、でもそれをやっも必要な変更を加えられない。vboxfsについての何かがそれらの変更を許可しません(すなわち:NFTSのように)... oooh、これは問題かもしれません、ファイルはもともとNTFSでホストされています(Windowsホストであるため)それができます。~~質問する前にエラーログを見るのを忘れていました。今晩チェックします。ただし、それは許可エラーであると想定してください。
jcolebrand

@jcolebrandトラブルシューティングのルール#1:プラグインされていますか?私が答えの長期的な有用性について考えていること、そしてあなたがDBと.NETの人として知っていることを決して気にしないでください。:P
ジョージマリアン

@jcolebrandだから、愚かな質問:あなたはApacheを再起動しましたか? sudo apache2ctl restart
ジョージマリアン

ハハハハハ、これが私が助けを必要とする理由です、私はdbと.netの男です;)...ええ、私はsudo suすべてのディレクトリに行き、「壊れた」ものを見ることができるように、私は実際にそれが田舎者になり始めたときに実際に立ち寄りました...後でJoshが提案したことをPHPファイルで実行します。
jcolebrand

1
vboxsfは、ファイルシステムのルートフォルダーへのアクセス許可の設定をサポートしておらず、ファイルアクセス許可をグローバルに設定するためのモード、uid、およびgidマウントオプションを提供している可能性があります。
billc.cn

2

特定のエラーが何であるかを言わなかっただけです

Apacheはそのディレクトリに置いたindex.htmlを見ないようです

特定のエラーが役立ちます。あなたは、Apacheの中でこれを提出することができerror_log、一般的に下にある/var/log/apache2/error.logUbuntの下ではなく、を介して設定することができますErrorLogディレクティブであなたの<VirtualHost>

実際のエラーがなければ、George Marianは正しいと思いますが、これは許可エラーです。以下を使用して、Apacheが実行されているグループを確認できます。

ps -o pid,group -o atime,comm=CMD awx | grep apache

/media/sf_Dev/彼が言ったように許可を連鎖してみてください。

Aliasディレクティブを使用してこれを処理すると、DocumentRootの特定の部分のみが外部の場所を指すようにすることができます。

Alias /info /media/sf_Dev
<Directory /media/sf_Dev >
  Order allow,deny
  Allow from all
</Directory>

編集: Apacheサーバーがmod_php(FastCGI PHPではなく)を使用していないsuexec場合、次のPHPコードを使用して、Apacheが適切なGID(グループID)で実行されているかどうかを確認できます。

<?php

var_dump(posix_getegid());

がと同じGIDを返すことを確認してくださいvboxsf。(vboxsfのGIDはにあります/etc/groups


質問する前にエラーログを見るのを忘れていました。今晩チェックします。ただし、それは許可エラーであると想定してください。上記のジョージに対する私の回答を参照してください
-jcolebrand

OK。次に、ApacheをGIDとして実行することに集中する必要がありますvboxsf。変更した関連部分を編集して投稿できますGroupか?
ジョシュ

envvarsの1行を編集し、グループと言いましたが、今はボックスを見ていません。
jcolebrand

0

共有フォルダーが自動マウントされるように構成している場合。次に、最初に同じものを無効にし、共有フォルダーを手動でマウントする必要があります。vmを起動するたびに自動マウントする必要がある場合は、/ etc / fstab内にそれぞれのエントリを追加する必要があります。(fstabを介してvbox共有フォルダーをマウントする際に問題があるようです。そのため、以下のコマンドを/etc/rc.localに追加すると、起動時にマウントすることができました)。

正しいユーザー/グループで共有フォルダーをロードする

私が知る限り、このエラーは共有フォルダの所有者とグループが原因です。Apacheは、レンダリングするファイルがグループwww-dataに属することを期待しています。ただし、デフォルトでは、VirtualBoxの共有フォルダーはvboxsfユーザーに属します。このユーザーをwww-dataグループに追加します。これを行うには、ゲストのグループプロパティを編集します。

sudo usermod -a -G vboxsf www-data

共有フォルダーをマウントし、www-dataユーザーおよびグループに割り当てます。ユーザーIDとグループIDをチェックアウトするには、ゲストマシンの/ etc / passwdファイル(cat / etc / passwd | grep 'www-data')を確認します。DebianベースのOSでは、通常、両方のIDは値33に設定されます。したがって、ゲストで次のコマンドを発行するだけです。

mount -t vboxsf -o rw,uid=33,gid=33 website /media/sf_website

websiteは共有フォルダーの名前であり(上のスクリーンショットを参照)、/ media / sf_websiteはフォルダーがマウントされる場所です。

詳細については、このリンクを参照してくださいhttp://jimmybonney.com/articles/configure_virtualbox_shared_folder_apache_virtual_host/

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.