본문 바로가기
XAMPP

로컬호스트로 여러 개의 가상서버 돌리기

by ethanjoh 2016. 2. 16.

사이트를 여러 개를 관리하면서 개발하다보니 매번 서버에 업로드해서 작업하기도 힘들고 해서 로컬호스트로 돌리고 있는데, 각 폴더별로 사이트를 만들어서 하다보니 http://localhost/abc, http://localhost/def 이런 식으로 접속을 하는데 종종 루트디렉토리를 못찾아서 에러가 나는 경우가 있다.


이럴 때, 각각의 디렉토리를 루트로 인식시켜주려면 가상호스트를 이용하면 된다.


우선 C:\Windows\System32\drivers\etc에 있는 hosts 파일을 다른 폴더로 복사한다. (바로 이 폴더에서 작업한 후 저장하면 관리자권한 에러가 나서 저장이 안되니 다른 폴더에서 작업 후 복사하는게 낫다.)


hosts 파일을 수정하지 않으면 DNS 에러가 난다.


hosts 파일을 열어


127.0.0.1  abc 

127.0.0.1  def


이런 식으로 www 디렉토리 밑에 생성한 디렉토리명을 넣어준다.



그리고 C:\wamp\bin\apache\apache2.4.9\conf\extra 의 httpd-vhosts.conf 파일을 열어 디렉토리를 추가한다.


<VirtualHost *:80>

    DocumentRoot "C:\wamp\www\abc"

    ServerName abc

    ServerAlias abc

    ErrorLog "logs/abc-error.log"

    CustomLog "logs/abc-access.log" common

</VirtualHost>



이렇게 한 후 아파치 서버를 재시작하면 된다.


그 후 http://abc, http://def 이런 식으로 디렉토리명만 쳐도 루트디렉토리로 인식해서 로컬에서 접속이 잘 된다.