Yesterday:117 | Today:113 | Total:75758
[ 自宅サーバーWebRing |ID=83 前後5表示乱移動サイト一覧 ]

E-HIRO.NET Web Site..

- Webサーバー(Apache2 + SSL)の設定 -

ここでは、ホームページを外部に公開するための環境を構築します。
HTTPサーバーにApache2を用いて、SSLで暗号化されたセキュアなページ( https:// でアクセスします )も作れるように設定していきます。

SSL化のためのの作成方法についてはSSL化のための鍵作成を参照してください。

※ 基本的な設定箇所のみを記述しています。(赤字は補足説明です)
ドメインは、EXAMPLE.COMを使用しているものとします。
httpd.conf全文を参照したい方はこちらを参照してください。(若干編集しています)

# cd /etc/httpd

HTTPの設定
# vi conf/httpd.conf

#ServerAdmin root@localhost     ← 管理者のメールアドレス

ServerName www.example.com:80必ず設定してください。

#DocumentRoot "/var/www/html"       ← ルートディレクトリ
          http://www.example.com/ でここのディレクトリにアクセスします。
DocumentRoot "/home/webmaster/www"  ← 管理しやすいように変更しました

オプションの設定
#    Options Indexes FollowSymLinks
    Options FollowSymLinks Includes ExecCGI Multiviews
※ Optionsについて
  All            : MultiViewsを除いたすべての機能を有効
  ExecCGI        : CGIの実行を許可
  FollowSymLinks : シンボリックリンクの許可
  Indexes        : DirectoryIndexで指定したファイルが無い場合
                   ディレクトリ内を一覧を見ることができる。
  Includes       : SSIを有効にする
  IncludesNOEXEC : SSIは有効になりますが、#execコマンドと#exec CGIは無効
  Multiviews     : Content negotiated MultiViewsを許可
                   (AddLanguageなどが有効になる)
  SymLinksIfOwnerMatch : 対象とするファイル(ディレクトリ)がリンクしている時
                         同様のユーザーIDの場合にシンボリックリンクを許可


<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 www  ← 一般ユーザーのホームディレクトリ(public_htmlから変更しました)
    一般ユーザーのアドレスは、http://example.com/~userとなります。

</IfModule>

#<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>
      ↑↑↑
   元から記述されていたものは注釈とし下にコピーして編集しました

<Directory /home/*/www>
    AllowOverride FileInfo AuthConfig Limit
    Options ExecCGI MultiViews 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>

アクセスする際ディレクトリ名の終わりの / を指定すると、ここで指定したindex.htmlを表示します。
優先順位はindex.html→index.htm→・・・・となっております。
#DirectoryIndex index.html index.html.var
DirectoryIndex index.html index.htm index.php index.cgi


#ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
ScriptAlias /cgi-bin/ "/home/webmaster/cgi-bin/"


#<Directory "/var/www/cgi-bin">
<Directory "/home/webmaster/www/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

言語の優先順位[日本語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

デフォルトのCarsetをnoneにします。(※ 文字化け対策)
#AddDefaultCharset ISO-8859-1
AddDefaultCharset none


AddHandler cgi-script .cgi
AddHandler cgi-script .pl

CGIについて
上記の設定では、一般ユーザーディレクトリ内では、CGI は実行できません。
取り合えず実行できるようにするには、suexecを無効にします。
suexecをリネームしておきます。
# mv /usr/sbin/suexec /usr/sbin/suexec.bak
設定を反映させるためhttpdを再起動してください。
# service httpd restart


SSLの設定
# vi conf.d/ssl.conf

<VirtualHost _default_:443>

#  General setup for the virtual host
DocumentRoot "/home/webmaster/www"
ServerName example.com:443
#ServerAdmin you@example.com
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log

SSL認証ファイルの場所を指定
鍵の作成についてはSSL化のための鍵作成を参照してください。
#SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
SSLCertificateFile /usr/local/certs/server.crt

#SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
SSLCertificateKeyFile /usr/local/certs/server.key


</VirtualHost>


PHP/Perl(CGI)の設定
特に変更箇所はありませんでした
# vi conf.d/php.conf
# vi conf.d/perl.conf


各設定ファイルを変更後、設定ファイルが正しいかどうか確認します。
# /etc/rc.d/init.d/httpd configtest
Syntax OK
エラーがあれば、該当箇所を訂正してください。

httpdを起動します
# /etc/rc.d/init.d/httpd start

自動起動の設定、及び確認です
# chkconfig httpd on
# chkconfig --list httpd
			
Menu
Copyright © 2004-2005 E-HIRO.NET. All Rights Reserved.