Я довольно близок к тому, чтобы сделать то, что я хочу, но увы, решение последнего препятствия ускользает от меня. По сути, я пытаюсь достичь положения, в котором я могу размещать несколько сайтов на одном vb и получать к ним доступ с помощью простого URL с любой машины...
Моя установка:
Хост Windows 7, содержащий запись в файле hosts следующего содержания: 192.168.0.30 laravel.dev
У меня есть резервирование DHCP для этого адреса, которое резервирует его для уникального MAC-адреса моего VirtualBox.
Virtualbox настроен с сетевым адаптером мостового типа и беспорядочным режимом: разрешить все (не уверен, нужно ли это). Я не вносил никаких изменений в файл hosts на гостевой ОС.
Я создал новый файл с именем laravel.dev /etc/apache2/sites-available
и laravel.dev
отредактировал его следующим образом:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName *.laravel.dev
DocumentRoot /var/www/laravel.dev/public/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/laravel.dev/public/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/laravel_error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/laravel_access.log combined
</VirtualHost>
Затем я включил его (как я думал), введя sudo a2ensite laravel.dev
и перезапустив Apache
Текущая ситуация:
Итак, на данный момент я могу получить доступ через веб-корень ( /var/www/
) с хоста, введя http://laravel.dev/
в адресную строку, и я могу получить к нему доступ из гостевого браузера, введяlocalhost
Я могу получить доступ к индексному файлу своего проекта ( /var/www/laravel.dev/public/index.php
) с хоста, введя его http://laravel.dev/laravel.dev/public
в адресную строку, а также могу получить к нему доступ из гостевого браузера, введяlocalhost/laravel.dev/public
Что я хочу
Это нормально, но мне бы хотелось иметь возможность доступа к корню моего сайта ( /var/www/laravel.dev/public/index.php
), просто введя laravel.dev в адресной строке любой машины - Может ли кто-нибудь объяснить, что я здесь делаю не так? Я был бы вечно благодарен.
Запрошена дополнительная информация:
результат ls -l в /etc/apache2/sites-enabled/
total 0
lrwxrwxrwx 1 root root 26 Feb 26 17:16 000-default -> ../sites-available/default
lrwxrwxrwx 1 root root 30 Feb 26 18:27 laravel.dev -> ../sites-available/laravel.dev
...будем рады предоставить любую другую информацию, которая может помочь решить эту проблему.
Кроме того, кроме установки стека ламп. Я на самом деле не сделал ничего, кроме того, что здесь перечислено - если я не упомянул, то, вероятно, я этого не делал, так что ЛЮБЫЕ предложения приветствуются. Можно смело предположить, что вы имеете дело с новичком в Linux... никто не обидится.
решение1
Я сомневаюсь, что проблема связана с DNS, хотя я сомневаюсь, что созданный вами файл действительно читается Apache — строки «DocumentRoot /var/www/laravel.dev/public/» должно быть достаточно, чтобы это заработало.
[ Действительно, если это все, что вы пытаетесь сделать, нужна ли вам остальная ерунда, которую вы вставили? Если нет, я бы попробовал удалить этот файл и изменить DocumentRoot в основной конфигурации Apache ].
Если это не решит вашу проблему, можете ли вы предоставить результат «ls -l /etc/apache2/sites-enabled», поскольку там должна быть символическая ссылка на sites-available/laravel.dev, которая может отсутствовать. Если нет, нам, возможно, придется выяснить, анализируется ли этот файл, и если нет, то почему.
решение2
Вы можете попробовать руководство, которое я нашел здесь. Кажется, оно дает краткое описание того, как настроить с помощью vhosts в Ubuntu. Оно также охватывает Arch Linux. Но я смог выяснить, в чем была моя проблема, после прочтения руководства, я пропустил простой шаг, прежде чем следовать ему. Возможно, вы столкнулись с той же ситуацией. http://www.adminempire.com/how-to-setup-v-host-on-apache/
Также, возможно, раздел «Псевдоним» решит вашу проблему с тем, как вводить то, что вы хотите, и не придется включать часть localhost.