Я успешно запустил один сайт на apache2 с помощью учебника. Мой второй веб-сайт, я не могу получить доступ локально, и я не знаю почему.
Вот шаги, которые я выполняю:
/data/mywebsite
/var/www/mywebsite
/etc/apache2/sites-available/mywebsite
как this: blockquote><VirtualHost *:80> ServerAdmin me@localhost.de ServerName localhost DocumentRoot /var/www/mywebsite <Directory /var/www/mywebsite> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
теперь я включаю эту страницу, используя apache2, а затем перезапускаю apache2
sudo a2ensite mywebsite sudo service apache2 restart
, но вместо своей страницы я вижу только моя папка www. Я предполагаю, что связал что-то не так. Нужно ли иметь эту косую черту
/
позадиmywebsite
или что-то в этом роде?Я пробовал ВСЕ, о чем я могу думать в течение нескольких часов.
Я также попытался запустить его на другом порту и добавить порт к своему
apache2 ports.conf
. все еще безуспешно.Любой совет будет наиболее полезным.
Если у Вас есть несколько сайтов на одном Apache httpd сервер, необходимо отправить полную конфигурацию (оба VirtualHost).
Я собираюсь отправить конфигурацию в качестве примера двух серверов Apache сайта, тот, который служит www.example.com и один для www.example.org:
файл:/etc/apache2/sites-available/example-com
<VirtualHost 172.20.30.50>
DocumentRoot /var/www/example.com/
ServerName www.example.com
# Other directives here ...
</VirtualHost>
файл:/etc/apache2/sites-available/example-org
<VirtualHost 172.20.30.50>
DocumentRoot /var/www/example.com/
ServerName www.example.com
# Other directives here ...
</VirtualHost>
Если оба Ваших сайта указывают на: localhost, только один сайт покажет, каждый предшествует другому, другими словами, имеет более высокий приоритет. Это - wha, для которого директива "Имени сервера" там. Это будет служить тем, кто пробует к ener что ServerName.
Таким образом, если Вы только тестируете вещи на своем localhost, просто используйте тот же VirtualHost и используйте подпапки. Один сайт в: /var/www/site1
и другой в /var/www/site2
, и укажите на свой браузер на: http://localhost/site1
или http://localhost/site2
.
Другое решение, если Вы не хотите иметь подпапки в своем URL, состоит в том, чтобы обойти Ваш поиск DNS и просто вызвать некоторые доменные поиски через /etc/hosts
файл. Вот пример (Вы хотите добавить к 127.0.0.1 строкам в конце):
файл:/etc/hosts
127.0.0.1 localhost example.com example.org
Ваш /etc/hosts
файл мог бы выглядеть по-другому, просто не забыть добавлять эти два домена в конец, потому что, поскольку я объяснил ранее, Apache будет только служить Вам один VirtualHost тому же ServerName.
Для получения дополнительной информации: http://httpd.apache.org/docs/2.2/vhosts/examples.html
Я не знал об этом, но я несколько минут играл, чтобы посмотреть, как это работает.
Я думаю, что вы все делали правильно, но, как уже упоминалось, вы должны добавить что-то вроде ServerName www.site1.com
в конфигурацию (не localhost ). Затем включите сайт, перезапустите Apache и т. Д.
Кроме того, как отмечено в http://httpd.apache.org/docs/current/vhosts/examples.html : «Сервер Apache магическим образом не вызывает создание записей DNS для этих имен хостов. . Вы должны иметь имена в DNS, преобразуясь в ваш IP-адрес ".
Для локального тестирования вы можете отредактировать файл / etc / hosts и добавить имя сайта (использованный выше www.site1.com ) в качестве псевдонима для localhost, изменив строка с надписью 127.0.0.1 localhost
- 127.0.0.1 localhost www.site1.com
(замените www.site1.com
названием вашего сайта). Затем перезапустите браузер и укажите его название, чтобы увидеть, работает ли он.
Или вы можете забыть обо всех этих конфигурациях и просто написать localhost / mywebsite в своем браузере, чтобы получить доступ к вашему сайту, но, похоже, это не то, что вам нужно.