Daniel's Knowledge Storage

서버 이전 시 고려할 사항들 본문

Develop

서버 이전 시 고려할 사항들

다니엘SEO 2009. 12. 2. 10:23
-------------------------------------
① 서버가 사용하게 될 네트워크 문제
② 사용자들의 ID와 Password 문제
③ 서버 내의 Domain 들의 DNS 문제
④ 서버 내의 Homepage와 Data 들의 문제
⑤ Apache의 이전 문제
⑥ MySQL의 이전 문제
⑦ 서버 이전 후에 확인할 사항들
--------------------------------------

1) 서버가 사용하게 될 네트워크 문제

* router -> 서버 라우팅 설정 명령어
* ifconfig -> ethernet에 네트워크 설정
* netconfig -> 네트워크 설정 유틸리티

/etc/sysconfig/network -> 게이트웨이 설정 파일
/etc/sysconfig/network/ifcfg-eth0 -> 첫 번째 NIC 설정
/etc/sysconfig/network/ifcfg-eth2 -> 두 번째 NIC 설정
/etc/sysconfig/network/ifcfg-ethn -> n 번째 네트워크 설정

* 설정된 네트워크 확인
  /etc/rc.d/init.d/network (start/restart/stop)


2) 사용자들의 ID와 Password 문제

① /etc/passwd 파일
② /etc/group 파일
③ /etc/shadow 파일(퍼미션400을 복사 후 644로 수정 후 백업)

*주의사항: 통째로 복사할 경우 UID와 GID 값이 겹치는 문제가 발생할 수 있음


3) 서버내의 Domain 들의 문제

/etc/host.conf -> 해석(resolution) 방법과 순서를 지정하는 파일
/etc/resolv.conf -> 네임서버 위치를 지정하는 파일
              nameserver 210.104.1.3
            nameserver 210.204.251.22
/etc/named.conf -> 네임서버 기본 설정 파일(데몬)

* 네임서버 지역(zone) 파일 위치
/var/named/  * . zone -> 네임서버 지역 파일
/var/named/ named.ca -> 네임서버 캐시 파일
/var/named/  *. rev  -> 네임서버 리버스 맵핑 파일
/var/named/named.local -> 루프백 아이피 주소에 대한 리버스 맵핑 파일


4) 서버 내의 Homepage data 문제

① 이전 전 서버의 /에서 다음과 같이 압축
    # tar cvfpz kbehome.tar.gz /home (홈페이지 전체)
② kbehome.tar.gz을 ftp나 ncftp를 이용하여 새로운 서버로 가져옵니다.
③ 새로운 서버의 /에서 다음과 같이 압축을 풀어 줍니다.
    # tar xvfpz kbehome.tar.gz
④ 새로 이전 된 서버에서 위의 압축푸는 작업이 된 후에
    /home 파티션 내의 각 사용자의 owner와 group 정보가 예전 정보와
    동일한가 확인합니다.


5) Apache의 이전 문제

httpd.conf 파일 내에 설정되어 있는 가상 호스트 정보 수정
httpd.conf 파일 내에 DocumentRoot 정보의 확인 및 수정
httpd.conf 파일 내의 ServerName 정보의 확인 및 수정

* Apache 이전 순서
① 이전 서버의 /usr/local/ 위치에서 다음과 같이 압축
    # tar cvfpz apache.tar.gz apache
② apache.tar.gz을 새로운 서버로 가져옵니다.(ftp나 ncftp 사용)
③ 새로운 서버의 /usr/local/ 위치에서 apache.tar.gz를 풉니다.
    # tar xvfpz apache.tar.gz
④ 풀어진 apache의 httpd.conf 파일에서
    "Name VirtualHost" 값을 이전 후의 서버 IP address로 수정해 줍니다.
⑤ 이전된 후의 httpd.conf 셋팅되어 있는 가상호스트
    <VirtualHost "IP address">
    </VirtualHost> 들에서 설정된 값들 중 “IP address"에 해당하는 부분을
     이전 후의 서버 IP 정보로 수정해 줍니다.


6) MySQL의 이전 문제

① 이전 전 서버의 /usr/local/에서 다음과 같이 mysql을 통째로 압축합니다.
    # tar cvfpz mysql.tar.gz mysql
② 이전 후의 서버로 mysql.tar.gz 파일을 가져옵니다.
③ 이전 후 서버의 /usr/local/에서 다음과 같이 압축을 풉니다.
    # tar xvfpz mysql.tar.gz
④ 이렇게 압축을 푼 후 mysql을 시작해 본다.
    # /usr/local/mysql/bin/mysql_safe
⑤ 이렇게 해서 mysql이 잘 작동되지 않는다면
    /usr/local/mysql/data/ 에 생성되는 호스트명으로 된 err 파일을 확인해
    보시면 어떤 문제인지 알수가 있습니다.
⑥ 이렇게 된 후에는 mysql의 root와 mysql의 일반 사용자 및 mysql의
    데이터들도 모두 그대로 사용이 됩니다.

* MySQL을 이전된 서버로 가져온 후에 실행시키면
  /usr/local/mysql/data 에 새로운 서버의 호스트명으로 된 err 파일과
   pid 파일이 새로 생성이 됩니다.


7) 서버 이전 후에 확인할 사항들

① Homepage가 정상적으로 동작이 되는가?

② 사용자 계정 정보 UID, GID가 중복된 것이 있는가 확인
    확인은 /etc/passwd 와 /etc/group 파일에서 확인 가능
    /home 파티션의 디렉토리와 파일들의 owner와 group 정보 중 숫자로 된
    것이 있다면 계정 정보가 존재하지 않는 경우이므로 반드시 확인할 것

③ 서버 내에서 사용되는 프로그램들의 경로 확인
  * 이전되기 전의 서버에서 사용하고 있던 응용 프로그램들의 경로 확인
  * Sendmail : 대부분 /usr/sbin/sendmail 이거나 또는 /usr/lib/sendmail
  * perl : 대부분 /usr/local/bin/perl 이거나 또는 /usr/bin/perl
  * php : php의 경우에는 이전 후의 apache에 모듈로 들어가 있습니다.
          하지만 새로 컴파일하여 아파치 모듈에 삽입하는 것도 가능합니다.
  * /etc/xinet.d/ 내의 tcp_wrapper 환경에서 서비스 되는 정보들
  * 그 외 확인할 프로그램 정보들
     gcc, g++, make, c++ 등의 컴파일러들


그 외 참조할 내용

* ping 방지
/etc/sysctl.conf 파일에 추가
net.ipv4.icmp_echo_ignore_all=1 (응답하지 않음)
net.ipv4.icmp_echo_ignore_all=0 (응답함)

* 계정 발급시 자동 삽입
/etc/skel>디렉토리에 필요한 내용 삽입
     mkdir public_html
     mkdir public_html/cgi-bin
Comments