FreeBSD (Apache)에서 확장 모듈 설정 및 "로그"획득
Apache에는 초기 상태에서 많은 모듈이 설치되어 있습니다.
등등・・・
현재 상태 확인
먼저 현재 상태에서 얼마나 많은 모듈이 이미 내장되어 있는지 확인해 봅시다.
httpd 명령에 "-M"옵션을 사용하면 내장된 모듈을 나열할 수 있습니다. 모듈 이름 옆에 있는 (static/shared)는 모듈 유형을 나타내며,
"static"은 정적 링크를 사용하며 Apache를 설치할 때 내장되어 있습니다. "shared"는 동적 링크를 사용하며 필요에 따라 통합할 수 있는 모듈입니다.
임베디드 모듈 확인
$ su ←まずはスーパーユーザになって下さい
# httpd -M
Loaded Modules:
core_module (static)
so_module (static)
http_module (static)
...
logio_module (shared)
socache_shmcb_module (shared)
정적인 것은 분리·내장시에 Apache를 재설치할 필요가 있습니다.
반면에 동적 파일은 구성 파일에서 쉽게 활성화/비활성화할 수 있습니다.
mod_status 사용
이제 모듈을 추가해 보겠습니다.
mod_status 설치
まずhttpd.confを編集します
# vim /usr/local/etc/apache24/httpd.conf
↓httpd.conf↓
#Server configuration
ServerRoot "/usr/local"
Listen 80
#LoadModule mpm_event_module libexec/apache24/mod_mpm_event.so
LoadModule mpm_prefork_module libexec/apache24/mod_mpm_prefork.so
...ずっと続きます。変更点は以下です。
(「#」はコメントアウト)
LoadModule status_module libexec/apache24/mod_status.so
コメントアウトを外す
status_moduleとういモジュールをロードしてくれます
ExtendedStatus On
追加情報を表示
<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from 192.168.56.1 ←192.168.56.1からのみ見られるように設定
</Location>
これらは追記して下さい
구성이 완료되면 apachectl을 사용하여 Apache를 다시 시작하고 액세스 권한이 부여 된 클라이언트에서 "http://서버 이름/server-status"에 연결합니다.
아래와 같은 페이지가 표시되면 성공입니다.
또 URL에 「?auto」에 부가한 「http://호스트명/server-status?auto」를 지정하는 것으로 캐릭터 라인으로서 서버 스테이터스를 취득할 수 있습니다.
로그 설정
그럼 드디어 로그에 대해 갑니다. 「커스텀 로그」를 이용하는 것으로, URL 참조원이나 클라이언트 정보등을 로그 출력에 더할 수가 있습니다.
그럼 앞서와 같이 httpd.conf를 편집해 갑니다.
로그 설정
# vim /usr/local/etc/apache24/httpd.conf
↓httpd.conf↓
#Server configuration
ServerRoot "/usr/local"
Listen 80
#LoadModule mpm_event_module libexec/apache24/mod_mpm_event.so
LoadModule mpm_prefork_module libexec/apache24/mod_mpm_prefork.so
...ずっと続きます。変更点は以下です。
#以下の2行のコメントアウトを外して下さい
LoadModule log_config_module libexec/apache24/mod_log_config.so ←ログを拡張できる
LoadModule logio_module libexec/apache24/mod_logio.so
#エラーログの設定
ErrorLog "/var/log/httpd-error.log" ←エラーログの出力先の設定
LogLevel warn ←ログレベルの設定
#カスタムログの設定
<IfModule log_config_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined ←ログフォーマット「combined」の定義
LogFormat "%h %l %u %t \"%r\" %>s %b" common ← ログフォーマット「common」の定義
<IfModule logio_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio ←ログフォーマット「combinedio」の定義
</IfModule>
CustomLog "/var/log/httpd-access.log" common ←/var/log/httpd-access.logにcommonのフォーマットに従って記述する
</IfModule>
이제 액세스 로그를 살펴 보겠습니다.
뭐 밖과 연결되어 있지 않기 때문에 액세스는 자신뿐입니다. 웃음
이상으로 이번은 종료입니다.
Reference
이 문제에 관하여(FreeBSD (Apache)에서 확장 모듈 설정 및 "로그"획득), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kaz1shuu2/items/7d1f28fff6dc9ede48f6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)