Возможно ли сделать виртуальный хост в разделе NTFS?

Я использую Ubuntu и Windows. Когда я использую Windows, я не могу получить доступ к своему файлу в var/www моего раздела Linux. Поэтому я пытаюсь сделать виртуальный хост и DirectoryRoot в моем разделе NTFS.

Я объединю каталог WAMP в Windows и корневой каталог виртуального хоста в Ubuntu, но он не работает. Всегда появляется error 403 forbidden access. И когда я меняю права доступа с помощью chmod, ничего не меняется.

Что мне делать?

2
задан 27 April 2013 в 17:40

4 ответа

Настройки для раздела NTFS

Сначала необходимо смочь получить доступ разделу NTFS с помощью Ubuntu. Сделайте следующие шаги, если Вы не имеете.

sudo apt-get install ntfs-3g

Найдите название своего раздела (разделов) NTFS. Пример:

sudo fdisk -l | grep NTFS

Получите UUID своего раздела NTFS.

$ sudo blkid
/dev/sda1: LABEL="windows" UUID="4ED2A451B2A23F59" TYPE="ntfs"

Настройте раздел в/etc/fstab (сделайте резервное копирование на всякий случай).

sudo cp /etc/fstab /etc/fstab.bak
sudo vim /etc/fstab

Я создал мой следующим образом (на основе UUID. Следующие опции устанавливают чтение, пишут, выполняют полномочия, и uid=1000 устанавливает Вас как пользователя раздела NTFS во время начальной загрузки ОС. Это также гарантирует, что пользователь Apache может получить доступ к Вашему виртуальному направлению хоста (это - то, что решило мою проблему).

/dev/disk/by-uuid/4ED2A451B2A23F59 /media/windows ntfs-3g defaults,permissions,users,uid=1000,utf8  0 0

Если Вы хотите смонтировать раздел как www-data пользователь вместо этого, затем найдите www-data идентификатор пользователя и замена uid=1000 с этим:

id -u www-data

Обратите внимание, что Вы, возможно, должны создать/media/windows каталог, если он не существует.

cd /media
sudo mkdir windows
sudo chown sagun:users windows

Перезагрузите свой компьютер и подтвердите, что Ваш диск NTFS автомонтируется с чтением, запишите, выполнитесь, полномочия включили.

Настройки для конфигурирования Виртуального Хоста в Apache

Создайте каталоги для размещения файлов журнала (если Вы хотите):

sudo mkdir /var/log/apache2/projects.dev

Создайте новый файл конфигурации внутри/etc/apache2/sites-available каталог. Пример:

sudo vim /etc/apache2/sites-available/projects.dev.conf

Установите свою конфигурацию, подобную этому, и сохраните файл:

<VirtualHost *:80>
    ServerAdmin webmaster@projects.dev
    ServerName projects.dev
    ServerAlias projects
    DocumentRoot /media/windows/Users/sagun/Dropbox/projects
    <Directory />
        Options FollowSymLinks
        AuthType None
        AllowOverride None
        Order deny,allow
        Deny from all
    </Directory>
    <Directory /media/windows/Users/sagun/Dropbox/projects/>
        Require all granted
        Options Indexes FollowSymLinks MultiViews
        AuthType None
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/projects.dev/error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/projects.dev/access.log combined
</VirtualHost>

Затем, отредактируйте/etc/hosts файл.

sudo vim /etc/hosts

Добавьте следующую строку и сохраните:

127.0.0.1   projects.dev

Активируйте хост следующей командой:

sudo a2ensite projects.dev

Apache перезапуска

sudo service apache2 restart

Наконец я смог перейти в http://projects.dev от моего Браузера со всем моим кодом, находящимся в разделе NTFS и из Windows и из Ubuntu. Я надеюсь, что кто-то находит это полезным.Удачи!

1
ответ дан 27 April 2013 в 17:40

Это то, что вам нужно, чтобы решить проблему

https://stackoverflow.com/questions/89118/apache-gives-me-403-access-forbidden-when-documentroot-points -to-two-different-d

Обычно вам нужна такая запись в файле httpd.conf

<Directory "physical path to the directory">
    Order Allow,Deny
    Allow from All
    # Any other directory-specific stuff
</Directory>
0
ответ дан 27 April 2013 в 17:40

Если вы настроили жесткий диск на автоматическое монтирование, вероятно, процесс редактирования envvars не будет работать, потому что раздел будет в /mnt.

Эта процедура может быть не такой безопасной, но она работала в течение мин. Я оставил пользователя www-data даже в envvars и добавил пользователя apache в корневую группу.

sudo usermod -G root www-data

Как это работает только локально, я считаю, что нет никаких серьезных рисков.

0
ответ дан 27 April 2013 в 17:40

Лучшим решением для меня было изменение пользователя Apache, это может пойти на небольшой риск, но для меня это сработало.

sudo vim /etc/apache2/envvars
0
ответ дан 27 April 2013 в 17:40

Другие вопросы по тегам:

Похожие вопросы: