2015年01月15日

SOYのデータベース更新がうまくいかない

SOY1.4.1aしか使えない状況の中、
(今の最新は1.8.6)
不正アクセスがあったことで、SOY本体とSOYのルートフォルダの入替を余儀なくされ、
削除&新規インストールした後に、

sqlite版での簡易的なバックアップからの復元方法をとり、
SOY本体とSOYのルートフォルダ内のDBをバックアップから戻したものの、

SOYページ(テンプレート)を更新すると、
トップページ以外にサイト全ページが真っ白になってしまう事象が発生。



●rewiteがうまくいっていない?
●パーミッションの設定不備?
●必要ファイルの不足?
●新規インストールしたSOYとDBファイルの整合性?

ちょっと特殊な事情として、
いつものSOY sqlite版インストールのように
必要なフォルダをガバっとアップロードすると、
設定方法が悪いのか、正しく動かないサーバで、
サーバの管理画面からインストールする必要があることだ。

このことから、
●インストール後にDBファイルを追加すると、おかしなことになるのかも?

などと、いろいろ考えるも今は原因不明。
現在対処中。




最終手段はSOY内の設定(ページや記事など)を
アナログ的にバックアップして、
ほんとうの意味でのサイトを再構築するしかないが、、、
posted by CSSベースでのHTML(XHTML)レイアウト入門講座<polka> at 09:30 | Comment(0) | TrackBack(0) | SOY CMS | このブログの読者になる | 更新情報をチェックする

人気ブログランキングへにほんブログ村 デザインブログ Webデザインへ

2015年01月09日

サーバエラーとのバトル

クライアントのサイトにおいて、
●SOY CMS 1.8.3
●SOY INQUIRY 1.1.16
●PHP 5.3.3
の組み合わせで複数のサーバエラーが発生。
今は改善して、まもなく接続制限の解除申請を行うところまで来た。
(2015/01/09 既に解除済み)




●使っているサーバ、
●PHPのバージョン、
●PHPの初期設定、
●SOY CMSのバージョン、
●SOY CMSでの設定、
●稼動させているプラグイン、
●その組み合わせの相性、
などなど、
複数の要因が絡むので、特殊なケースかも知れないが、
整理も兼ねての覚え書き。




最初の問題発生は、以下の2点。
1)ページの表示が激遅になっていることと。
2)タイムアウト?による500エラーが頻発すること。




トップページの表示速度が約12秒と遅くなっている原因は
「SOY CMSを導入したこと」だと最初は思ったので、
クライアントと相談の上で、以下の高速化手法を立て続けにとる。

●CloudFlare(CDN)
●FirstCGI
●mod_pagespeed
●Etag設定
●mod_expires(キャッシュ設定)
●gZip圧縮

ちなみにサーバはXserverで、PHPのバージョンは5.3.3。

このころ「過剰負荷により接続制限をかけている」との連絡が
Xserverから来たと連絡が入る。
つまり、激遅だったのは、この制限によるものだった。
ここから、エラー解消に向けたバトルが始まる。




Xserver管理画面からエラーログを参照すると、
以下の2つのサーバエラーが発生していた。

SystemException in API_Linux.cpp:172:
(↑ アクセス集中したときに起きるエラーのよう)
Premature end of script headers:
(↑ 原因がわからなけれど、とりあえず問題が起きていることを示すエラーのよう)

ネットで「SystemException in API_Linux.cpp:172: 」を調べると
4、5ページほど同じエラーについて書かれたページに当たった。

ある方が、WordPressそのものを入れ替えてエラーが出なくなった、
と書かれていたけれど、今回のケースでは稼動中のECサイトでのことなので、
最終手段にしか使えない手と考え、他の方法を模索することにした。





各エラーの参照先は
同じディレクトリをいったりきたりしてできたような
実際には存在しない長いURLになっていて、
この「いったりきたり」が負荷過剰になった原因かもと予想。

もしかすると、SOY CMSが使う転送の仕組み(.htaccessのRewrite)と、
うまくかみあっていないのかも、と予想はするものの原因は特定できず。




SOY CMSのバージョンを1.8.3→1.8.6にアップデート
するも
管理画面が真っ白になって表示されず、いそぎ1.8.5に戻す。

一旦、問題解決のために、それまで施した高速化手法を全て外した後、
他の方がブログで紹介されているSOYルートサイトの.htaccessの記述で
Rewriteを「/」から始まるルートパスに置き換える。
<参考ブログ>
http://blog.netandfield.com/shar/2012/10/soy-cms-ocn.html

【旧】
RewriteRule ^(.*)$ index.php?pathinfo=$1&%{QUERY_STRING} [L]

【新】
RewriteRule ^(.*)$ /index.php?pathinfo=$1&%{QUERY_STRING} [L]

※「SOYでのルートサイト」以外の「SOYでのサイト」に上記を施すと
表画面がブラウザで表示されなくなった。




ここで、あらためてSOY CMSを1.8.6にアップデートする。
今度は管理画面が表示された。

ここまでの作業で、
エラーは「フォームのあるページ(SOY INQUIRY連動ページ)」に集中した。




そこで、
SOY CMS内に登録しているフォームページを削除し、新しく作りかえた。
このことで、データベースに残っていたかも知れない誤った記述がリセットされることを期待。

それと、SOY INQUIRYを
1.1.16→1.1.17へアップデートを行う。

すると、エラーが発生しなくなった。




そこから24時間後時点でもエラーがでていないことを確認し、
高速化手法を再度戻していく。

●CloudFlare(CDN)
●FirstCGI
の2つは使えた。が、

●mod_pagespeed
●Etag設定
●mod_expires(キャッシュ設定)
●gZip圧縮
を使うと、わけのわからない長いURLがでるエラーが復活してしまったので、
使わないこととする。




解消まで1週間ほどかかった。
年末年始を挟んでのことで、サイトへのアクセスが少ない時だったのが、
何よりの幸いだった。




あくまでも、今回のケースでではあるが、
まとめると、以下の4つの対処によりエラーは解消された。

1)SOYルートサイトの.htaccessの記述を一部変更(ルートパスに変更)
2)SOY CMSおよびSOY APPをアップデート
3)エラーが集中しているのSOYページを削除し、作り直す(登録し直す)。
4)高速化に使うのはCloudFlare、FirstCGIのみ。



特定箇所の問題、というよりは、
複合的な原因だったのかも。

厄介だったのは、一旦エラーが出だすと、
エラー前の状態に.htaccessを戻しても、
連鎖するようにエラーが出続けたことだ。

もしかするとCloudFlareの影響かでキャッシュが残り、
その古い情報とバッティングして
エラーが解消しにくい状況になっていたかもしれない、とか、

.htaccessの保存時か、
アップロード時の事故だったのか、とか、

さまざまに想像するが、
エラー連鎖が発生した時の効果的な対処はいまだにわからない。




今は収まっているので、様子を見ながら、
一旦取り下げた高速化にチャレンジする予定。




























posted by CSSベースでのHTML(XHTML)レイアウト入門講座<polka> at 09:03 | Comment(0) | TrackBack(0) | SOY CMS | このブログの読者になる | 更新情報をチェックする

人気ブログランキングへにほんブログ村 デザインブログ Webデザインへ

2014年10月09日

【SOY CMS 覚え書き】imgの呼び出し方変更 v.1.7.3以前→v1.7.4以降

画像の呼び出し方について。

v.1.7.3以前からSOY CMSを使っている場合
結構大きなSOYタグの変更。

テンプレートで画像呼び出し使っているときは要注意。
バージョンアップしたら画像が表示されない! なんてならないように、
事前の準備要!!!


v.1.7.3以前(だったと思う)は
<img src="<!-- cms:id='**********' /-->" />
とか
<!-- cms:id="**********" --><img><!-- /cms:id="**********" -->
でOKだったけれど、

v.1.7.4以降(だったと思うは
<img>内に剥き出しでcms:id="**********"を書き込むようにする。
例:
<img cms:id="**********" />


その他、1.7.3以前→1.7.4以降のバージョンアップで画像関連の注意(結構あせる)

1)jQueryでスライドショーをしていて、スクリプト内に
カスタムフィールドの画像を呼び出しをしているときは、
本文(cms:id="content")に画像のパスを記述して、本文呼び出しに変更して回避。
タグの中でにしか、cms:id=""の呼び出しが反応しなくなっているようなので、
スクリプトと連動させている場合は要注意!

2)<img>内に記述しているジャバスクリプト(onload)が正しく認識されず、画面上に残骸が表示された。
記述をから消して、jQueryで指定して動かす方が無難そう。
※カスタムフィールドの属性指定でonloadを入れて使ったら、もしかするといけるのかも??

3)カスタムフィールドの画像登録で「http://******.**.**」から始まる絶対パスで登録している場合は、
「/」で始まるルートパスに変える必要があるかも。
→記事編集画面で「http://******.**.**/http://******.**.**/画像のパスはありません」的な警告がでる。
※バージョンアップ後に新規に登録した記事だと、画像カスタムフィールドには絶対パスで登録(表示)されていたので、もう一度画像をアップロードする方法もいいかもしれない。



posted by CSSベースでのHTML(XHTML)レイアウト入門講座<polka> at 10:12 | Comment(0) | TrackBack(0) | SOY CMS | このブログの読者になる | 更新情報をチェックする

人気ブログランキングへにほんブログ村 デザインブログ Webデザインへ

2014年10月08日

SOY CMSのいいところ

更新できるホームページ(CMSサイト)、といえば
WordPress(WP)かMovableType(MT)を使われていることがほとんど。

特にWPは無料で使えるオープンソースで、
事実上のスタンダード。
ちょっと気になるページのHTMLソースを見ると、だいたいがWP。

WPもしくはMTどっちかあったら、もういいじゃん。
という意見は全く以てごもっともなのだけれど、
当方はSOY CMS(ソイシーエムエス)という、
京都の企業が開発しているオープンソースをよく使っている。

WPを使っているお客様にも、
鼻息あらくSOYにしましょう、とすぐに迫る。
(変えて頂いたお客様にはわかりやすいと好評)





当方が思うSOY CMSの特徴は、主には以下の4つ。
1)管理や更新の方法がシンプルでわかりやすいこと。
2)静的HTMLが8〜9割テンプレートとして使えること。
3)サイト用フォルダをまるごとアップロードするだけで復旧できること。
(sqLite[エスキューライト]と呼ばれる簡易データベースを使っている場合)
4)既存サイト(静的HTMLによるサイト)にCMS機能追加がやりやすい。
(WPだと、例えば新着情報を更新できるようにするだけでも、
かなりがっつり入れ込む感じになってしまう)






WPは本体のバージョンアップごとに
不具合起こらないだろうか、と使っているプラグインにひやひやするし、
PHPの理解があれば別だろうけれど、
対応できないことに、しばしば出くわすことを考えると、SOYのシンプルさは楽だ。
(最近あったWPの不可解な不具合は、何度テーマを管理画面で指定しても、
存在しないdefaultテーマに戻ってしまい、表画面が真っ白になることだった。)




短所だな、と思うところをつらつら書いていくと、

増えてきたとはいえ、動作条件があわないサーバもある。
サーバを変更して頂くことが難しい場合、諦めなくてはいけない。

WPやMTと比べると、用意されていない機能も多いには多い。
が、
jQueryを要所要所でつかうことで、ある程度ではあるが補完できる。
というより、SOYを使う上で、jQueryは必須になると思う。
(このことで仲間達からは、エェェ〜と必ず返される)






千、万とありそうなWPのプラグインからすると
SOYプラグインは20〜30位?で数でいえば貧弱だ。

ほぼ本家だけで開発されているプラグインは、
当然ながら代替がない。これも短所といえるだろう。

ただ、サイト運営でよく使うものは揃っているし、不足を感じたことはない。
場合によっては、すごい数で配布されている、
jQueryライブラリで近しい機能のものを探して導入するだろうし。





ブログのカテゴリ親子が擬似的にしか作れないので、そこは工夫がいるところ。
(ブログとしての機能は、WP・MTの方が随分上のように思う)
けれど全体的に、サイト構築に必要なルールはシンプルで、組み合わせの自由があり、
HTMLのコメントタグでSOYタグを書くので、
仕上がりをローカルですぐに確認できるところは非常に効率的だ。
(実際はHTML全体の8〜9割程度の確認になる)

サーバで動作させなければ、出力される画面がどうなるか分からないなんてこともなく、
jQueryの動作含めてほぼほぼローカルで確認でき、直感的な感じで作業を進められるので、
企画やデザインに関して、大きなアドバンテージだと感じる。






WPやMTの方がつぶしが聞く。
今や世界的なCMSとなったWPは、なくなる心配も少ない。
制作をこれから始めるぞ、というような人にはWPやMTを勧めるだろう。
裾野が広いWPやMTは、サイト運営側にとってもリスク分散にも繋がる。

SOYは参考となるようなページが少なく、参考書籍なんて皆無なところが痛い。
(本家のマニュアルページや開発ブログ、フォーラムが頼り)
WPやMTで十分以上いけるのに、
よくわからない他のCMSを使うのは学習時間の無駄といえるかもしれない。






当方自身、友人からの働きかけがなければ、
存在を知るのに時間がかかったことだろうし、未だ導入しなかっただろう。
(肝心のその友人は、ばりばりのWP派というオチはあるけれど^.^;)

が、
それらのマイナス要因をかき消すだけの魅力を
今のSOY CMSに感じる。

WEBサイトの制作、とくに運営において、
●デザインを優先させたい。
●企画をどんどん盛り込みたい。
●臨機応変でかつ柔軟に変化、成長させたい。
と思うなら、SOY CMSはよい選択になる思う。




posted by CSSベースでのHTML(XHTML)レイアウト入門講座<polka> at 10:05 | Comment(0) | TrackBack(0) | SOY CMS | このブログの読者になる | 更新情報をチェックする

人気ブログランキングへにほんブログ村 デザインブログ Webデザインへ

×

この広告は90日以上新しい記事の投稿がないブログに表示されております。