Настройка vhost на VirtualBox с Ubuntu 16.04 [дубликат]

Я новичок в разработке, и поэтому я застрял на таком проблема "новичков".

Я хочу иметь каталог в / var / www / mysite с index.html и получать к нему доступ через веб-браузер на моем ПК (Win10 64 Bit), набрав в нем mysite.example .

Я не хочу публиковать что-либо в Интернете с этим. Я хочу только протестировать и разработать сайт, который позже может быть размещен.

] Я создал VirtualMachine с помощью Oracle VirtualBox и установил Ubuntu16.04 (64-разрядный, также включил виртуализацию на моем i5 2500 в Bios, поэтому я получаю эти 64-разрядные версии).

Затем я установил apache2 , mysql и php .

ip addr show дал мне адрес: 192.168.178.31 .

Итак, если я ввожу в свой браузер http://192.168.178.31/ , я попадаю на страницу apache2 по умолчанию - она ​​работает!

Я создал каталог / var / www / mysite и поместил в него простой index.html для тестирования цели. Я сказал sudo chown -R 775 в / var / www / .

Теперь мне нужно создать виртуальный хост, чтобы получить доступ к этому индексу .html в этом конкретном каталоге, введя определенную строку в моем браузере. Но это просто не сработает!

Я зашел в / etc / apache2 / sites-available / и создал mysite.conf .

Это содержание:

<VirtualHost *80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/mysite
ServerAlias mysite.example
</VirtualHost>

Я выполнил a2ensite mysite.conf , sudo service apache2 reload и restart

Итак, я здесь. Если я наберу mysite.example в моем браузере, я получаю только ошибки.

Сайт не достигнут. DNS-сервер для mysite.example не найден и так далее (ERR_NAME_NOT_RESOLVED).

1
задан 30 July 2017 в 22:22

1 ответ

Обратите внимание на то, что, если Вы использование mysite.local вместо mysite.org* (или другое популярное расширение) можно ввести http:// перед ним каждый раз, потому что браузер не может распознать .local как домен верхнего уровня.

  • .google, .dev, .foo, .page, .app, .chrome домен верхнего уровня не является хорошими идеями в подобных целях с декабря 2017, читал больше... и больше...

Если Вы хотите получить доступ mysite.local и www.mysite.local от локальной машины, редактирования /etc/hosts и свяжите эти два доменных имени с петлевым интерфейсом - 127.0.0.1:

127.0.0.1    localhost mysite.local www.mysite.local
  • Добавьте эту строку где-нибудь в /etc/hosts.

  • Обратите внимание, что, в этом контексте локальной 'машиной' является Виртуальная машина с Ubuntu.

Если Вы хотите получить доступ mysite.local с помощью другого компьютера от Вашей LAN отредактируйте host файл и связывает эти два доменных имени с IP-адресом серверов:

192.168.178.31    mysite.local www.mysite.local

Другая опция состоит в том, чтобы создать Ваш локальный DNS:


Вот, пожалуйста основная виртуальная конфигурация хоста, применимая для Вашего случая:

<VirtualHost *:80>

        ServerName mysite.local
        ServerAlias www.mysite.local

        ServerAdmin webmaster@mysite.local

        DocumentRoot /var/www/mysite

        <Directory /var/www/mysite>
                Options Indexes FollowSymLinks
                AuthType None
                AllowOverride All
                Order allow,deny
                Allow from all
                Require all granted
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/mysite.local-error.log
        CustomLog ${APACHE_LOG_DIR}/mysite.local-access.log combined

</VirtualHost>
  • В начале вставляет некоторое основное содержание /var/www/mysite. Функция phpinfo(); хорошая идея:

    echo '<?php phpinfo(); ?>' | sudo tee /var/www/mysite/index.php
    

Apache перезапуска и попытка получить доступ http://mysite.local через браузер.

1
ответ дан 7 December 2019 в 15:32

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

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