본문 바로가기

생활강좌

개발환경 세팅하기-아파치설정

웹서버 설치를 마치고 브라우져(크롬, 파이어폭스, 사파리, 익스플로러등)을 열어 도메인 등록 하는 곳에 localhost를 입력해보자.

원격 서버에 있는 경우에는 localhost대신 아이피를 치면 된다.

익스플로러에서는 "이 페이지를 표시할 수 없습니다. ", 크롬에서는 " 해당 웹 페이지를 사용할 수 없음" 이라고 뜨면 웹서버가 막히거나 웹서버를 시작 안한 것이다.

윈도우에서 설치한 경우라면 기본적으로 아래와 같이 뜬다.


처음 설치되고 보통 홈 디렉토리는 아파치 서버의 htdocs 폴더를 잡는다.

그것을 알아보려면 아파치 설치 디렉토리의 conf 를 확인하면 된다.

xampp나 centos 의 경우에는 httpd.conf 의 DocumentRoot를 확인하면 바로 설치 경로를 알수 있다.

우분투는 apache2.conf 라는 이름으로 되어있다.

xampp 

설치시 디렉토리/apache/conf/httpd.conf

centos 

yum으로 설치한 경우 경로

/etc/httpd/conf/httpd.conf

우분투

apt-get으로 설치한 경우

/etc/apache2/apache2.conf


여기서 알아두어야 할 것이 웹서버 하나당 한개의 사이트가 돌아가는 것이 아니다. 여러개의 사이트가 운영이 된다. 

이 때 사용하는 것이 가상호스트(Virtual host) 이다. 


이전에 DNS서버와 호스팅서버의 관계를 설명했다. 

브라우저에 도메인을 입력하면 그 도메인은 DNS서버를 찾게 되고 DNS서버에서는 호스팅 되는 웹서버를 찾게 된다. 

웹 서버에서는 자기가 호스팅 하는 도메인, 아이피, 포트등으로 요청하는 정보를 보내주게 되는데 그 때 사용하는것이 가상호스트(Virtual host)라고 생각하면 된다.

정확하진 않지만 대충은 맞다.


그래서 나는 보통 가상호스트를 혼자 작업하기 때문에 아이피 기반으로 잡는다.

내가 설치한 xampp에는 아래와 같이 되어있다.

# Virtual hosts

Include conf/extra/httpd-vhosts.conf

httpd-vhosts.conf 파일이 가상호스트 파일이라는 것이다.

centos도 마찬가지일텐데 우분투는 약간 다르다.


아! 여기에선 선행작업이 있다. 

첫번째로 작업할 폴더를 만들어준다.

내 경우 D드라이브에 test라는 폴더를 생성하고 index.php를 작성후 넣어두었다.

리눅스의 경우 adduser 를 사용하여 계정생성을 하고 진행하는것이 속 편하다.


그럼 xampp에서 수정을 해보자

<VirtualHost *:80>

    ServerAdmin webmaster@dummy-host2.example.com

    DocumentRoot "D:/phpproj/test"

    ServerName dummy-host2.example.com

    ErrorLog "logs/dummy-host2.example.com-error.log"

    CustomLog "logs/dummy-host2.example.com-access.log" common

</VirtualHost>

앞에 주석을 제거한다.

<VirtualHost *:80> : 80번 포트로 버철호스트를 잡겠다는 말이다. 도메인이 있을경우에는 <VirtualHost 도메인> 식으로 넣어준다.

ServerAdmin : 에러가 생기면 메일 발송을 위해 적어놓는다. 

DocumentRoot : 소스가 올라갈 경로이다. 절대경로로 잡아줘라

ServerName : 도메인으로 작업하면 도메인으로 잡고 아니면 localhost 혹은 127.0.0.1 로 잡는다.

ErrorLog : 에러 로그위치를 정해준다. /test.example.com-error.log 식으로 잡아주면 알아서 생긴다. 

CustomLog : 방문자 로그 위치를 정한다. 


경로를 잡고 아파치를 재시작 해주면 아마 404 에러가 뜨거나 권한이 없다고 나오거나 파일을 읽을 수 없다는 에러가 나올것이다. 

생성한 폴더에 index.php를 넣어주자 

만약에 권한이 없다고 에러가 뜬다면(403 Forbidden error) 몇가지 더 설정을 잡아준다. 

httpd-vhosts.conf 상단에 입력해준다.

<Directory />

    AllowOverride none

    Require all granted

</Directory>

xampp 는 윈도우에서 생성되는 계정이기 때문에 생성한 디렉토리에 윈도우의 웹 계정을 추가해준다.

폴더 > 속성 > 보안 탭을 클릭


편집 > 추가 > 고급


지금찾기 클릭후 IIS_IUSERS를 선택한다.

권한은 그냥 모든 권한?으로 준다.


아파치 재부팅 시켜준다.



이런식으로 뜨면 우선 아파치 설정은 끝이다. 


리눅스의 경우 

chomod o+rx 생성디렉토리

명령어를 사용하여 권한을 부여한다.



'생활강좌' 카테고리의 다른 글

개발환경 세팅- apm 구축  (0) 2015.10.13
개발환경 세팅하기  (0) 2015.10.13
서버정보  (6) 2015.10.01
도메인, 호스트 등록  (2) 2015.09.17
서버 종류  (0) 2015.09.14