当サイトをご利用頂き有難うございます。
当サイトは今月末日にモールタイプの総合検索サイトへリニューアルの予定です。
サイト名も変更となりますが、今後とも宜しくお願いいたします。

Fedora10で自宅サーバー構築(バーチャルホスト)

| コメント(0) | トラックバック(0)

複数のアドレスをWeb発信するために、バーチャルホストを構築します。
バーチャルホストにはIP ベースとNAMEベースがありますが、
IP ベースでは、機器の数が増えてしまい、現実的に無理があるので、
ここでは、NAMEベースでのバーチャルホストを構築します。

    * SSL セキュアサーバではアクセス時、最初に SSL の認証シーケンスが走り、
      証明書の交換は先頭のバーチャルホストのデータを元に行われます。
      従って、名前ベースのバーチャルホストでは、
      SSL は一つのバーチャルホストしか扱えません。

    * 名前ベースのバーチャルホストを導入すると、元々あったメインホストというものがなくなります。
      その為、VirtualHost ディレクティブの先頭に定義されたバーチャルホストがメインホストになります。
      従って、元々あったメインホストの設定やメインにしたいホストのデータは、
      先頭のバーチャルホストとして再度定義する必要があります。

①Apache の設定

  1. バーチャルホスト設定

    GNOME端末より

     # su + 管理者権限パスワード

     # mkdir /var/www/html/virtual
     # mkdir /var/www/html/virtual/++++++++.com

        →  バーチャルホストのコンテンツを格納するためのディレクトリを作成

     # chown -R abc:abc /var/www/html/virtual  →  所有者と権限を abc に変更

     # vi /etc/httpd/conf/httpd.conf  →  バーチャルホストの定義を設定ファイルに追加

--------------------------- 追加内容(VirtualHostのexampleの下へ) ---------------------------

NameVirtualHost *:80  →  ポートを指定

<VirtualHost *:80>  →  メインホスト情報
ServerName ********.com
</VirtualHost>

<VirtualHost *:80>  →  追加ホスト情報
ServerName ++++++++.com
DocumentRoot /var/www/html/virtual/++++++++.com
ErrorLog /var/log/httpd/error_log_++++++++.com
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 /var/log/httpd/access_log_++++++++.com combined env=!no_log
ScriptAlias /cgi-bin/ "/var/www/html/virtual/++++++++.com/cgi-bin/"  →  バーチャルホストでも CGI 等が実行できる様に設定します
<Directory /var/www/html/virtual/++++++++.com/cgi-bin>
AllowOverride All
Options Includes ExecCGI FollowSymLinks
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

--------------------------------------------------------------------------------

②SSL の設定

    GNOME端末より

     # su + 管理者権限パスワード

     # vi /etc/httpd/conf.d/ssl.conf  →  SSL 設定ファイルの編集

        (省略)

       # Per-Server Logging:
       # The home of a custom SSL log file. Use this when you want a
       # compact non-error SSL logfile on a virtual host basis.
       CustomLog logs/ssl_request_log \
              "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

------------------------------ 追加内容 ------------------------------
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteLog "logs/rewrite_log"
RewriteLogLevel 0
RewriteCond %{HTTP_HOST} !********.com$  →  メインホスト名を指定
RewriteRule ^/(.*)?$ http://%{HTTP_HOST}/$1 [L,R]
</IfModule>
----------------------------------------------------------------------------

</VirtualHost>

③Apache の再起動

    GNOME端末より

     # su + 管理者権限パスワード

     # /etc/rc.d/init.d/httpd restart  →  設定を反映させます。

④確認

    クライアントのpc のhosts ファイルを編集し動作を確認します。

        127.0.0.1 localhost
        192.168.0.1 abc.com ++++++++.com  →  ++++++++.comを追加します。

    webブラウザを再起動してurlにアドレスを入れ動作を確認します。

       * test用のhtml/shtml/cgi/php を作成し確認します。
          cgiファイルはパーミッションの指定にも注意しましょう。

トラックバック(0)

トラックバックURL: http://www.kokonnya.com/mt/mt-tb.cgi/196

コメントする