CoreServerで「5.5.2.1.ja」が動作不良

2012年5月5日 at 23:12

5.5.2.1.jaのご提供、ありがとうございます。

早速CoreServerにインストールしてみたのですが、下記の不具合がありましたのでご報告いたします。

サーバー仕様:
Apache 1.3.41
PHP 5.2.5
MySQL 5.1.22-rc
Python 2.4.3

1.インストール画面で必要項目を設定し、「concrete5をインストール!」
 ボタンを押したところ、下記メッセージが表示されます。

パスワードは、5文字以上64文字以下の半角英数文字でお願い致します。
有効なサンプルデータを選択してください。
サイト名を入力してください
有効なメールアドレスを入力してください
有効なデータベース名を入力してください
有効なデータベースサーバーを入力してください

ところが「トップページ」に戻ったところ、なぜか突然インストールが開始されます。

暫くすると、
おめでとうございます! concrete5が無事にインストールされました。(以下略)
と表示されます。

2.サイトを開くと正常に表示されるのですが、「ログアウト」ボタンを押すと、
 ログアウトはできるのですが下記のエラーが表示されます。

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request. (以下略)

3.トップページに戻り、ログイン画面へ移動。ユーザー名・パスワードを入力し、
 「サインイン」ボタンを押すと「ユーザーIDとパスワードは必須です。」と表示されます。
ところがトップページに戻ると、なぜかログインに成功しています。

4.その他発見したことは「パスワードを忘れた方はこちら」の箇所で、
 メールアドレスを入力し「パスワードをリセット・メールで送信」ボタンを押すと、
「登録されているメールアドレスに、パスワードをリセットするためのEメールを送信しました。」
と表示されるのですが、メールは送られてきません。

確認したところ、「5.5.1.ja」では上記の現象は発生せず正常でした。
・5.5.2.jaのベータ版
・5.5.2.1の英語版
・5.5.2.1.jaのベータ版
・5.5.2.1.jaの正式版
で、上記現象が発生することは確認できました。

また念のため「The Uniform Server」という、ローカル上にサーバー環境を
構築するソフトに「5.5.2.1.jaの正式版」をインストールしたところ、
何の問題もなくインストールできました。

私の使っているパソコンのOSはWindows7で、ブラウザはIE9及びFirefox, Chrome, Safari, Operaの各最新版で確認いたしました。

CoreServerネタなので、解決は難しいかもしれませんが、何か情報があればと思い
書き込みさせていただきました。

よろしくお願いいたします。

タグ:

Re: CoreServerで「5.5.2.1.ja」が動作不良

2012年5月6日 at 16:17
お世話になっています。

5.5.1.1が突然快適なので言い感じです。

先日からテスト募集中だったのが安定版になっていたのでインストールしてみようかと思いましたが、
エラーが出るとのことで、テストディレクトリに入れて見ました。

やはり同様の症状です。インストーラがエラーになりますが、
もう一度トップから入るとインストールが続行になります。

ログアウトしようとすると、firefoxでは読み込み中のまま止まってしまいました。

当分はアップグレード見送りです・・・
 

Re: CoreServerで「5.5.2.1.ja」が動作不良

2012年5月7日 at 2:19
あまりに CORE SERVER の不具合が多いので、アカウント作ってみようかな…。
どのプランで問題が出ていますか?CORE-MINIならありがたい…。
 

Re: Xrea / Coreserver

2012年5月7日 at 10:41
お世話になります。

私はcore-miniです。
他のプランでも同様の症状なのかはわかりませんね。
5.5.1では問題が無かったので変更のあったところが引っ掛かっているのでしょうか。

今木が付きましたが、
galleria image galleryをブロック追加しようとするとくるくる回るやつが回りっぱなしになります。

以前はアドオンインストール時に毎回でしたが、5.5.1になってさっくりとインストールできるようになっていました。
他のブロック追加は普通に出来ているので、アドオン側にも問題があるのか・・・?
 

Re: Xrea / Coreserver

2012年5月7日 at 10:48
> galleria image galleryをブロック追加しようとするとくるくる回るやつが回りっぱなしになります。
これはどのバージョンでの現象ですか?

全体的にAjaxを要する挙動が全滅の勢いですね。サーバー側の問題です。Core-Miniのアカウント作ってみよう。。。
 

Re: Xrea / Coreserver

2012年5月7日 at 13:42
お世話になります。
以下は5.5.1での症状です。まだ552にはあげていません。

アドオンのインストール、アップデートなど、依然はまったく出来ませんでしたが、
ほぼ出来るようになっています。

その中でいくつか・・・

users pages 1.02 1.01からのアップデート
blogga 1.0 1.0からのアップデート(?)

の二つのアップデートはインストールが出来ません。(出来ましたという表示は出るが、アップデート通知が出たまま。他のアドオンは今のところできています)

galleria image gallery 2.0

インストールは出来ている(たぶん)のですが、ページに配置しようとすると、くるくるのまま
編集終了すると配置は出来ている。という感じです。

以前のバージョンではマーケットからインストール自体できなかったのでだいぶよくはなっていますが。
ソフトがだいぶ環境に依存しなくなった・・・のでしょうか
 

Re: Xrea / Coreserver

2012年5月11日 at 21:56
galleria image galleryは、MAMPで追加してみてもくるくる回りっぱなしが発生するので、アドオンのバグだと思います。
 

Re: Xrea / Coreserver

2012年5月7日 at 12:40
hissy様

いつも大変お世話になっております。
私のプランは「CORE-A」です。

ざっと検証したところ、(galleria image galleryは試しておりませんが・・・)
先だってお知らせした4点以外は正常のように思えます。
1.「トップページ」に戻ったところ、なぜか突然インストールが開始
2.ログアウトはできるがエラー表示
3.トップページに戻ると、なぜかログインに成功
4.「パスワードをリセット・メールで送信」が送られてこない

(以下、素人の推測なので信用しないでいただきたいのですが・・・)

もしかすると、「CoreServerではPHPをCGIとして動作させると、『リダイレクト』の機能が動作しなくなる」のかもしれません。

以前にも未解決案件「ログインしても、メニューバーが表示されない。ブラウザの再読込ボタンを押すと表示される」というのが、有ったと思います。
あれも結局、ログイン後におこなわれるリダイレクトが発生しなかったからでは?と思います。

解決策としては「問題の発生している(リダイレクト機能を含む)モジュールだけ、CGIモードから外す」等が考えられます。

以上、全く的はずれの素人推測と思いますがご参考までに・・・。
よろしくお願いいたします。
 

Re: Re: Xrea / Coreserver

2012年5月7日 at 13:42
連続投稿、失礼いたします。

特定のプログラムだけCGIモードを解除する(モジュール版で動作させる)には、
.htaccessを以下のように書くそうです。

# CGIモードで動作
AddHandler application/x-httpd-phpcgi .php

# 特定のプログラムだけモジュール版で動作
<files ○○○○○.php>
AddHandler application/x-httpd-php .php
</files>

また別件のお話ですが・・・、以前「CoreServerでテーマのCSSが読み込まれない」
という問題が有り、その解決策を投稿させていただきました。
http://concrete5-japan.org/community/forums/translate/post-1355/post-1446/post-1466/post-1486/

この方法は「Xrea/Coreserver インストールガイド」にも掲載いただいているようですが、こちらもCGIモードが原因?だったのかもしれません。

「CoreServerでPHPをCGIモードで動かすと、CSSを『content-type=text/html』として出力し、『text/css』としないのでCSSと認識されない」とのことです。

ということは、テーマを出力するプログラムだけモジュール版で動かせば、問題は解決したのかもしれません。

とは言え・・・、最新のバージョンではCoreServerでも問題無くCSSが読み込まれている
様子なので、もはや無用の知識かもしれませんが・・・。

以上、トンチンカンなことを申し上げているかもしれませんが、お役に立てれば幸いです。
 

Re: Xrea / Coreserver

2012年5月7日 at 13:46
他のサーバーではCGIモードでも普通に動いてるのでやはりCORE SERVERの問題だと思います。とにかく、契約してみます…(ばたばた
 

Re: CoreServerで「5.5.2.1.ja」が動作不良

2012年5月7日 at 20:56
連続投稿、失礼いたします。

いくつかの問題を解決できましたので、ご報告いたします。

1.「トップページ」に戻ったところ、なぜか突然インストールが開始
2.ログアウトはできるがエラー表示
3.トップページに戻ると、なぜかログインに成功

これらを解決することができました。

【対策方法】
/concrete/libraries/controller.phpを編集。

356行あたり。
header("Location: " . $url); の前に
header('Status: 301 Moved Permanently'); を挿入。

ついでに、370行あたり
header('Location: '.$url); の前にも同じ
header('Status: 301 Moved Permanently'); を挿入。

これで正常に動作いたしました。

関西ユーザーグループ勉強会で、以前話題になっていた
「ログインしても、メニューバーが表示されない。ブラウザの再読込ボタンを押すと表示される」という問題も、この方法で解決いたしました。
(フォーラムでも、
http://concrete5-japan.org/community/forums/beginner/post-3604/
「ログインしても「編集モード」などのバーが表示されず、もう1度ログインしないと編集画面に入れない。」と、同じ問題が指摘されていました)

この解決策で問題無いか、ご検証いただければと思います。
よろしくお願いいたします。
 

Re: Xrea / Coreserver

2012年5月11日 at 21:36
header()を追加する方法ではなく、Controllerクラスのredirectメソッドを書き換えることで解決することが分かりました。

concrete/libraries/controller.php を複製、 libraries/controller.php に設置(ユーザー領域でオーバーライドすることで、コアのアップデートに対応する方法)し、下記の通りに書き換えます。

▼修正前
public function redirect() {
$args = func_get_args();
$url = call_user_func_array(array('View', 'url'), $args);
if ($url == '') {
$url = BASE_URL . DIR_REL;
}
header("Location: " . $url);
exit;
}


▼修正後
public function redirect() {
$args = func_get_args();
$url = call_user_func_array(array('View', 'url'), $args);
if (($url == '') || ($url == "/")) { // ←ココを変更
$url = BASE_URL . DIR_REL;
}
header("Location: " . $url);
exit;
}


これでインストール時、ログアウト・ログイン時の問題は解決します。
 

Re: Xrea / Coreserver

2012年5月12日 at 2:52
hissy様

いつも大変お世話になっております。nanpouです。
今回もご教示ありがとうございます。

>concrete/libraries/controller.php を複製、 libraries/controller.php に設置
>(ユーザー領域でオーバーライドすることで、コアのアップデートに対応する方法)
ここ、すごく大事ですよね。気になっておりました。ありがとうございます。

また、可能であればで結構ですので、下記ご教示いただければと思います。

1. header()を追加する方法、 || ($url == "/"))を追加する方法、
方法が全く違うのに、同じ結果になるのはなぜか?
そもそも今回のエラーの、根本的原因は何なのか? 何が悪かったのか?

2. 今回編集箇所の少し下に、「public function externalRedirect」
 という箇所があり、その中にも「header('Location: '.$url);」という記述があります。
 今回のエラーには関係無いかもしれませんが、何らかの対応をしておいた
 方が良い?のでしょうか? 今後、不具合の発生する可能性は無いのでしょうか?
 今回エラーの、根本的原因にも依ると思いますが・・・。

よろしくお願いいたします。
 

Re: Xrea / Coreserver

2012年5月12日 at 9:10
本家のフォーラムに載ってたので、ぼくもよくわかりません(^^;
要はリダイレクト先の指定がなければトップページにリダイレクトする、という処理が書かれているのですが、「リダイレクト先の指定が無い」ことをURLが空であることで判断しています。サーバーの仕様によってここがちがうんでしょうね…。

301リダイレクトだと「恒久的な移動」になってしまうので、不都合が発生することが考えられます(Googleのbotが301を見つけると、リダイレクト前のページはインデックスされなくなるなど)。

ソースを見る限りexternalRedirectメソッドには関係ないと思います。
 

Re: Xrea / Coreserver

2012年5月12日 at 14:53
早速のご回答ありがとうございます。
また、費用も掛かるのにCoreServerでの実地のご検証、恐縮しております。

いつまでも同じ問題で引きずってしまい申し訳ありませんが、2点ほどご連絡いたします。

まず1つ目、重要度の低い話・・・。
> 301リダイレクトだと「恒久的な移動」になってしまうので、不都合が発生することが考えられます
まことに仰る通りで、こちらでも事前にその点を検討いたしました。

301リダイレクトは、”Permanent Redirect”で「恒久的な転送」
(コンテンツもURLも転送先の新しい方を表示)

302リダイレクトは、”Temporary Redirect”で「一時的な転送」
(新しいコンテンツをインデックスしつつも、URLは昔の古いURLを残す)

一時的に生成されるリダイレクト用ページ?から、コンテンツページへの
移動なので、301の方が良いのでは?と判断いたしました。

それでもやはり302の方が・・・ということであれば、
header('Status: 301 Moved Permanently'); を、
header('Status: 302 Moved Temporarily'); に変更すれば良いと思います。

またどちらにしても転送元は「一時的に生成されるリダイレクト用ページ?」
に過ぎないので、301でも302でも大差無いと判断いたしました。

次に2点目。今回問題になっているRedirect機能は、先だって挙げさせて
いただいた「インストール・ログイン・ログアウト」の他に、
「ログイン後スタートページ」機能でも利用されているようです。

(以下、素人の意見なので鵜呑みにせず、再検証いただきたいのですが)
どうもhissy様にご教示いただいた方法では、「ログイン後スタートページ」機能で
リダイレクト先を「ホームページ」以外に設定した場合、正常に動作しないようです。

試しにリダイレクト先を「カスタムページ」のブログに設定してみたのですが、
メニューバーが表示されませんでした。

修正内容から考えても、上記の挙動は不思議では無い気がいたします。

誠に恐縮ではございますが、上記ご検証いただければ幸いです。
よろしくお願いいたします。
 

CoreServerとGmailは相性が悪い

2012年5月8日 at 0:42
何度も連続投稿、申し訳ございません。

4.「パスワードを忘れた方はこちら」の箇所で、メールアドレスを入力し「パスワードをリセット・メールで送信」ボタンを押すと、「登録されているメールアドレスに、パスワードをリセットするためのEメールを送信しました。」と表示されるのですが、メールは送られてきません。

こちらの原因が分かりました。

表題の通り、CoreServerとGmailの相性が悪いのが原因のようです。

CoreServerからGmailに送ったメールが届かない、又は逆にGmailからCoreServer上のアドレスに送ったメールが届かないことが多々発生しているようです。
(詳細情報はキーワード「gmail coreserver」等で検索すると出てきます)

今回受信側がGmailだったのですが、これをYahoo!メールに変更してみたら、
あっさり受け取れました。

これはこれで大問題なのですが、concrete5とは直接関係の無いことなので
ひとまず解決とさせていただきます。お騒がせいたしました・・・。

今回の教訓としては、CoreServerにconcrete5をインストールした時は、
・Gmailでユーザー登録してはダメ
・お問合せフォーム等の送信先にGmailを指定してはダメ
ということなのかなぁと思っています。
 

Re: Xrea / Coreserver

2012年5月8日 at 11:57
Nanpou さん

素晴らしい。いろいろ検証して下さってありがとうございます!

ただし、CORESERVER は使用するサーバーによって、管理している下請け業者が違うらしく、提示していただいた方法も契約した時期や運によってうまくいかない可能性があります。

CORESERVER / Xrea のインストールガイドは、正解がないので難しいです。

ひとまず、解決策の一つとして、書き留めておきます。

ありがとうございます!
 

Re: Xrea / Coreserver

2012年5月8日 at 12:15
Coreserver のインストールガイドに追記させて頂きました。
ありがとうございます!