Apache
Webサーバとして世界中で最も多く利用されているサーバソフトウェアで、UNIX、Windows、Mac OS Xなど様々なのOS上で動作する。
- Linuxではインストール時のパッケージ選択でインストールできる。
- Mac OS Xでは最初からインストールされている。
参考URL
yumでインストール
CentOSやFedoraではyumを使ってネットワークからパッケージを取得し、インストールできる。
# yum install httpd # yum update httpd
ソースコードからのビルドする場合
最新バージョンを利用したい場合にはThe Apache HTTP Server Projectからソースコードのファイルをダウンロードし、次の操作でインストールする。ここではインストール先のディレクトリは標準(/usr/local/apache2)のままとする。(X、Y、Zはバージョン番号)
$ tar jxfv httpd-X.Y.Z.tar.bz2 $ cd httpd-X.Y.Z $ ./configure $ make $ sudo make install
httpd
Apacheのサーバプログラムのファイル名はhttpd。httpdはプロトコル名、dはdaemonの頭文字。
Windows版では名前が異なり、apache.exeである。
Apacheの起動
Apacheを手動で制御するにはapachectlコマンドを使う。パッケージとしてインストールできる場合はコマンド名だけを、ソースからインストールしたのでこのコマンドは/usr/local/apache/binにある。パスが長いのでエイリアスにしておくと便利。
sudoコマンドが使えない場合
管理者権限に移行し、実行する。
$ su - # apachectl -k start <- パッケージでインストールされている場合 # /usr/local/apache2/bin/apachectl -k start <- ソースからインストールした場合
sudoコマンドが使える場合
$ sudo apachectl -k start $ sudo /usr/local/apache2/bin/apachectl -k start
Apacheの起動確認
httpdが起動しているかはpsコマンドを使い確認できる。
$ ps ax | grep httpd
あるいはpidファイルの有無でも確認できる。
Apacheのディレクトリ構成
- Windows
- 標準インストールするとC:\Program Files\Apache Group\Apache2にインストールされる。
- UNIX
- ソースからインストールすると/usr/local/apache2にインストールされる。
- Fedora
- /var/www、/etc/httpd、/usr/sbin
- Mac OS X
- /etc/apache2、/Library/WebServer?/Documents、/usr/sbin
UNIXシステムでPREFIXを指定せずにインストールしたときのディレクトリ構造
フォルダ名 | 役割など |
---|---|
bin | サーバのプログラムなどがある(ソースからのインストール場合) |
conf | サーバの設定ファイルがある |
error | エラー発生時に表示する文書がある |
htdocs | サーバトップレベルの文書を置くフォルダ |
icons | サーバで利用するアイコン用画像ファイルがある |
logs | サーバへのアクセス履歴やエラーの履歴が保存さている。アクセスログはaccess.logに、エラーログはerror.logに記録される |
manual | オンラインマニュアルがある |
Fedora、RedHat?の標準インストールでのディレクトリ構造
- /var/www
- cgi-bin,error,html,icons,manual,usage
- /etc/httpd
- conf,conf.d,logs,modules,run
設定用の代表的なディレクティブ
httpd.confの代表的なディレクティブを表に示す。
設定項目名 | 意味 |
---|---|
ServerType | httpd の実行方法 |
ServerRoot? | 設定、エラー、ログファイルの設置ディレクトリ |
ServerName | サーバの名前 |
ServerAdmin | サーバ管理者の Email アドレス |
DocumentRoot | httpd のトップレベルのファイルの設置場所 |
PidFile? | プロセス ID ファイルの設置場所 |
ScoreBoardFile? | スコアボードファイルの設置場所 |
Errorlog | エラーログの設置場所 |
LogLevel? | ログを記録するレベル設定 |
User と Group | httpd プロセスのオーナとグループ |
UserDir | ユーザのホームページファイルのホームディレクトリ内での設置デレクトリ名。デフォルトはpublic_html |
DirectoryIndex | インデックスファイルの名前。デフォルトはindex.html |
AccessFileName? | ディレクトリごとのアクセス制御設定ファイルの指定。デフォルトは.htaccess |
<Directory> | ディレクトリごとの動作指定。 |
AddDefaultCharset? | デフォルトの文字コード指定。デフォルトはISO-8859-1。日本語を使うにはShift_JISにする。 |
Alias | ディレクトリのエイリアスを設定する |
AddHandler | ファイルタイプに対する拡張子の指定 |