読者です 読者をやめる 読者になる 読者になる

感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

CentOSにApacheをインストールするところから、Apacheのログフォーマットまで。

Apache
<スポンサーリンク>

CentOSApacheをインストールする

Red Hat/CnetOS/FedoraApacheをオンラインインストールするには、yum install httpdと打つ。

# yum install httpd
Dependency Updated:
  httpd-devel.x86_64 0:2.2.15-29.el6.centos
  httpd-tools.x86_64 0:2.2.15-29.el6.centos

Complete!

Apacheのログのフォーマットを独自に定義するには「LogFormat」ディレクティブを使う。
yumでインストールした場合のインストールパスは、以下の通り。
/etc/httpd/conf・・・httpd.condなどの設定ファイル
/usr/lib/httpd/build・・・拡張モジュール作成時に使用する
/usr/lib/httpd/modules・・・拡張モジュールの置き場所
/usr/sbin・・・apachectl,httpdなどの実行ファイル
/var/log/httpd・・・logファイル

Apacheの設定ファイルの文法をチェックする方法

Apacheの設定は「httpd.conf」で行う。
こちらの設定ファイルの記述に誤りがないかチェックするコマンドは以下のとおり。

# /usr/sbin/httpd -t

Apacheを起動/停止させる方法

# /usr/sbin/apachectl start  起動
# /usr/sbin/apachectl stop  停止
# /usr/sbin/apachectl restart 再起動
# /usr/sbin/apachectl -k graceful
# /usr/sbin/apachectl -k graceful-stop

apachectl -k gracefulというのは、処理中のリクエストを考慮した再起動のコマンド
apachectl -k graceful-stopというのは、処理中のリクエストを考慮した終了のコマンド。

Apacheの自動起動の設定を行う

[root@localhost httpd]# chkconfig --level 35 httpd on
[root@localhost httpd]# chkconfig --list httpd
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

.htaccessとは

.htaccessはディレクトリ単位でApacheの動作を制御するのに使う。
ディレクトリをアクセス不能にしたり、パスワードを設定して閲覧可能なユーザを限定することができる。
.htaccesに書かれた設定内容は、ファイルに置かれたディレクトリと、その配下のサブディレクトリに適用される。

Apacheに組み込まれている拡張モジュールの一覧を表示する

以下のコマンドで拡張モジュールの一覧を表示することができる。

# httpd -M

Debian/Ubuntuの場合は、

# sudo apache2 -M

と打つ。

Apacheに組み込まれている静的モジュールだけ確認するには、httpd -lコマンドを使う。

[root@localhost httpd]# httpd -l
Compiled in modules:
  core.c
  prefork.c
  http_core.c
  mod_so.c

Apacheのログのフォーマットを指定する

/etc/httpd/conf/httpd.confに以下のように記述する。

LogFormat "%h %l %u %t" sample
CustomLog logs/access_log sample

すると、以下のようなaccess_logが吐き出されるようになる

192.168.17.1 - - [20/Aug/2013:06:01:33 -0700]
192.168.17.1 - - [20/Aug/2013:06:01:33 -0700]

Apacheのログのフォーマット文字の一覧

フォーマット文字 意味
%a アクセス元のIPアドレス
%A ApacheサーバのIPアドレス
%B レスポンスのバイト数
%f リクエストされたファイル名
%h リモートホスト
%H リクエストのプロトコル名
%m リクエストのHTTPメソッド名
%u 認証ユーザ名
%U リクエストのURLパス
%v リクエストを処理したバーチャルホスト名
%q リクエストに含まれるクエリー文字列
%r リクエストの最初の行
%s レスポンスステータス(内部でリダイレクトされた場合は、最初のリクエストステータス)
%>s 最後のレスポンスステータス

読んだ本

感謝のプログラミング

今回で感謝のプログラミングは【604時間目】
10000時間まで、あと【9396時間】