httpd가 CGI 를 호출하는 순서(??)

하하의 이미지

안녕하세요~~ :D

구체적으로 어떻게 아파치가 cgi를 부르는지를 알고 싶습니다.

그래서 나름대로 아파치를 싱글모드 httpd -X 로 놓고 gdb를 돌려

하나 하나 보고 있습니다.

gdb 상에서 이런 에러가 뜨는데 이유를 알고 싶습니다.

아래는 아파치 main 함수를 한단계식 실행 하다 에러가 난 부분을 보여주고 있습니다.

582         ap_fixup_virtual_hosts(pconf, server_conf);
(gdb) 

583         ap_fini_vhost_config(pconf, server_conf);
(gdb) 

httpd: Could not determine the server's fully qualified domain name, using 223.1.1.64 for ServerName
584         apr_hook_sort_all();
(gdb) 
585         if (configtestonly) {
(gdb) 
590         signal_server = APR_RETRIEVE_OPTIONAL_FN(ap_signal_server);
(gdb) 
591         if (signal_server) {
(gdb) 
599         apr_pool_clear(plog);
(gdb) 
601         if ( ap_run_open_logs(pconf, plog, ptemp, server_conf) != OK) {
(gdb) 
(98)

Address already in use: make_sock: could not bind to address 0.0.0.0:8080
no listening sockets available, shutting down
602             ap_log_error(APLOG_MARK, APLOG_STARTUP |APLOG_ERR,

(gdb) 
Unable to open logs

604             destroy_and_exit_process(process, 1);
(gdb) bt
#0  main (argc=2, argv=0xbffffa44) at main.c:604
#1  0x402a7336 in __libc_start_main (main=0x80839ec <main>, argc=2, ubp_av=0xbffffa44, init=0x8062594 <_init>, 
    fini=0x809a910 <_fini>, rtld_fini=0x4000d2fc <_dl_fini>, stack_end=0xbffffa3c) at ../sysdeps/generic/libc-start.c:129
(gdb) 
choissi의 이미지

첫번째 오류

conf/httpd.conf
에 Servename 설정 부분의 지정이 잘못되어서 그렇습니다,

두번째 이미 8080포트에 바인드된 서버가 있나보군요..
그래서 리슨 설정을 하다가 죽는 겁니다.

ps1 참고 아파치 gdb한 예
http://www.ezdoum.com/stories.php?story=02/08/17/3254153

ps2. 참고 아파치 관련 여러 자료
http://www.ezdoum.com/stories.php?story=02/08/14/1029605
이거 중에

아파치 아키텍쳐
(아파치 돌아가는 내부 구조 및 모듈간의 상호작용)
http://www.grad.math.uwaterloo.ca/~oadragoi/CS746G/a1/apache_conceptual_arch.html
http://www.grad.math.uwaterloo.ca/~oadragoi/CS746G/a2/acc.html

요거가 특히 도움이 될듯 하군요..

좋은 결과 있으시길..

울랄라~ 호기심 천국~!!
http://www.ezdoum.com