WebARENAのVPSクラウドには初期状態で「Apache」というWebサーバープログラムがインストールされています。
Webサーバーを構築する場合はApacheの設定を行って下さい。
このマニュアルでは、例として以下のようなご利用形態を前提として記述しております。
実際に設定頂く際には、ドメイン名、IPアドレスはお客さまのものに置き換えて設定を行って下さい。
Webサーバを構築するためにセキュリティポートの設定が必要となります。
Apacheの初期設定では、80番ポートを使用します。
インスタンス起動時に割り当てたセキュリティーグループに対し、以下のルールを追記してください。
#HTTP tcp:80,80,ip4:0.0.0.0/0
接続元となるcidrアドレスは、お客様の環境に合わせて書き換えてください。
セキュリティーグループの編集方法は、オンラインマニュアル内に記載しておりますのでご参照ください。
Webサーバーに設定する内容はお客さまのご利用形態によって変わりますが、オンラインマニュアルに記載されていない設定については弊社のサポート対象外となりますので、
この例と異なるご利用形態でお使いになる場合はApacheの設定方法について解説されている書籍・Webサイトなどをご参考に お客さまにて設定ファイルの内容を書き換えてご利用下さい。
Apache Software Foundation http://www.apache.org/
Apacheの設定手順は以下の通りです。
[root@localhost ~]# vi /etc/httpd/conf/httpd.conf
httpd.confファイルには多くの設定項目が書かれていますが、ここでは最低限設定しておいた方がよい項目をご案内致します。
KeepAliveの項目ではHTTPのキープアライブ機能を使用するかしないかを設定します。
デフォルトではOffとなっていますが、この状態だとOnの場合に比べレスポンスが悪くなりますのでOnに設定することをお勧めします。
#
# KeepAlive: Whether or not to allow persistent connections ...
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On
ServerAdminの項目にはWebサーバー管理者のメールアドレスを入力します。
デフォルトでは root@localhost となっていますので、お客さまのメールアドレスに書き換えて下さい。
ここでは例として root@example.com というアドレスを設定しています。
#
# ServerAdmin: Your address, where problems with the server ...
# e-mailed. This address appears on some server-generated ...
# as error documents. e.g. admin@your-domain.com
#
ServerAdmin root@example.com
ServerNameの項目には、ホスト名とポートを設定します。
デフォルトでは www.example.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.example.com:80 (←行頭にある # を削除)
AddDefaultCharsetの項目には通常使用する文字コードが設定されています。
CentOS5ではUTF-8が標準の文字コードとして使われているためこの項目にはUTF-8が設定されていますが、この設定の場合HTMLファイルの文字コードがUTF-8で書かれていないと文字が化けてしまいます。
UTF-8ではない文字コードで日本語の文字を記述する場合でも、 以下のように行頭に「#」を付けておくとこの設定をコメントアウト(無効化)して文字化けを防止することが出来ますので、 このように変更して頂くことをお勧め致します。
# Specify a default charset for all pages sent out. This is
# always a good idea and opens the door for future ...
# 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 UTF-8
書き換えが終了したらファイルを保存してテキストエディタを終了して下さい。
[root@localhost ~]# service httpd start
ブラウザで http://www.example.com/ にアクセスしてみて下さい。
コンテンツが何も置かれていない場合、「Apache 2 Test Page powered by CentOS」というタイトルが書かれたページが表示されます。
このページが表示されていれば正しくWebサーバーが動作しています。
デフォルトでは /var/www/html ディレクトリがドキュメントルートに設定されています。
このディレクトリに「index.html」というファイル名でトップページのHTMLファイルを置くとお客さまのホームページが表示されるようになります。
prefork MPMの項目では同時に起動するプロセス数などを調整できます。
CentOS6のApache2.2では、Apacheのプロセスの設定(prefork MPM)を以下の設定ファイルで管理しております。
/etc/httpd/conf/httpd.conf
CentOS6の初期値のままではApacheの動作が不安定になる場合がございますので
弊社にてServerLimitとMaxClientsの値を 128 に設定してご提供しております。
※初期値については、
こちら
をご参照下さい。
なお、設定されている値については、お客さま側で任意の値を設定してご利用頂くことができます。
prefork MPMの設定は、/etc/httpd/conf/httpd.conf、に記述する必要がございますので、この点ご注意下さい。
/etc/httpd/conf/httpd.conf
# prefork MPM # StartServers: number of server processes to start # MinSpareServers: minimum number of server processes which are kept spare MaxSpareServers: maximum number of server processes which are kept spare # ServerLimit: maximum value for MaxClients for the lifetime of the server # MaxClients: maximum number of server processes allowed to start # MaxRequestsPerChild: maximum number of requests a server process serves StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 128 (初期設定値 256) MaxClients 128 (初期設定値 256) MaxRequestsPerChild 4000
Apacheを起動するとWebサーバーとして動作するようになりますが、そのままの状態ではOSを再起動するたびに手動でApache を起動しなければなりません。
OSの再起動と同時に Apache を自動起動したい場合は、chkconfig で httpd をon に設定して下さい。
chkconfig の設定方法は、オンラインマニュアル内
サービスの自動起動設定
に掲載しておりますのでご参照下さい。
Apacheのバーチャルドメイン機能を使用すると、1つのインスタンス上でドメイン名が異なる複数のWebサイトを運用することが出来ます。
Apacheの設定を行う前にネームサーバーで複数のドメインを使用するための設定を行っておく必要がありますので、
あらかじめ
bindの設定 - バーチャルドメイン設定
に記載されているバーチャルドメインの設定を行っておいて下さい。
Apacheのバーチャルドメイン設定の手順は以下の通りです。
[root@localhost ~]# vi /etc/httpd/conf/httpd.conf
ファイルの末尾近くにバーチャルドメインの設定項目があります。
ここで「NameVirtualHost *:80」と書かれている行があり、初期状態では行頭に「#」が付けられて無効な状態になっています。
名前ベースのバーチャルドメイン機能を使用するため、行頭の「#」を削除して下さい。
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80 (←行頭にある # を削除)
#
# NOTE: NameVirtualHost cannot be used without a port specifier
# (e.g. :80) if mod_ssl is being used, due to the nature of the
# SSL protocol.
#
ファイルの末尾に各バーチャルドメインの設定を追加します。 緑色で書かれている内容を追加して下さい。
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#
<VirtualHost *:80>
ServerAdmin root@example.com
DocumentRoot /var/www/html
ServerName www.example.com
</VirtualHost>
<VirtualHost *:80>
ServerAdmin root@example.com
DocumentRoot /var/www/homepage.example.com
ServerName homepage.example.com
</VirtualHost>
書き換えが終了したらファイルを保存してテキストエディタを終了して下さい。
[root@localhost ~]# mkdir /var/www/homepage.example.com [root@localhost ~]# chown nttpc /var/www/homepage.example.com
[root@localhost ~]# service httpd reload
SSLはApacheを起動した時点で使用可能になっています。
/var/www/html ディレクトリにあるコンテンツをSSLでも表示させることが出来るようになっていますので Apacheを起動させて以下のアドレスにアクセスすればアップロードしたコンテンツがSSLで表示されます。
https://(ドメイン名またはIPアドレス)/
たとえば、Webサーバー用のドメイン名として www.example.com が設定されている場合は以下のアドレスにアクセスして下さい。
https://www.example.com/
SSLの設定は /etc/httpd/conf.d/ssl.conf ファイルに書かれています。
SSLの設定を変更する場合はこのファイルの内容を書き換え、設定ファイルの再読み込みを行って下さい。
SSLを使用したくない場合の設定変更手順は以下の通りです。
[root@localhost ~]# vi /etc/httpd/conf.d/ssl.conf
「Listen 443」と記述されている行と「SSLEngine on」と記述されている行の先頭に「#」を付けてコメントアウトして下さい。
#
# When we also provide SSL we have to listen to the
# the HTTPS port in addition.
#
#Listen 443
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
#SSLEngine on
書き換えが終了したらファイルを保存してテキストエディタを終了して下さい。
[root@localhost ~]# service httpd reload