윈도우서버과 관련된 정보를 제공합니다.
일산님이 수고해 주고 계십니다.
[ 홈 디렉터리 외부에 있는 디렉터리를 이용해 보자! ]
[목차]
[ Alias 설정이란? ]
[ Windows용 Apache 웹 서버에서의 Alias 설정 ]
1. Apache에서의 Alias 설정
2. 설정한 Alias 동작 확인
3. 홈 페이지 계정 분양 예
[ 홈 디렉터리 외부에 있는 디렉터리를 이용해 보자! ]
[ Alias 설정이란? ]
개인 서버 구축을 성공하신 분은 이제 홈 페이지를 작성하여 그 웹 문서들을 알FTP로
자신의 웹 서버 홈 디렉터리에 업로드하면 인터넷이 되는 어느 곳에서나 웹 브라우저를
통하여 홈 페이지가 보이게 될 것입니다.
그런데 이렇게 홈 페이지를 운영하다가 다른 홈 페이지를 하나 더 만들어야 할 경우가 있을 것이며,
타인에게 홈 페이지 계정을 분양해주어야 할 경우도 있을 것입니다.
또 웹 서버의 기능을 그대로 사용하면서 부가적인 다른 기능을 갖고 있는 웹 페이지가 필요할 경우도 있을 것입니다.
phpMyAdmin이 바로 그런 경우로써,
phpMyAdmin 소스들은 홈 디렉터리의 외부 디렉터리인 C:\APM_Setup\Server\phpMyAdmin\ 디렉터리에
존재하고 있는데 “myadmin"이라는 별명(Alias)을 주어 http://jobdahan.dnip.net/myadmin/이라는 URL로
그 웹 페이지들을 사용할 수 있게 하는 것이지요.
이럴 때 이러한 요구를 만족시키는 기능을 부여하는 작업이 바로 웹 서버에서의 앨리어스(Alias) 설정입니다.
Alias 설정이란 다음과 같이 정리할 수 있겠네요.
웹 서버는 기본적으로 현재 자신의 도메인에 해당하는 URL("http://jobdahan.dnip.net/)에 홈 디렉터리(C:\APM_Setup\htdocs\)가 연결되게 되어있고 홈 디렉터리 하위에 있는 디렉터리들은 URL에 포함시켜 사용할 수 있지만 홈 디렉터리 외부에 있는 디렉터리는 URL에 포함시켜 사용할 수 없습니다.
그렇게 사용할 수 없는 홈 디렉터리 외부의 디렉터리를 홈 디렉터리 하위에 있는 것처럼 URL로 사용할 수 있게 하는 것을 Alias 설정이라 합니다.
URL [Uniform Resource Locator]이란?
인터넷에서 해당 문서의 정확한 위치를 나타내기 위한 방법을 의미하며 인터넷상에서 각종 자원이 있는 위치를 나타내는 표준 명령 체계를 말한다.
일반적인 체계(syntax)는 프로토콜://정보를 가진 컴퓨터 이름(도메인)/디렉터리 이름/파일명으로 구성된다.
예) URL => http://jobdahan.dnip.net/jdh_user1/index.html
URL에서 끝 부분의 파일명을 생략할 경우 웹 서버는 기본으로 이미 설정해 놓은 파일(index.html, index.htm, index.php, index.php3 등)들을 가리키는 것으로 인식하게 된다.
예) http://jobdahan.dnip.net => http://jobdahan.dnip.net/index.html
또는 => http://jobdahan.dnip.net/index.htm
또는 => http://jobdahan.dnip.net/index.php
URL을 쉽게 말하자면 인터넷 상에서 http://나 ftp:// 같은 프로토콜(Protocol) 뒤에 컴퓨터 위치를 나타내는 도메인(Domain)과 경로 및 파일명을 붙여주어 그 위치를 나타내는 것을 말한다.
Alias 설정해 주는 디렉터리는 C: 드라이버가 아닌 D:, E: 등 어느 드라이버에 있는 디렉터리라도 상관없습니다.
운영체제(Windows XP)가 설치되어 있지 않은 D: 드라이버에 D:\Backup\ 이라는 디렉터리를 만들어 주고
나중에 그 곳에 MySQL 데이터를 백업받을 수 있게 PHP로 웹 페이지를 작성(보안 대책을 잘 세워야 하지만)한다면
아주 유용하게 사용할 수 있게 되겠지요?
자, 이제 Alias 개념이 좀 이해 되셨나요?
그러면 Windows용 Apache 웹 서버에서의 Alias 설정을 해 보도록 합시다.
[ Windows용 Apache 웹 서버에서의 Alias 설정 ]
1. Apache에서의 Alias 설정
Alias 설정은 몇 줄의 스크립트(Script)를 삽입해 주기만 하면 설정이 끝나는 아주 간단한 설정입니다.
여기에서는 C:\APM_Setup\users\jdh_user1\ 디렉터리를 jdh_user1이라는 명칭으로
Alias 설정하는 예를 설명하겠습니다.
1) 먼저 Alias로 설정할 디렉터리를 확보합니다.
현재 C:\APM_Setup\users\ 디렉터리 하위에 jdh_user1라는 디렉터리가 없으므로
탐색기를 열고 users 디렉터리 하위에 jdh_user1 디렉터리를 새로 만들어 줍니다.
(기존에 있는 디렉터리를 이용할 경우에는 새로 만들 필요가 없겠지요?)
2) 메모장이나 텍스트 에디터(Edit Plus, Ultra Edit ...)로
C:\APM_Setup\Server\Apache\conf\extra\ 디렉터리 안에 있는
httpd-alias.conf 파일을 불러옵니다.
불러온 httpd-alias.conf 파일의 내용을 살펴보면 phpMyAdmin 디렉터리가 myadmin으로 이미 Alias 설정되어
있음을 알 수 있을 것입니다. 이렇게 Alias 설정이 되어있기 때문에 jobdahan.dnip.net 웹 사이트의 홈 디렉터리
C:\APM_Setup\htdocs\가 아닌 C:\APM_Setup\Server\phpMyAdmin\ 디렉터리를
“myadmin"이라는 별명(Alias)을 이용해 http://jobdahan.dnip.net/myadmin/이라는 URL로
사용할 수 있게 되는 것이지요.
3) Alias를 설정하는 형식 구문을 참고하시어 그 아래의 내용과 같이 새로 설정할 Alias 구문을 삽입하십시오.
/Alias로사용할명칭/ : /와 / 사이에 Alias로 사용할 명칭을 임의로 지정
“Alias대상이되는디렉터리의절대경로/" : ”와 /“ 사이에 Alias 대상이 되는 디렉터리의 절대경로 지정
“Alias대상이되는디렉터리의절대경로" : ”와 “ 사이에 Alias 대상이 되는 디렉터리의 절대경로 지정
[Alias 지정 형식 구문]
Alias /Alias로사용할명칭/"Alias대상이되는디렉터리의절대경로/"
<Directory "Alias대상이되는디렉터리의절대경로">
Options MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</IfModule>
jdh_user1이라는 이름의 Alias를 하나 더 추가 하는 것이므로
<IfModule alias_module>과 </IfModule> 사이에 삽입하기 위해
7행~13행을 복사하여 14행에 붙여 넣고 아래 내용과 같이 수정한 후 저장합니다.
C:\APM_Setup\Server\Apache\conf\extra\httpd-alias.conf 파일
6
7 Alias /myadmin/ "C:/APM_Setup/Server/phpMyAdmin/"
8 <Directory "C:/APM_Setup/Server/phpMyAdmin">
9 Options MultiViews
10 AllowOverride None
11 Order allow,deny
12 Allow from all
13 </Directory>
14
15 Alias /jdh_user1/ "C:/APM_Setup/users/jdh_user1/"
16 <Directory "C:/APM_Setup/users/jdh_user1">
17 Options MultiViews
18 AllowOverride None
19 Order allow,deny
20 Allow from all
21 </Directory>
22
23 </IfModule>
2. 설정한 Alias 동작 확인
동작을 확인하기 위해서는 웹 문서 파일이 있어야 하므로 jdh_user1 디렉터리에 index.html 파일부터
만들기로 합니다.
1) 메모장이나 텍스트 에디터를 이용하여 아래 내용과 같이 작성한 후 C:\APM_Setup\users\jdh_user1\
디렉터리에 index.html이라는 파일명으로 저장합니다.
C:\APM_Setup\users\jdh_user1\index.html 파일
<font color=orange size=5><b>Alias</b></font> 설정 테스트를 위한 웹 페이지입니다.
</center>
<p>
<? phpinfo(); ?>
2) Apache 웹 서버의 설정을 변경시켰을 경우 Apache를 재 시작시켜 주어야 변경된 설정 내용이 적용되게 됩니다.
탐색기를 열어 C:\APM_Setup\Command\ 폴더로 이동한 뒤 restart_apache.cmd를 더블클릭하여
Apache를 재시작시킵니다.
3) 웹 브라우저를 열고 주소 입력상자에 http://jobdahan.dnip.net/jdh_user1/를 입력해서
앞에서 만든 웹 페이지에 접속해 봅니다.
아래 이미지와 같이 웹 브라우저에 표시되면 Alias 설정이 잘 된 것입니다. http://jobdahan.dnip.net/ 사이트와는
서로 다른 독립적인 웹 사이트임을 알 수 있을 것입니다.
물론 Alias 설정을 하지 않고 홈 디렉터리 하위에 index.html 파일을 만들어 위와 같은 동작을 하게 할 수도
있습니다만 그렇게 하게되면 웹 문서들의 파일관리가 되지 않기 때문에 후일에 많은 문제를 야기할 수가
있게 됩니다.
3. 홈 페이지 계정 분양 예
~ 자신의 도메인 내에 속해있는 커뮤니티 사이트를 만들어 타인으로 하여금 운영하게 하고 싶은 경우
커뮤니티 아이디를 암호와 함께 신청 받아 아래의 설명과 같이 만들어 주면 될 것입니다.
예를 들어 디지털 카메라 동호회 커뮤니티 사이트를 아이디 dica, 비밀번호를 dc1234라 신청 받았다고 가정하면
1) 커뮤니티 사이트로 사용할 디렉터리를 적당한 곳, 예를 들어 C:\APM_Setup\ 디렉터리 하위에
community라는 디렉터리를 만들고 신청 받은 아이디와 같은 이름으로 다시 그 디렉터리 하위에 dica라는
디렉터리를 만듭니다.(여기에서 community 디렉터리는 파일 관리의 편의를 위해 만든 것일 뿐입니다.)
예) C:\APM_Setup\community\dica\
(사용자 동영상 커뮤니티 사이트 UCC를 하나 더 추가 할 경우에는 community 디렉터리 하위에 ucc라는
디렉터리를 추가 해주면 되겠지요?)
예) C:\APM_Setup\community\ucc\
2) C:\APM_Setup\Server\Apache\conf\extra\httpd-alias.conf 파일을 텍스트 에디터로 불러와
아래와 같은 내용을 <IfModule alias_module>과 </IfModule> 사이에 추가 삽입하여 Alias를 설정해 줍니다.
<Directory "C:/APM_Setup/community/dica">
Options MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
파일을 수정하고 저장하였으면 수정한 내용이 Apache 웹 서버에 적용되게 하기 위해서 Apache를 재 시작시켜야
하므로 탐색기를 열어 C:\APM_Setup\Command\ 폴더로 이동한 뒤 restart_apache.cmd를 더블클릭합니다.
dica라는 Alias를 설정했으므로 이제 이 Dica 커뮤니티 사이트의 URL은 http://jobdahan.dnip.net/dica/가
되었습니다.(http://자신의도메인/Alias명칭/)
3) 제로보드를 이용해 관리자 페이지에서 dica라는 게시판을 생성하고, 그 게시판을 이용해서 커뮤니티용 사이트를
간단히 제작해 index.html(또는 index.htm, index.php)라는 이름으로 C:\APM_Setup\community\dica\
디렉터리에 저장합니다.
사용자가 필요하다고 하면 선택적으로 다음의 서비스도 해줄 수 있겠지요?
4) phpMyAdmin을 이용해서 역시 커뮤니티 아이디 dica와 같은 명칭으로 DB를 생성시키고
그 DB에 한해서만 권한을 갖게 사용자를 생성해서 알려줍니다.
(phpMyAdmin을 이용한 DB 생성 방법은 강좌 “phpMyAdmin으로 zb5용 DB만들기”를 참고 하십시오.)
또한 생성해 준 DB를 사용자가 관리할 수 있게 phpMyAdmin 접속 URL("http://jobdahan.dnip.net/myadmin/)도
알려줍니다. 이 사용자는 자기의 DB만 접근할 수 있게 될 것입니다.
예) DB 명 : dica
DB 사용자 : dica
사용자암호 : dc1234
5) FTP 서버인 HubFTP 창을 열고 FTP 계정을 생성하는데, 커뮤니티 아이디 dica와 같은 명칭으로
앞에서 새로 만들었던 디렉터리(C:\APM_Setup\community\dica\)를 지정해 사용자를 만들어 줍니다.
(FTP 계정 생성 방법은 강좌 “웹하드보다 더 좋은 기능을 내 품안에!”를 참고 하십시오.)
예) FTP 접속주소 : jobdaha,dnip.net
FTP 사용자계정 ID : dica
사용자 암호 : dc1234
6) 웹 브라우저의 주소 입력상자에 http://jobdahan.dnip.net/dica/를 입력해서 웹 사이트에 접속해 봅니다.
--------------------------------------------------------------------------------
지금까지 홈페이지계정 분양과정을 Alias 설정을 통해 알아보았습니다.
Alias 설정을 통해 이렇게도 할 수 있다는 하나의 예를 들어 설명한 것일 뿐
상용으로 사용하는 커뮤니티 사이트를 이런 방식으로 만들지는 않을 것입니다.
그냥 웹 공간을 내어주는 계정이라면 지금까지의 작업만으로 충분하지만
실제 커뮤니티 사이트를 만드는 작업은 이렇게 수동으로 하는 것이 아니라
PHP 같은 웹 프로그래밍 언어로 위의 모든 작업과정들을 자동으로 처리할 수 있게 만들어져 있습니다.
DB와 FTP 부분도 게시판 기능에 포함되게 작성하면 될 것입니다.
여기서 한 가지 생각해 봅시다.
현재 도메인과 관련된 기능을 하는 웹 사이트를 Alias 설정했을 경우
URL이 현재 도메인과 부속된 하위 디렉터리로 표시되어도 어색하지 않지만
분양한 홈 페이지 URL이나 홈페이지 내용이 서로 별개의 홈 페이지일 경우
URL이 자기 도메인에 부속된 하위 디렉터리로 표시되기 때문에
독립적인 홈 페이지가 아닌 것 같아 보인다는 점입니다.
다음의 URL들을 비교해 봅시다. 같은 사이트를 나타내는데 어느 URL이 더 독립적으로 느껴지십니까?
http://jobdahan.dnip.net/dica
http://dica.dnip.net 또는 http://dica.jobdahan.dnip.net
아마도 대부분은 후자일 것이라 생각하실 것입니다.
이러한 문제를 해결하기 위한 좋은 방법이 있습니다.^^;
하나의 웹 서버에서 현재 사용하고 있는 도메인과는 다른 여러 개의 도메인을 함께 사용하면서
각 도메인별로 서로 각각 다른 홈 페이지를 서비스할 수 있도록 할 수 있는 방법이 있습니다.
Apache 웹 서버의 가상 호스팅(Virtual Hosting) 설정이 바로 그 것 입니다.
그치만, 가상 호스팅(Virtual Hosting)을 하려면 도메인이 더 있어야 하는뎅.....!
바로 앞 강좌 [서버의 포트변경 설정과 DMZ 설정 방법]의 댓글에 무료도메인을 받을 수 있는 사이트를
추가로 소개해 놓았으니 방문하여 ID.wowdns.com라는 도메인을 미리 받아 놓으시기 바랍니다.
엥? 신뢰감이 들지 않아서 무료이지만 추가로 도메인을 받기 싫으시다고요?
여러 개의 도메인을 신청하기가 좀 미안할 것 같다구요?
그러다가 이미 받아 놓은 도메인마저 삭제되면 어떡하냐구요?
그렇다면...???
자기 서버에서 도메인을 만들 수 있음 정말 좋을텐디...!
Windows NT/2000/2003 Server에서는 DNS 서버를 설치할 수 있어서
네임서버 도메인(ns.xxx.yyy.zzz) 하나만 서비스 받고 있으면
그 도메인을 이용하여 하위 도메인들을 원하는 대로 만들 수 있는뎅...
현재 내 컴퓨터에는 XP에 서버가 구축되어 있어서리...
Windows XP에서 DNS 서버 설치를 할 수 있는 방법이 없을까~용?
Windows NT/2000/2003 설치 CD를 이용하면 XP에도 설치할 수 있을 것 같다구요?
한 번 설치해 보십쇼~! 운영체제 자체가 다르기 때문에 되지 않을 것입니다.
만약 성공하셨다면 그건 정말 대단한 팁이 아닐 수 없습니다.
저에게도 가르쳐 주는 영광을 주시길...!^^;
그럼 어케 해야 되남유~? 좋은 방법이 없을까요???
방법이 있습니다...! 가능합니다!^^;
리눅스에서 사용하고 있는 DNS 서버인 BIND9의 윈도우 버전을 설치하면 가능합니당~!
유동 IP일 경우에 자신의 컴퓨터 IP 주소가 변경되면 DNS 서버에 설정된 IP 주소값을 수정해 주어야 하는 문제가
있기는 합니다만 가능합니다.
제가 직접 설치하여 운영해 보았습니다.
다음 강좌에서는
DNS 서버인 BIND9 윈도우용 버전(BIND9.4.0)을 이용해서 네임서버(Name Server)를 구축하여
하위 도메인(Sub Domain)을 만들고 확인하는 작업을 해 보겠습니다.
다음 강좌도 많이많이 기대해 주시길...!
다음 강좌까지 안~뇽...!
댓글 '5'
http://자신의도메인/jdh_user1/이라고 입력했는데도 웹페이지가 보이지 않나요?
Alias 설정해준 디렉터리에 index.htm 등의 시작 웹 문서가 있는데도 그런가요?
그렇다면 위의 글을 꼼꼼히 다시 읽으시면서 실수한 것은 없는지 살펴보시기 바랍니다.
phpMyAdmin 페이지는 열립니까?
그 페이지가 열리고 있으면 님께서 Alias 설정할 때 실수했을 확율이 높습니다.
구체적으로 어떻게 설정했는지 제가 알 수 있다면 정확한 답변을 해 드릴 수 있는데...
아파치서버 재시작 해보시든가
본인주소/jdh_user1/ 에 / 넣으셨는지 확인해보세요
<IfModule alias_module>
Alias /jdh_user1/ "C:/APM_Setup/users/jdh_user1/"
<Directory "C:/APM_Setup/users/jdh_user1">
Options MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Alias /jdh_user1/ 에서 빨간색 / 부분을 첨부터 넣지 않으시던가 넣으셨다면
주소뒤에 / 를 같이 넣어줘야 하더군요...
http://본인주소/jdh_user1/ Alias /jdh_user1/ 에 / 넣었을경우
http://본인주소/jdh_user1 Alias /jdh_user1/ 에 / 를 넣지 않았을경우
그리고 아파치 재시작










서버관리

윈도우 



잘 따라하다가 막판에 주소창에 jdh_user1치니까 열리지 않네요 ㅠ
(서버재시작도 해보구 날리쳐봤지만 .. )