웹 프로그램 설치 기본기, 세번째. 우리의 홈페이지와 웹 프로그램을 돌려주는 웹 서버를 살짜기 이해하고 갑시다.
이 부분이 젤 재미 없을 지 모르니 하고 싶은 얘기는 산과 같으나 지금 단계에서 필요한 것만 얘기를 하겠삼.
1. DocumentRoot 란?
직접 서버를 설치, 운영하는 것이 아니면 대개 호스팅 서비스 제공하는 곳에 자기 계정 하나를 만들어 쓰게 됩니다. 그 호스팅 서비스 제공하는 곳을 http://sample.or.kr 로 하고 계정을 h2dj라고 하죠.
그 서버에 FTP 로 접속하면 뭔가 떴죠? 아마 /home/h2dj/ 쯤 됐을 겁니다.
그 아래에 다른 디렉토리를 만들 수도 있고, 파일을 만들 수도 있고, 하여간 제한된 용량 안에서 이것 저것 둘 수가 있는데요, 그중에 "홈페이지" 파일들을 이곳에 두기로 약속을 한 디렉토리가 있습니다. (없으면 만드삼. 못 만들면 관리자에게 만들어달라하삼)
그게 보통 public_html 이거나 http 입니다. 이 전편에서 요 두개 디렉토리 언급한거 기억하시죠?
곧, FTP 로 접속했을때 /home/h2dj/public_html , 혹은 /home/h2dj/http 라는 디렉토리에 있는 파일들만이 웹 브라우저를 통해 접근할 수 있다. 이런 거죠. 그냥 /home/h2dj/ 아래 README.please 라는 파일을 올리면 정상적인 방법으론 웹 브라우저에서 접근할 수 없습니다.
2. 내 프로그램이 위치할 곳은?
이 전 단계에서 FTP로 접속한 후, /home/h2dj/public_html 로 원격 디렉토리를 바꾸고, 내 PC에 압축 풀어놓은 디렉토리를 끌어 놓아 업로드를 했죠? 압축 풀고 이름을 "wiki"로 바꿨다고 하면, 업로드가 다 끝난 후 /home/h2dj/public_html/wiki 가 생겼을 겁니다.
자, 그럼 그곳은 어떻게 웹 브라우저로 접근할까요? 위에서 /home/h2dj/public_html ㅗ부분을 도메인 주소 http://sample.or.kr 로 바꿔줍니다. DocumentRoot 부분을 도메인 주소로 바꿔준다는 겁니다. 결국 http://sample.or.kr/wiki 가 이제 업로드된 웹 프로그램의 경로가 되는 거죠.
3. 인덱스 파일?
웹은 처음에 연구 결과 공유를 목적으로 했습니다. 그래서 모든 문서는 말 그대로의 "문서"였죠. 그래서 웹 서버는 홈페이지 접근 요청을 받으면 그 주소(/home/h2dj/public_html)로 가서 항상 "인덱스 파일"이란걸 찾습니다. 이 파일의 실제 이름은 (관리자가 설정하기 따라서 다양할 수 있는데) index.html, index.htm, index.php, main.php 등이 보통입니다. 그래서 홈페이지 서버에 계정을 얻고 나서 관리자가 정한 이름의 인덱스 파일을 올리지(만들지) 않는다면,
이런 메시지를 보게 될 겁니다. 결국 http://sample.or.kr 을 주소창에 쳤을때 웹 서버는 "http://sample.or.kr/index.php" 에 해당하는 파일을 가져다가 당신에게 얹어준다는 뜻입니다. (index.html 일수도 있고, 위에서 말한대로) 자, 인덱스 파일이 없으면 그 곳은 웹브라우저로 접근할 수 없습니다
4. 누구냐? 넌
아마 거의 안쓰겠지만 요즘은 윈도우도 "여러 사용자" 시스템이죠. 계정을 여러개 만들어 각자 나눠진 만큼 쓰는거. 윈도우는 있으나 마나지만 서버의 경우는 대개 이게 엄격히 구분됩니다. 각 사용자는 자신에게 할당된 자원만 사용할 수 있고, 그걸 넘어서 서버 전체에 접근하고 고치고, 영향력을 행사할 수 없습니다.
엄청 할 얘기 많지만 이것만 기억하세요. 나중에 또 나옵니다. 서버에 있는 모든 것은 각자 "주체"가 있다는 거, 모든 파일/디렉토리는 소유자, 소유 그룹이 있고, 프로그램도 각자 어떤 이름을 갖고 권한과 책임아래서 주체로서 동작한다고.