言わずも知れたWEBサーバであるApacheをインストールします。世の中のWEBサーバの大部分はApacheだといっても過言ではないでしょう (それ以外はMicrosoftのIISですが)。

それほど有名なサーバプログラムなので知りたい情報はちょこっと検索すれば探したい情報は数多く見つかるでしょう。

 

webサーバ本体と、PHPが使えるようにするためにphp5もインストールしておきます。(必要なければphpはインストールしなくていいですが)

インストールコマンド入力

#apt-get install apache2

#apt-get install php5

 

ブラウザのアドレス入力エリアに玄箱のIPアドレスにアクセスして、

 

--------------------------------------------------------------------------------------------------------

 It works!

  This is the default web page for this server.

  The web server software is running but no content has been added, yet.

--------------------------------------------------------------------------------------------------------

 

と表示されればインストールは成功です。

 

 

赤字を#でコメントアウトする。その後Apacheを再起動させればOK。

#vi /etc/apache2/mods-available/php5.conf

<IfModule mod_php5.c>
<FilesMatch "\.ph(p3?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
# To re-enable php in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
# <IfModule mod_userdir.c>
# <Directory /home/*/public_html>
# php_admin_value engine Off
# </Directory>
# </IfModule>

</IfModule>

 

# vi /etc/apache2/httpd.conf

AddType application/x-httpd-php .php .html .htm 追加する

 

Apache2の再起動

# /etc/init.d/apache2 restart

 

 

 

PHP設定が有効になっているかどうか確認してみる。

Apache再起動後にWEBROOT(初期段階だと/var/www/)に以下のファイルを作成する。

#vi /var/www/info.php

<?php

phpinfo();

?>

上記ファイル作製後、ブラウザから「玄箱のIPアドレス/info.php」にアクセスしてPHPに関する情報が表示されればOK。情報が表示されずにinfo.phpファイルがダウンロードされてしまう場合は 、上記Apacheのモジュール設定のコメントアウトが出来ていないということです。

 

 

Apacheが読み込むHTMLファイルの場所を変更出来ます。デフォルトでは/var/wwwとなっていますが、任意の場所を指定することができます。下記の例では/mnt/wwwに変更しています。(2箇所変更する)

#vi /etc/apache2/sites-available/default

#DocumentRoot /var/www

     ↓変更

DocumentRoot /mnt/www

 

#<Directory /var/www/>

     ↓変更

<Directory /mnt/www/>

 

 

<Directory />のエリア内に下記の文を追加する。

#vi /etc/apache2/sites-available/default

<Directory />
Options FollowSymLinks
AllowOverride None
<Limit GET HEAD POST>
Order allow,deny
Allow from all
</Limit>
<Limit OPTIONS PROPFIND PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Order deny,allow
Deny from all
</Limit>

</Directory>

 

■不必要な情報を出さないように以下のファイルを編集して必要箇所を設定する(赤文字のようにする)。

#vi /etc/apache2/conf.d/security

ServerTokens Prod
ServerSignature Off

 

■index.htmlファイルが無い時に一覧を表示させないようにする

index.htmlファイルが無いディレクトリにアクセスされるとデフォルトの設定だとそのディレクトリにあるデータが全て一覧表示されてしまいます。それを防ぐために下記の処理を行います。

#vi /etc/apache2/sites-available/default

Options -Indexes ←Indexesの表記がしてある箇所のIndexesの頭に「-」をつけて無効化する

 

 

だいたい上の辺りに記載しておけばいいでしょう。

#vi /etc/apache2/sites-available/default

<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName www.siruko.com

 DocumentRoot /var/www

.....

 

 

ApacheハンドブックApacheハンドブック
Ben Laurie Peter Laurie 大川 佳織 田辺 茂也

Apacheセキュリティ Apacheクックブック 第2版 ―Webサーバ管理者のためのレシピ集 Tomcatハンドブック 第2版 Apacheポケットリファレンス (POCKET REFERENCE) [24時間365日] サーバ/インフラを支える技術 ‾スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)

by G-Tools