Guide to make my Homepage on Bawi

바위에 홈페이지를 만드는 작업 순서는, 다음과 같습니다.

Shell account 신청 - telnet으로 준비작업 - 내 컴퓨터에 홈페이지 작성 - FTP를 이용하여 계정에 파일 올리기 - telnet으로 마무리 작업 - 완성!

그러면, 하나하나 따라가 보도록 하지요.

 

1. Shell account 신청

바위에 홈페이지를 만들고자 할 때는, 바위 서버에 자신을 위해 할당된 공간이 있어야 합니다. 이것을 자신의 셸 계정 Shell account 이라고 합니다. 바위의 아이디를 발급받은 다음에, shell account를 사용하고 싶으시면  http://www.bawi.org/boards/writesh.cgi?b=shell에서 계정 신청을 하시면 됩니다.

 

2. Telnet으로 계정 확인하고 준비작업 하기.

우선 telnet이 무엇인지부터 알아봐야 하겠지요.

telnet은 인터넷 서비스의 한 방법입니다. 웹 브라우저를 띄우고 html문서를 보는 대신, 다른 서버에 직접 접속해서 자신에게 무언가 필요한 작업을 할 수 있게 해주는 서비스이지요. WWW 서비스를 웹 브라우저로 이용하는 것처럼, telnet은 telnet 서비스를 이용할 수 있는 프로그램을 사용하면 됩니다. 윈도우에 기본 내장된 telnet.exe를 이용해도 되고, 혹은 telnet 서비스를 지원해주는 다른 프로그램들을 이용해도 됩니다. 간단히 방법을 알아보겠습니다.

2.1. Windows 기본 내장된 telnet.exe 이용하기.

Windows의 시작메뉴에서 실행을 선택하고, "telnet 주소"를 입력하면, 마치 웹 브라우저에 주소를 입력하는 것과 같은 식으로 그 서버에 접속이 됩니다. 바위 서버의 주소는 home.bawi.org이므로, 우리는

telnet home.bawi.org

라고 입력하여 바위 계정으로 접속하도록 하겠습니다.

2.2. 통신 에뮬레이터 이용하기.

통신 에뮬레이터를 이용하는 방법은, 접속 방법에만 차이가 있을 뿐, 기본은 동일합니다. 새롬 데이터맨이나, 이야기 등의 범용 통신에뮬레이터는 수동접속 기능이 메뉴에 있습니다. 접속 주소를 home.bawi.org로 입력해 주시면, windows의 telnet.exe를 실행한 것과 크게 차이 없이 텔넷 환경을 같은 방식으로 이용할 수 있습니다.

2.3. telent 서비스 이용 및 환경준비.

우선은 예제로 windows 기본 내장인 telnet.exe를 이용해 보도록 하겠습니다. 통신 에뮬레이터나, 터미널 에뮬레이터 등을 이용해도 역시 같은 방법으로 사용하게 되니, 너무 걱정은 마시길. =)

이제 아이디와 패스워드를 입력하면 자신의 계정으로 로그인할 수 있습니다. 여기서 사용되는 아이디와 패스워드는 기본적으로 인터넷 바위의 것과 일치합니다. 바위에서는 리눅스를 사용하고 있으므로, 사용되는 명령어에 대한 기본 지식을 갖추고 있는 것이 필요합니다. 우선은 지금은 홈페이지를 만들 것이므로, 현재의 상황에 대해서 알아보도록 하겠습니다.

우선, 지금 여러분은 바위 서버에 telnet을 통해서 접속해 있습니다. 여러분이 현재 위치한 디렉토리는 /home/기수/ID로 보여지는, 여러분의 홈 디렉토리 상에 있습니다. pwd ( - present working directory) 라고 치면, 현재 어느 디렉토리에 위치해 있는지 알 수 있습니다.

지금 저는 제 홈 디렉토리 (/home/11기/ID FeHyun) 에 위치해 있음을 알 수 있습니다. http://home.bawi.org/~ID 라는 주소를 입력해서 홈페이지를 열 때, 바위 서버에서는 자동적으로 그 사용자의 홈 디렉토리 아래 있는 public_html이라는 디렉토리의 index.htm 혹은 index.html 파일을 체크합니다. 따라서 우리의 홈 디렉토리 안에는 public_html이라는 디렉토리가 만들어져 있어야 합니다. 어떤 파일들이 있는지를 확인해 보도록 하겠습니다. 파일을 확인하는 것은 ls명령어로 확인합니다.

Mail이라는 디렉토리, mail이라는 디렉토리, 두 개의 텍스트 파일과 하나의 html 파일이 있습니다. Mail과 mail에서 알 수 있듯이, 유닉스는 파일 이름의 대소문자를 구분합니다. 홈페이지를 제작할 때에도, 이것에 반드시 주의해 주셔야 합니다. 링크를 만들 때나, 그림을 삽입할 때, 대소문자가 틀릴 경우 파일을 찾지 못하고 없다고 출력됩니다. 또, captured 0816.txt. 파일의 이름에서 알 수 있듯이, 파일 이름 내에 공백문자가 허용됩니다. 그러나 공백문자는 가급적 사용하지 않는 것이 좋습니다. 설명은 나중에 하겠습니다.

우선 public_html 디렉토리가 없으니까 만들어야 할 것 같습니다. 디렉토리를 만드는 명령어는 mkdir이므로, mkdir public_html이라고 하면 디렉토리를 생성할 수 있습니다. 디렉토리가 있다면 만들 필요는 없겠죠? =)

cd public_html로 public_html 디렉토리 안으로 들어갈 수 있고, ls로 파일을 확인할 수 있지만 역시 지금은 디렉토리가 비어 있으므로 넘어가겠습니다. logout이라고 치면 접속을 종료할 수 있습니다.

지금은 간단히 홈페이지를 만들기 위한 기본 작업만 하고 나가겠지만, 나중에 홈페이지를 올렸을 때, 테스팅을 하면서 잘못된 링크를 고친다던가, 유지/보수를 위하여 세세한 작업을 할 경우에는 내 컴퓨터에서 작업하고 올리는 것 보다는 직접 서버 상에서 작업하는 것이 편하겠지요. 서버에서 작업을 할 때에는 에디터를 사용하는데, 에디터 사용법까지 여기서는 설명하기 너무 많으니까, 여기 아니면 여기를 참조하시기 바랍니다. =)

 

3. 홈페이지 작성.

홈페이지 작성법은 여기서 다루기는 많은 내용이니, 인터넷이나 책을 참고하시는 것이 좋겠습니다.

http://www.ischool.pe.kr/homeschool/homeschool.htm

http://www.starthomepage.com/main.htm

 

4. 바위 서버에 홈페이지 파일 올리기.

자아, 홈페이지 파일들을 작성했습니다. 그러면, 이제 바위 서버에 파일들을 올릴 차례입니다.

작성된 홈페이지 파일은 서버에 올려야 다른 사람들이 볼 수 있습니다. 파일을 올릴 때는, 물론 직접 서버 컴퓨터에 복사할 수도 있지만, 우리의 바위 서버는 서울 강남구 논현동 KIDC에 있고, 아무나 건드릴 수 없기 때문에 인터넷을 통해 올리도록 하겠습니다. 인터넷을 통해 올릴 때는 FTP를 이용하는데, 우선 이 FTP가 무엇인지부터 알아보고, FTP를 이용하는 방법, 파일을 올리고 확인하는 방법 등을 알아보겠습니다.

4.1. FTP

File Transfer Protocol의 약자로, "파일을 전송하는 데 사용되는 규약"입니다. 동시에 파일을 주고받을 수 있는 인터넷 서비스의 한 종류이기도 하지요. 보통 "FTP를 이용해서.." 라고 말하는 것은, 인터넷 서비스의 일종인 FTP 서비스를 이용하여 파일을 전송한다는 뜻입니다. 바위에서도, 역시 FTP 서비스를 제공합니다. 따라서 파일을 올릴 때에도 FTP를 이용하여 파일을 전송할 수 있습니다. 그럼 FTP를 사용하는 방법에 대해서 알아보겠습니다.

4.2. FTP 이용방법

우리가 인터넷을 사용한다고 할 때, 보통 IE와 같은 웹 브라우저를 실행시킵니다. 이것이 인터넷 서비스의 한 종류인 "WWW"를 이용하는 방법입니다. 마찬가지로 인터넷 서비스의 다른 한 종류인 FTP를 이용하는 것도 방법이 있습니다. Windows의 도스창을 이용하는 방법, FTP 프로그램을 이용하는 방법, IE를 이용하는 방법 등이 있습니다.

4.2.1. Windows의 도스창을 이용.

사실 windows의 도스창에서의 ftp는 잘 사용되지 않습니다. 지금은 IE나 편리한 FTP 프로그램을 사용하는 것이 보통이지요. 어쨌든 한번 짚고 넘어가기는 하도록 하겠습니다. 특히, unix상에서 파일을 주고받을 때에는 이런 방식의 ftp를 이용해야 합니다. telnet.exe를 실행시켰을 때와 마찬가지 방법이지만, 이번에는 telnet 이 아니라 ftp.exe를 실행시키게 됩니다. 역시 시작메뉴의 실행버튼을 누르고

ftp home.bawi.org

라고 치면 접속을 할 수 있습니다.

역시 여기서도 자신의 아이디와 비밀번호로 접속하면 자신의 계정으로 접속하게 됩니다. 대부분의 FTP 서버에는 아무나 사용할 수 있는 anonymous 계정이 열려 있지만, 현재 바위에는 anonymous 계정은 닫혀 있는 상태입니다. 어쨌든 우리는 자신의 계정으로 접속하도록 하겠습니다.

가장 기본적인 명령어인 pwd, ls, mkdir, cd 등의 명령어는 telnet와 사용방법이 동일합니다. 다른 필요한 명령어에 대해서 설명하겠습니다.

- lcd : 현재 로컬 드라이브 디렉토리를 보여주거나 이동합니다.

  기본적으로 처음 ftp를 실행시켰을 때에는 lcd를 입력하면 "local directory now C:\"이라고 출력되는데, 이것은 현재 내 컴퓨터와 FTP 서버가 연결되어 있는 내 컴퓨터의 디렉토리가 C:\임을 보여줍니다. 파일을 보내주거나, 계정에서 파일을 받아올 때 내 컴퓨터의 작업 디렉토리는 항상 이 lcd가 보여주는 위치와 동일합니다. 이동하고 싶을 경우에는 마치 cd 명령어를 이용하듯이 lcd dirname으로 이동할 수 있습니다.

- get : 파일을 받아옵니다. get filename을 입력하면 pwd에서 lcd로 지정한 파일을 받아올 수 있습니다.

- put : 파일을 보냅니다. put filename을 입력하면 lcd에 있는 파일을 현재 pwd로 보냅니다.

- bin/ascii : 전송 타입을 결정합니다. (binary/ascii)

기본적으로는 접속시에 ascii방식의 전송 타입으로 결정되어 있습니다. 그러나 그림파일같이 보통의 이진 파일의 경우에는 bin이라고 입력해주지 않고 ascii 방식의 전송을 사용하여 get/put을 하게 되면 문제가 발생할 수 있기 때문에, binary로 타입을 바꾸어 준 후 전송하는 것이 안전합니다.

- hash : 다운로드 진행을 보여주는 마크를 보여줍니다.

hash라고 입력하면, ftp는 몇바이트마다 마크를 표시해줄 것인지를 알려줍니다. 그리고 파일 전송을 실행하면 데이터가 지정된 바이트만큼 전송될 때마다 '#'마크가 표시됩니다. 표시하지 않기 위해서는 다시 한번 hash를 입력해 주면 됩니다.

도스창에서의 ftp 사용은 손도 많이 가고, 복잡하므로 잘 사용되지 않습니다. 다음에 설명할, IE를 이용하는 방법이나 FTP 프로그램을 이용하는 방법이 더 일반적이고 편리합니다. =) 그러나 프로그램이 없을 경우, IE가 고장났거나 IE를 사용할 수 없을 경우에는 사용해 보면 편하겠지요. 필요한 명령어는 help 라고 치시면 보실 수 있습니다.

4.2.2. IE 이용.

이 방법은 일종의 편법이지만, 마치 자기 컴퓨터의 폴더를 열어보듯 사용할 수 있기 때문에 편리합니다. IE의 주소창에 ftp://ID@home.bawi.org이라고 입력하면 위와 같은 로긴창이 뜨고, 패스워드를 입력해 주면 자신의 계정이 마치 디스크의 폴더가 열리듯 열립니다. 파일의 업로드/다운로드는 마치 윈도우에서 파일을 복사하듯이 마우스로 끌어 옮기면 되고, 마우스 오른쪽 버튼을 눌러서 새 폴더를 만든다거나 하는 작업을 할 수 있습니다.

그러나 FTP상이기 때문에 연결 프로그램이 실행되지 않고, 모든 파일은 익스플로러 창을 통해 실행이 됩니다. 또한, 이 방법은 로그인 기록을 살펴보면 쉽게 패스워드가 노출되기 때문에 보안상으로도 위험합니다. 자신만 사용하는 컴퓨터라면 사용해도 별 상관이 없지만, 여럿이 사용하는 컴퓨터라면 위험하므로 다른 프로그램을 이용하는 것이 좋습니다.

4.2.3  FTP 프로그램을 이용하기 (cute-ftp, 알FTP 등)

가장 권하고 싶은 방법입니다. 여러 곳에서 다운로드 받을 수 있는 프로그램들을 사용하면 됩니다. 어떤 프로그램이건 기본적인 사용법은 동일합니다. 접속하고자 하는 주소에 home.bawi.org를 입력해 주고, ID와 패스워드를 입력하면 접속할 수 있습니다.

이런 프로그램들의 설명은 여기서 직접 다루기에는 적합하지 않으므로, 프로그램의 도움말을 참조하세요 =) 사실 대단히 어려운 내용은 거의 없으며, 마우스 오른쪽 버튼으로 나오는 메뉴로 대부분의 것을 해결할 수 있을 겁니다.

5. 마무리 작업 하기.

홈페이지 파일을 다 올린 다음에는, 테스팅을 해 보아야겠습니다. 주소는 http://home.bawi.org/~ID이며, 이 주소를 입력하면 우리가 아까 public_html폴더에 올렸던 index.htm 혹은 index.html 파일이 브라우저 창에 떠서 화면을 볼 수 있습니다. 링크를 눌러 보고, 하나하나 메뉴를 돌아다니면서 검사해 보도록 합시다. 파일명/확장자의 대소문자, 링크 경로 확인, 그림 경로 확인 등등을 하나하나 체크합시다.

5.1. Permission

홈페이지를 보다가 보면, 가끔가다 다음과 같은 화면을 볼 수도 있습니다. (혹은, 아예 처음 들어갈 때부터 저런 화면을 보고 아무것도 못 해보는 수도 있습니다)

바위 계정에 파일을 올리고, 링크를 했는데 누르면 위와 같은 화면이 뜰 때도 있지요. 혹은, 파일명의 대소문자도 맞고, 경로도 맞는데 그림이 뜨지 않는 경우도 생길 수 있습니다. 이런 경우는 대부분 퍼미션의 문제라고 보면 됩니다. 우선 퍼미션이 무엇인지부터 알아봅시다.

퍼미션 permission은 유닉스상에서 한 파일이 가지는 특성으로, 사용자마다 파일에 대해서 갖고 있는 권한(Read/Write/eXecute)입니다. 퍼미션을 확인하고 싶으면 telnet으로 접속한 상태에서 ls -l이라고 입력해주시면 됩니다.

왼쪽의 노란색으로 표시되어 있는 부분이 퍼미션을 보여주는 부분입니다. gth.zip파일의 퍼미션을 알아보도록 하지요.

-rw--r--r--        1    FeHyun    user        19016539  8월 23 22:51 gth.zip

가장 앞의 d는 디렉토리인지 파일인지를 나타냅니다. 디렉토리도 하나의 파일 - 그 디렉토리 안에 들어있는 파일들의 리스트를 갖고 있는 - 이기 때문입니다. 다음 9바이트는 3바이트씩 끊어서 user (파일의 소유자), group (서버 관리자가 만들어 놓은, 사용자의 그룹), other (user, group이 아닌 모든 다른 사용자) 에 대한 퍼미션을 나타냅니다. r은 read, w는 write, x는 execute 권한입니다.

따라서 이 gth.zip파일의 속성은, 우선 디렉토리가 아닌 파일이고, user에게는 읽고 쓰는 권한이 주어져 있고, group와 other 에게는 read권한만이 주어져 있는 것을 알 수 있습니다. public_html파일을 보면, drwx--x--x로, 디렉토리이며 user에게는 읽고 쓰고 실행할 권한이 모두, group와 other 에게는 실행의 권한만이 주어져 있음을 알 수 있습니다.

홈페이지를 브라우저에서 볼 때는, 누가 홈페이지에 접속을 하건 모두 other 로 취급됩니다. 어쨌든 우리는 직접 유닉스상에 로긴을 하지 않았으니까요. 따라서, 홈페이지를 브라우저에서 보기 위해서는

1. 파일은 other 에게 read 이상의 권한이 주어져 있어야 브라우저에서 읽어들일 수 있습니다.

2. 디렉토리는 other 에게 execute 이상의 권한이 주어져 있어야 그 디렉토리 안의 파일들을 읽을 수 있습니다.

그럼, 퍼미션은 어떻게 바꾸느냐.

chmod 퍼미션 파일이름

을 해주면 퍼미션을 바꿀 수 있습니다. 퍼미션은 user, group, other 에 대한 3바이트씩의 권한을 8진수로 표현하여 바꿀 수 있고, 혹은 ugoa+-=rwx를 이용하여 바꾸는 방법이 있습니다. 예를 들어 보겠습니다.

gth.zip파일을 user에게 모든 권한(rwx=4+2+1=7), group과 other에게 read/execute(r-x=4+1=5)을 줍니다.

gth.zip파일을 user에게 read/write(rw-=4+2=6), group과 other에게 read(r--=4)를 줍니다.

gth.zip파일의 모든 유저(a)에게 실행 권한(x)을 추가(+)합니다.

gth.zip파일의 모든 유저(a)에게서 모든 권한(rwx)를 뺏습(-)니다.

gth.zip파일의 user (파일 소유자, u)에게 read/write(rw)를 추가(+)합니다.

gth.zip파일의 group (g), other (o)에게 read (r)를 추가(+)합니다.

퍼미션에는 보다 복잡한 몇 가지의 속성이 있지만, 홈페이지를 돌릴때에는 이것으로 충분합니다. 퍼미션 연습은 이로써 마치겠습니다. 돌아다니다가 이유없이 그림이 뜨지 않는다거나, 혹은 파일을 읽지 못할 때 한번쯤 ls-l을 하여 퍼미션을 체크해 보시길.

 

5.2. 기타 마무리 작업.

 - 매우 간단한 (틀린 링크의 수정이라던가, 간단한 코드 몇줄을 삽입할 경우) 에는 문서를 수정해서 올리는 것보다는 유닉스 계정 상에서 해결하는 것이 편리합니다. 유닉스에서는 vi, pico 등의 간편한 에디터를 제공합니다. vi에디터는 가장 많이 사용되고, 기능이 매우 강력하지만, 이곳에서 소개하기에는 내용이 너무 많으므로, 다음의 링크를 참조하시길 바랍니다.

http://soback.kornet.nm.kr/~bjchoo/vi.html

http://kldp.org/KoreanDoc/html/Vim_Guide-KLDP/Vim_Guide-KLDP.html

 - 계정에 파일을 올려서 자료실과 같은 용도로 사용하고자 할 때는, 파일에 other 의 퍼미션이 r이상으로 주어져 있으면 됩니다. 그러나, 777 의 퍼미션은 함부로 주지 않는 것이 좋습니다. 다른 사람이 내 홈페이지의 파일을 마음대로 만지게 될지도 모릅니다.

- 공백문자가 파일이름에 있는 경우, html 문서의 링크상에서 대부분의 경우는 그다지 문제가 없습니다. 그러나 vi에디터나 chmod, mv, cp 등등의 유닉스 명령어를 사용할 때는 공백으로 나뉘어진 문자열을 서로 다른 파일로 인식을 하는 문제가 생깁니다. 이럴 때는 "" 로 파일명 전체를 묶어 주시면 보통 파일처럼 사용할 수 있습니다. 그러나, 가급적이면 공백은 만들지 않고 '_' '-' 같은 문자를 이용하시는 것이 좋습니다.

- 바위의 계정은 100Mb입니다. 100Mb이상의 파일을 올릴 수도 있지만, 그 이후에는 파일이 더 이상 생성되지 않습니다. 또한, 한 사람의 계정에 필요없는 파일이 너무 많이 올라가 있으면 결국 서버의 용량을 낭비하게 되므로, 적절히 사용해야 합니다.