몇 달 전 Mac OSX 10.6.8에 Apache를 설치했습니다. Apache는/usr/local/apache2에 자동으로 설치됩니다. 약간의 딸꾹질 후에 아파치가 성공적으로 포트 8080에서 청취하도록했고 아파치가/usr/local/apache2/cgi-bin에서 cgi 스크립트를 실행하도록 할 수있었습니다.Apache : 경로를 httpd.conf로 변경합니다.
나는 그 이후로 아파치를 사용하고, 나는 최근에 사용하여 아파치를 해고하지 않은 : 다음
/usr/local/apache2/bin$ sudo apachectl -k start
을 내 브라우저에 다음 URL을 입력 :
http://localhost:8080
아파치는 않을 것/usr/local/apache2/htdocs에있는 index.html 페이지 또는 다른 페이지를 제공하십시오. 그러나 URL을 사용한 경우 :
http://localhost
apache는 "작동합니다"라는 "index.html"페이지를 제공합니다. 나는 내 httpd.conf 파일이 /usr/local/apache2/conf/httpd.conf에있는 확인하고, 아파치가 포트 8080에서 수신하도록 설정 :
Listen 8080
다음으로,이 파일을 변경/로컬/USR/아파치/htdocs에/"안녕하세요 세계"를 표시하는 index.html을하지만, 아파치는 여전히 내가 URL을 사용할 때 "그것은 작동한다"고 말했다 페이지까지 제공 :
http://localhost
나는 다시 내 httpd.conf 파일을 확인을 이 줄 :
DocumentRoot "/usr/local/apache2/htdocs"
그래서 나는 결론 내 apache install은 /usr/local/apache2/conf/httpd.conf에있는 httpd.conf 파일을 사용하지 않았습니다. 나는 일부는 구글과 검색했고, 나는이 명령을 발견 : 출력 생산
/usr/local/apache2/bin$ apachectl -V
:
Server version: Apache/2.2.22 (Unix)
Server built: Jul 12 2012 15:09:37
Server's Module Magic Number: 20051115:30
Server loaded: APR 1.3.8, APR-Util 1.3.9
Compiled using: APR 1.3.8, APR-Util 1.3.9
Architecture: 64-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_FLOCK_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT="/usr"
-D SUEXEC_BIN="/usr/bin/suexec"
-D DEFAULT_PIDLOG="/private/var/run/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="/private/var/run/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="/private/etc/apache2/mime.types"
-D SERVER_CONFIG_FILE="/private/etc/apache2/httpd.conf"
은 httpd.conf에 내 아파치는 이제 개인 /에 있습니다 사용하고 설치합니다/등/apache2/httpd.conf에는 다음 줄이 포함되어 있습니다.
ServerRoot "/usr"
Listen 80
DocumentRoot "/Library/WebServer/Documents"
내 질문은 어떻게 이러한 변경 사항이 발생 했습니까? Apache 문서는 httpd.conf에 대한 경로가 컴파일 타임에 설정된다고 말합니다.
/usr/local/apache2/bin$ ls -al
total 2104
drwxr-xr-x 20 root admin 680 Feb 19 12:36 .
drwxr-xr-x 15 root admin 510 Feb 19 12:36 ..
-rwxr-xr-x 1 root admin 57200 Feb 19 12:36 ab
-rwxr-xr-x 1 7stud staff 3410 Feb 19 12:32 apachectl
가 그런 경우이다 아닙니다 : 나는/usr/지방/아파치/빈/apachectl을이 시스템 아파치에 연결 SYM 될 수있는 가능성이 있지만,이 출력을 고려했다.
명령 프롬프트에서'which apachectl'을 시도하십시오. –
~ $ which apachectl => /usr/sbin/apachectl. 그래서 경로 문제? – 7stud
그러면/usr/local/apache2/bin에 자신의 시스템이 아닌 apachectl 시스템을 실행하고 있습니다. –