2009년 8월 12일 수요일

우분투 6.06 LTS 서버 에디션 설치 후

서버를 설치 후 패케지를 선택하여 설치 하여야 하는데

일일히 "sudo apt-get install apache2" 이런식으로 설치 하기는 좀 그런것 같다

이름도 정확히 모르고

 

aptitude 라는 명령어를 이용하여 텍스트 기반 사용자 인터페이스(TUI)를 제공해 준다.

 

우선 이 명령어를 사용하기 전에

 

sudo apt-get update

sudo apt-get upgrade

sudo apt-get dist-upgrade

 

이런식으로 명령어를 순서대로 입력해 주어서 패케지 정보를 갱신하고 필요한 패케지는 업데이트 한다.

 

그리고

sudo aptitude

 

라고 명령을 내리면 화면이 하나 보일 것이다

 

 

new package

installed package

not install package

virture

task

 

 

이런 식의 메뉴가 나온다

 

 

 

이제 각각의 카테고리를 열어 보겠다 - not installed packages 선택


 

 
 
이 화면은 not installed packages 에서 devel 을 선택한 하면이다  선택은 단지 enter 로 하면된다
다시 enter 치면 닫힌다
여기서 main, multiverse, restricted, universe 가 보이는데
처음 이 명령어를 사용하면 main은 보일거고, 나머지 3개는 옵션에 따라 다르다
 
java 5 나 tomcat 을 설치 할려면 multiverse 메뉴가 보여야 한다.
보이는 방법은 후에 적기로 하고
 
ctrl+t를 누르면 위의 메뉴로 가고
q 를 누르면 끝낸다고 하고
+ 를 누르면 설치하겠다고 표시하고
g 를 누르면 설치를 진행한다는 뜻인데 한번 더 리스트 보여주고 확인 시킨다. 다시 g 를 누르면
설치한다
 
/ 누르면 search 화면이 뜨고 한자씩 입력할때마다 매칭되는 것을 찾아 간다
 
위에서 main 으로 들어가면 패케지 리스트가 보이고 원하는 패케지에서 enter를 치면
그 패케지의 자세한 정보가 보인다 - 역시 다시 리스트로 돌아 올려면 q 를 누르면 된다
 
의존성도 확인해 주고 같이 설치 해 준다.
 
한 뎁스 더 들어간 화면을 보여주고 적는 것은 여기서 마무리....

 

main을 엔터치고 들어가서 패케지를 본 화면이다

+ 를 입력하면 pi로 바뀌고 의존성 있는 패케지는 piA로 나타난다

실제로 설치를 하고 싶으면 이렇게 i 표시 한 후 g 를 누르면 된다.

 

 

====================

좀 편하게 패케지를 설치 할 수 있고, 설치된 것도 볼 수 있고 해서 좋다

아파치 php mysql postgresql 다 설치 해 보았는데 아파치만 확인해 보고 아직 집중적인 확인은

안 한 상태가 - 근데 대몬은 다 떠 있군...

 

현재 java 1.5.0_06 설치 하고 tomcat5 5.0.23인가??? 하여간 설치하고

몇가지 자바와 톰켓 환경 설정하고 간단한 프로젝트 올려 보았다

잘 되는군....

 

데비안을 이렇게 편하게 사용해 보는 것은 참 오랫만이다.

예전에 설치 때 부터 버벅거리면서 하다가 몇번 실패하고 성공하고

이러면서 쓰다가 다 버리고 맨드레이크와 레드햇으로만 서버용도로 사용했었는데

많이 좋아 졌다..... 얼릉들 사이트에 가서 무료 시디 받으세요.. 언제나 보내 주네요.. ^^

6~8주 걸리지만.... 다운 받아 시디 굽는 것도 좋지만 - 직접 받아서 쓰는 것도 좋을 것 같아요

어디가서 설치 해 줄 때도 좋고... ^^

 

그럼 도움이 되시길 바랍니다. ^^

우분투(ubuntu) 6.06 LTS Server Edition 설치

우분투 6.06 LTS 의 서버 에디션을 설치하는 과정 화면 캡처하여 첨부함.

파일을 첨부하여 올렸는데 이해가 될지 모르겠다.

 

우분투에서 파티션 나누는 과정이 처음에 접했을 때 좀 어색해서 실수도 했었다

이번기회에 어떻게 나누는지 간단하게 나마 화면으로 잡아서 보여준다.

 

우분투를 처음 사용하는 사람들에게 도움이 되었으면 하는 바램으로...^^

우분투(ubuntu) BIND - DNS zone file 추가

beanie.uxmn 도메인을 추가하자

 

#vi /etc/bind/named.conf.local

이 파일의 끝에 다음을 추가 한다

 

zone "beanie.uxmn" {

            type master;

            file "beanie.uxmn.zone";

};

 

 

그리고 /var/cache/bind로 이동하여

 

beanie.uxmn.zone 파일을 새로 만들어 내용을 담는다.

=== 참고

여기서 기존에 있는 파일하나를 복사해서 수정하는 방법으로 작업하였다.

#cp esgmn.uxmn.zone beanie.uxmn.zone

그리고 다음 내용으로 수정하였다

 

 

$TTL        604800

@          IN       SOA     lee.beanie.uxmn.      root.beanie.uxmn.    (

                                    2006030801        ; Serial  

                                    604800

                                     86400

                                  2419200

                                    604800   )

 

;

         IN       NS       ns.esgmn.uxmn.

;        IN       MX 10  mail

         IN       A         10.10.10.97  

;

lee              IN        A                10.10.10.97

www           IN        CNAME       lee

mail             IN        A                10.10.10.97

ftp               IN        CNAME        lee

 

이렇게 입력한 내용을 잘 살표보자.

SOA 레코드의 입력부분에서 마침표 조심하고,

         IN      NS     ns.esgmn.uxmn. 여기서 IP를 사용하지 않고 호스트명을 사용했다.

이렇게 하면 ns.esgmn.uxmn 의 IP가 변경되어도 여기서는 변경할 것이 없다.

SOA에서 lee 라는 호스트명을 사용했기때문에 A 레코드에 lee 라는 엔트리가 반드시 있어야겠다.

^^

 

CNAME 을 사용하는 것은 서버를 이전하였을때 일일히 수정하지 않고 기본 호스트만 IP를 바꿔도 되는 익점이있다...  단 .... 단.... 단....

mail 호스트에 대해서는 CNAME을 쓸 수 없다는 것을 명심해 주세요 ^^

 

여기서도 아직 메일서버가 설정이 안되어서 MX 레코드는 설명문으로 남겨 두었다.

 

#/etc/init.d/bind9 restart

대몬을 다시 시작하고

 

#dig ns beanie.uxmn

 

#host -al beanie.uxmn

 

#host www.beanie.uxmn

#host mail.beanie.uxmn

#host ftp.beanie.uxmn

 

CNAME 과 A 레코드의 host 명령어 결과가 다른 것을 확인할 수 있다.

 

=======================================================================

여기까지가 DNS 서버를 구성하여 네임서버를 캐쉬서버나 아니면 도메인서버로 사용하는 방법의 설명이 끝났다.... 사실 좀 더 남긴 남았는데... master 와 slave 의 설정 하는 방법을 설명하여야 하는데 그것 좀 뒤에 하고...

우분투 ubuntu 5.10 서버모드 설치

처음 시디 부팅때 프롬프트 나오면

server 이라고 치고 엔터 한다

 

그리고 나머지는 동일하다...

설치 하는 부분은 모두 생략

사용자 등록에서 esgmn으로 ID를 주었다.

호스트명은 ux510svr.esgmn.uxmn으로 주었다

 

설치가 완료되고 리부팅 후

 

$sudo -s

password:

 

--- 처음부터 root로 사용자를 바꾸고 작업한다... 우분투의 기본정책을 따라서 root로 로그인은 안함.

 

#vi /etc/hosts 파일을 편집

 

127.0.0.1      ........ ux510svr.esgmn.uxmn 에서 이 호스트명 만 지우고

10.10.10.97    ux510svr.esgmn.uxmn    ux510svr

한 줄을 추가 한다.

=====> 이것만으로도 로컬에서 ux510svr을 찾아 갈 수 있다.

 

/etc/network/interfaces 를 수정한다

 

맨 아랫줄에 있는 iface eth0 inet dhcp 를 커멘트 시키고 (맨 앞에 #을 붙이고)

다음을 추가 한다

auto eth0

iface eth0 inet static

          address  10.10.10.97

          netmask  255.255.255.0

          gateway  10.10.10.1

 

이렇게 추가 저장하고 나옴

 

#/etc/init.d/networking restart

하고

#ifconfig

로 확인해 본다

#netstat -nr 혹은 -r

Flags항목에 UG가 게이트웨이 이다.

 

=============================================

참고로

여기서 사용한 IP와 Netmask와 gateway는 자신의 환경에 맞추어 설정해 주어야 한다.

 

========

나의 환경

========

adsl 모템에 유무선공유기를 연결하여 내부 네트웍을 사용한다.

유무선공유기는 dhcp 서버를 가지고 있고

자신의 local IP가 10.10.10.1 이다 -- 이것이 내부 네트웍에서 게이트웨이가 됨.

dhcp  서버의 아이피군은 10.10.10.101에서 50개로 되어있어서

static(정적) IP로 100에서 2번까지 사용한다.

 

서버컴퓨터는 인텔보드에 2 CPU Xeon 2.6G에 2GB 메모리를 가지고 있고

윈도우 XP를 설치하고 VM을 이용하여 ubuntu-5.10을 설치하여 시나리오를 완성할 것이다

우분투 서버 설치

우분투를 서버 모드로 설치한다

 

서버의 호스트명을 ux510svr.esgmn.uxmn으로 하고

network 정보 - eth0 interface를

ip address : 10.10.10.97

netmask     : 255.255.255.0

gateway     : 10.10.10.1 로 한다.

 

bind 를 설치하여 캐시 서버의 역활로

자체 네임서버를 사용하여 인터넷의 도메인을 찾아 갈 수 있도록 한다

==== /etc/resolv.conf 파일에

nameserver 10.10.10.97

---

 

우분투 서버(ux510svr)를 네임서버 설정을 하여 내가 원하는 도메인(가상 - 예 : esgmn.uxmn)을

등록하여 호스트명으로 찾아 갈 수 있도록 한다

 

로칼네트워크 안에( 같은 서버네트웍크) 있는 PC들의 nameserver 의 값을 10.10.10.97로 설정하여 인터넷을 사용토록 한다.

 

웹서버와 ftp 서버를 설치하고 dns에 다음 호스트명을 등록하여 이름으로 찾아 갈 수 있도록 한다

www.esgmn.uxmn

ftp.esgmn.uxmn

우분투(ubuntu) BIND - DNS zone file

앞에서 설정파일/etc/bind/named.conf.local 에 zone을 등록하고 파일명을 /var/cache/bind/esgmn.uxmn.zone 라고 정의했다.

 

우선 그 파일의 내용을 적어 본다... dot (.)에 대한 설명을 위해서 무리한 엔트리도 있다

메일서버(MX record)는 아직 설정하지 않아서 설명문으로 나두었지만 호스트명은 등록해 놓았다.

 

$TTL        604800

@          IN       SOA     ux510svr.esgmn.uxmn.    root.esgmn.uxmn.  (

                                    2006020303        ; Serial    ------#1

                                    604800

                                     86400

                                  2419200

                                    604800   )

 

;

@      IN       NS       ns                                    -------- #2

@      IN       A         10.10.10.97                         -------- #3

;        IN       MX 0    mail

;        IN       MX 10   mail1.esgmn.uxmn.           ------- #4

;

ns                        IN        A         10.10.10.97

mail                      IN        A         10.10.10.97

www                    IN        A         10.10.10.97

ftp.esgmn.uxmn      IN        A          10.10.10.97   -------- #5

ftp.esgmn.uxmn.     IN        A         10.10.10.97

ux510svr                IN        A          10.10.10.97   -------- #6

ux510                    IN        A          10.10.10.88

fb54s                     IN       A          10.10.10.96

fb54w.esgmn.uxmn  IN       A           10.10.10.87

www1                   IN      CNAME    ux510

ftp1                       IN      CNAME    ux510.esgmn.uxmn.

mail1                     IN       A            10.10.10.88

; 여기가 끝이다.

 

저장하고 나와서

#/etc/init.d/bind9 restart

정상적으로 종료되고 시작된다.

만약 안된다면 /etc/bind/named.conf.local 파일과 /var/cache/bind/esgmn.uxmn.zone 파일을

주의 깊게 다시 보아야 한다. 앞전에 cache 서버로서의 사용에서 정상적으로 작동이 되었다면

변경된 것은 zone 파일을 추가 한 것 밖에 없지 않은가.....  특히 dot (.)에 유념해서 그리고 설정파일에서 라인 마무리에 세미콜론(;)을 유념해서 본다.

 

#1  은 날짜에 일년번호 두자리를 사용해서 구성했다. - 숫자면 되는데....

     - 항상 수정이되면 이 부분을 더 큰 숫자로 만들어 준다. 일반 일련번호는 수정하고 앞전의

        번호가 몇인지 잊을 수 있다... 날짜로 하면 항상 크다.. 수정을 했다고 생각하면 무조건

        일련번호를 올린다.

      -  하루에 3번 수정(삭제 추가 포함)했다면.... 끝자리 두자리만 증가 시켜가면 그만이다.

      - master slave 에 관련된 부분이다. 숫자 올리는 것에 습관을 들여 둔다.

 

#2   이 도메인의 네임서버의 위치(호스트)를 지정해 준다.

      - 맨 앞의 @ 은 도메인에 대한 변수라고 생각하면 된다.

      - @은 생략해도 된다.  왜? 두번째 줄에 있다.

      - slave 네임서버를 설정하여 사용하고 있으면 한줄 더 추가 한다. IP 값을 써도 되고

        호스트명을 사용해도 된다.

            -- ( @    IN  NS  ns2.domain.xxx. )  호스트명을 사용하면 끝에 DOT (.) 잊지말자...꼭꼭

            -- 뒤에 . 을 생략하면 이렇게 지정한 것이 된다. ns2.domain.xxx.esgmn.uxmn 이라고....

            -- 역시 @ 는 생략 가능.... 주로 생략한다.

            -- 여기서 ns2.doamin.xxx는 실지적으로 사용하는 네임서버를 적어야 한다.

            -- 없다면 적지 말 것.

            -- IP 보다 호스트명이 더 유리하다는 것을 알게 될 것이다... 왜?    스스로 생각하기... ^^

 

#3 @      IN   A   10.10.10.97

     - esgmn.uxmn 에 대한 IP값을 준 것과 같다.

     - @ 를 도메인을 가지고 있는 변수로 생각하면 된다고 위에서 이야기 했다.

     - 역시 @를 생략해도 된다.

     - @ 는 설정파일에서 zone "esgmn.uxmn" 이라고 적은 부분의 쌍따옴표 ( "  " )이 안에 있는

        것을 가지고 온다.

 

#4 메일서버를 지정하는 부분이다

    - 여기서는 두개를 지정하였는데 MX의 다음 숫자가 작은 것이 우선권이 있다

    - 아직 매일서버가 설정이 안되어서 ; 로 막았다... 주석 처리 임.

    - 하나는 호스트명만 사용 된거고 두번째꺼는 전체호스트명을 적은 것이다. 뒤에 쩜 (.)이 있음.

--------------------

 중요 :::::   1줄에서 #4 까지 내용에 사용된 모든 호스트명에 대한 A 레코드가 있어야 한다.

                2차 네임서버(slave 네임서버 - ns2.doamin.xxx) 에 대한 것은 A 레코드 없다.

                   -- 왜?   다른 네임서버가 dns 해 주고 있으니까....

                #6이 있는 이유를 알 것이다. - 두번째 줄에 SOA 다음에 ux510svr. ... 이 있다.

 

#5 어거지 엔트리다.... 한번 넣어 받다.

     바로 다음줄에 있는 것 처럼 사용해야 한다.

     테스트 해 볼 때  ping ftp.esgmn.uxmn.esgmn.uxmn 이라고 길게 ping 해 보자... OK 다.

 

============================================================

지금까지의 설정파일과 zone 파일은 한 줄의 수정도 없이 정상적으로 작동이 된다.

========================================

테스트 해 보자 -- 여러 방법이 있다...

nslookup 을 해 보면

현재 내 컴에 적용되어 있는 네임서버를 기준으로 lookup 하겠다고 한다.

바꾸자..... 내 dns서버를 사용해야 esgmn.uxmn을 안다

 

#nslookup

어쩌구 저쩌구

>server 10.10.10.97

Defau......

Addre.......

 

> 여기에 호스명을 적어 보자....

그럼 IP가 나올 것이다.

>exit

 

 

========================================

/etc/resolve.conf

nameserver 10.10.10.97     로 되어 있다면

 

 

#host www.esgmn.uxmn

  아이피 값이 나올 것이다

#host www1.esgmn.uxmn

alias 되어 있다고 나올 것이다....

========================================

#dig esgmn.uxmn ns

#dig esgmn.uxmn a

#dig esgmn.uxmn mx

mx의 결과는 없을 것이다.

앞 전의 포스트(게시물)에서 이 결과의 값이 없었다.

지금은 있다...

 

====== 여기까지가 기본 적인 DNS 서버를 설정하는 방법이다.

 

 

우분투(ubuntu) BIND - DNS 도메인 등록

등록하고자 하는 도메인 명이 esgmn.uxmn이다

=======

여기서 포인트가 되는 부분만 중점적으로 설명할 것이다...실행위주로 작성할 것이다

예전의 경험과 강의를 하면서 많이들 틀리고 부주의한 부분을 집중적으로

나머지는 왠만한 서적에 설명이 되어 있고 넘 많은 이야기들이 있다....

=======

우분투를 처음 사용해 본다. bind9의 설정파일들이 이렇게 복잡하게 꼬리를 물고 있지는 않았는데

통상적으로 전체 설정파일과 존 등록파일로는 /etc/named.conf 를 사용하고

zone 파일들의 위치는 /var/named 디렉토리에 둔다

=======

root zone과 cache 파일들도 /var/named 에 통상적으로 있다.

우분투가 좀 다르다.... 데비안도 그런가??? 사용해 본지 거의 수년전 ..가물가물이다...

=======

설정파일들의 위치가 /etc/bind

 

#cd /etc/bind

#cp named.conf origin.named.conf

#cp named.conf.local origin.named.conf.local

안정장치라고나 할까.... 원본을 복사 해 두었다

 

여기서 named.conf 에서 named.conf.local을 include 하였기 때문에

named.conf에 도메인을 등록하지 않고 named.conf.local에 등록 하겠다...

 

#vi named.conf.local

 

zone "esgmn.uxmn" {

         type master; file "esgmn.uxmn.zone";

};

 

위와 같이 순방향 DNS 구역(zone) 을 하나 등록했다 -- 난 통상 zone 등록이라고 부른다.

-- 순방향, 주 구역, local domain 등등으로 불린다....

-- 도메인명이나 호스트.도메인명 을 호출할 때 해당 이름의 IP를 찾아 갈 수 있도록 서비스해주는 zone을 말하는 것이다.

여기에 상대적인 것이 역방향 DNS 구역이다 -- 나중에 설정한다. :) ---- 난 통상 리버스 존(reverse zone) 등록이라고 부른다.

 

위의 zone 에서  }; 까지 줄을 나눠서 입력해도 된다

zone "esgmn.uxmn"

{

       type master;

       file "esgmn.uxmn.zone";

};

 

도메인 esgmn.uxmn 에 적용된 zone 설정 파일이 esgmn.uxmn.zone 이라고 알려 주는 것이고

그 파일의 위치는 /etc/bind/named.conf.options 에 보면

options {

             directory  "/var/cache/bind";

 

라고 되어 있는 위치에 있다는 것이다...   그러니까 /var/cache/bind/esgmn.uxmn.zone 가 되겠군

file "esgmn.uxmn.zone" 의 파일명에 대해서는 관리자가 정하고 싶은대로 정하면 된다.

여러 도메인을 관리하다 보면 도메인명에 해당하는 zone파일을 구분하기 쉽게 하기 위해서 난 통상 이렇게 사용해 왔다. reverse zone 은 esgmn.uxmn.rev 로 하면서...

 

zone 파일 esgmn.uxmn.zone은 다음 포스트에 쓴다. ^^