| *講義内容
サーバ導入に関しての考察とレンタルサーバホスティングとの比較
サーバの選定と回線・ISP選択とドメインの準備
OSのインストール (RedHat Linux8.0)
How to
PC-Unix(Linux) 超簡素UNIX入門講座
基本システム構築編
第一教程 ネットワークの設定
第二教程 DNSサーバの設定
第三教程 メールサーバの設定
第四教程 Webサーバの設定
第五教程 FTPサーバの設定
第六教程 時刻の同期(NTPD)設定
各種用途に答える システム拡張編
第七教程 DHCPとIPマスカレード設定
第八教程 プロキシサーバ設定
第九教程
バーチャルホスティング ・IPベースとネームベース ・サブドメイン
第十教程 ハードディスクの割当容量を制限する
基本運用管理編
第一教程 ユーザとグループの管理 (登録と削除)
第二教程 システムのアップデート
第三教程 管理コマンドとログ解析
以後順次公開予定
|
■WEBサーバの構築 Apacheの設定 その1
《教程の目的と作業のポイント》
インターネットサーバの華となるWEBサーバの設定をします。
WWW(ワールドワイドなウエッブ、つまり世界規模で広範囲な蜘蛛の巣状のネットワークの意)サーバとも呼ばれますが、そのサーバプログラムソフトはApache(アパッチ)という名前でHTTP(ハイパーテキスト・トランスファー・プロトコル)という専用の通信語を用いて、クライアントパソコンからの要求などを受けてapacheサーバが当該ページのデータを相手方のパソコンに送信します。クライアントパソコンで参照されるWEBページを専門に提供する役目を負うのがWEBサーバの勤めなのです。
ApacheとはそのもととなるNCSAHTTPd1.3のパッチを寄せ集めて作られたところから由来しています。
このApacheの設定ファイルは結構大きなものでして、詳細に設定していきますと様々なことを実現してくれます、ここでは基本的設定として大代表(ドキュメントルート)のWEBページが公開できるようにし、併せてユーザーのWEBページも公開できるようにします。さらにWEBサイト上でフォームメール送信や掲示板、ネットショッピングで不可欠なショッピングカートなどを使用可能にするCGI(コモン・ゲートウエイ・インターフェース)が使えるように設定します。 |
編集対象のApacheの設定ファイルは/etc/httpd/conf/httpd.confです。
早速編集作業に取り掛かりましょう。一連のコマンドは以下のとおりです。
$rpm -qa |grep http ←Apacheがインストール済であるか確認
※httpd-2.0.40-11これがApacheそのものです
Θパッケージの追加インストール(アンインストール)のしかた
$su - ←rootに変身
#cd /etc/httpd/conf ←目標ファイルのあるディレクトリに移動
#ls ←ディレクトリの中を確認
#cp httpd.conf httpd.conf.bak ←原本コピー保存
#ls ←コピーされたか確認
#pico httpd.conf
相当大きな設定ファイルです、何時ものように全文を掲載するのは大変でして、かえって解りにくくなってしまいますので該当部分のみを表示していきます。
皆さんが、編集作業をする時にはスクロールさせて編集箇所を探すのは大変です、間違いのもとにもなりやすいのでピコエディタの検索機能(^W=Ctrl+Wキー)を使いながら進めていって下さい。
それぞれの検索キーワードを逐次指示します。
このhttpd.confは大きく3章からなっています。第1章のサーバの動作環境設定の章、第2章のサーバ内における独自設定事項の章、第3章のバーチャルホスト設定の章です。ここでは第1章と第2章を扱います。第3章は他の教程に譲ります。また、これ以外にネットショッピングサイトでのクレジットカードなどの暗証番号入力時に暗号化送信を実現させるSSLの設定もありますが、こちらも他の教程に譲ります。
では早速第1章から始めます。
### Section 1: Global Environment
検索キーワード ServerTokens
(編集対象の行をアパッチ独自の言い方=ディレクティブと言います、以下単に行と表記します)
#
# 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 ←変更します
|
※Full | OS | Minor | Minimal | Major | Prodに変更可能。
FullですとHTTPアクセス時のレスポンスヘッダにアパッチサーバであることやそのバージョン番号、ディストリビューション(RedHat)の種類、搭載モジュールなど詳細データが克明に表示され、相手に筒抜けになってしまいます。地球上あまたいるクラッカー諸氏に、いたずらに手の内を明かすは、これ愚かなり。そこで防衛上の観点から中間のMinimalに設定しなおしています。もちろん、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 |
※Offですと一度のページ要求にそのページを送信して通信は終了してしまいます。プツプツこま切れ状態になって流石にこれではレスポンスが悪うございますからOnにします。尚、表記は最初の一文字は大文字であることに注意してください!
続けて直ぐ下の行
#
# 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 |
※レスポンス向上のため少し多めにしときます。ここの数字を大きくすればするほど一度の接続で多くの要求に答えることができるようになります。概ね1000〜2000位でも大丈夫です。
第2章です。
### Section 2: 'Main' server configuration
検索キーワード 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 wwwadmin@example.co.jp ←Webサーバ管理者のメールアドレス |
続けてその下の行
#
# 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.example.co.jp:80 ←#をとって、www.サーバホスト名 |
さらに続けてその下の行
#
# 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にすることによってクライアントのブラウザー上でのURL入力時にhttp://www.example.co.jpの最後の/などの未入力を自動補完するようになります。
続けてその直ぐ下
#
# 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" |
このサーバのURLでリクエストがあった場合のトップページ(ホームページ)を表示させる為にHTMLファイルを保管しておくべきディレクトリです。
例えば、URLでhttp://www.example.co.jp/と入力されて一番最初に表示されるページは、/var/www/htmlディレクトリ内のindex.htmlという名前のHTMLファイルです(=本来このページのこと、サイトのTOPページをホームページといいます)。これに対し一般ユーザーのWEBページの保存先はそれぞれの/home/各自アカウント以下になります。この/var/www/htmlはお好みで各自変更自由ですが、ここではそのまま続行します。ここのルートページの保存ディレクトリを変更した方は、貴方の環境に置き換えて下さい。
直ぐ下の行の説明
#
# 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は全て有効の意。
さらに編集作業は続きます・・・・・・・・・・・・
|
|