- 投稿日2009-07-13 (月)
- 更新日2009-11-24 (火) 20:48
- Apache
ここではApache2をインストールした際に始めに行う最低限の初期設定について記述しています。
Apache2の設定ファイルは複数のファイルに別れていますが
大元のファイルは「/usr/local/apache2/conf/httpd.conf」となります。
/usr/local/apache2/conf/extra の中には多数の設定ファイルが存在しますが、
これらの設定を読み込むか否かといった設定もすべて httpd.conf で行われています。
まずは大元のhttpd.confに変更を加えていく前に、httpd.confをコピーしておきましょう。
cp /usr/local/apache2/conf/httpd.conf /usr/local/apache2/conf/httpd.conf.back
これでもし設定ファイルがぐちゃぐちゃになってしまってApacheが立ち上がらない事態となってもバックアップのファイルをhttpd.confという名前に変更するだけで元の設定に戻ります。
mv /usr/local/apache2/conf/httpd.conf.back /usr/local/apache2/conf/httpd.conf
Apache2を実際に稼働しはじめてからこのように設定の変更を行う事は少なくはないので普段から設定ファイルをいじる前にバックアップしておく習慣をつけておくとイザという時に役に立ちますよ!
管理者のメールアドレスとサーバー名を設定する
Apacheをインストールしたらまずこの設定をしましょう。管理者のメールアドレス
vi /usr/local/apache2/conf/httpd.conf
で設定ファイルを開き以下の点を変更します
以下の例はroot@hogehoge.comに変更した例となります
ServerAdmin you@example.com
↓変更
ServerAdmin root@hogehoge.com
サーバー名の設定
設定ファイル(httpd.conf)が初期状態のままでしたら、起動時に以下の警告メッセージが表示されます。
httpd : Could not reliably determine the server's fully qualified domain name, using WebサーバのIPアドレス for ServerName
これはServerNameの部分が設定されていない為に、自分自身のIPアドレス 127.0.0.1をServerNameに割り当てようとしてもDNSの名前が解決できず、このようなエラーが発生しています。vi /usr/local/apache2/conf/httpd.conf
で設定ファイルを開き以下の点を変更します
#ServerName www.example.com:80
↓修正
ServerName hogehoge.com:80
ここでは実際に使用するつもりであるサーバー名(もしくはIPアドレス)を入力するとよいでしょう。
たとえば、hogehoge.comであれば 上記の例のように設定すればよいです。
ただ、DNSに登録していない不正な名前を使用すると後々の設定(リダイレクトなど)に不具合が出てくるので
実際に使用するドメイン名やIPアドレスを入力するのがよいです。
余談ですが、ここでのサーバー名はDebian自体のホスト名と同じにするとよいでしょう。
ホスト名はさまざまな所に影響を与えています。(たとえば/etc/hostsファイル)
これらの事からサーバー名はホスト名と揃えると管理が楽になると思います。
→( ホスト名の変更方法 )
AddTypeの追加
必ずしも必須ではありませんが、CGIやPHPを使用するつもりであれば
拡張子がCGIやPHPのものを、それぞれのプログラムのスクリプトである事を宣言しておかなければいけません。
<IfModule mime_module>
のディレクティブ内に以下のような編集をします。
CGI
#AddHandler cgi-script .cgi
↓変更
AddHandler cgi-script .cgi
PHP
AddType application/x-httpd-php .php
<IfModule mime_module>のディレクティブ内のどこでもよいので追加
DirectoryIndexにいくつか追加
こちらも必須ではありません。
ディレクトリにアクセスした際にそのファイルがあればデフォルトで表示する設定を行います。
デフォルトでは、接続したディレクトリにindex.htmlがあればindex.htmlを表示するようになっているので、
たとえば http://hogehoge.com/で接続した際にindex.htmlがあれば
「http://hogehoge.com/index.html」を表示します。
実際には動的ページ等を作成した際はindex.phpやindex.cgi、index.htmなどがトップページとして使用する事もある為、
いくつか追加しておきます。
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
↓変更
<IfModule dir_module>
DirectoryIndex index.html index.htm index.php index.cgi
</IfModule>
Indexesを表示しない/.htaccessが使えるようにする/CGIが使えるようにする
ドキュメントルートにて上記のような動作をするように設定を変更します。
Indexesとは、DirectoryIndexで設定したファイルが見つからなかった際に
そのフォルダ内のファイルを一覧する機能です。これは一般的に公開する場合はセキュリティ上問題があるので
通常はファイルの一覧が表示されないように設定する事をお勧めします。
#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "/usr/local/apache2/htdocs/">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
↓変更
Options ExecCGI FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride none
↓変更
AllowOverride all
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>
Options ExecCGIでCGIを有効に
AllowOverride allで.htaccessが有効になります。
Apache2の再起動
設定を変更しただけでは反映されません。
一度Apacheを再起動する事で設定が反映されます。
この再起動でエラーが出る場合は表示されたエラーに沿って修正をしていくしかありません。
どうしても起動しない場合ははじめにとっておいたバックアップに差し替えてしまい、とりあえず起動させましょう。
その上で一度始めから設定しなおしてみましょう。
(設定の反映をこまめに行うとどの変更でエラーが出たかわかりやすいです)
Apacheの起動や停止は以下のコマンドを実行するだけです。
#Apacheの起動
/usr/local/apache2/bin/apachectl start
#Apacheの停止
/usr/local/apache2/bin/apachectl stop
#Apacheの再起動
/usr/local/apache2/bin/apachectl restart
以上で基本的な設定は完了です。
コメント:0
トラックバック:0
- この記事のトラックバックURL
- http://www.ahref.org/tech/server/apacche/256.html/trackback
- この記事へのリンク
- エーエイチレフ linuxサーバー技術情報 からの記事 Apache2の初期設定















関連記事