Как настроить Apache для обслуживания страниц в совместно используемой папке от хост-машины?

Я запускаю Ubuntu 18.10 по использованию Windows 10 Virtualbox 5.2.22

Позвольте мне объяснить, чего я пытаюсь достигнуть. В Windows у меня есть две среды разработки. Я разрабатываю использование сервера WAMP. Я использую Dropbox для синхронизации моих двух сред разработки. Вот то, как: у Меня есть каталог d:\Dropbox\_www затем у меня есть оба из моих апачей, настроенных точно тот же путь. В разработке я использую SQLite, таким образом, у меня нет проблем с базой данных. Я прокладывал себе путь более чем год без проблем.

Моя единственная проблема состоит в том, что я использую свой домашний компьютер в качестве одной из сред, и это было заполнено играми, другими программами и таким, таким образом, я думал, что это могла быть хорошая идея копировать мою среду по чистому VM использование Linux.

Я сделал d:\dropbox\_www совместно используемая папка, и это монтируется на /media/sf__www У меня есть полный доступ к нему, я могу использовать VS Code для редактирования файлов и такого.

Теперь я настроил сервер ЛАМПЫ, Apache 2, PHP и MySQL работают отлично, я сделал маленькую страницу в /var/www/test и все Хорошо

Моя проблема, я не могу настроить виртуальный сервер Apache для указания на /media/sf__www. Это - то, что я сделал:

В/etc/hosts я добавил:

laravel.com.devel    127.0.0.1

Я создал a laravel.conf в /etc/apache2/sites-available со следующим:

<VirtualHost *:80>
    ServerAdmin whatever@gmail.com
    DocumentRoot /media/sf__www/lara/
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    ServerName laravel.com.devel
</VirtualHost>

В apache2.conf У меня есть следующее:

<Directory "/media/sf__www/lara/">
    Options FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

Затем я активировал сайт и перезапустил Apache:

sudo a2ensite laravel.conf
service apache2 reload

Теперь, когда я перехожу к браузеру все, что я получаю, 403:

Forbidden

You don't have permission to access / on this server.
Apache/2.4.34 (Ubuntu) Server at laravel.com.devel Port 80

Думая, что это могло бы быть связано с полномочиями в файловой системе (я - симпатичный новичок в Ubuntu) я сделал a sudo chmod 777 lara -R для изменения всех полномочий в каталоге но тем не менее это дает мне 403.

Так, какая-либо идея о том, как я должен настроить Apache для работы с каталогом снаружи /var/www/ ?

Править: Частичный вывод от ll /media/sf__www/lara :

drwxrwx--- 1 root vboxsf   4096 oct 23 17:51 ./
drwxrwx--- 1 root vboxsf   4096 dic  8 09:58 ../
drwxrwx--- 1 root vboxsf   4096 oct 26 21:05 app/
-rwxrwx--- 1 root vboxsf   1686 oct 22 18:44 artisan*
drwxrwx--- 1 root vboxsf      0 oct 21 12:08 bootstrap/
-rwxrwx--- 1 root vboxsf   1477 oct 22 18:44 composer.json*
-rwxrwx--- 1 root vboxsf 144373 oct 22 18:48 composer.lock*

Похож на Вас, не может chmod/chown этот каталог


Править: Вывод групп

luisferfranco@luisfer-vb:/media/sf__www/lara$ groups
luisferfranco adm cdrom sudo dip plugdev lpadmin sambashare vboxsf

Править: Вывод setfacl на каталоге:

luisferfranco@luisfer-vb:/media/sf__www/lara$ sudo setfacl -d -R -m u:$USER:rwx,g:www-data:rwx,o:rx /media/sf__www/lara
[sudo] contraseña para luisferfranco: 
setfacl: /media/sf__www/lara: La operación no está soportada
setfacl: /media/sf__www/lara/app: La operación no está soportada
setfacl: /media/sf__www/lara/app/Console: La operación no está soportada
setfacl: /media/sf__www/lara/app/Exceptions: La operación no está soportada

Это говорит "операцию, не поддерживаемую" для каждого файла. Я читаю в другом сайте, это могло бы быть связано с разделами


Править: [РЕШЕННЫЙ]

Я хочу благодарить George Udosen (https://askubuntu.com/users/459561/george-udosen user:459561), он был в чате больше часа, помогая мне решить эту проблему. Он попробовал много разных вещей, пока это не работало. В основном, что закрепило проблему, добавлял один пользователь к vboxsf группе как показано:

sudo adduser www-data vboxsf

Большое спасибо, Вы заняли слишком много времени от своего Рождества для помощи совершенно незнакомому человеку, Вы - великий человек.

3
задан 26 December 2018 в 07:05

2 ответа

Попытка иметь апачскую совместно используемую папку доступа от хоста Windows на госте Ubuntu хитра, поскольку Virtualbox монтирует совместно используемую папку с пользователем root и группа vboxsf. Заставить это работать после того, как мы (OP и I) пытались повторно смонтировать что местоположение с командой

 sudo mount -t vboxsf -o remount,uid=1000,gid=1000,rw __www /media/sf__www

Это не работало так, обходное решение использовалось, где мы добавили апачского пользователя www-data группе vboxsf с командой

 sudo adduser www-data vboxsf

и с после того, как тот апач на госте смог получить доступ к тому местоположению.

1
ответ дан 1 December 2019 в 17:26

Самостоятельно новичок, но я могу дать Вам немного подсказки для разрешения этого случая, у нас обычно есть структура каталогов, которые принадлежат пользователю root (значение по умолчанию). Если мы хотим, чтобы наш обычный пользователь смог изменить файлы в наших веб-каталогах, можно изменить владение путем выполнения этого:

sudo chown -R $USER:$USER /media/sf__www/lara/

Удостоверьтесь, что этот каталог Lara принадлежит обычному пользователю, в противном случае пробуют вышеупомянутую команду, затем перезапускают Apache, это могло бы работать на Вас затем позже, можно изменить режим каталога к 755, как обычно. Сообщите мне, решает ли это Ваш вопрос.

0
ответ дан 1 December 2019 в 17:26

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

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