web-dev-qa-db-ja.com

Elementary OS(Ubuntu)、VirtualBox->ホストとゲスト間でwwwデータを共有

誰かがこの要求を解決するためにここで段階的な解決策を与えることができますか?

ElementaryOSとVirtualBoxがインストールされた自宅のコンピューターを持っています。 Elementary OSを搭載したVirtual PC(Virtual Box)を搭載したフラッシュドライブを持っています。 Windows10とVirtualBoxがインストールされた仕事用コンピューターがあります。

私が現在使用しているもの:私の主要なコーディングコンピューターは仮想コンピューターです。 PHP用のLAMPやその他の開発ツールがあります。両方の(自宅と職場の)PCで、仮想PCを実行して作業する必要があります。

欲しいもの:PHPプロジェクトを自宅のPCに直接(virtualboxを実行せずに)使用して共有フォルダーで作業できるようにしたい。フラッシュドライブにサイズの仮想PCがあります〜 32GBと同じ量の空き容量。wwwフォルダをそこに移動することは可能ですか?つまり、仮想PCの外側od仮想PCですが、仮想PCの内側から常に利用できる場所にあります。事(それほど重要ではありません)、mysql(mariadb)データベースとphpmyadminで同じことをすることは可能ですか?

そのため、自宅ではデスクトップで直接作業できるようにしたいのですが、職場では引き続きVirtualPCを使用する必要があります。

私がすでに試したこと:フラッシュを2つのパーティション(vboxdrive40GBとwww20GB)にフォーマットしました。 Vboxドライブには仮想PCが含まれ、wwwにはすべてのプロジェクトが含まれます。どちらもNTFSにフォーマットされています。共有フォルダを使用すると、winホストとlinuxホストの両方でwwwドライブをvar/www /内部ゲストにマップするのが非常に簡単でした。問題は、所有権とアクセス権のためにApacheからアクセスできないことです。 ntfsでフォーマットされたパーティションにwww-dataの所有権を設定できません。 ext4としてフォーマットしようとすると、vboxsrvをwww-dataグループに追加した後、問題は発生しませんでした。しかし、ext4はwinでサポートされていないため、WinHostでその共有フォルダーをマップすることはできません。また、Linuxホストでは、マウント後にそのフラッシュパーティションをvar/wwwに自動的にマップする必要があります-今のところ、方法はわかりません。

1

これは段階的な答えではありません。

私は過去に同様の問題を抱えていました。 Windowsはext4をサポートしていないため、2番目のアプローチはオプションではありません。したがって、ntfsを使用して、アクセス許可の問題を修正する必要があります。

Ntfsはその概念をサポートしていないため、Linuxでマウントされたntfsドライブのアクセス許可と所有権を変更することはできません。 ntfsパーティションをマウントすると、Linuxはドライブ内のすべてのファイルに「仮想アクセス許可」を割り当て、マウント後にこれらを変更することはできません。 2つのオプションがあります。

  • マウントオプションを編集して、www-dataが/ etc/fstab(自動マウントフォルダーを管理するファイル)にマウントする際の「仮想アクセス許可」を次のように設定します。

/dev/NTFS-partition /var/www ntfs-3g uid=<www-data user id>,gid=<www-data group id>,umask=0022 0 0

OR

  • 現在アクセス許可を持っているグループにwww-dataユーザーを追加します。以前に行ったようにntfsドライブをマウントし、アクセス許可エラーが発生した後(どのように行ったかはわかりません)、実行します。

Sudo usermod -a -G groupname www-data

ls -l/var/wwwを実行すると、グループ名を取得できます。

1
adelch