Я потратил последние несколько дней на настройку сервера CentOS 6 в моей локальной сети, чтобы я мог размещать несколько проектов, над которыми я сейчас работаю. Все настроено так, что я получаю доступ к серверу, набрав 192.168.1.10
и появляется тестовая страница Apache.
Я хочу получить доступ к различным проектам, набрав 192.168.1.10/project
, а затем просмотрите проект, как если бы он находился на собственном автономном сервере. Я думал о том, чтобы просто поместить эти сайты в папки на сервере, а затем получить к ним доступ таким образом, но во многих моих проектах используется CakePHP, поэтому это невозможно.
Поэтому мне нужно создать VirtualHosts в Apache, чтобы я мог это сделать, но без использования доменного имени. Я хочу использовать IP-адрес машины (статический).
Любые идеи?
РЕДАКТИРОВАТЬ
Я последовал совету Питера, но теперь у меня возникла новая проблема.
в httpd.conf
файл Я ввел следующую информацию:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin admin@local.com
DocumentRoot /www/html/project1
ServerName local.project1.com
ErrorLog logs/local.project1.com-error_log
CustomLog logs/local.project1.com-access_log common
</VirtualHost>
И теперь Apache говорит:
Запуск httpd: Предупреждение: DocumentRoot [/ www / html / project1] не существует
Когда он явно существует. Я отключил SELinux и могу подтвердить, что он не включен. Я также проверил, кому принадлежит папка, и что она принадлежит root
. Я также могу сохранять файлы в эти папки, используя гостевую учетную запись FTP (которая не связана с root), поэтому папки отображаются в списке и в них можно записывать. Но когда я пытаюсь открыть папку в веб-браузере, она тоже не работает. Я также перезагрузил сервер, и проблема не устранена.
Что мне нужно изменить, чтобы решить эту проблему?
Вы можете поместить свои виртуальные DNS-имена в свой файл hosts.
например. в Linux,
vim /etc/hosts
и заполните:
192.168.1.10 project1 project2 project3
В Windows XP (вероятно, win7 и др. Похожи) отредактируйте файл c: \ windows \ system32 \ drivers \ etc \ hosts
и заполните:
192.168.1.10 project1
192.168.1.10 project2
192.168.1.10 project3
А потом, когда вы перейдете в http://project2/
в вашем браузере у вас будет веб-корень project2 (если вы правильно настроили свои виртуальные хосты).
Или настройте внутренний DNS-сервер, если у вас много разработчиков, использующих эти псевдонимы или если псевдонимы все время меняются. (Это мой предпочтительный выбор ... Я делаю это для тестового сайта)
Вы можете использовать несколько портов на одном IP-адресе, несколько IP-адресов (если они у вас есть) или несколько доменов. На вашем месте я бы добавил несколько локальных доменов, например p1.lan, p2.lan, p3.lan в / etc / hosts (linux) или Windows \ System32 \ drivers \ etc \ hosts (windows) и укажите для них 192.168.1.10.
Внутри конфигурации apache используйте ...
Alias /project /var/projects/project1
или что-то в этом роде .. не могу припомнить.