리눅스 네임서버에 관해 질문드립니다. > 자유게시판

자유게시판

리눅스 네임서버에 관해 질문드립니다. 정보

리눅스 네임서버에 관해 질문드립니다.

본문

여러 회원님들 늦은 시간까지 수고 하십니다.

대부분 현직에 종사 하시거나 또 관심을 가지고 공부 하시는 분들인듯 느껴저서
이곳에 질문 올립니다.

해묵은 고민인데...

제가 관리하는 사이트 중에 프랜차이즈 형태에 서비스가 있습니다.
가맹 업소마다 서브 도메인을 부여 해서 다른 서버로 연결 서비스 하는 방식인데...

존파일에 특정 파일을 인크루드 하는 방법으로 시도 해 봤으나 성공을 못하고
현재까지는 존파일 자체를 수정하여 서브 도메인에 IP를 할당하여 서비스를 제공하고 있습니다.

서브도메인을 웹상에서 추가 또는 수정하여 네임서버에 적용 할수 있을까요?

혹 보안상의 문제는 없을지 궁금하네요
추천
0

댓글 7개

웹상에서 추가하는 것보다 자동으로 하는 것이 났지 않을까요?
아래는 제가 스크랩해서 보관하던 페이지입니다. 원하시던 게 이건가요?

-----------------------------------------------------------------------------------
우리가 아파치에서 서브도메인을 셋팅시
일일이 계정을 생성해주고 나서, 아파치에서 가상호스트에서
각각의 경로를 지정해줘야 합니다.
예를 들어서리...
www.hubgo.com, hubgo.com 을 셋팅시는
<Virtual Host 111.111.111.111>
ServerName hubgo.com
ServerAlias hubgo.com www.hubgo.com
DocumentRoot /home/hubgo/public_html
</VirtualHost>

그리고, hubgo.hubgo.com 을 셋팅시에는
<VirtualHost 111.111.111.111>
ServerName hubgo.hubgo.com
DocumentRoot /home/hubgo1/public_html
</VirtualHost>

위의 처럼 보통 서브 도메인을 셋팅시에 따로 가상호스트를
잡아주는 경우가 많습니다.

저걸 Rewrite 모듈을 이용하면, 간단히 한 계정에서 셋팅이 가능합니다.
다만 그전에 네임서버에서
*.hubgo.com IN A 111.111.111.111

처럼 앞에 *를 줘서리 모든 서브 도메인을 인식하도록 먼저 설정을 해줘야 합니다.

그리고 나서, 아파치 설정파일에서

<VirtualHost 111.111.111.111>
ServerName hubgo.com
ServerAlias *.hubgo.com
DocumentRoot /home/hubgo/public_html/
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.hubgo.com
RewriteCond %{HTTP_HOST} !^hubgo.com
RewriteCond %{HTTP_HOST} ^[^.]+.hubgo.com$
RewriteRule ^([^.]+).hubgo.com(.*) http://hubgo.com/$1/$2
</VirtualHost>

위의 경우처럼 해줄 경우 hubgo.com 및 www.hubgo.com 의 기본 작업 루트 디렉토리는 /home/hubgo/public_html 디렉토리입니다.
그리고, 그 디렉토리안에 아무디렉토리를 만들면 모두 서브도메인으로 인식이 됩니다.

예를 들어서
public_html 폴더안에 test 라는
폴더를 만들었을 경우에는 가상 호스트에서
rewrite 모듈이 켜지면서 먼저 도메인을 검사하게 됩니다.
www.hubgo.com, hubgo.com 인지 체크를 하게 되죠.
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.hubgo.com
RewriteCond %{HTTP_HOST} !^hubgo.com
RewriteCond 는 Rewrite 모듈에서 조건을 나타내는 식입니다.
그래서, 접속했을때의 도메인을 체크해서 hubgo.com, www.hubgo.com 이 아니면
조건에 만족을 하게 됩니다.
조건에 만족을 하게 되면
RewriteRule ^([^.]+).hubgo.com(.*) http://hubgo.com/$1/$2
이 규칙이 적용이 됩니다.
따라서, test.hubgo.com/test.html 이라고
쳤을 경우에는 실제로는 적용이 http://hubgo.com/test/test.html
로 내부 변환이 되어 test.html을 출력하게 됩니다.
그러나, 웹부라우저상에서 봤을때는 서브도메인처럼 보입니다만
실제 내부에서는 저렇게 변환이 되어서 처리하게 됩니다.
Rewrite 모듈이 위의 처럼 변환해 주는 기능을 하게 되죠. (조건을 체크해서
만족하면 변환이 일어납니다.^^)
나중에 시간 되시는 분들은 한번 테스트를 해 보시길 바랍니다.
정말 재밌어요.

그리고, 디렉토리 인증의 경우는
아파치 환경 파일에서
Directory 지시어로 하면 되는데.
<Directory "/home/hubgo/public_html/hubgo">
AllowOverride AuthConfig
</Directory>
라고 지정해 준다음에

해당 디렉토리에 .htaccess, .htpasswd 라는 파일을 만들어주면 됩니다.

.htaccess 파일은 어떻게 할껀지 방식을 적어주면 됩니다.
보통은 밑의 방식으로 하면 됩니다.
AuthName "나만의 인증방식"
AuthType Basic
AuthUserFile /home/hubgo/public_html/hubgo/.htpasswd
AuthGroupFile /dev/null
<Limit GET POST>
require valid-user
</Limit>
.htpasswd 비번이 들어있는 파일명을 나타냅니다.
보통은 절대경로로 지정하면 되구여...
AuthName은 인증창에 나타나는 제목입니다.
인증 비번을 만드는 법은
htpasswd -c /home/hubgo/public_html/hubgo/.htpasswd hubgo
하면 비번을 물어봅니다.
그럼 새 비번을 입력해주시면
.htpasswd라는 파일이 만들어지죠.
위의 경우는 hubgo라는 아디에
비번을 지정하는 겁니다.
위의 까지를 하고 나서 웹에서 확인 하시면 인증창이 뜹니다.
그럼 id란에는 hubgo 비번엔 비번을 입력하시면 hubgo라는 폴더의
파일이 나오게 됩니다.
-----------------------------------------------------------------------------------


스크랩출처 : www.hubgo.com
키스님~ 먼저 상세한 답변 감사드립니다.

내용 읽어 보고 가상호스트에 대해 다시한번 정리 할수 있는 기회가 되서 좋았습니다.

그리고 제 질문은 키스님 답변 내용중에 인용해 보면

"다만 그전에 네임서버에서
*.hubgo.com IN A 111.111.111.111"

위와 같은 형태로 name서버에 등록 해주는, 예를 들자면 hubgo.com.zone 라는 파일이 있습니다.

이 파일 컨트롤에 관한 질문입니다.

제글이 미비한듯 하여 부연 설명 드리자면

한개 서버에서 각각 다른 서버로 서브도메인만 포워딩 해서 서비스 하는 형태로 지속적으로 서브도메인은 증가합니다.

이때 이 추가 되는 서브도메인 대한 내용을 웹상에서 ADMIN 페이지 등에서 추가한 뒤 name서버 재시작이 가능 할까 하는 질문이었습니다.

가능 하다면 WEBMIN 등의 서버 관리 툴을 특정 운영자에게 제공 하기 보다는 위에 기능만을 운영하기 위한 페이지를 서비스 하는게 서버 건강상의 도움이 되겠지요 ^^

정리 하다 보니 한가지 더 의문은  서브도메인 혹시 500개 이상 연결해서 사용해 보신 회원님 계실까요???
옵션님, 진서기님 답변 감사합니다.

DNSever의 경우 유동아이피에 도메인 할당하는 서비스 아닌가요?

홈페이지에 가서 내용 확인 해보니 대표 도메인을 서비스 업체 DNS에 추가하여 사용해야 한다는 점을 비롯하여 제가 서비스 하려는 내용과 거리가 있어 보이는군요

그래도 진서기님 덕분에 좋은 서비스 알게 됐습니다.
서브도메인을 별도로 운영하지 않고,
동일한 환경에서 동일한 db에 접근하며,
단지 가맹점 구분값을 통해서 변수값 처리를 해야 하는 경우라면....

$_SERVER["server_name"] 을 통해 변수값을 처리하던가
아니면 mod_rewrite 를 응용하여 php 변수값을 하나 생성하는 방식이 나을 거 같습니다.


그리고 name서버중에 mysql 기반에서 동작하는것도 있습니다. mysql db에 데이타를 넣고, 네임서버만 재시작해주면 됩니다.
역시 명랑폐인님이시네요

덕분에 mydns까지 견문을 넓혀 가고 있습니다

해묵은 숙제가 거의 끝이 보이는듯 합니다.

감사합니다.
전체 17 |RSS
자유게시판 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT