RealPath:
WebPath:
2017/01/14 04:36 (JST) 更新
Apache >>

インストール・設定

Contents

yum によるインストール

# yum -y install httpd httpd-devel

 
※ httpd に加えてマニュアルや Perl などまとめてインストール

bash
# yum -y groupinstall 'Web Server'

Windows へのインストール

http://httpd.apache.org/
http://httpd.apache.org/download.cgi
apache_2.2.11-win32-x86-openssl-0.9.8i.msi を入手

ウィザードはとりあえずデフォルトの選択肢で進む。

※インストールの前に、他ソフトによる80番ポートのリスンは止めておくこと。

PHP設定

/etc/httpd/conf/httpd.conf
<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>

AddType application/x-httpd-php .php

....

Options Indexes FollowSymLinks
↓
Options Indexes FollowSymLinks ExecCGI

....

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>
↓
<IfModule dir_module>
    DirectoryIndex index.html index.htm index.php
</IfModule>

....

# Multi-language error messages
Include conf/extra/httpd-multilang-errordoc.conf ← コメントアウトを外す

# Fancy directory listings
Include conf/extra/httpd-autoindex.conf ← コメントアウトを外す

# Language settings
Include conf/extra/httpd-languages.conf ← コメントアウトを外す

Windows 環境における PHP 設定

設定例

httpd.conf
PHPIniDir "C:/php-5.2.10-Win32"
LoadModule php5_module "C:/php-5.2.10-Win32/php5apache2_2.dll"

CGI設定

/etc/httpd/conf/httpd.conf
AddHandler cgi-script .cgi

<Directory "/var/www/html">
  Options Indexes FollowSymLinks ExecCGI
</Directory>

<Directory "/var/www/cgi-bin">
  AllowOverride None
  Options None
  Ornder allow,deny
  Allow from all
</Directory>

Windows における CGI の Perl パスについて

「#!/usr/bin/perl」と書かれているCGIを動かしたい場合、
「ルートドライブ\usr\bin」というディレクトリを作り、そこにperl.exeを配置しておけばいい。

SSI設定

今となってはあまり使われないが。

/etc/httpd/conf/httpd.conf
# SSIの利用を可能にする
<Directory "/var/www/html">
  Options Indexes FollowSymLinks Includes
</Directory>

# 拡張子の設定
# デフォルトのままでよい。通常の.htmlファイルでもSSIを利用できる
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

ホームディレクトリ公開設定

/etc/httpd/conf/httpd.conf
<Directory /home/*/public_html>
    AllowOverride All
    Options FollowSymLinks ExecCGI
    Order allow,deny
    Allow from all
</Directory>

文字コード設定

/etc/httpd/conf/httpd.conf
AddDefaultCharset UTF-8

クロスサイトトレーシング防止

/etc/httpd/conf/httpd.conf
TraceEnable Off

Basic 認証のパスワードを盗まれないように。

インデックスページのファイル名設定

/etc/httpd/conf/httpd.conf
<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>
↓
<IfModule dir_module>
    DirectoryIndex index.html index.htm index.php
</IfModule>

VirtualHost設定例

/etc/httpd/conf.d/vhosts.conf
<Directory "/home/kobake/*">
  AllowOverride All
  Options FollowSymLinks ExecCGI
</Directory>

NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:80 *:443>
    ServerName mofmof.jp
    DocumentRoot "/var/www/mofmof.jp"
</VirtualHost>

<VirtualHost *:80 *:443>
    ServerName kobake.mofmof.jp
    DocumentRoot /home/kobake/kobake.mofmof.jp/public_html
</VirtualHost>

トラブルシューティング

「/」にアクセスするとphpのソースがダウンロードできてしまう

設定が正しいのにそうなってしまう場合はOS自体を再起動してみると良いかも。
(httpd, php 等のモジュールをインストールした直後だと挙動がおかしいのかも)

Analog

Apache ログの解析ツール。

参考