MySQLデータベースを自動的に最適化させてみます…

データベースが不調でサイトにすら接続不能…てことで半年ほど前に解決させたんですが、このところ頻繁に発生するようになって困っていました。その頻度はもう2日から3日。もう手動で解決なんてらちがあきません…。

原因はMySQLデータベースのテーブルに発生するオーバーヘッドということだそうです。そこでグーグル先生に助けを求めることに。

すると2種類の解決方法を見つけることができました。

  • サーバーのcron機能を使って定期的にデータベースの最適化を行う。
  • WordPressのプラグイン「WP-DBmanager」を使って定期的にデータベースの最適化を行う。

具体的な設定方法をいかにまとめてみました。もちろん私の備忘録としてなので過不足があるかもしれません 😳

続きを読む MySQLデータベースを自動的に最適化させてみます…

ピンバックが飛んでないようでした

先日、『Twitter Tools日本語版を作りましたが…』という記事を書きました。このとき Eternal-tear さんの記事へのリンクを張ったんです。私のところも Eternal-tear さんのところもWordPressを使用しているので、トラックバックを利用しなくてもピンバックが飛ぶはずなんですがなぜか飛んでいません。そのときはさほど疑問にも思わずトラックバックをしておくことにしました。

で、たまたま私のブログにピンバックが飛んできていたんです。そこで疑問が。他の人のピンは飛んでくるのに自分のピンはなぜ飛ばないのか、と。もしかして使っているXREA特有の問題かぁ?…ということで早速Googleで検索。そこで目にとまったのが次のサイトです。

このサイトの情報によると

どうも、 /wp-includes/cron.php の中の タイムアウト設定が 0.01 秒とかになっているから失敗しているとのこと。

リンク先は、WordPress 2.6.2 の情報なのでWordPress 2.7 はちょっと違う。

ということなので、この記事を参考に /wp-includes/cron.php 内の spawn_cron( ) 関数の中にある

	wp_remote_post($cron_url, array('timeout' => 0.01, 'blocking' => false));

というところの “0.01” の部分をとりあえず “3” に変更。さてパンバックは飛んでくれるのでしょうか…?

[追記]
…あ、でもトラックバックとかは飛んでるから上の変更はしなくて良いのかも…。

[更に追記]
めちゃくちゃ初歩の設定が抜けてました。ディスカッション設定で自動的にピンバックを送るようにしてませんでした。
目次/投稿・コメント・トラックバック – WordPress Codex 日本語版読むまで気付かなかった。なんて凡ミス(>_<)

XREAサーバーでのプラグイン自動アップグレード

WordPressがバージョンアップしてからプラグインが自動でアップデートできるようになっていました。早速試してみたのですが、

SAFE MODE Restriction in effect.

というWarningが出て最終的に自動アップデートが出来ない状態でした。XREAサーバー特有のセーフモードの影響というものです。

早速対策を…ということで、.htaccessでCGIとして動くように設定することにしました。…が、どのファイルをターゲットにして良いのか分からなかったのでググってみたら早々に出てきました。

/wordpress/wp-admin/フォルダ内に次の内容を書いた.htaccessをアップロードしてやればOKだそうです。

<file update.php>
AddHandler application/x-httpd-phpcgi .php
</file>

ちなみにうちのブログではupload.phpとプラグインのiimage-browser.phpも同様に動作しているので

<file upload.php>
AddHandler application/x-httpd-phpcgi .php
</file>
<file iimage-browser.php>
AddHandler application/x-httpd-phpcgi .php
</file>
<file update.php>
AddHandler application/x-httpd-phpcgi .php
</file>

となります。

XREAサーバーを使っていてプラグインの自動アップデートが出来ない…とお困りの方、参考になれば幸いです(^-^)

情報は次のサイトを参考にさせていただきました。

インターネットって困ったときには大助かりですね、やっぱり(^-^)

IImage-Browserを使ったWordPressのファイルアップロード(for XREA)

前回、画像をブログ上に貼ってみました。でも実は少々手こずってしまったんですよね……。

手こずったのはファイルのアップロード。WordPressにはファイルのアップロード機能がデフォルトで付いています。その機能を使ったところ、ファイルのアップロードができなかったんですよ。uploadsフォルダに保存するようになっているんですが、そこに書き込む権限がないと怒られるんですよ。

最初に考えつくのはパーミション。ということで707に替えたんですが無理でした。で、最適なパーミションはいくつかググってみたんです。するとパーミションとは異なることが原因という記事を見つけたんです。

続きを読む IImage-Browserを使ったWordPressのファイルアップロード(for XREA)

Admin-SSLを使ったXREAでのSSL通信

先日『Admin-SSLが使えない』で紹介した現象ですが、Admin-SSLをデバッグしながらネットサーフィンしていると解決に近づく書き込みを見つけました。その発端はWordPress関連ではなく『Drupal』というツールに関するフォーラムです。

原因はXREAでのSSLが相対パスでのPOSTがダメらしいです。対策としては絶対パスでのリンクがダメなようです。

XREAでのSSL通信について | ≡ Drupal Japan ≡』ではこう記載されていました。


しかし、ブログを書いたり、テーマを変えたりするとエラーがでます。

…(中略)…

https://ss1.xrea.com
       /webcom.s151.xrea.com/test/admin/themes
⇒ http://test/admin/themes

にアクセスしてしまうようです。

…(中略)…

おそらくPOSTするとエラーになるということだと推察しますが、これは”form”タグの”action”属性が相対パスになっているため、XREAではNGのようです。
(http://sb.xrea.com/showthread.php?&threadid=6646 を参考にしました。)

対策として、絶対パスでPOSTすることが考えられますが、この場合、以下のような改造でうまく行くのではないかと思います。

また『安全な通信をサポートするSSLの追加について – XREA&CORE SUPPORT BOARD』では、


○運用上の注意事項

 ・URL自体が変わりますので、パスを変更する必要があります。
  https://ss1.xrea.com/sample.xrea.jp/ssl.html
  から
  https://ss1.xrea.com/sample.xrea.jp/1.html
  へ移る場合、
  <a HREF=”1.html”> –> 相対パスでのリンクはOK
  <a HREF=”/1.html”> –> NG
   https://ss1.xrea.com/sample.xrea.jp/1.html ではなく
   https://ss1.xrea.com/1.html にアクセスしてしまうため。
  <a HREF=”http://sample.xrea.jp/1.html”> –> NG
   SSLではないURL:http://sample.xrea.jp/1.htmlでアクセスしてしまうため

 ・SSL通信に対応していない外部の画像を読み込んでいる場合は
  セキュリティ警告が出るため、不必要な読み込みは削除する必要があります。
  例:https://ss1.xrea.com/sample.xrea.jp/ssl_img.html

 ・代替サーバーを介するため、REMOTE_ADDR,REMOTE_HOSTが取得出来ません。
  REMOTE_ADDRの代わりに、HTTP_X_FORWARDED_FORを使って下さい。
  REMOTE_HOSTはHTTP_X_FORWARDED_FORのIPアドレスを逆引きして下さい。

 ・無料アカウントで利用する場合は、広告が必要であるためフレームを使う等で工夫する必要があります。

さて、対策方法は分かったのですが、肝心のAdmin-SSLのさわりどころが分かりません(ToT)
結局デバッグしながら該当するところを探すしかないんでしょうねぇ…。

PHPの関数もほとんど知らない身としては宝の持ち腐れな情報のような気がします……。