Параметры для настройки Apache для учета других папок, несмотря на / var / www

1

Я использую Ubuntu 12.10, и я знаю, что если я помещу файл php (index.php) в / var/wwwи я посещаю localhost:80/index.php, это будет работать нормально.

Тем не менее, скажем, что у меня есть несколько проектов в папках заказов в каталогах, таких как:

/home/myuser/Projects/Joomla

а также

/home/myuser/Work/testphp

Какие у меня есть альтернативы, чтобы Apache мог читать эти папки? Я знаю, у меня есть эти возможности:

  • Создайте символические ссылки (но я не смог выяснить, какие разрешения / группы мне следует установить и почему?)

  • Добавьте VirtualHosts (я не нашел ресурс, который объяснит, как использовать VirtualHosts для этой ситуации).

Может ли кто-нибудь сказать мне, каковы мои возможности и какой из них лучший и почему?

Hommer Smith
источник
По каким URL вы хотите, чтобы файлы в этих других каталогах были доступны по адресу? В зависимости от ответа на этот вопрос можно использовать несколько разных методов. Или ваша проблема в том, что Apache даже не может получить доступ к файлам, и вы хотите знать, как установить разрешения, позволяющие ему это делать?
David Z
Привет, Дэвид З. Это концептуальный вопрос, я хочу знать, как сказать Apache, чтобы он имел доступ ко всем файлам из этих папок, это в основном проект Joomla.
Hommer Smith
Что вы подразумеваете под "я не нашел ресурс, который объяснит, как использовать VirtualHosts"? Вы имеете в виду, что вы не можете совершать звонки с разными заголовками «Host:» или вы не можете найти пример для разных VirtualHosts с разными DocumentRoots?
csikos.balint

Ответы:

0

Следуй этим шагам:

1. Отредактируйте файл конфигурации по умолчанию:

vi /etc/apache2/sites-available/default.conf

и добавьте эту строку:

DocumentRoot /home/myuser

2. Создайте новый файл конфигурации сайта:

touch /etc/apache2/sites-available/yourSite.conf
vi /etc/apache2/sites-available/yourSite.conf

<VirtualHost *:80> 

ServerName Joomla
DocumentRoot /home/myuser/Projects/Joomla
    <Directory /home/myuser/Projects/Joomla>
            AllowOverride all
            Options all
    </Directory>

</VirtualHost>

3. Перезагрузите свой сервер:

service apache2 reload

Вы можете получить доступ сейчас, поместив Joomla на URL. Если не работает, вы должны создать символическую ссылку:

ln -s /etc/apache2/sites-available/yourSite.conf /etc/apache2/sites-enabled/yourSite.conf
Manolo
источник