さて、自宅サーバを持つからには、webページを公開してみましょう。Web公開用のデーモン(プログラム)には、広くApacheが使われています。Fedora CoreにはApache2が標準でインストールされていますのでこれの設定を行い、webを公開できるようにしましょう。


 さて、fedoraのインストール時にapacheのインストールを選択していなかったひとは以下のコマンドでapacheをインストールしましょう。

#yum -y install httpd


 さぁ、それでは早速apacheの設定を行っていきましょう。設定するファイルは /etc/httpd/conf/httod.confになります。このファイルは結構大きなもので、全部で1000行を超えています。細かく設置すればいろいろできるようになりますが、今回は基本的な設定をみていきましょう。



 まずは、セキュリティの設定で使ってるデーモンがapacheである等を表示させなくするための設定です。

# 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
Minimal



 次の設定は、レスポンスに関する設定です。表示されるまでに時間のかかるホームページはみんなにみてもらえません。必ず設定しましょう。

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


 引き続きレスポンスに関する設定です。ここでは数字が大きいほどレスポンスはよくなりますが、その分サーバの性能を必要とします。自分のサーバに見合う値にしましょう。よほどの巨大サイトを運営しているのでなければ1000もあれば十分です。
#
# 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
1500



 次は、管理者のメールアドレスを設定します。これでエラー等のメールを管理者に送るようになります。
#
# 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
httpd@otyanoma.com



 次は、実際に運営するサーバーのアドレスを登録します。後ろには:80を入れるのを忘れないようにしてください。
#
# 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
www.otyanoma.com:80



 この設定でURLの最後に"/”を入力しなくても、サーバ側で補完してくれます。
#
# 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
On



 この設定でサーバのトップページのファイルを保存する場所を設定します。私の場合、/home/info/public_html 以下にアップロードしたファイルが www.otyanoma.com のトップページとして表示されます。
#
# 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 "
/home/info/public_html"



 次はユーザーディレクトリの設定を行います。これで各ユーザーのフォルダ(/home/ユーザー/public_html/)いかがwebページに表示されます。私の場合は http://www.otyanoma.com/~ユーザ/ というURLとなります。
<IfModule mod_userdir.c>
#
# UserDir is disabled by default since it can confirm the presence
# of a username on the system (depending on home directory
# permissions).
#
#UserDir disable

#
# 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

</IfModule>




 さて、次もセキュリティの設定です。これを設定しておかないと各ユーザがapacheの設定をユーザごとにカスタマイズできてしまいます。ということで自分だけがサーバを使うのでなければ必ず設定しましょう。
#
# AccessFileName: The name of the file to look for in each directory
# for additional configuration directives. See also the AllowOverride
# directive.
#
#AccessFileName .htaccess



 ここもセキュリティの設定です。これでエラーページ等でバージョンの表示をしなくなります。
#
# 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
#
ServerSignature
Off



 それではここでCGIを使えるようにする設定等を行っていきます。この設定で各ユーザディレクトリでCGIが使用できるようになります。
#
# 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/"

#
# "/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 "/home/info/public_html">
AllowOverride none
Options ExecCGI
Order allow,deny
Allow from all
</Directory>

<Directory "/home/*/public_html">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>



 CGIで拡張子が.plでも実行可能なように設定します。
#
# 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



 次に少しさかのぼって日本語を有線表示する設定です。これをしていないと文字化けしてしまう可能性があります。
#
# 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.
#
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
#
# ForceLanguagePriority allows you to serve a result page rather than
# MULTIPLE CHOICES (Prefer) [in case of a tie] or NOT ACCEPTABLE (Fallback)
# [in case no accepted languages matched the available variants]
#
ForceLanguagePriority Prefer Fallback

#
# 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 UTF-8
AddDefaultCharset ISO-8859-1
AddDefaultCharset shift-jis
AddDefaultCharset EUC-JP
AddDefaultCharset none



 さぁ、ずいぶんと長かったですがこれで基本設定は完了です。


 それでは設定に間違いがないか確認します。

# httpd -t
Syntax OK


 Syntax OKとでれば設定に記述ミス等はありません。早速apacheを起動してみましょう。

# /etc/init.d/httpd start
httpd を起動中:        [ OK ]

これでwebが公開できるようになりました。
続いてapacheがOS起動時に自動起動するようにします。

#chkconfig httpd on

さぁ、これで設定は完了です。あとはただひたすらホームページを作っていくだけです。




戻る