2006. 8. 1. 14:04

Mod_php4 설치후 PHP4-pear설치시 CLI-CGI관련에러발생시

===> Verifying install for pear in /usr/ports/devel/php4-pear
This port requires the CLI or the CGI version of PHP, but you have
already installed a conflicting PHP port without them.
*** Error code 1

Stop in /usr/ports/devel/php4-pear.
*** Error code 1

Stop in /usr/ports/archivers/pear-Archive_Tar.
*** Error code 1

Stop in /usr/ports/devel/pear-PEAR.
*** Error code 1

Stop in /usr/ports/devel/pear-Date.
*** Error code 1

Stop in /usr/ports/www/horde2.



Are there any suggestions on how to update php, for horde to work, withough affecting what I have already done?

Jon on September 14, 2004 at 1:59:05 pm MST
Horde requires the PHP command line interface to work with pear. mod_php4 is only the web module so pear will not work with it. What you will want to do is:

cd /usr/ports/www/mod_php4
make deinstall clean
cd /usr/ports/lang/php4
make install clean

That will remove the web module and install PHP with the CLI and the web module. All of your php extensions and configuration files should still be intact.

I will edit the guide to make a note of this issue.
2006. 8. 1. 14:02

DNS서버를 돌려보자

#DNS 서버를 구현하기 위한, daemontools + ucspi-tcp + djbdns 설치 및 세팅하기.


목차
1 daemontools - ucspi-tcp - djbdns 다운받기
2 Daemontools 설 치
2.1 압축풀기
2.2 컴파일 및 셋업
3 ucspi-tcp 설치 및 세팅
3.1 컴파일 및 셋업
4 djbdns 설치 및 세팅
4.1 컴파일 및 셋업
5 DNS server 세팅하기
5.1 dns 실행할 유저 생성 및 /var/service/dns 생성
5.2 서비스 디렉토리 생성
5.3 서비스 시작
5.4 설정하기


1 daemontools - ucspi-tcp - djbdns 다운받기 #

각각의 파일들을 다운 받는다.
여기서, daemontools 는 /package 폴더를 생성후 그곳에 다운 받는다.
나머지 파일들은 /tmp 나 기타 위치에 다운 받는다.

# mkdir -p /package# chmod 1755 /package# cd /package# wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz# cd /tmp# wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz# wget http://cr.yp.to/djbdns/djbdns-1.05.tar.gz



2 Daemontools 설 치 #

2.1 압축풀기 #


 # cd /package # gunzip daemontools-0.76.tar.gz # tar -xpf daemontools-0.76.tar # rm daemontools-0.76.tar # cd admin/daemontools-0.76 

2.2 컴파일 및 셋업 #


 # package/install 
설치가 끝났다.
BSD 시스템은 리부팅을 하게 되면, svscan이 시작된다.
daemontools 설치완료.

3 ucspi-tcp 설치 및 세팅 #


# cd /tmp# gunzip ucspi-tcp-0.88.tar.gz# tar -xf ucspi-tcp-0.88.tar# cd ucspi-tcp-0.88

3.1 컴파일 및 셋업 #


 # make 
ucspi-tcp 프로그램을 /usr/local 하위에 설치.

 # make setup check 
ucspi-tcp 설치 및 세팅완료.

4 djbdns 설치 및 세팅 #


# cd /tmp# gunzip djbdns-1.05.tar.gz# tar -xf djbdns-1.05.tar# cd djbdns-1.05

4.1 컴파일 및 셋업 #


 # make # make setup check 
djbdns 설치 및 세팅완료.

5 DNS server 세팅하기 #

5.1 dns 실행할 유저 생성 및 /var/service/dns 생성 #


 # pw groupadd -n djbdns # pw useradd -n dnslog -g djbdns -d /noexistent -s /sbin/nologin -c "dnslog" -w random # pw useradd -n dns -g djbdns -d /noexistent -s /sbin/nologin -c "dns" -w random 
리눅스에서는 /service 아래에 dns를 만들어주지만, FreeBSD는 메인테니의 권유대로, /var/service/에 만들겠습니다.
/var/service를 만들어 그곳에 dns를 생성시킨후, /service 와 /var/service/dns 를 ln -s 할 것입니다.

 # mkdir /var/service 

5.2 서비스 디렉토리 생성 #


 # tinydns-conf dns dnslog /var/service/dns 123.45.67.890 # cd /var/service/dns/ => 하위에 root 라는 디렉토리가 보이고, root 디렉토리 안으로 들어가면 add-childns , add-mx, add-alias, add-host, add-ns 가 보일것입니다. 
=> tinydns-conf 명령어가 실행되지 않는다면 쉘에서 exit로 빠져나간후, 다시 쉘에 접속한다.
123.45.67.890 은 당신의 머쉰에 세팅된 아이피 주소이다.

5.3 서비스 시작 #

svscan 으로 하여금, 새로 만든 /var/service/dns 를 시작하도록, /service에 링크를 걸어준다.

 # ln -s /var/service/dns /service 
tinydns 데몬이 시작 될 것이다. (확인은 # ps ax )

5.4 설정하기 #

FreeBSD 머쉰의 도메인이 freebsd.org 이라 하고, 아이피 주소가 123.45.67.890이면 다음과 같이 설정해준다.

 # cd /var/service/dns/root/ # ./add-ns freebsd.org 123.45.67.890 # ./add-ns 67.45.123.in-addr.arpa 123.45.67.890 # ./add-host www.freebsd.org 123.45.67.890             <== 웹 # ./add-alias ns.freebsd.org 123.45.67.890             <== 네임서버 # ./add-alias freebsd.org 123.45.67.890                <== 웹 # ./add-mx freebsd.org 123.45.67.890                   <== 메일 
기타 추가시키고 싶은 서브도메인이 있다면 ./add-alias 로 추가 시켜주고, 끝나면

 # make 
해준다..
만약, mx 레코드가 여러개라면.
# vi data 하여,
@freebsd.org:123.45.67.890:a::86400
@mail.freebsd.org:123.45.67.890:a::86400
@mail2.freebsd.org:123.45.67.890:a::86400
@mail3.freebsd.org:123.45.67.890:a::86400
이런 형태로 , data 파일을 수정해주면 된다.

지금까지의 설정이 제대로 된 것인지 확인하기 위해서, 아래 명령을 실행한다.

# tinydns-get a freebsd.org1 freebsd.org77 bytes, 1+1+1+1 records, response, authoritative, noerrorquery: 1 freebsd.organswer: freebsd.org 86400 A 123.45.67.890authority: freebsd.org 259200 NS a.ns.freebsd.orgadditional: a.ns.freebsd.org 259200 A 123.45.67.890
위와 같이, 결과가 나오면 제대로 세팅된 것이다..
위에서, bytes 앞의 숫자는 시스템 상황에 따라 다를 수 있다..
다 끝났다. 이제 리부팅 한번 해주면 절대로 죽지 않는 dns가 작동되게 될 것이다.

기본 세팅 이외에 추가할 도메인이 있다면,

# ./add-ns test.com 123.45.67.890# ./add-alias test.com 123.45.67.890# ./add-alias www.test.com 123.45.67.890# ./add-mx test.com 123.45.67.890
위와 같이 추가해주고 make 명령을 내리면 적용이 된다.

# make
현재 나의 data 내용이다...
도메인을 여러개 사용중이고 각각 가상메일을 사용중이다.
즉, domain.com을 도메인 등록업체에 등록하였고, 이 도메인을 가지고
네임서버 호스트 등록을 ns.domain.com 으로 한상태이다.
domain1.com, domain2.com .... 여러개 추가되엇을 때의 상황이다.
xxx.xx.xxx.xxx 는 서버 아이피 이다.

vi /var/service/dns/root/data

.domain.com:xxx.xx.xxx.xxx:a:259200
.144.77.220.in-addr.arpa:xxx.xx.xxx.xxx:a:259200
=www.domain.com:xxx.xx.xxx.xxx:86400
+ns.domain.com:xxx.xx.xxx.xxx:86400
+domain.com:xxx.xx.xxx.xxx:86400
+ftp.domain.com:xxx.xx.xxx.xxx:86400
+qmail.domain.com:xxx.xx.xxx.xxx:86400
+mrtg.domain.com:xxx.xx.xxx.xxx:86400
+jungkiri.domain.com:xxx.xx.xxx.xxx:86400
@domain.com:xxx.xx.xxx.xxx:a::86400
.domain1.com:xxx.xx.xxx.xxx:a:259200
+www.domain1.com:xxx.xx.xxx.xxx:86400
+domain1.comr:xxx.xx.xxx.xxx:86400
+mail.domain1.com:xxx.xx.xxx.xxx:86400
@domain1.com:xxx.xx.xxx.xxx:a:86400
.domain2.com:xxx.xx.xxx.xxx:a:259200
+domain2.com:xxx.xx.xxx.xxx:86400
+www.domain2.com:xxx.xx.xxx.xxx:86400
@domain2.com:xxx.xx.xxx.xxx:a::86400

위의 진하게 보이는 부분이 추가되는 도메인에 대한 한 묶음이다.. 유심히, 살펴보면 유형을 알 수 있을것이다.



DNS 동작 확인1. /var/service/dns/root/data에 이상이 없는지 확인2. tinydns-get을 이용하여 data.cdb의 이상이 없는지 확인tinydns-get a 도메인이름3. 현재 컴퓨터의 IP 확인cat /var/service/dns/env/IPnetstat -n -i4. tinydns가 동작중인지 확인svstat /var/service/dns5. tinydns에 DNS 쿼리를dnsq a 도메인이름 IP주소6. DNS cache에 쿼리dnsq a 도메인이름※컴퓨터의 설정이 올바르다면 5번까지는 바로 동작할 것이다. 6번은 상위 name server에까지 설정이 완전히 미쳐야 올바로 동작한다.
2006. 8. 1. 14:01

FreeBSD에서 한글쓰기와 보기

한글설정이 잘 안되시는 분들 보시고 참고 하세요...

다른분들께서 잘 알고 계신건지 모르겠지만, FreeBSD에서 한글설정을 자꾸 실패하시는분들 참고하셨으면 좋겠습니다.

원격 콘솔로 putty 사용하고 있고요 변환부분을 유니코드가 아닌 cp949 상태에서 사용하고있습니다.

기본쉘은 C쉘입니다.

setenv LANG ko_KR.eucKR
setenv LC_MESSAGES ko_KR.eucKR

이 두줄만 추가해주시면 무리없이 한글을 보시거나 사용하실수 있을겁니다.

제가 봐도 꼼수같긴하네요.. 단 root 권한시에 가능하네요...
2006. 8. 1. 14:01

하드를 추가로 설치하기

Free> shutdown now

Free> fsck -p

Free> mount -u -o rw /

Free> mount -a -t nonfs

Free> swapon -a

Free> /stand/sysinstall

그리고나서 메뉴중에 Configure > Fdisk 가셔서 A옵션을 누르시고 Q를 누르시고 나오세요.
그리고 나서 리부팅한번 해줍니다.
그리고 나서 /stand/sysinstall의 Label 매뉴가 나오는데 여기서 님이 원하시는 포인트(마운트 시킬 디렉토리명)로 하드드라이브를 마운트시키시고 Q를 누르시고 나오세요.그리고 다음과 같이 명령을 주시면 하드드랑브가 추가됩니다.

Free> mount -a -t ufs

! 참고로 FreeBSD강좌중에 파티션과 슬라이스에 대해 만들어놓은 강좌를 참고하세요
# See the fstab(5) manual page for important information on automatic mounts
# of network filesystems before modifying this file.
#
# Device Mountpoint ?FStype Options Dump Pass#
/dev/ad0s1b none swap sw 0 0
/dev/ad0s1a / ufs rw 1 1
/dev/ad0s1e /tmp ufs rw 2 2
/dev/ad0s1g /usr ufs rw 2 2
/dev/ad0s1f /var ufs rw 2 2
/dev/acd0c /cdrom cd9660 ro,noauto 0 0
proc /proc procfs rw 0 0
/dev/ad1s1e /usr/home/Space/Woosu ufs rw 2 2



www# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1a 128990 39226 79446 33% /
/dev/ad0s1e 257998 37348 200012 16% /tmp
/dev/ad0s1g 10863726 1438762 8555866 14% /usr
/dev/ad0s1f 1007950 113304 814010 12% /var
procfs 4 4 0 100% /proc
/dev/ad1s1e 6199430 2 5703474 0% /usr/home/Space/Woosu
www# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 126M 38M 78M 33% /
/dev/ad0s1e 252M 36M 195M 16% /tmp
/dev/ad0s1g 10G 1.4G 8.2G 14% /usr
/dev/ad0s1f 984M 111M 795M 12% /var
procfs 4.0K 4.0K 0B 100% /proc
/dev/ad1s1e 5.9G 2.0K 5.4G 0% /usr/home/Space/Woosu
2006. 8. 1. 14:00

Xwindow 설치후 Startx시 에러

# ?XFree86 -configure

# cp ?XF86Config.new /usr/?X11R6/lib/X11?/XF86Config

이렇게 해주었습니다. 그리고 바로 startx 해보았는데

에러 메시지 내용은 /etc/X11?/XF86Config 파일의 Screen 섹션이 잘못되있다는내용이더군요

그래서 /usr/?X11R6/lib/X11?/XF86Config 안의 Screen섹션을
/etc/X11?/XF86Config 파일내용 끝에 추가해주었더니 이번엔

device 중에 keyboard가 에러나더라구요 마우스랑 그래서 아예

/usr/?X11R6/lib/X11?/XF86Config 파일을 /etc/X11?/XF86Config 로 복사해버렸죠 그랬더니 x-window가 성공