특정 ip의 도메인 확인한다.
같은 ip지만 다른 도메인에서 서로 다른 웹페이지 열리도록 설정할 것이다.
도메인 이름 기반 호스트
conf/extra/httpd-vhosts.conf 파일 설정
NameVirtualHost *:80 ← * 대신 IP 지정이 가능하다.
<VirtualHost *:80>
ServerAdmin [메일 주소]
DocumentRoot "[Web 홈 디렉토리]"
ServerName [접속 도메인명]
ServerAlias [별명]
ErrorLog "logs/[에러 로그 파일명]"
CustomLog "logs/[접속 로그 파일명]" common
</VirtualHost>
httpd.conf 에서 extra/httpd-vhosts.conf 파일에 대한 include 설정이 필요하다.
주의 사항
• 호스팅 디렉토리에 대한 접근 설정이 유효 //해당 디렉토리 퍼미션 있어야함
• conf/extra/httpd-vhosts.conf를 참고
• apache 설정보다 name server설정이 우선
• 호스팅 중인 호스트명이 name 서버에서 확인
• 시스템의 호스트명과 /etc/hosts에 기록된 이름이나 IP를 동일하게 설정
실습
실습내용
웹서버 아파치에 가상 호스트 설정
ip 하나에 2개 도메인 설정
DNS 서버 : 192.168.10.131
Apache 서버 : 192.168.10.133
클라이언트 192.168.10.139
실습 과정
1) DNS 서버에 두개 도메인 설정하기
192.168.10.131 컴퓨터에 ip주소 192.168.10.133 www.st04.sec , www.st04.itc 설정
2) Apache 서버에 /app/apache/conf/extra 설정하기
3) 클라이언트 (192.168.10.139)에서 확인
1) DNS 서버에 두개 도메인 설정하기
192.168.10.131 컴퓨터에 ip주소 192.168.10.133 www.st04.sec , www.st04.itc 설정
DNS 서버에서 /etc/named.conf 파일 확인
# vi /etc/named.conf
zone 파일 확인
st04.zone
st04_itc.zone
권한 변경
# /var/named/* 모두 그룹 소유자를 named로 변경한다.
named.service를 재시작한다.
host 를 잘 받아오는 것을 확인한다.
2) Apache 서버에 /app/apache/conf/extra 설정하기
ip주소기반으로 ip를 두개 설정해 줬었던 ens32:0을 삭제해줄 것이다.
/etc/sysconfig/network-scripts/ifcfg-ens32:0를 삭제한다.
네트워크를 재시작한다.
ipconfig를 통해 ens32:0이 삭제된 것을 확인할 수 있다.
/app/apache/conf/httpd.conf 파일 수정
# vi /app/apache/conf/httpd.conf 여기서 ip 주소 기반으로 지정해줬던 Virtual hosts 는 삭제해준다.
conf/extra/httpd-vhosts.conf 를 사용할 것이므로 주석은 제거한다.
/app/apache/conf/extra/httpd-vhosts.conf 파일 수정
# vi /app/apache/conf/extra/httpd-vhosts.conf 파일에 VirtualHost를 추가해 수정한다.
NameVirtualHost 192.168.10.133:80
<VirtualHost 192.168.10.133:80>
DocumentRoot "/home/httpd/html/sec"
ServerName www.st04.sec
ServerAlias st04.sec
ErrorLog "logs/sec01_error_log"
CustomLog "logs/sec01_log" common
<Directory "/home/httpd/html/sec">
Options Indexes FollowSymlinks
Order allow,deny
Allow from All
</Directory>
</VirtualHost>
<VirtualHost 192.168.10.133:80>
DocumentRoot "/home/httpd/html/itc"
ServerName www.st04.itc
ServerAlias st04.itc
ErrorLog "logs/itc01_error_log"
CustomLog "logs/itc01_log" common
<Directory "/home/httpd/html/itc">
Options Indexes FollowSymlinks
Order allow,deny
Allow from All
</Directory>
</VirtualHost>
도메인별 다큐멘트 루트 디렉토리 생성
/home/httpd/html/sec, /home/httpd/html/itc 디렉토리를 생성한다.
각 디렉토리에 index.html 파일을 생성해준다.
도메인별로 접속해서 확인하기 위해index.html 파일에 테스트 문구를 넣어준다.
아파치 서비스를 재시작해준다.
# /app/apache/bin/apachectl restart
3) 클라이언트에서 확인
192.168.10.139 컴퓨터에서 DNS 주소를 192.168.10.131로 변경하고 테스트를 진행한다.
www.st04.sec/ , www.st04.itc/ 를 접속해본다.
접속이 잘 되는 것을 확인할 수 있다.
'리눅스 공부 기록' 카테고리의 다른 글
NFS 실습 1 - NFS 서비스 구성 (0) | 2021.11.22 |
---|---|
리눅스 18 - NFS (0) | 2021.11.22 |
리눅스 Apache 실습 2 - 가상 호스트 설정 (ip기반) 실습 (0) | 2021.11.17 |
리눅스 Apache 실습 1 - Httpd 서버 관리자와 Web page 관리자 분리 (0) | 2021.11.17 |
리눅스 local repository 생성 (0) | 2021.11.17 |