トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

Apache

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

sudoコマンド

 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 ファイルタイプに対する拡張子の指定