다음은 미친게시판 3.01 (무료소스) 설치방법입니다. - 현 서버에서 설치하는 방법의 예를 보이도록 하겠습니다. 즉 유닉스 또는 리룩스 서버에서 설치하는 과정입니다.

1. 소스를 다운 받습니다.
- 옆에 cgi 메뉴 보이죠? 거기 가면 crazywwwboard-3.01 소스가 있습니다. 그걸 받으세요.


2. 다운받은걸 계정에 올립니다.
ftp를 이용해서 올리는게 제일 편하겠죠? 어디다 올리시든지 상관없습니다. 어짜피 압축을 풀어서 인스톨 하니깐 상관없습니다. 여기서는 자신의 계정의 cgi-bin 디렉토리 아래 올렸다고 가정합니다.

3. telnet 접속을 해야겠죠?

4. 접속을 했드면 아까 화일 올린대로 이동합니다.
#cd cgi-bin

5. 화일이 있나 검사합니다.

#ls
CrazyWWWBoard-3_0_1_tar.Z

6. 압축되어 있으므로 압축을 풉니다.
명령어는 다음과 같음
#gzip -d CrazyWWWBoard-3_0_1_tar.Z

7. 어떻게 되었나 확인해봅시다.
#ls
CrazyWWWBoard-3_0_1_tar

8. tar를 풀기 위해 화일명을 바꿉니다.
#mv CrazyWWWBoard-3_0_1_tar CBW3.tar

9. 확인하면
#ls
CWB3.tar

10. tar를 해제합시다.
#tar -xvf CWB3.tar

화일이 좌르르 풀립니다.

11. 확인해봅시다
#ls
wwwboard-3.0.1/

12. 디렉토리이름을 간단하게 변경합시다 - 너무 길잖습니까?
#mv wwwboard-3.0.1 bulletin

13. 확인
#ls
bulletin

14. 디렉토리 안으로 들어갑시다.
#cd bulletin

15. 현재경로명은 다음과 같죠?
/자신의 계정경로명/cgi-bin/bulletin

16. 무슨파일이 있는지 확인해봅시다.

#ls -al
total 27
drwxr-xr-x  10 15       60           1024 Jan  8  1998 ./
drwx--x--x   9 root     root         1024 Dec  8 15:24 ../
-rw-r--r--   1 15       60          12443 Jan  8  1998 CrazyWWWBoard.conf
-rwxr-xr-x   1 15       60            615 Nov 19  1997 Install-sh*
lrwxrwxrwx   1 root     root           19 Dec  8 15:20 README.english -> message
/help-en.txt
lrwxrwxrwx   1 root     root           19 Dec  8 15:20 README.japanese -> messag
e/help-jp.txt
lrwxrwxrwx   1 root     root           19 Dec  8 15:20 README.korean -> message/
help-kr.txt
drwxr-xr-x   2 15       60           1024 Nov 19  1997 conf/
drwxr-xr-x   2 15       60           1024 Nov 19  1997 data/
drwxr-xr-x   2 15       60           2048 Nov 19  1997 gdbm-1.7.3/
drwxr-xr-x   3 15       60           1024 Nov 19  1997 icon/
drwxr-xr-x   2 15       60           1024 Nov 19  1997 logs/
drwxr-xr-x   2 15       60           1024 Nov 19  1997 message/
drwxr-xr-x   2 15       60           1024 Nov 19  1997 qDecoder-4.0.1/
-rwxr-xr-x   1 15       60            465 Nov 19  1997 removeDB*
drwxr-xr-x   2 15       60           1024 Nov 19  1997 src/   

17. 이제 인스톨을 시작합시다.
#./Install-sh

자 이제 인스톨되는 것을 봅시다. 잠깐 화장실에 댕겨오시든지 구경하시든지 하세요 - 전 주로 이럴때 담배를 핀답니다.^^

18. 열라 먼가를 진행합니다.
- 하지만 결과는 에러투성이입니다.

19. 진행과정을 잠시 살펴봅시다.

#./Install-sh
어쩌구 저쩌구...
딩까딩까?......
세세세..........
얌얌얌..........
...
(중간생략)
...
gcc -Wall         -c -o cwb_delete.o cwb_delete.c
gcc -Wall         -o CrazyWWWBoard.cgi  cwb.o cwb_db.o cwb_admin.o cwb_list.o cw
b_read.o cwb_write.o cwb_delete.o qDecoder.a libgdbm.a
cwb_admin.o: In function `check_password':
cwb_admin.o(.text+0x6f): undefined reference to `crypt'
cwb_admin.o(.text+0x1c7): undefined reference to `crypt'
cwb_admin.o: In function `admin_form':
cwb_admin.o(.text+0x53d): undefined reference to `crypt'
cwb_admin.o: In function `cwb_adminsave':
cwb_admin.o(.text+0x1ca3): undefined reference to `crypt'
cwb_write.o: In function `write_form':
cwb_write.o(.text+0x526): undefined reference to `crypt'
cwb_write.o(.text+0xf0f): more undefined references to `crypt' follow
make: *** [CrazyWWWBoard.cgi] Error 1

---- Step 4. Compiling createDB
gcc -Wall         -c -o createDB.o createDB.c
gcc -Wall         -o createDB createDB.o cwb_db.o qDecoder.a libgdbm.a

---- Step 5. Installation...
cp: CrazyWWWBoard.cgi: 그런 파일이나 디렉토리가 없음

---- Installation Complete...


19. 스텝4위를 보면 crypt 어쩌구 저쩌구 합니다.
이부분의 에러를 잡아봅시다.


20. ls 하면 src이란 디렉토리가 나옵니다. 그 안으로 들어갑시다.
#cd src


21. ls 하면 Makefile 이란 파일이 있습니다.
- 자 이제 여기를 수정합시다. 우선 vi 명령어를 이용해서 다음과 같이 입력하면 에디팅 할 수 있습니다.(다 안다구요? 알면 말구)

#vi Makefile
########################################
##
## CrazyWWWBoard.cgi Makefile
##
## Designed by Seung-young, Kim
##
## [Hongik Shinan Network Security]
##
########################################

##
## Define
##
PRGNAME = CrazyWWWBoard
CGINAME = $(PRGNAME).cgi

CC      = gcc -Wall        # For GNU C Compiler(gcc)
#CC      = cc               # For the other C Compiler

LIB     = qDecoder.a libgdbm.a

OBJ     = $(OBJ1) $(OBJ2)
OBJ1    = cwb.o cwb_db.o cwb_admin.o    
OBJ     = $(OBJ1) $(OBJ2)
OBJ1    = cwb.o cwb_db.o cwb_admin.o
OBJ2    = cwb_list.o cwb_read.o cwb_write.o cwb_delete.o

##
## Main
##
all:    $(CGINAME) createDB

reall:  clean all

##


## CrazyWWWBoard.cgi
##
$(CGINAME): $(OBJ)
       $(CC) -o $(CGINAME) $(OBJ) $(LIB)


##
## createDB
##
createDB: createDB.o cwb_db.o
       $(CC) -o createDB createDB.o cwb_db.o $(LIB)   
$(CC) -o createDB createDB.o cwb_db.o $(LIB)

## Compile Module
%.o:    %.c
       $(CC) -c -o $@ $<

## Clear Module
clean:
       rm -f $(OBJ) $(CGINAME) createDB.o createDB   

22. 위의 내용중 파란색을 다음과 같이 수정합니다.


(수정이전)
$(CGINAME):&(OBJ)
$(CC) -o &(CGINAME) &(OBJ)

(수정이후)
$(CGINAME):&(OBJ)
$(CC) -lcrypt -o &(CGINAME) &(OBJ) -lcrypt


23. 자 이제 수정을 하였다면 저장하고 나와서 다음의 명령을 수행합니다.

#make

이걸 하고 ls 하면 CrazyWWWBoard.cgi 이 생겼음을 알 수 있습니다.

24. 이걸 한디렉토리 위로 카피합니다.

#cp CrazyWWWBoard.cgi ../

25. 자 이제 부라우저의 주소장에 다음의 주소를 입력합니다.

http://자신의 홈페이지/cgi-bin/bulletin/CrazyWWWBoard.cgi?db=test

26. 아마 다음과 같은 에러가 발생할 것입니다.
아니면 생략하세요 만약 다음과 같이 에러멧세지가 나온다면 이렇게 하세요


[에러멧세지] Error !!!
Access logging(logs/access.log) fail.

bulletin 디렉토리 아래 logs 디렉토리로 이동합니다.

현재여기는 logs 디렉토리입니다.

#touch access.log
#chmod 666 access.log

27. 다시한번 브라우저로 확인합니다.

28. 아마도 이런 멧세지가 나올겁니다. (안나오면 생략하시오)
Error !!!
DataBase Access Error : File open error

29. bulletin 디렉토리에 보면 createDB 라 파일이 있습니다.
이것을 이용해서 DB를 만듭니다. 방법은 다음과 같습니다.


#createDB test
DB(data/test.gdbm) created.

이걸 실행하면 data 디렉토리에 test.gdbm 이란 파일이 생깁니다. 이 파일의 퍼미션을 666으로 바꿉니다.

#cd data
#chmod 666 test.gdbm

30. 자 이제 다시 브라우저로 봅시다. 멧세지가 나올겁니다.
Error !!!
Welcome to the CrazyWorld.
This is your first contact, so you must set some configurations.
Click Admin.

31. admin으로 들어가세요
- 들어가면 여러가지가 나오는데 그중에서 일단 비밀번호와 관리자 이름, 이메일만 기입하고 나옵니다. 나오면 일단 게시판이 브라우저에 정상적으로 보일겁니다.

32. 너무 힘들다..쩝.. 이제 정상적으로 되는지 글을 한번 써봅시다. 아무글이나 글쓰기 버튼을 누르고 써보세요 - 제대로 글이 써지면 완벽하게 설치가 된것입니다.

33. 그런데 마지막을 에러가 나는 분도 있을겁니다.
Error !!!
Value string is null on key 1.Domain. Null pointer can not be stored.

34. 이건 먼가? 제기랄 정말 복잡하다.......(좀만 참으세요 여기까지 왔는데 포기하시면 너무 아깝잖아요 ^^)

35. 이런 멧세지가 나오는 분은 서버의 환경파일 httpd.conf 에 HostLookup 이란 부분이
OFF로 되어 있는 겁니다
.
- 이건 또 뭐야 하시는 분 걱정마세요 이건 몰라도 됩니다. 아무튼 그렇게 설정되어 있어서 이런 멧세지가 나오는 겁니다. 만약 당신이 서버관리자라면 간단하게 httpd.conf 파일에서 HostLookup OFF를 ON으로 수정만하고 서버를 리로드 시키면 됩니다.

36, 난 서버관리자가 아닌데?
- 하시는 분은 다음과 같이 합니다.

37. src 디렉토리로 이동합니다.

#cd src

38. vi 명령어로 cwb_write.c 파일의 내용중에 을 다음과 같이 에디팅합니다.

(수정전)
article.IP     = env.remote_addr; (317 번째줄)
article.Domain = env.remote_Host; (318 번째줄)   

(수정후)
article.IP     = env.remote_addr; (317 번째줄)
article.Domain = env.remote_addr; (318 번째줄)   

39. 수정이 끝났으면 저장하고 나와서 src 디렉토리밑에서 make를 실행합니다.

#make

CrazyWWWBoard.cgi 가 다시 생성됩니다. 이건 한 디렉토리 위로 카피합니다.

#cd CrazyWWWBoard.cgi ../

덥어씌울까요? 물어보면 y를 입력한다.

40. 이제 다시 브라우저로

http://자기홈페이지/cgi-bini/bulletin/CrazyWWWBoard.cgi?db=test

를 보면 게시판이 보이고 글쓰기를 하면 정상적으로 동작이 될것이다. - 휴..이제 겨우 끝났군요.

41. 위의 진행과정이 잘 안되면 자신이 입력한 명령이나 소스수정이 정확한지 재차확인하고
문의하시기 바랍니다.

- 그대로 따라하면 99%로 설치됩니다.

42. 글 읽느라고 수고 많았습니다.