Linux WEB

apache virtualhost설정을 통해 한 개의 서버에서 다 수의 웹사이트 운영이 가능합니다.

(아래 예제는 apache 2.x 버전 기준 입니다.)

 

1. 유저계정 생성

# useradd test  (default/home 하위에 계정 디렉토리가 생성된다.)

# passwd test  (생성한 계정의 패스워드 설정)

# mkdir /home/test/public_html   (웹소스를 저장할 디렉토리를 계정 디렉토리 하위에 생성)

# chown test.test /home/test/public_html   (public_html디렉토리 소유권을 생성한 계정으로 설정)

2. httpd.conf 파일 수정

# vi /usr/local/apache2/conf/httpd.conf

===========================================

# 적절한 위치에 아래내용 작성

<Directory "/home/*">

    AllowOverride All

    Options +ExecCGI

    Order allow,deny

    Allow from all

</Directory>

# 파일 하단부분에 #Include conf/extra/httpd-vhosts.conf 내용을 아래와 같이 주석해제

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

===========================================

3. httpd-vhosts.conf 파일 수정

# vi /usr/local/apache2/conf/extra/httpd-vhosts.conf

===========================================

NameVirtualHost *:80

<VirtualHost *:80>

    ServerAdmin admin@test.co.kr

    # 관리자 메일주소를 기입한다.

    DocumentRoot "/home/test/public_html "

    # 웹소스 파일이 위치한 디렉토리를 절대경로로 기입한다.

    ServerName test.co.kr

    # 호스트를 제외한 도메인 주소를 기입한다.

    ServerAlias www.test.co.kr

    # 호스트를 포함한 도메인 주소를 기입한다.

    ErrorLog "logs/test.co.kr-error_log"

    # 접근 시에 발생되는 에러로그가 위치할 경로를 기입한다.

    CustomLog "logs/test.co.kr-access_log" common

    # 에러로그를 제외한 로그가 위치할 경로를 기입한다.

</VirtualHost>

===========================================

4. apache 리스타트

# /usr/local/apache2/bin/apachectl restart