리눅스, 서브도메인 설정 팁 > server

본문 바로가기
사이트 내 전체검색

server

리눅스, 서브도메인 설정 팁

페이지 정보

작성자 서방님 댓글 0건 조회 102회 작성일 13-07-01 11:32

본문

우리가 아파치에서 서브도메인을 셋팅시
일일이 계정을 생성해주고 나서, 아파치에서 가상호스트에서
각각의 경로를 지정해줘야 합니다.
예를 들어서리...
seobangnim.xinour.net, seobangnim.xinour.net 을 셋팅시는
<Virtual Host 111.111.111.111>
ServerName seobangnim.xinour.net
ServerAlias seobangnim.xinour.net seobangnim.xinour.net
DocumentRoot /home/seobangnim/public_html
</VirtualHost>
 
그리고, seobangnim.seobangnim.xinour.net 을 셋팅시에는
<VirtualHost 111.111.111.111>
ServerName seobangnim.seobangnim.xinour.net
DocumentRoot /home/seobangnim1/public_html
</VirtualHost>
 
위의 처럼 보통 서브 도메인을 셋팅시에 따로 가상호스트를
잡아주는 경우가 많습니다.
 
저걸 Rewrite 모듈을 이용하면, 간단히 한 계정에서 셋팅이 가능합니다.
다만 그전에 네임서버에서
*.seobangnim.xinour.net IN A 111.111.111.111
 
처럼 앞에 *를 줘서리 모든 서브 도메인을 인식하도록 먼저 설정을 해줘야 합니다.
 
그리고 나서, 아파치 설정파일에서
 
<VirtualHost 111.111.111.111>
ServerName seobangnim.xinour.net
ServerAlias *.seobangnim.xinour.net
DocumentRoot /home/seobangnim/public_html/
RewriteEngine on
RewriteCond %{HTTP_HOST} !^seobangnim.xinour.net
RewriteCond %{HTTP_HOST} !^seobangnim.xinour.net
RewriteCond %{HTTP_HOST} ^[^.]+.seobangnim.xinour.net$
RewriteRule ^([^.]+).seobangnim.xinour.net(.*) http://seobangnim.xinour.net/$1/$2
</VirtualHost>
 
위의 경우처럼 해줄 경우 seobangnim.xinour.net 및 seobangnim.xinour.net 의 기본 작업 루트 디렉토리는 /home/seobangnim/public_html 디렉토리입니다.
그리고, 그 디렉토리안에 아무디렉토리를 만들면 모두 서브도메인으로 인식이 됩니다.
 
예를 들어서
public_html 폴더안에 test 라는
폴더를 만들었을 경우에는 가상 호스트에서
rewrite 모듈이 켜지면서 먼저 도메인을 검사하게 됩니다.
seobangnim.xinour.net, seobangnim.xinour.net 인지 체크를 하게 되죠.
RewriteEngine on
RewriteCond %{HTTP_HOST} !^seobangnim.xinour.net
RewriteCond %{HTTP_HOST} !^seobangnim.xinour.net
RewriteCond 는 Rewrite 모듈에서 조건을 나타내는 식입니다.
그래서, 접속했을때의 도메인을 체크해서 seobangnim.xinour.net, seobangnim.xinour.net 이 아니면
조건에 만족을 하게 됩니다.
조건에 만족을 하게 되면
RewriteRule ^([^.]+).seobangnim.xinour.net(.*) http://seobangnim.xinour.net/$1/$2
이 규칙이 적용이 됩니다.
따라서, test.seobangnim.xinour.net/test.html 이라고
쳤을 경우에는 실제로는 적용이 http://seobangnim.xinour.net/test/test.html
로 내부 변환이 되어 test.html을 출력하게 됩니다.
그러나, 웹부라우저상에서 봤을때는 서브도메인처럼 보입니다만
실제 내부에서는 저렇게 변환이 되어서 처리하게 됩니다.
Rewrite 모듈이 위의 처럼 변환해 주는 기능을 하게 되죠. (조건을 체크해서
만족하면 변환이 일어납니다.^^)
나중에 시간 되시는 분들은 한번 테스트를 해 보시길 바랍니다.
정말 재밌어요.
 
그리고, 디렉토리 인증의 경우는
아파치 환경 파일에서
Directory 지시어로 하면 되는데.
<Directory "/home/seobangnim/public_html/seobangnim">
AllowOverride AuthConfig
</Directory>
라고 지정해 준다음에
 
해당 디렉토리에 .htaccess, .htpasswd 라는 파일을 만들어주면 됩니다.
 
.htaccess 파일은 어떻게 할껀지 방식을 적어주면 됩니다.
보통은 밑의 방식으로 하면 됩니다.
AuthName "나만의 인증방식"
AuthType Basic
AuthUserFile /home/seobangnim/public_html/seobangnim/.htpasswd
AuthGroupFile /dev/null
<Limit GET POST>
require valid-user
</Limit>
.htpasswd 비번이 들어있는 파일명을 나타냅니다.
보통은 절대경로로 지정하면 되구여...
AuthName은 인증창에 나타나는 제목입니다.
인증 비번을 만드는 법은
htpasswd -c /home/seobangnim/public_html/seobangnim/.htpasswd seobangnim
하면 비번을 물어봅니다.
그럼 새 비번을 입력해주시면
.htpasswd라는 파일이 만들어지죠.
위의 경우는 seobangnim라는 아디에
비번을 지정하는 겁니다.
위의 까지를 하고 나서 웹에서 확인 하시면 인증창이 뜹니다.
그럼 id란에는 seobangnim 비번엔 비번을 입력하시면 seobangnim라는 폴더의
파일이 나오게 됩니다.

댓글목록

등록된 댓글이 없습니다.

Total 356건 16 페이지
게시물 검색

회원로그인

접속자집계

오늘
135
어제
225
최대
1,347
전체
154,894
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.