ブログ名の設定は、まだ。 ネット社会の一粒の"地の塩"でありたいと思っています。

Q2Aをロリポに試しで入れてみたら、WPブログがぶっ壊れて焦りました。

2015年05月11日 · カテゴリ:仕事ネタ

そもそも「Q2A(Question2Answer)」とは、Q&Aサイトを構築するためのオープンソースのことです。
“ロリポに試しで入れてみた”と書いたのは、実は某・本番環境のサイトに入れる前に、テストしてみたかったため。

入れたURLはこちら。
http://dame3212.net/qa/
当然、質問する人もいないので、自作自演(自問自答)でいくつか質問と回答を入れています。

Question2Answerについて詳しくは下記へ。ダウンロードも下記で可能です。
Question2Answer Japan

で、実際にこのブログ(ロリポップのロリポプラン)でインストールをしてみた手順を書いておきます。

  • (1)Question2Answer Japanにて最新のQ2A(V1.7)と翻訳(V1.7)をダウンロード。
    デスクトップに解凍してできたquestion2answer-1.7のqa-langフォルダに、翻訳のq2a-17-p1-lang-ja内の「ja」フォルダを丸ごと移す。
  • (2)DB情報の確認。
    ロリポプランの場合、データベースは複数入れられないので、現在Wordpressを入れているデータベースに追加となります。
    ロリポの管理画面のデータベース設定で確認してメモるのは、
    サーバー名 mysql****.phy.lolipop.jp
    ユーザーネーム LA********
    パスワード *********
    データベース名 *********
  • (3)qa-config-example.phpをいじる。
    qa-config-example.phpをまずqa-config.phpにリネイム。
    エディタで開き、
    define(‘QA_MYSQL_HOSTNAME’, ‘127.0.0.1’);
    define(‘QA_MYSQL_USERNAME’, ‘your-mysql-username’);
    define(‘QA_MYSQL_PASSWORD’, ‘your-mysql-password’);
    define(‘QA_MYSQL_DATABASE’, ‘your-mysql-db-name’);
    を(2)で確認したサーバー名、ユーザーネーム、パスワード、データベース名に書き換える。
  • (4)question2answer-1.7のフォルダをFTPでUPする。
    私の場合「question2answer-1.7」は「qa」とリネイムしてUPしました。このブログのURL/qa/です。
  • (5)URLをブラウザで叩き、表示に従ってインストールを完了する。

実は、上記でOKのはずですが、下記のエラーが・・・

Fatal error: Class ‘mysqli’ not found in /***/qa/qa-include/qa-db.php on line 66

あれれ?
エラーになりました。
エラーの原因を調べると、「ロリポップサーバの場合、管理画面からphpのバージョンを5.4にするだけでうまく行く」という記事があったので実行してみたのですが、実はphpのバージョンを5.4にしても10~15分は反映されないんですね。
なんでしょう。キャッシュでしょうか?
非エンジニアの私にはわからないのですが、最初焦りました。
結局、約15分後にはエラーが出なくなり、下記の画面が出てインストールはOKでした。

qa-1

その後、ようやくインストールを終えて、question2answerで質問サンプルを書いて、自問自答で回答を書いてみたのですが、なぜか送信が完了しなくなりました。
回答のSubmitボタンを押したら、砂時計代わりのローディングマークがクルクル回ったままです。
キャンセルも効かなかったのでブラウザを閉じたのですが、な、なんと同居するこのWordpressのブログがぐちゃぐちゃになってました。
こんな感じ・・。

qa-2

よく見るとその壊れたページの記述にPING送信関係らしき記述があったため、どうやら「smart-update-pinger」というプラグインが暴走し、タグを壊してページが崩れてしまったようでした。
しかもWordPressのログイン画面も崩れていて管理画面に入れない状態でした。

とりあえずwp-content/plugins/smart-update-pinger.phpというプラグインを無効にすべく、FTPでアクセスして(smart-update-pingerのフォルダの名前に1文字足して)リネイムしました。

それでHOMEの表示は戻ったのですが、下層の記事ページはNotFoundでした。
記事ページがNotFoundというのは、以前WPの動的パーマリンクを静的に変更した際、旧URLから新URLにリダイレクトしてくれる「Permalink Redirect Manager」というプラグインを入れているのですが、どうやらそれもおかしくなったのか、働いてないようでした。
Wordpressの管理ページにはアクセスできるようになったので、プラグイン設定のPermalink Redirect Managerの設定画面で、なにも変更せずに「設定ボタン」をクリックしたら表示が復活しました。

まったく冷や汗をかきました。

ただ、その後、自問自答でQuestion2Answerにて質問と回答をしていると、

Unexpected response from server – please try again or switch off javascript

というエラー(なぜかロリポの警告画面)が出まくりました。
これは、調べると、qa_page.jsの174行目にあるqa_ajax_errorのアラートでした。

ググると英語のフォーラムには見かけるのですが、回答の文章中にあったPHPファイル名(example.phpとか)の記述や、javascriptの記述に反応していたみたいで、それを書き換えたら保存できました。ひょうっとしたら投稿のデフォルトエディタをベーシックエディタではなくてWYSIWYG Editorにしておいたほうが(サニタイズされて)良いのかもしれません。
ただし、なにぶん非エンジニアな私なので、なにが原因かまだ把握できていません。

とりあえず、Question2Answerを検証中です。

2015.05.11追伸
q2a-google-mobile-theme-masterというモバイル(スマホ)テーマを入れてみました。
NoahYさん、Thank you!です。
ただし、そのままではちょっと不細工だった(失礼)ので、cssはカスタマイズしました。

« 1つ古い記事:

1つ新しい記事: »

Leave a Reply

Trackback URL

記事テーマと関係ないとか、リンクがない場合(一方的TB)、あとアダルトサイトは申し訳ないですが承認しませんので予めご了解ください。またrel="nofollow"つけてるので、SEOのリンクジュースが目的のコメント、TBは残念ながら効果が無いと思います。予めご承知おきください。