2013.06.03 23:48
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