virtualboxを使用してdjangoプロジェクトに取り組もうとしています。プロジェクト ディレクトリは、ホスト マシン上にある共有フォルダーを指すシンボリック リンクです。django プロジェクトは許可の問題なく作成され、ゲスト マシンで Apache を使用してサイトをホストすることに成功しました。ただし、collectstatic を実行すると、OSError: [Errno 30] Read-only file system
.
vboxsf グループに追加する必要がある別のユーザーはいますか? 私のユーザーはバンジョーで、Apache は www-data です。
それとも別の解決策がありますか?自分のファイルを自分のホスト コンピューターに置きたいと思っています。
これが私のセットアップです
- ホスト: Xubuntu 12.10
- ゲスト: Xubuntu 13.04
- ジャンゴ: 1.5.1
これが私のセットアップ手順の関連部分です。また、django admin を有効にしました。収集する必要があるのは、これらの静的ファイルです。
# add banjo user and apache user to shared folder owernship group
sudo gpasswd -a banjo vboxsf
sudo gpasswd -a www-data vboxsf
ln -s /media/sf_foobar foobar.com
mkdir -p foobar.com/dev
cd foobar.com/dev
mkvirtualenv foobar --no-site-packages
workon foobar
pip install django
django-admin.py startproject foobar
# settings.py
STATIC_ROOT = '/home/banjo/foobar.com/dev/foobar/static/'
python manage.py collectstatic -l
次のエラーが表示されます
(foobar)virtual-machine|foobar: python manage.py collectstatic -l
You have requested to collect static files at the destination
location as specified in your settings.
This will overwrite existing files!
Are you sure you want to do this?
Type 'yes' to continue, or 'no' to cancel: yes
Linking '/home/banjo/.virtualenvs/foobar/local/lib/python2.7/site-packages/django/contrib/admin/static/admin/css/rtl.css'
OSError: [Errno 30] Read-only file system
これは、所有者とグループを示すファイル システムのツリーです。
virtual-machine|foobar.com: tree -L 3 -ug
.
└── [root vboxsf] prod
├── [root vboxsf] foobar
│ ├── [root vboxsf] foobar
│ ├── [root vboxsf] manage.py
│ └── [root vboxsf] static
├── [root vboxsf] logs
└── [root vboxsf] requirements.txt
私は走りましsudo chown -R banjo prod/
たが、所有権は変わりませんでした。