카테고리 보관물: Season 1

Result : 02. DNS에 대하여 알고 가기 / 도메인 신청하기

1. DNS에 대하여 알고 가기

  DNS는 Domain Name System의 약자인 서비스로 어느 특정 사이트에 접속할 때 IP를 입력하는 대신 알기 쉬운 영문명(또는 한글명을 지원하는 DNS도 존재하긴 한다)을 통해 사이트에 접속하게 해주는 서비스를 말한다. 이 서비스가 없다면 네이버든, 구글이든 영문명으로 접속하지 못해 IP를 입력해 들어가야 하는데 이를 외우는 게 까다롭기 때문에 DNS는 필수적인 것이라 생각한다. 그런 관계로 홈페이지를 개설하는 사람들은 으레 DNS를 고려해야 하는데 시중 서적에서 소개하고 있는 DNS를 보다보면 서버용 OS를 통해 DNS를 구현할 수 있고 여기서 한발 잘못 생각하면 마치 별도의 DNS 유지비용을 들이지 않아도 DNS의 효과를 볼 수 있는 것처럼 오해할 소지가 있다. 이와 관련해서 정리해보면 아래와 같다.

1) 도메인을 입력 후 해당 IP에 접속하게되는 과정을 이해하자.

① 접속하고자 하는 도메인을 브라우저의 주소창에 입력했다면 ( ex : www.naver.com )
② 브라우저는 해당 도메인의 IP가 무엇인지 알기 위해 ISP의 기본 DNS에 그 정보를 요청한다.
③ DNS 기능을 담당하고 있는 서버(네임 서버)가 해당 도메인에 대한 IP 정보를 확인했다면 그 IP 주소를 돌려줌으로써 클라이언트는 도메인으로 접속한다.
④ 허나 만약 해당 정보를 확인하지 못했다면 오류값이 출력될 것이다. ( http error 404 : page not fonud )
⑤ 만약 사설 네임서버를 개설해 해당 서버의 도메인을 등록했다면 그 서버가 알고있는 도메인은 그 네임 서버를 통해서 접속이 가능할 것이다.

2) 물론 서버용 OS를 활용해 DNS 기능을 구현할 수 있다. 허나 자신이 구축한 도메인으로 접속하이 가능하려면 아래와 같은 사항을 고려해야 한다.

① 자신이 구축한 DNS 외에도 통신사별로 시스템이 인터넷에 접속하기 위한 기본 DNS서버가 존재한다. 즉, 개인이 구축한 DNS를 통해야만 접속할 수 있는 사이트에 접속하려면 ISP의 기본 DNS역시 그 사설 DNS의 존재를 알고 있어야만 접속이 가능하다.
② 또는 자신이 사설 네임서버를 구축하고 도메인을 지정했다면 그 네임서버의 IP를 다른 컴퓨터의 인터넷 설정에서 DNS의 IP로 수동 설정함으로써 그 컴퓨터로 의도한 도메인 접속이 가능하다. 허나 이런 식으로 네임 서버와 웹서버를 둘 다 운영하려면 자신의 웹서버로 접속을 하려는 컴퓨터는 DNS를 수동으로 설정해 접속해야 하므로 집에다 구축해놨을 네임 서버의 컴퓨터는 큰 부하에 시달릴 것이다.
③ 외부 접속자가 인터넷의 DNS서버를 수동으로 변경하지 않아도 접속이 가능하려면 자신이 구축한 사설 네임서버를 도메인으로 등록해야 가능한데 이렇게 되면 어차피 도메인 등록하기 위해 돈은 돈대로 냈으면서 서버 부하만 네임서버에 더 크게 작용하므로 굳이 한 도메인 내에 5개 이상의 서브 도메인을 운영하는 것이 아닌 한 그리 큰 의미가 없다. 사실 GABIA같은 도메인 등록 업체의 경우만 봐도 도메인을 등록할 경우 기본적으로 4개의 서브 도메인을 지원하므로 더더욱 의미가 없다(…)

3) 만약 ipTIME과 같은 제조사의 인터넷 공유기를 사용중이라면 DDNS와 같은 기능을 활용해 무료도메인을 생성하고 운영할 수 있다. 허나 이렇게 생성한 도메인은 이름이 ~~~~~~.iptime.org 와 같은 형태로 고정되며 통상 도메인이라 생각하는 www.~~~~~~.com( net, or, co.kr … ) 에서의 모습에서 뿜어내는 간지는 기대할 수 없을 것이다. 물론 대외적으로 타인과의 소통이 빈번하지 않은 개인용 NAS와 같은 용도라면 분명 도메인의 비용 측면에서 효율적인 선택이라 볼 것이다.

2. DNS 신청하기

  네이버에 도메인이라고만 검색해도 당장 파워 링크로 등장하는 업체만 5개다. 후이즈, 아이네임즈, 가비아, 예스닉, LG U+ Biz 와 같은 업체들이 있는데 기본적으로 우리나라에서 등록되는 도메인은 한국인터넷진흥원(KISA)이 주관하고 앞에서 열거한 업체들은 KISA의 도메인등록대행업체로 선정된 곳들이다. 가격은 연 단위로 제각각 차이는 있으나 거의 2만원/연 선이다. 호스팅까지 서비스하는 곳이 대부분인데 호스팅은 자신의 집에 서버를 운영하지 않고 해당 업체에서 제공하는 일정 용량의 저장공간을 활용해 서버로 운영할 경우 신청하며 지원 용량, 트래픽 제한에 따라 이 역시 가격이 다르다. 물론 자신의 집에 웹서버를 직접 구축하는 경우라면 그 컴퓨터의 하드 용량이 곧 지원 용량이고 트래픽 역시 회선이 일반 인터넷 회선이고 웹서버 성능이 빵빵하지 않아 생기는 문제를 제외하고서는 인위적인 제한은 없는 사항 되겠다. 여기에서는 호스팅을 받지 않고 집에 놀고있던 구형 노트북을 웹서버로 활용하자는 착안에서 시작되었으므로 도메인만 신청해 진행한다.

Result : 01. 작업환경 정의 & Ubuntu Server 14.04.2 LTS 설치 및 필수 세팅하기

1. 작업환경 정의

– CPU : AMD Turion 64 X2 Mobile TL-50
– RAM : 3G / DDR2
– HDD : 100G / SATA2
– OS : Ubuntu Server 14.04.2 LTS

2. 네트워크환경 정의

네트워크설정

3. Ubuntu Server 14.04.2 LTS 설치 및 필수 세팅하기

1) http://www.ubuntu.com/download/server 에 들어가서 설치하고자 하는 컴퓨터에 맞는 이미지를 다운받은 뒤 CD나 DVD로 굽는다. 참고로 Ubuntu 14.04.2를 USB로 설치할 경우 하드로 부팅이 되지 않고 USB를 넣어야만 부팅이 되는 상태가 되니 웬만하면 ODD 관련 미디어로 설치하기를 추천한다.
2) 미디어를 넣고 부팅을 시도해 설치를 시작한다. 이후 순서대로 죽죽 진행한다.
3) 설치하고자 하는 서비스를 묻는 화면이 나올 때 컴퓨터를 웹서버 용도로 사용할 계획이었으니 APM을 선택후 설치한다.
4) 설치가 완료되면 다음의 절차를 따른다.

① 네트워크 설정하기

· 만약 설치 시 자동으로 네트워크 어댑터를 인식시키지 않았다면 우분투 설치 후 네트워크 설정을 별도로 해 주어야 한다. 다음과 같이 친다.

vi /etc/network/interfaces

· 이렇게 파일을 열면 안에 #The primary network interface 라고 쓰인 아래 줄에 다음과 같은 내용을 적고 저장한다.

auto eth0
iface eth0 inet dhcp

· 설정을 저장했으면 네트워크 서비스를 재시작한다.

service networking restart

② 폰트 깨짐 현상 해결

· 우분투를 설치 시 한글 언어 지원으로 설치했음에도 불구하고 뭔가 글자가 깨져서 알 수 없는 시스템 메시지가 뜰 때가 있다. 이 현상을 해결하자.
· 한글 글꼴과 fbterm을 받은 뒤 실행시킨다.

sudo apt-get install fonts-nanum-coding
sudo apt-get install fbterm
sudo fbterm

· 이러면 콘솔화면의 글꼴이 변경된 걸 알 수 있으며 한글 메시지도 잘 출력되는걸 확인할 수 있다.

③ APM 설치하기

· 우분투를 설치할 때 APM을 설치했다면 이 과정은 생략 가능하나 만약 별도 설치가 필요한 상황이라면 설치하자.

sudo apt-get install apache2
sudo apt-get install mysql-server

④ 방화벽 설정하기

· 기본적으로 웹 서버 용도므로 80 포트를 허용하자.

sudo ufw enable
sudo ufw allow 80/tcp

<참고자료>
http://bangcfactory.tistory.com/107

 

넷째

  지금 이 사이트를 보고있는 분은 '아, 지금 삽질록 season1에 해당하는 계획은 얼추 그 가닥이 잡혔구나.'라 생각하실지도 모르겠다. 예상대로 일부는 그게 맞다. 허나 아직 미비된 것도 있고 그 외에 따로 진행하고 있는 부분도 있는데 글로 정리할 시간은 없고 하여 지금까지 처리해 둔, 그리고 곧 처리가 완료될 부분까지 전체적인 아웃라인, 또는 골자를 잡아두고 이후 세부적인 result의 형태로 글로써 정리하고 season1은 마무리하려 한다. 그 골자는 아래와 같다.

1. 작업환경 정의 (하드웨어, OS, 네트워크)
2. Ubuntu Server 14.04.2 LTS 설치 및 필수 세팅하기
3. DNS에 대하여 알고 가기 / 도메인 신청하기

4. 워드프레스 설치하기
5. 워드프레스에 플러그인 설치하기
6. 게시판과 포럼 사이

7. 포털 사이트에 게시물 노출시키기
8. 웹서버 자료 자동 백업하기

이렇게다. 사실은 나중에 결국 season1에 해당하는 부분은 다 정리가 완료되어야 하는데 그간 여기저기서 헤맸던 것도 많고 배운것도 많아 미리 정리해두지 않고 주먹구구식으로 글을 작성했다가는 두서없는 게시글만 늘어날 듯 싶어 스스로 아웃라인이라도 잡아보고자 정리한 내용 되겠다.

셋째 (‘14.12.10)

1. 친구 집 라이터기 협조를 받아 Fedora 19를 다시 구웠다.
    그 DVD가 인식되는지 확인해보고 그걸로 부팅했을때
    설치화면이 뜨는지도 테스트해봤다. 다 된다!

2. ​그 DVD로 Fedora 19 설치 시도…
    완료했는데도 X window 환경이 아니다?
    – root계정으로 들어가 startx 명령을 쳐봤다. 모르는 명령이랜다. 그..럴수가 없는데??;;
    – 문제는 서버 버전으로 깔았기 때문인거 같다. Desktop GNOME 버전으로 다시 깔았다.

3. 다시 깔아보니 원하고 원하던 X window 화면이 떴다. 아 감격…

4. APM 설치를 진행했다. 전체적으로 다 순조롭게 진행!

5. 로컬에서 노트북의 ip를 웹브라우저에 입력하면 페이지가 뜨는거 까지 확인!

6. 워드프레스 페이지를 설치했다. 관련한 셋팅도 완료했다.

7. 로컬에서 노트북 ip를 웹브라우저에 입력하면 워드프레스 페이지가 뜨는거 까지 확인했다.
    그리고 ip에서 한발 더 나아가 ​도메인네임같이 입력후에도 페이지가 뜨게끔 해봤다.
​     – 의문점 1 : 외부에서(물리적으로 직접 연결된 컴퓨터가 아닌 상태에서) 이 페이지에 엑세스할 수 없는가?
     – 의문점 2 : ​호스팅 서비스를 받지 않고 외부에서 이 페이지를 도메인을 입력해 엑세스할 수 없는가?
        ·​ 사실 이게 가장 핵심적인 의문점이라고 봐야할 듯 하다. 돈이 나가느냐 마느냐의 문제이기 때문이다…ㅋㅋ
        ·​ ​ip로 접속하는 문제는 결국엔 해결될 문제일 듯 한데 도메인으로 접속하는 문제는 호스팅 받지 않고서는 안되는건가 싶다.
          현재까지는.
        ·​ 근데 이게 안될 거 같으면 굳이 Fedora 깔아가면서 이짓을 해 온 의미가 없다!
         
분명 방법이 있을 것이다. 찾고야 말리라…​​

둘째 (‘14.12.9)

1. 전날 설치에 실패한 CentOS를 Netinstall로 완전 설치하는데 성공했다.

– 완전히 설치에 성공했지만 그래픽 카드는 여전히 잡지를 못하고
   X window 환경도 열리지 않는다.

– 소결 : CentOS 말고 아예 Fedora로 갈아탄다.

2. 전날 준비해둔 Fedora 이미지 파일을 DVD로 구워 설치를 시도한다.

– DVD를 인식하지 못하는 듯하다. DVD가 뻑이 난건가. 다시 구워봐야겠다.
– 어제 친구 집에 DVD 라이터기로 구운건데 뻑이 났으면 다시 굽든지 해야된다.
  집 컴퓨터에 라이터기가 없다.

– 그 시간에 다시 구울수는 없는 터라 USB에 Fedora 이미지를 넣어
  USB 설치를 시도해봤다.

· 설치화면으로 넘어가긴 하는데 설치시 소스로 USB가 적합하지 않다며
  더 이상의 진행이 안된다.

· 거기서 Netinstall을 시도해봤지만 그것도 주소가 옳지 않다며 진행이
  안되는데 image 파일을 필요로 하는건지 iso파일을 원하는건지
  당췌 알 수가 없다.

– 제길… 라이터기나 하나 장만해야되나 싶다.

3. OS 설치를 못해 진행이 더딘 와중에 밖에서 일과 진행할 동안 설치 이후의 준비사항은
    미리 시도해볼 수 있어 VMware로 시도

  – Fedora에 APM을 설치해야한다. 방법을 찾기 위해 구글링 시전… 여기를 참고했다.

    (http://greatwes.blogspot.kr/2014/05/apmapache-php-mysql.html)

  – 테스트 결과 PHP 돌아가는 것과 Maria​DB 돌아가는 것, Apache 돌아가는 것
    모두 성공했다.

  – 문제  : 워드프레스를 설치하고 브라우저로 들어가서 보면
              'PHP에 MySQL 확장이 설치되어 있지 않은 것 같습니다. 워드프레스는
              이 확장이 필요합니다.​' 라는 페이지가 나온다. PHP와 MySQL이
              연동되어 있지 못하다는 것일텐데 그 방법을 찾아야한다.​

첫째 (‘14.12.8)

1. VMware로 모식적으로 구성한 내 노트북 사양 환경에서
    CentOS 5.5가 아주 매끄럽게 구동되는것을 확인했다.


2. CentOS 5.5 DVD버전을 구워 실제 노트북에 설치했다. (2014.12.8 04:00)

– 문제 1 : 1번 DVD 설치 이후 2번을 넣으라해서 넣는데
                DVD를 갈아끼면 인식을 못해 정상적인 설치가 안된다.

– 문제 2 : 설치 중에나 설치 이후에나 CentOS가 그래픽 카드를 인식 못하는지
                X Window 환경을 구현하지 못한다.
 

· 내 노트북 그래픽카드의 사양은 NVIDIA Geforce Go 7150m

· NVIDIA에서 배포하는 해당 장비의 리눅스 버전 드라이버를
  USB에 담아 설치 시도

· 근데 USB 파일 시스템이 NTFS라 마운트를 못한다?

· 구글링으로 NTFS 파일시스템의 USB를 리눅스에서
  마운트하는 방법을 찾아냄
(http://rajivpandit.wordpress.com/2012/10/31/mount-ntfs-on-linux-centos/)
 

·  요점은 서드파티 패키지 저장소를 이용하기 위해 rpmforge를 설치하고
   이를 통해 ntfs 지원 패키지를 설치해야 한다는 거다.

·  그래서 마운트를 하고 설치를 하는데 '뭐시깽이.run' 이런 파일은
   어떻게 실행하는거지?

·  이것도 구글링으로 chmod를 통해 해당 설치파일의 실행권한 부여한 뒤에
    sh [설치 파일명.run] [enter]로 설치한다는 걸 알아냄
 

· 그래서 실행은 했는데 왜 중간에 설치하다가 커널 헤더를 들먹이며
  제대로 설치가 마무리안되고 튕길까?
 

결국 문제 2번 해결 못함. 문제 1 때문에
제대로 설치가 안 된건 아닐까 하는 의심이 강하게 듦.
 

결국 해결의 방향이 1번으로 돌아왔다.

– CentOS를 다시 제대로 설치해보자.

· 설치 미디어가 2개 이상이니 제대로 설치가 안된다.
· 내용을 한 큐에 다 담아 설치할 수 있는 방법을 찾아본다.
· USB로 담아 설치하는 방법을 시도
· ISO2USB라는 툴을 활용, DVD 이미지 파일을 USB에 담아보려 시도
· 근데 기존 DVD파일이 4G가 넘는다고 안된댄다.
· 결국 파일 하나 당 700메가정도 되는 CentOS 5.5 cd버전을
  받기 시작. 총 9장짜리임.
· 받은 파일로 usb에 담아 설치 시도
· 이래도 제대로 설치가 안된다. 2번째 미디어에 해당하는 usb를
  넣으라는데 그러면 매번 이미지 갈아가면서 usb 안에 있는
  내용 갈아주고 다시 끼워 설치하라는 건가… 비효율적이다!

– 이래서 CentOS 설치 제대로 완료 못했다… 아 부들부들…

 

3. CentOS와 씨름하다보니 문득 이런 생각이 든다. (2014.12.8 09:30)

– 아니 우분투 깔 때는 드라이버때문에 고생하는 일 없이 설치 잘만 됐는데
  왜 운영체제 설치부터 애먹으면서 이렇게 고생을 해야돼?

– 그냥 사람들 많이 쓰는 페도라 쓸까? 무겁게 안 돌아가는 버전으로
  잘 고르면 될 거 같다~~

 

4. 그래서 페도라로 설치하고 진행해보려 한다…

Prologue (‘14.12.8)

우선, 앞으로 기록될 각종 삽질들의 최종 목표를 밝혀둔다.

최종 목표는,
09년식 노트북리눅스를 깔고
그게 내 워드프레스 페이지서버 역할을 하게 만드는 것이다.​

이를 통해 얻고자 하는 것은

– ​워드프레스를 활용해보며 웹 개발 언어를 접해보고
– 간단한 게시판 ​DB를 구축해 보는 경험을 해보며
– 이를 통해 자연스럽게 네트워크 개념 및 리눅스 운영에 익숙해지고
– 서버 운영의 안정화를 위한 간단한 보안조치까지 구상하는
  기회를 노려보자는 것이다.

IT는 결국 수많은 삽질 속에서 문제를 해결하려는 노력과 근성을 보일때
자연스럽게 실력이 붙는다고 믿는다.​

그 삽질의 과정을 적어두고
무엇을 배우게 되었는지를 기억해보자는 것이
이 삽질록의 기본적인 취지라는 점을 상기하고자 한다.​