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

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.