ウェブサーバーを構築する

ウェブサーバーパッケージをインストールする

 ウェブサーバーパッケージ (httpd) は、yum コマンドを使用してインストールしますので、パッケージ管理の設定が完了していることを確認して下さい。

[ Fedora 8 / Fedora 7 ]

[root@web ~]# yum install httpd


ウェブサーバーの設定について

 ウェブサーバーの機能に関するオプション設定は、/etc/httpd/conf/httpd.conf ファイルを編集します。 Apache HTTP Server のオプション設定は、項目が若干多いと思うかもしれませんが、言いかえればそれだけ柔軟かつ高機能であると言ってもよいと思います。

[ Fedora 8 / Fedora 7 ]

[root@web ~]# vi /etc/httpd/conf/httpd.conf

### Section 1: Global Environment
#
# The directives in this section affect the overall operation of Apache,
# such as the number of concurrent requests it can handle or where it
# can find its configuration files.
#

#
# 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
Apache レスポンスヘッダの指定 (プロダクト名のみ)
ServerTokens Prod
          :
         ( 中略 )
          :
### Section 2: 'Main' server configuration
#
# The directives in this section set up the values used by the 'main'
# server, which responds to any requests that aren't handled by a
# <VirtualHost> definition.  These values also provide defaults for
# any <VirtualHost> containers you may define later in the file.
#
# All of these directives may appear inside <VirtualHost> containers,
# in which case these default settings will be overridden for the
# virtual host being defined.
#

#
# 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 webmaster@i2kt.com

#
# 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 web.i2kt.com:80
          :
         ( 中略 )
          :
#
# This should be changed to whatever you set DocumentRoot to.
#
<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.2/mod/core.html#options
# for more information.
#
    制御オプションの指定 (SSI、CGI プログラムの実行を許可)
    Options Includes 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 All

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

</Directory>
          :
         ( 中略 )
          :
#
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
#
ログの設定 (414 ERROR は記録しない)
LogFormat "%h %l %u %t ¥"%!414r¥" %>s %b ¥"%{Referer}i¥" ¥"%{User-Agent}i¥"" combined
LogFormat "%h %l %u %t ¥"%r¥" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
          :
         ( 中略 )
          :
#
# The location and format of the access logfile (Common Logfile Format).
# If you do not define any access logfiles within a <VirtualHost>
# container, they will be logged here.  Contrariwise, if you *do*
# define per-<VirtualHost> access logfiles, transactions will be
# logged therein and *not* in this file.
#
#CustomLog logs/access_log common
カスタムログの設定
SetEnvIf Request_URI "default¥.ida" no_log
SetEnvIf Request_URI "cmd¥.exe" no_log
SetEnvIf Request_URI "root¥.exe" no_log
SetEnvIf Request_URI "Admin¥.dll" no_log
SetEnvIf Request_URI "NULL¥.IDA" no_log
SetEnvIf Request_URI "¥.(gif)|(jpg)|(png)|(ico)|(css)$" no_log
SetEnvIf Remote_Addr 192.168. no_log
CustomLog logs/access_log combined env=!no_log
          :
         ( 中略 )
          :
#
# Optionally add a line containing the server version and virtual host
# name to server-generated pages (internal error documents, FTP directory
# listings, mod_status and mod_info output etc., but not CGI generated
# documents or custom error documents).
# Set to "EMail" to also include a mailto: link to the ServerAdmin.
# Set to one of:  On | Off | EMail
#
Apache のバージョン表示設定 (非表示)
ServerSignature Off
          :
         ( 中略 )
          :
#
# LanguagePriority allows you to give precedence to some languages
# in case of a tie during content negotiation.
#
# Just list the languages in decreasing order of preference. We have
# more or less alphabetized them here. You probably want to change this.
#
MIME 言語タイプの適用優先順位 (日本語を優先)
LanguagePriority ja en ca cs da de el eo es et fr he hr it ko ltz nl nn no pl
 pt pt-BR ru sv zh-CN zh-TW
          :
         ( 中略 )
          :
#
# Specify a default charset for all content served; this enables
# interpretation of all content as UTF-8 by default.  To use the
# default browser choice (ISO-8859-1), or to allow the META tags
# in HTML content to override this choice, comment out this
# directive:
#
コンテントタイプパラメータを持たない応答に利用する文字コード (システム文字コード)
AddDefaultCharset Off
          :
         ( 中略 )
          :
#
# 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.)
#
ハンドラとサフィックスの対応付け (pl 拡張子ファイルも CGI プログラムとして扱う)
AddHandler cgi-script .cgi .pl

ウェブサーバーを起動する

 パッケージをインストールした段階では、セキュリティを考慮しているため自動起動されません。 Fedora システムの再起動後にウェブサーバーを起動するため、自動起動の設定を行います。

[ Fedora 8 / Fedora 7 ]

ウェブサーバーを起動する

[root@web ~]# /etc/rc.d/init.d/httpd start

httpd を起動中:                                            [  OK  ]

ウェブサーバーの自動起動を設定する

[root@web ~]# chkconfig httpd on

[root@web ~]# chkconfig --list httpd

httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

パッケージを追加・更新する

 ウェブサーバーの拡張機能の一つである PHP や CGI を実行できるようにするため、php パッケージ・php 日本語パッケージをインストールします。 また、Perl スクリプトなどを実行することを想定し、最新版の Perl パッケージに更新します。

 PHP や CGI と MySQL や PostgreSQL などのデータベースと連携する場合、データベースサーバー連携パッケージをインストールする必要があります。

[ Fedora 8 / Fedora 7 ]

[root@web ~]# yum install php


[root@web ~]# yum install php-mbstring


[ Fedora 8 / Fedora 7 ]

perl パッケージを更新する

[root@web ~]# yum update perl


[ Fedora 8 ]

MySQL データベース連携パッケージをインストールする

[root@web ~]# yum install php-mysql