centos 쪽에 네임서버를 설치하려 한다.
우분투와 차이점이 있어 정리한다.

우분투는 /etc/bind/ 에 설정파일이 있다.
/etc/bind/named.conf.local 에 도메인 설정을 한다.
zone 파일은 /var/cache/bind 에 위치한다.


Centos 는 뭐가 다르지?
그런데, centos 는 조금 다르다.
가장 큰 차이점은 chroot 로 네임서버를 구동한다.
우분투쪽도 그런방식이 가능할 것으로 생각한다.(최신 배포판은 그런방식을 쓸지도,현 hardy)
그래서 chroot 의 root path 는 /var/named/chroot 가 된다.
네임서버 실행시 저 위치가 root 가 된다. 설정파일도 그 안에 위치한다.
/var/named/chroot/etc/named.caching-nameserver.conf
/var/named/chroot/etc/named.rfc1912.zone
도메인 설정은 named.rfc1912.zone 에 설정하면 된다.

그럼 zone 파일은 어디에 위치하나!
바로 /var/named 인데, chroot 상의 /var/named 이다.
/var/named/chroot/var/named
가 된다.

/etc/named.conf 등의 파일은 뭐지?
그냥 관리자가 관리하기 편하게 링크를 걸어준것 뿐이다.
해당 파일들을 삭제하고 재시작 해봐도 정상적으로 작동하는 것을 볼 수 있다.

ps 로 네임서버 프로세스를 확인해보면.
/usr/sbin/named -u named -c /etc/named.caching-nameserver.conf -t /var/named/chroot
chroot 로 시작하고 chroot 의 /etc/named.caching-nameserver.conf  설정을 불러들이는 것을 볼 수 있다.


기존 우분투 설정을 그대로 쓰고 싶어
우분투의 설정을 그대로 가져가 쓴다고 할때.
우분투의 named.conf.local 설정을
/var/named/chroot/etc/ 에 복사한후
/etc/named.conf.local 로 심볼릭 링크를 한다.
ln -s /var/named/chroot/etc/named.conf.local /etc/named.conf.local
/var/named/chroot/etc/named.caching-nameserver.conf  ( /etc/named.conf )
의 마지막 줄에. named.conf.local  설정을 불러오도록 다음 줄을 추가한다.
include "/etc/named.conf.local";

그리고 기존의 zone 파일들은
/var/named/chroot/var/named 에 복사해 주면 된다.

그리고 재시작하고, nslookup , dig 등으로 확인한다.



외부에서 도메인 질의가 안된다면
로컬에서는 되는데, 외부에서는 안된다면 다음의 사항을 체크한다.

1. 방화벽
iptable 로 53 번 포트를 열러줘야 한다.
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT

2. 설정
설정파일의 기본이 localhost 를 기준으로 되어 있다.( named.caching-nameserver.conf )
    allow-query     { any; };

    match-clients      { any; };
    match-destinations { any; };
위처럼 localhost 를 any 로 바꿔준다.


nslookup 으로 질의확인
nslooup 으로 질의를 해서 네임서버 설정이 잘 되어 있는지 확인할 수 있다.
nslookup my.domain.com  localhost
처럼 질의를 했을때.
Non-authoritative answer:
Name:   my.domain.com
Address: 111.222.333.444
Non-authoritative  라는 메세지가 나오면 안된다.
해당 메세지가 없어야 일단 로컬설정이 제대로 된 것이다.


슬레이브 설정시 필요한 마스터 설정.
options 의 설정중에
allow-query 는  nslookup, dig 등을 이용한 일반 쿼리를 말한다.
슬레이브에서 마스터의 설정을 가져가려 하면
allow-transfer { slave-server_ip; };
의 설정을 해준다. (기본설정이 모두 허용인 듯 싶다. 필요한 서버만 허가를 하려면 필요하다)


ps. Centos 에서 bind-chroot 패키지를 설치하면 chroot 가 적용된다.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
2009년 잔인한 그대여.

이땅의 버팀목을 하나씩 쓰러트리고
이땅을 어떻게 하려고
이땅에 남아있는 자를 어찌 하려고

그가 한일을 기억하며
그가 하고자 한일을 이어가며
그가 원했던 일이 이루어지는 날까지

잔인한 그대가 있어도
쓰러지지 않으리.
반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
eclipse 를 쓰기 힘들어서,  kdevelop 으로 왔다.
kdevelop 이 c/c++ 개발툴이긴 한데, 다른 언어도 지원한다.
php 는 플러그인을 설치해서 사용한다. 패키지가 있으면 좋겠는데, 아쉽게도 컴파일해야 한다.

php 플러그인 빌드에 필요한 패키지
apt-get install kdebase-dev kdelibs5-dev kdebase-workspace-dev libqt4-dev build-essential subversion kdesdk-scripts
관련 소스를 받는다.(svn 이용)

kdevplatform 을 먼저 빌드한다.
svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdevplatform
cmake 로 makefile 을 생성한다.
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr .
빌드,설치
make & make install

kdevelop 을 빌드한다.
svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdevelop
cmake 로 makefile 을 생성한다.
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr .
빌드,설치
make & make install

php 플러그인을 빌드한다.
svn checkout svn://anonsvn.kde.org/home/kde/trunk/playground/devtools/kdevelop4-extra-plugins/php
마찬가지로 cmake 로 makefile 을 생성한다.
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr .
역시 마찬가지로 이제 빌드,설치
make & make install



참조, kdevplatform 을 건너띄다가.


ps. 그런데, kdevelop 은 프로젝트 import 가 생각대로 되지 않는다.ㅜㅜ
 다시 eclipse 로 가야겠다. 이런.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
자세한 방법은 다음을 참조한다.

큐브리드가 이미 설치되어 있는 상태를 가정한다.

1. 큐브리드 소스 다운 받기(svn)
svn checkout --username anonsvn https://dev.naver.com/svn/cubrid/trunk/contrib/php
2. 관련 패키지 설치
 apx2 가 필요하다. 해당 명령이 있는지 확인하고 없으면 관련 패키지를 설치한다.
apt-get install apache2-prefork-dev
그리고 phpize 도 필요하다. 역시 마찬가지로 없으면
apt-get install php5-dev

3. 빌드하기
src 디렉토리에서
phpize5
./configure
make
를 각각 실행하면  modules 에 cubrid.so 가 생성된다.

modules/cubrid.so 와 cubrid_err.msg 를
extension 디렉토리에 복사한다.( /usr/lib/php5/20060613/ - 등의 extension 디렉토리를 확인)

4. php.ini 설정하기
php.ini 에 cubrid.so 를 등록한다.
extension=cubrid.so
cubrid.err_path="/usr/lib/php5/20060613"

phpinfo 등으로 정상적으로 cubrid.so 가 올라왔는지 확인한다.



ps. centos 의 경우 httpd-devel , php-devel 패키지가 필요하다.
yum install httpd-devel  php-devel

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
Centos 를 쓰는데, 유난히 다운로드 속도가 떨어진다.
그래서 빠른 곳으로 바꾸고자 한다.

저장소 위치는 /etc/yum.repos.d/CentOS-Base.repo  파일을 바꾼다.

기본설정이 mirrorlist 로 되어 있다. baseurl 은 주석처리 되어 있다.
반대로 mirrolist 는 주석처리하고, baseurl 에 빠른 곳을 직접 지정하면 된다.

기본 설정은
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
으로 되어 있다.  난  ftp.daum.net 으로 지정했다.
baseurl=http://ftp.daum.net/centos/$releasever/os/$basearch/
이런식으로 바꿔줬다.


base , updates 등의 다른 탭들도 바꿔준다. (addons, extras, centosplus )
base , updates 정도만 바꿔줘도 될 듯하다. 나머지는 추가적인 패키지들.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,