Я новичок в разработке, и поэтому я застрял на таком проблема "новичков".
Я хочу иметь каталог в / 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).
Обратите внимание на то, что, если Вы использование 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
Главный компьютер, который выполняет Oracle VirtualBox, должен рассматриваться как машина от виртуальной LAN, которую Вы создали во время установки VirtualBox.
Другая опция состоит в том, чтобы создать Ваш локальный 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
через браузер.