Webalizer: Sites/Statistics는 index.html을 표시하지 않지만 디렉토리 목록은 표시합니다.

Webalizer: Sites/Statistics는 index.html을 표시하지 않지만 디렉토리 목록은 표시합니다.

저는 Linux를 사용하고 있으며 사용자에게 웹사이트에 대한 최신 통계를 제공하고 싶습니다. 예를 들어 user1은 내 Linux DNS 서버에 웹사이트를 가지고 있지만 user1.be인터넷 서핑을 할 때 user1.be/stats자신의 웹사이트 통계를 확인해야 합니다.

이제 설치 webalizer하고 실행했습니다.

webalizer -n hostname -o /path/to/webalizer/output /path/to/logfile.log

이것은 훌륭하게 작동하지만 사용자가 user1.be/stats를 탐색하면 디렉토리 목록( index.html, usage.png, daily_usage.png, ...) 이 표시됩니다.하지만index.html서핑을 하면서 직접 볼 수 있게 해주고 싶었어요 user1.be/stats.

또한 /etc/httpd/conf/httpd.conf다음 사항을 나열했습니다.

DirectoryIndex index.html index.html.var homepage.html index.php

알 수가 없는데 어떻게 이런 일이 일어나는지...

답변1

생각 #1 – 효과가 있나요?

파일을 변경한 후 httpd.confApache를 다시 시작하셨습니까 ?

$ sudo service httpd restart

아이디어 #2 - httpd.conf가 맞나요?

httpd.conf이 파일이 연결하려는 Apache에 적합한 것이 확실합니까 ? 이 문제를 진단하는 방법은 여러 가지가 있습니다. 저는 일반적 httpd으로 실행 파일을 검사하여 그것이 무엇을 찾고 있는지 확인하는 것부터 시작하는 것을 좋아합니다.

$ httpd -V
Server version: Apache/2.4.10 (Fedora)
Server built:   Jul 23 2014 10:29:44
Server's Module Magic Number: 20120211:36
Server loaded:  APR 1.5.1, APR-UTIL 1.5.3
Compiled using: APR 1.5.1, APR-UTIL 1.5.3
Architecture:   64-bit
Server MPM:     prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_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=256
 -D HTTPD_ROOT="/etc/httpd"
 -D SUEXEC_BIN="/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="/run/httpd/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

/etc/httpd/conf/httpd.conf여기에서 파일을 찾고 있는 것을 볼 수 있습니다 .

아이디어 #3 - 저널링

로그를 봅니다. 이는 여기에 표시됩니다(다시 위 출력에서 ​​이 정보를 찾을 수 있습니다).

$ tail -f /etc/httpd/logs/error_logs

access_log일반적으로 동일한 디렉터리에 다른 로그 파일이 있습니다 .

아이디어 #4 - httpd는 어디에 있나요?

이를 사용하여 다음과 같이 실제로 어떤 것을 사용하고 있는지 lsof확인할 수 있습니다 .httpd

$ sudo lsof -p $(pgrep -u root httpd) | grep /httpd$
httpd   22695 root  txt    REG            253,0   511936  1317241 /usr/sbin/httpd

그래서 위에서 우리는 /usr/sbin/httpd.

관련 정보