ApacheWebサーバの構築◆

Linux RedHatをインストールするとapacheがインストールされ、起動している場合が多いです。
ここで注意しておきますがRedHat7.3以前の場合Apacheバージョンが1.3になり、RedHat8.0以降の場合がapache2.0になります。1.3と2.0の差異がありますので設定に注意してください。ここでは、apache2.2の設定で説明しております。
RedHat7.3以前ですとプラウザでURLにlocalhostと入力すればtestページが表示されているはずですので確認してみてください。

またRedHat8.0以降になると初期では、httpdが起動してませんのでhttpd.confファイルの設定後に起動します。

# rpm -qa | grep -i apache で確認できます。
apache-1.3.14
apache-devel-1.3.14
apache-manual-1.3.14

# ps alwx | grep httpd で起動しているかを確認できます。

ここでは、RedHat9.0をメインに紹介していきます。RedHat9.0ですとApache2がインストールされます。
すでにRedHat9.0のapache2.0系もバージョンも古くサポートも終了していますので脆弱もありますのでアップデートをお薦め致します。
ここからは、FedoraCore6のapache2.2系でご説明いたします。
設定ファイルは、/etc/httpd/conf/httpd.conf にあります。httpd.conf ファイルで設定をしていきます。

# vi /etc/httpd/conf/httpd.conf

ServerTokens OS
# Don't give away too much information about all the subcomponents
# we are running. Comment out this line if you don't mind remote sites
# finding out what major optional modules you are running
ServerTokens OS
         ↓
ServerTokens MinimalまたはProd  ←変更します
※Full | OS | Minor | Minimal | Major | Prodに変更可能。
(例)
○ServerTokens Prod[uctOnly]
   サーバは (例えば): Server: Apache といったように送ります。
○ServerTokens Major
   Server sends (e.g.): Server: Apache/2
○ServerTokens Minor
   Server sends (e.g.): Server: Apache/2.0
○ServerTokens Min[imal]
   サーバは (例えば): Server: Apache/2.0.41 といったように送ります。
○ServerTokens OS
   サーバは (例えば): Server: Apache/2.0.41 (Unix) といったように送ります。
○ServerTokens Full (もしくは未指定)
   サーバは (例えば): Server: Apache/2.0.41 (Unix) PHP/4.2.2
   
MyMod/1.2 といったように送ります。

このディレクティブは、クライアントに送り返す Server 応答ヘッダ内に、サーバの一般的な OS 種別や、 コンパイルされて組み込まれているモジュールの情報を 含めるかどうかを指定します。この設定はサーバ全体に適用され、バーチャルホスト上で有効にしたり 無効にしたりはできません。
バージョン 2.0.44 以降ではこのディレクティブは ServerSignature ディレクティブにより表示される情報も制御します。表示する情報を流さない方が無難なのでMajorやProdあたりに設定することをお奨めします。



KeepAlive
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
KeepAlive Off
       ↓
KeepAlive On

※HTTP/1.0 の Keep-Alive 拡張と HTTP/1.1 の持続的接続の機能は、 複数のリクエストが同じ TCP の接続で送られる、長時間持続する HTTP セッションを提供します。たくさんの画像が 含まれる HTML ドキュメントでは場合によっては遅延時間が 50% 短縮される結果もでています。Keep-Alive 接続を有効にするには KeepAlive On と設定します。


MaxKeepAliveRequests
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
MaxKeepAliveRequests 100
                ↓
MaxKeepAliveRequests 1000
※レスポンス向上のため少し多めにしときます。デフォルトのままでもOKですが、ここの数字を大きくすればするほど一度の接続で多くの要求に答えることができるようになりますので1000位でも大丈夫です。0 に設定していれば、受け付けるリクエストは無制限になります。


Apacheを実行するユーザーとグループの変更
User apache
Group apache

User nobody
Group nobody
※それぞれ初期状態ですと apache になっていると思います。通常は、サーバを実行するために特定の新しいグループを設定するようです。
公開ディレクトリをデフォルトの /var/www/html でしたら変更せずにそのまUser apache Group apache で問題ないと思いますが、
ここでは、公開ディレクトリを /home 以下に置きますのでユーザーとグループを権限をそれぞれ nobodyに変更します。変更しないとどうやら外部からアクセスができなくなるので、間違っても root にはしないようにしてください。


ServerAdmin
# ServerAdmin: Your address, where problems with the server should be
# e-mailed. This address appears on some server-generated pages, such
# as error documents. e.g. admin@your-domain.com
ServerAdmin root@localhost
           ↓
ServerAdmin webmaster@abcde.com
※Webサーバ管理者のメールアドレスを入力します。エラー時などに管理者用のメールアドレスを表示するようにします。


ServerName
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If this is not set to valid DNS name for your host, server-generated
# redirections will not work. See also the UseCanonicalName directive.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
# You will have to access it by its address anyway, and this will make
# redirections work in a sensible way.
#ServerName new.host.name:80
             ↓
ServerName www.abcde.com:80 ←#をとって www.ドメイン名
※ウェブ上で表示するアドレスを入力します。


UseCanonicalName
# UseCanonicalName: Determines how Apache constructs self-referencing
# URLs and the SERVER_NAME and SERVER_PORT variables.
# When set "Off", Apache will use the Hostname and Port supplied
# by the client. When set "On", Apache will use the value of the
# ServerName directive.
UseCanonicalName Off
             ↓
UseCanonicalName On
※On | Off | Dnsで設定ができます。
※サーバーが自分自身の名前とポートを決定する方法で、Onにすることによってクライアントのブラウザー上でのURL入力時にhttp://www.example.co.jpの最後の/などの未入力を自動補完するようになります。


DocumentRoot
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
DocumentRoot "/var/www/html" →(変更例 "/home/www/html")
※このサーバのURLでリクエストがあった場合のトップページ(ホームページ)を表示させる為にHTMLファイルを保管しておくべきディレクトリです。
例えば、URLでhttp://www.abcde.com/と入力されて一番最初に表示されるページは、/var/www/htmlディレクトリ内のindex.htmlという名前のHTMLファイルです(=本来このページのこと、サイトのTOPページをホームページといいます)。これに対し一般ユーザーのWEBページの保存先はそれぞれの/home/各自アカウント以下になります。この/var/www/htmlはお好みで各自変更自由ですが、例では、/home/www/html です。ここのルートページの保存ディレクトリを変更した方は、貴方の環境に置き換えて下さい。



<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
# Each directory to which Apache has access can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories).
#
# First, we configure the "default" to be a very restrictive set of
# features.
#
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
※アパッチの命令許可方式(アクセスコントロール)は最初に最上段にあるディレクトリに対して基本となる命令許可をとり決めておきます、それがこの/=ルートディレクトリ内での許可事項です。 ルートディレクトリではオプションとしてFollowSymLinks(=シンボリックリンクが有る場合はそのリンク先の参照を許可する)、AllowOverride None(=上書きに従う事は禁止、指示された命令許可は全て無効とする)に設定されています。 最上段から下位のディレクトリにそのまま適用されます。ですからこの最上段にあたる/(ルート)ディレクトリでは僅かにFollowSymLinksのみが許可されそれがサーバ全体の全ディレクトリに適用される訳です。 また、AllowOverrideも禁じられていますから/var/www/htmlなどの下位ではそれぞれ個別に許可を与える必要があります。中段にあたる/var/www/htmlで加えられた許可事項はそのまま下段の/home/ユーザーに適用されます。 逆に下段の/home/ユーザーで加えられた許可は上位のディレクトリには適用されません。
Noneとは全て無効の意、Allは全て有効の意。
さらに続けて、その次からの行では/var/www/htmlディレクトリでの命令許可が指示されています。


<Directory "/var/www/html">
#
# 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.0/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks ← Indexesを削除する
Options FollowSymLinks

CGIなど許可するとき
Options Indexes FollowSymLinks → Options Indexes FollowSymLinks ExecCGI を追加する。

# 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
全ディレクトリ内にアクセス制限(パスワード等 .htaccessファイル)
AllowOverride None → AllowOverride All ですべて有効。

ここでの最終行のOptions Indexes FollowSymLinksのIndexesをバックスペースキーを使って削除しておいて下さい。
このインデックッスとはクライアントからのページ要求に対し、その要求されたTOPページ(例:index.html)がディレクトリに存在しない場合、ディレクトリ内部の全てのファイルを一覧表にして要求者のクライアントに送信してしまうものです、皆さんもWEBサイトを見て歩いている時に、どこかのサイトでいきなり一覧表が表示された経験を一度や二度はお持ちだと思います、まさしくあの状態になる訳です。管理者側でサイト更新の際にうっかりTOPページ(例:index.html)を削除してしまったりするとこの一覧表の索引が要求者に送信されてしまいます。しかし、これはWEBサーバを外部公開していなければ索引を作成する手間が省けて便利な機能なのですが、第三者にディレクトリの内部を全てあからさまにしてしまうので、セキュリティー上問題です。そこで、一覧索引を送信しないように削除してしまうのです。


引き続き
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all

</Directory>
AllowOverride Noneは/=ルートと同じで上書き指示は禁止。

その下の行の
Order allow,deny
Allow from all
※Order allow,deny とは、特定範囲の接続許可に対して最初にallow(許可)リストを見に行き、その後にdeny(拒否)リストを見に行く順番を示しています。因みにOrder deny,allowとすると先に拒否リストをみてから許可リストを見に行くこととなります。

Allow from allとは「全て許可」するの意ですが、この「全て許可」とはアクセスしてくるホスト(世界中のパソコンなど)に対して無制限にアクセスを許可するとの意味です。たとえば社内内部だけにこのディレクトリをこっそりと公開したい場合は、ローカルネットワークのIPアドレスを指定して、Allow from 192.168.1.0/255.255.255.0などとすれば、一般の人たちはアクセスできません。また頻繁に特定のホスト、たとえば某ISP経由で掲示板に嫌がらせを受けているとか、設置したCGIを勝手にリンクして再利用しているなどと言った場合は、Deny from ×××.ne.jpなどとすると、そのホストに属する全ての人はこのディレクトリにアクセス出来なくなります。



UserDir public_html
# To enable requests to /~user/ to serve the user's public_html
# directory, remove the "UserDir disable" line above, and uncomment
# the following line instead:
#
#UserDir public_html ←/home/ユーザーアカウント/public_html

UserDir public_html # をコメントをはずす
UserDir www でも 

UserDir webでもお好みで。
よく見かける個人のサイトでは、以下のようなURLになります。
http://www.abcde.ne.jp/~ユーザーアカウント/
この~(チルダ)以下のユーザーアカウントのディレクトリを定義しているのが、#UserDir public_html です。初期設定では、/home/ユーザーアカウント/public_htmlとなります。

多くのプロバイダーでユーザーのホームページスペースのディレクトリとして使用されています。『FTPクライアントを用いて、貴方のディレクトリに移動しpublic_htmlという名前のフォルダーを作成し、その中に作成したホームページのファイルを転送(アップロード)して下さい。』と説明書きされているあの事です。しかし、小・中学等でサーバを設定した場合に子供たちにこの長いディレクトリ名を間違わずに作成させるのはちょっと大変です。先生がそれぞれの生徒のディレクトリを作ってあげる時にもスペルが長いので面倒です。そこでここの#を取ってこの行を有効にし、パブリック_エッチティ-エムエルをwwwでもwebでもわかり易く入力しやすいものに変える方が良いでしょう。仮にここをwwwにした場合は、各自でWEBサイトを公開する場合は、各自のディレクトリの中に公開用のwwwの名前のディレクトリを作成し、その中にHTMLファイルをアップロードすることになります。

すぐその下の各自のホームディレクトリの命令許可は全て#で起動停止中です。
以下の#を全て削除してしまえば、ユーザーのディレクトリ領域では様様な命令許可が機能してしまいます。ここでは、個別に必要に応じたもののみを許可していきますので、このままこの部分は機能停止にしておきます。

#
# Control access to UserDir directories. The following is an example
# for a site where these directories are restricted to read-only.
#
#<Directory /home/*/public_html>
# AllowOverride FileInfo AuthConfig Limit
# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
# <Limit GET POST OPTIONS>
# Order allow,deny
# Allow from all
# </Limit>
# <LimitExcept GET POST OPTIONS>
# Order deny,allow
# Deny from all
# </LimitExcept>
#</Directory>


DirectoryIndex

# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
# The index.html.var file (a type-map) is used to deliver content-
# negotiated documents. The MultiViews Option can be used for the
# same purpose, but it is much slower.
DirectoryIndex index.html index.html.var ←追加する

DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.html.var (Windows向けの.htmの拡張子になります)
ディレクトリのTOPページではファイルの名前はindex.htmlと初期設定されています。公開されるディレクトリ(/var/www/htmlでも/home/ユーザーアカウント/wwwの場合でも)の中にこの名称のファイルを入れておけば誰かが、http://www.abcde.com/やhttp://www.abcde.com/~ユーザーアカウント/でアクセスするとこのindex.htmlが表示されるようになっています。一部のホームページ作成ソフトなどでは、このindexのファイルの拡張子がhtmlではなくhtmとして自動的に作成するものもあります、そこでサーバ側でhtmlと同様に認識するようにhtmを追加しています、またそれぞれの用途に応じて上記の物を追加しておきます。これらは改行せずにスペースを区切って一行で入力して下さい。ここにtop.htmlなどと追加してディレクトリのファイル名をindex.htmlからtop.htmlに変更すればそのページがトップページとして表示されます。tarou.htmlでもhanako.htmlでも同様です。同一ディレクトリに上記のファイルが複数ある場合は、デフォルトのindex.htmlが優先表示されます。


AccessFileName .htaccess
# AccessFileName: The name of the file to look for in each directory
# for access control information. See also the AllowOverride directive.
#
AccessFileName .htaccess

#AccessFileName .htaccess  ←不要の場合は#を付け無効化する

/=ルートディレクトリや/var/www/htmlディレクトリで出てきた、AllowOverride None の対象となるのが、このAccessFileName .htaccessです。
「上書きは禁止!」では、何に基づく上書きを禁止していたのでしょう?実は、ここのアクセスファイル名 エッチティアクセスだったのです。
仮に、ユーザーディレクトリの設定でAllowOverride All とでもなっていれば、各ユーザーがそれぞれに命令許可できる行を勝手に書き込んだ.htaccessという名前のファイルを自身のディレクトリにおいて置きさえすれば上位ディレクトリでは実行禁止されていた命令許可も使用可能となってしまいます。このアパッチの設定に詳しいユーザーがいれば、一般のユーザーでありながら自己のディレクトリに関しては、管理権限をもっている貴方を優先して自由に設定出来ることになってしまいます。これははなはだ危険なことです。不要の場合は#を行頭に付けて停止させておきましょう。



ServerSignature
# Optionally add a line containing the server version and virtual host
# name to server-generated pages (error documents, FTP directory listings,
# mod_status and mod_info output etc., but not CGI generated documents).
# Set to "EMail" to also include a mailto: link to the ServerAdmin.
# Set to one of: On | Off | EMail
#
ServerSignature On ←オフにします

ServerSignature Off
又は
ServerSignature EMail
最下行に付与するフッタの設定を行ないます。エラーページなどにこのアパッチのバージョン番号などを表示するかしないかを決めます。当然、余分な情報は安全のため公開してはいけませんからオフにします。連絡メールが欲しければEMailを選択しておけば、最初に登録した管理者のメールアドレスwebmaster@abcde.comが記載されます。


ScriptAlias
# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the realname directory are treated as applications and
# run by the server when requested rather than as documents sent to the client.
# The same rules about trailing "/" apply to ScriptAlias directives as to
# Alias.
#
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" ←#で停止させる
#ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

ScriptAlias ディレクティブは、対象ディレクトリに mod_cgi の cgi-script ハンドラで処理される CGI スクリプトがあることを示す以外は Alias ディレクティブと同じ振る舞いをします。 URL の (% が復号された) パスが URL-path で始まるものは ローカルのファイルシステムの フルパスである二番目の引数にマップされます。

<IfModule mod_cgid.c>
#
# Additional to mod_cgid.c settings, mod_cgid has Scriptsock <path>
# for setting UNIX socket for communicating with cgid.
#
#Scriptsock logs/cgisock
</IfModule>

#
# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/var/www/cgi-bin"> ←明示的に#を付けてもよし
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

お馴染みのCGI(コモン・ゲートウエイ・インターフェース)の設定ですが、ここは各管理者の考え方により設定の仕方もさまざまです。CGIは現在のWEBサイト構築には欠かせない物ですが、反面セキュリティー上の大きな負担も背負っています。

そこでここでは、以下の基本方針に従った設定を行い安全性を確保しつつ一般ユーザーの限定的ディレクトリでの利用を認めることとします。また、ここでの設定は後ほどの教程のバーチャルホスト設定でも同様に行いますので解りやすくて便利です。

1./var/www/html以下のディレクトリでは全てCGIを使用可能にする。
2./home/ユーザーアカウント/www(public_html)では専用のcgi-binディレクトリを作成してその専用ディレクトリのみでCGIを許可する。

スタンダードの設定であるスクリプトエイリアスを使ったCGIの使用は拡張子でのコントロールが出来ないので問題があります、この設定は#を付けて停止させます。一般ユーザーのWEBサイトでもアクセスカウンターなどは付けたいところです、そこで安全のため一般ユーザーでは専用のディレクトリを作成してCGIの使用を許可します。こうしておけば万が一の場合でも被害を最小に食い止められるからです。一般的ISP(プロバイダー)ではセキュリティー上の問題からCGIの利用を一切認めないところが大半ですが、本サーバは事業目的ですのでショッピングカートやインターネット上での注文などのフォームメールが使えなければ意味がありません。また、学校などでの利用でもしっかり監督者が付いてCGIを利用させればそれほど危険なものでもありません。用は管理者側の問題なのです。そこで、ここでは下記の2点を設定します。
#
#ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

<IfModule mod_cgid.c>
#
# Additional to mod_cgid.c settings, mod_cgid has Scriptsock <path>
# for setting UNIX socket for communicating with cgid.
#
#Scriptsock logs/cgisock
</IfModule>

#
# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
#<Directory "/var/www/cgi-bin">
#AllowOverride None
#Options None
#Order allow,deny
#Allow from all
#</Directory>

<Directory "/var/www/html">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>

<Directory "/home/*/www/cgi-bin"> ←又はpublic_html/cgi-bin
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>

Options ExecCGI オプションとしてCGIの実行許可

全WEBサイトのトップディレクトリ以下(=ドキュメントルート)ではどのディレクトリでもCGIを設置可能にしてあります。直接/html内に置いてもよし、その中に/cgiとか/cgi-binディレクトリ(名称はなんでもよい)を作成して置いてもよし、設置場所を限定されませんから柔軟に対応出来ます。
一般ユーザーのディレクトリでは各自のwww(public_html)ディレクトリの中にCGI設置専用のcgi-binディレクトリを作成させてその中にCGIファイルを設置させます。このcgi-binの名称はもちろんなんでもかまいません、単純にcgiとしてもシンプルで良いでしょう。一般ユーザーのホームディレクトリをwwwではなくpublic_htmlのままにしている場合でCGI使用を許可する専用ディレクトリをcgiだとすると以下のようになります。この場合は、各自にpublic_htmlのなかにcgiという名前のディレクトリを作成させて利用することになります。

∇/home/*/ の*は全ユーザーを指します。ここに*の変わりに個別のユーザーアカウントを記せば個別にCGI使用を許可することも出来ます。


<Directory "/home/*/public_html/cgi">
Options ExecCGI
</Directory>

上記の設定のままではまだCGIを稼動させることは出来ません。


AddHandler cgi-script .cgi
# AddHandler allows you to map certain file extensions to "handlers":
# actions unrelated to filetype. These can be either built into the server
# or added with the Action directive (see below)
#
# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add "ExecCGI" to the "Options" directive.)
#
#AddHandler cgi-script .cgi ← #を取って、拡張子.plを追加

AddHandler cgi-script .cgi .pl

#を取ってこの行を有効にします。また拡張子として.cgiのほかによく使われる.plを加えます。記入時には頭のピリオドをお忘れなく。

CGIの他にSSI(サーバサイド・インクルード)というものもあります。以前はアクセスカウンターなどによく多用されました、セキュリティー面の問題やサーバレスポンスの関係(これはCGIも同様)からISPでの利用は敬遠されています。さてどうしてもSSIの使用を許可したいといった場合は、以下の設定を付け加えます。

<Directory "/var/www/html">
Options Includes
</Directory>

<Directory "/home/*/www"> ←www又はpublic_html
Options Includes
</Directory>
※Includesを追加すればSSIは使用可能になります。
逆にSSI誤用を防ぐため以下の設定をすることをお勧めします。



AddOutputFilter.
# Filters allow you to process content before it is sent to the client.
#
# To parse .shtml files for server-side includes (SSI):
# (You will also need to add "Includes" to the "Options" directive.)
#
AddOutputFilter INCLUDES .shtml ← #を付けて使用停止に

#AddOutputFilter INCLUDES .shtml


以下キャラクター言語追加は、ファイル名の拡張子をサーバからの応答を処理するフィルタに マップする。
以上でアパッチの基本設定は完了ですが、最後にこのアパッチ2.0(RedHat8.0以上)で日本語の使用には困ったことがありますので修正しておきます。
実はこの新しいアパッチ2.0のバージョンからは初期設定で文字キャラクターが西ヨーロッパ言語に設定されてしまっています。これがどのような困ったことを引き起こすかといいますと、日本語の文字コード(sjisやeucなど)で作成されたページが文字化けしてしまって解読不能サイトになってしまいます。1ページ見るごとに毎回クライアント側のパソコンの文字設定を日本語に直さなければならないので、このままでは実用上相当の問題があります。そこで、以下の修正をします。


AddDefaultCharset
# Specify a default charset for all pages sent out. This is
# always a good idea and opens the door for future internationalisation
# of your web site, should you ever want it. Specifying it as
# a default does little harm; as the standard dictates that a page
# is in iso-8859-1 (latin1) unless specified otherwise i.e. you
# are merely stating the obvious. There are also some security
# reasons in browsers, related to javascript and URL parsing
# which encourage you to always set a default char set.
#
AddDefaultCharset ISO-8859-1 ← ISO-8859-1からNoneに変更又は#を付け無効化
AddDefaultCharset UTF-8 ←apache2.2系の場合。これもNoneまたは#と付けて無効とします。

AddDefaultCharset None
又は→#でコメントアウトにする
#AddDefaultCharset ISO-8859-1
#AddDefaultCharset UTF-8

LanguagePriorityは初期設定では単にアルファベット順になっているので、
jaを先頭に移動させてあげる。
LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ltz ca es sv tw
       ↓移動
LanguagePriority ja en da nl et fr de el it kr no pl pt pt-br ltz ca es sv tw

以上である程度設定は、完了です。後はお好みで設定してください。
httpdが起動していなければスタートさせます。起動していれば再起動します。
# service httpd start 再起動の場合 restart
又は
# /etc/rc.d/init.d/httpd start 再起動の場合 restart
最後に再起動させてもスタートするようにします。
# chkconfig httpd on

補足、
こののままでの設定で一つ問題があります。
それは、/var/www/icons 以下です。http://www.ドメイン名/icons/ でアクセスするとこれ以下がディレクトリとして外部に公開されてしまうので、/var/www/icons にindex.html のダミーファイルを設置して置くか、<Directory "/var/www/icons">〜</Directory "/var/www/icons">部分に#でコメントにすることをお薦め致します。apache の脆弱などが見つかるとこう言うところからバックドア付きのexploitコードなどでバッファオーバーフローが起こされてアクセス権が取られたりしてバックドアが作られてしまいフィッシングサイトにされてしまうような危険性がありますので注意することが必要になります。


戻る        次へ