TikiTikiインターネットからのお知らせ
2005年1月14日
株式会社エヌディエス
ウェブサーバとSSLサーバ・PHP4のアップデート工事のお知らせ
内容
ウェブサーバ(Apache)とSSLサーバ・PHP4のアップデート工事を実施します。
- Apacheのバージョンが1.3.31から1.3.33へ変更になります。
- PHP4のバージョンが4.3.2から4.3.10へ変更になります。
日時
2005年1月25日(火) 14:00~15:00の間で約2分程度
対象サーバ
TikiTikiホスティングサービスの全サーバ
影響範囲
-
メンテナンス時間中の影響範囲
上記時間帯におきまして、約2分程ウェブサービスとSSLサービスが停止いたします。
-
メンテナンス終了後の影響範囲
-
Apacheのバージョンアップについて
工事後、Apacheの正規表現の仕様が変更されるのが原因で、.htaccessを設置しているお客様のホームページにおいて、以下の不具合が発生する可能性があります。
- エラー(Internal Server Error)が発生する
- エラーログに「.htaccess: Regex could not be compiled」が記録される
この度のApacheの仕様変更では、正規表現の判別のルールが変更されておりますので、特に.htaccessで<FilesMatch>ディレクティブもしくは<Files>ディレクティブの拡張正規表現を使用しているお客様は、事前にこのエラーを回避できるよう対処しておく必要があります。
以下、エラーが発生する.htaccessの記述の具体例と、その回避策を説明いたします。
■具体例1
<FilesMatch "*\.php">
Order allow,deny
Deny from all
</FilesMatch>「*」は直前に置かれている文字の0字以上の繰りかえしを意味します。
具体例1では、「*」の直前に何の文字も置かれていないため、エラーになります。□具体例1の解決策
<FilesMatch ".*\.php">
Order Deny,Allow
Deny from all
</FilesMatch>「*」(アスタリスク)の前に何らかの文字を挿入すれば、エラーを回避できます。
上記の例では「.」(ドット)を挿入しています。■具体例2
<FilesMatch "?\.php">
Order allow,deny
Deny from all
</FilesMatch>「?」は直前に置かれている文字の0文字または1文字の繰りかえしを意味します。
上記の例では、「?」の直前に何の文字も置かれていないため、エラーになります。□具体例2の解決策
<FilesMatch ".?\.php">
Order Deny,Allow
Deny from all
</FilesMatch>「?」(クエスチョンマーク)の前に何らかの文字を挿入すれば、エラーを回避できます。
上記の例では「.」(ドット)を挿入しています。■具体例3
<Files ~ "*\.php">
Order allow,deny
Deny from all
</Files><Files>ディレクティブでは「~」(チルダ)を使用した場合に、拡張正規表現を使用しますので、問題が発生する可能性があります。
上記の例では、「*」の直前に何の文字も置かれていないため、エラーになります。□具体例3の解決策
<Files ~ ".*\.php">
Order allow,deny
Deny from all
</Files>「*」(アスタリスク)の前に何らかの文字を挿入すれば、エラーを回避できます。
上記の例では「.」(ドット)を挿入しています。具体例と解決策は以上になります。
アップデート工事の事前に、お客様のホームページをご確認いただくことをお推めいたします。また、以上の例をそのまま適用した場合、お客様の意図せぬ動作をする可能性もありますので、必ず動作確認をしていただきたく存じます。
Apache公式サイトからアナウンスされている変更点につきましては、以下のURLをご覧ください。
■The Apache Software Foundation
アナウンス
http://www.apache.org/dist/httpd/Announcement.txt.jaCHANGES_1.3
http://www.apache.org/dist/httpd/CHANGES_1.3 -
PHP4のバージョンアップについて
今回のバージョンアップに伴い、PHP4の内部文字エンコーディングにデフォルト値として"ISO-8859-1"が設定されるようになります。そのためお客様のPHP4のスクリプト内で明示的に内部文字エンコーディングを指定していない場合、「mb_send_mail」関数を使用してメールの送信を実装していると、文字化けが発生する恐れがあります。スクリプトをご確認いただき、内部文字エンコーディングを指定していない場合は、修正していただきますようお願いいたします。
EUC-JPで指定する場合の記述例
mb_internal_encoding('EUC-JP');
SHIFT-JISで指定する場合の記述例
mb_internal_encoding('SJIS');
その他、PHP4 「4.3.1」から「4.3.10」への変更点における詳細に関しましては、下記のページをご参照くださいますようお願いいたします。
PHP4をご利用のお客様は、下記のページを参考に、アップデート工事前にお客様のスクリプトをご確認いただくことをお勧めいたします。
-
Apacheのバージョンアップについて
お客様へはご不便をおかけすることもあるかと存じますが、ご協力を賜りますよう、よろしくお願い申し上げます。
引き続きTikiTikiインターネットをご愛顧賜りますよう、よろしくお願い申し上げます。