美川の山里暮らし

還暦を過ぎ、岡山県南西部の山間地で文明の利器を活用しながら田舎生活を満喫したいと思っています エジソン君の絵

WP-DBManager プラグインの使い方

Filed under: WordPress — タグ: , , — daii @ 7:43 PM
2010年11月15日

WP-DBManager はデータベースを簡単にバックアップできるプラグインです。データベースの最適化、復元、バックアップ、修正、削除、自動実行スケジュール等の機能があります。

作者のサイトは次です。WP-DBManager Ver.2.5 WordPress 2.8用に作られています。
http://lesterchan.net/portfolio/programming.php

WP-DBManager Ver.2.20 日本語版は次の所にあります。
http://wp.mmrt-jp.net/files/plugin/wp-dbmanager-2.20-ja.zip

WP-DBManagerのインストール方法

作者のサイトからWP-DBManagerをダウンロードして解凍します。日本語対応にするには、WP-DBManager 日本語版をダウンロードして解凍します。wp-dbmanager.pot と wp-dbmanager-ja.mo を使用します。

wp-content/plugins/にダウンロードしたwp-dbmanagerフォルダ毎アップロードします。そして、プラグインの画面でWP-DBManagerを有効化します。後は、メニューのデータベースで設定します。

XreaやCoreserverでWP-DBManagerを使用する場合の注意点

デフォルトでPHPがセーフモードで実行しますので、動作を重視してWordPressをCGIで実行した方が良いでしょう。まず.htaccessに以下の内容を追加して、WordPressのルートに転送します。

AddHandler application/x-httpd-phpcgi .php

次にWP-DBManagerを有効化します。すると、サーバー上にwp-content/backup-dbが作成されます。左下の「データベース」をクリックします。

mysqldumpのパスが自動で取得できないエラーが出ているはずです。「DB オプション」で次のパスを入力します。

mysqldumpのパス: /usr/local/mysql/bin/mysqldump
mysqlのパス: /usr/local/mysql/bin/mysql

DB自動最適化がとても便利です

WordPressを使っていると突然データーベースが不具合になることがよくあるようです。この場合、データーベースの最適化をやらないと直らないものです。これを自動的にしてくれるのがこのプラグインです。また自動的にバックアップをしてくれるのも便利です。

スポンサーリンク

WordPressブログをルートからサブディレクトリに移動する方法

Filed under: WordPress — タグ: , , , — daii @ 1:10 PM

私は今まで、WordPress のブログをドメインのルートディレクトリに作っていました。しかし、このままだと、ルートファイルがゴチャゴチャして見にくいのです。また、将来ホームページスペースとして使う場合にも使いにくいのです。

そこで、ブログをルートからサブディレクトリに移動することにしました。ブログはMySQLというデーターベースを使っています。この為、ブログの移動はホームページの移動のように簡単にはできません。やり方を間違えるとブログが消えてしまうことが考えられます。

まず、ブログのデーターベースのバックアップをします。これは、Coreserver の管理画面でデーターベースの保存をします。public_html のひとつ上の階層に mysql_.**********.dump という18MB程度のファイルができました。

次にブログの管理画面のツールから、データーのエクスポートをします。これはパソコンの中にデーターをダウンロードします。wordpress.2010-11-15.xml のようなファイル名で500kB程度のファイルでした。

念の為に、ワードプレスのフォルダもFTPソフトでミラーリングダウンロードしておきます。画像ファイルは、これでダウンロードできます。

ブログをサブディレクトリに移動する手順は次の所にもあります。

http://wpdocs.sourceforge.jp/Giving_WordPress_Its_Own_Directory

ここでは簡単にできるように書いてありますが、実は色々な所でつまずきます。自信がない人はやめた方が良いでしょう。私もさんざん迷いましたが、結局やってみることにしました。次に私が経験した方法を記述します。

ルートディレクトリにインストール済みの場合に root/wp/ に移動する方法

WordPress をルートディレクトリにインストール済みの場合、WordPress ファイルを専用ディレクトリwpへ移動するには次のようにします。

ブログの管理パネルで 設定 > 一般設定パネルを開きます。WordPress のアドレス (URL)欄を、新しい WordPress の URL に変更します。

WordPress のアドレス (URL): http://hogehoge.com/wp

ブログのアドレス (URL)欄も、新しい WordPressの URL に変更します。同じにした方が後々問題がありません。

変更を保存(Update Options)をクリックします。 (この時点でエラーメッセージが出ても気にしません)

WordPressファイルを、作成した新ディレクトリ(WordPress address)へ移動します。ここでは、コピーでなくて移動します。

WordPressディレクトリの index.php ファイルをテキストエディタで開きます。次の修正を行ない、ファイルを保存します。
修正前:require(‘./wp-blog-header.php’);
修正後:require(‘./wp/wp-blog-header.php’);

新しい URL からログインします。例、http://hogehoge.com/wp/wp-admin/

パーマリンクを設定している場合、パーマリンク設定パネルを開き、パーマリンク構造を更新してください。.htaccess に適切なパーミッションを設定してあれば、WordPress が自動で .htaccess を更新します。

これだけではありません。各フォルダやファイルのパーミッションの見直しをしてください。また、テーマの中のPHPファイルを変更している場合はこの中のアドレスの変更も必要です。

ページの永久移転の設定

http://hogehoge.com/ からhttp://hogehoge.com/wp/ へ移転したので、今までのアドレスのままでも転送して表示されるようにします。ルートのhtaccessファイルに次の行を追加します。私は追加ではなく、この2行だけにしました。

RewriteEngine on
RewriteRule ^(.*)$ /wp/$1 [L,R=301]

このままでは永久ループの可能性があるので、hogehoge.com/wp/のディレクトリのhtaccessファイルに次の行を追加します。

RewriteEngine Off

永久ループしない安全な方法は、ルートに index.php ファイルを作って、内容を次のように設定します。つまり、/wp/へ転送するだけです。この場合はhttp://hoge.jp/にアクセスがあった時だけ/wp/へ転送されます。直接ブログの中にアクセスがあっても転送はされません。

<html>
<head>
<meta HTTP-EQUIV="Refresh" CONTENT="0;URL=http://hoge.jp/wp/">
</head>
</html>

画像を表示するように変更する方法

このままでは画像が表示されないので、次に画像を表示するように変更します。画像はhttpからの絶対アドレスになっています。

先程、ブログの管理画面のツールから、データーのエクスポートをした、データーwordpress.2010-11-15.xml の内容をエディターで修正します。エディターはTeraPadのようなutf-8の文字コードに対応したものを使います。メモ帳ではできません。

修正する内容は次のように置換を行ないます。
http://hogehoge.com/ を http://hogehoge.com/wp/ に置換します。

次にブログの管理画面の投稿から、投稿を全て削除して、ゴミ箱からも削除します。これをしないとデーターの上書きができません。カテゴリーも削除した方が良いのかも知れません。私はカテゴリーを削除しなかったので、カテゴリーが2重に登録されました。

次にブログの管理画面のツールから、データーのインポートをします。これでたぶんうまくいくはずです。

WordPressのデーターベースが不具合です

Filed under: WordPress — タグ: , , — daii @ 8:24 AM

私が使っているcoreserver.jpが突然不具合になり、2日程前からワードプレスのブログが真っ白に表示されるようになりました。ワードプレスを daii.jp から daii.jp/wp/ に変更したばかりだったので、それが原因かと思いましたが違うようです。

コアサーバーの PhpMyAdmin にログインしてデーターベースの状態を見ると、「INDEX というキーがカラム`comment_approved` に複数作成されました。」というエラーが表示されています。これを削除してやるとエラーは消えましたが、ブログは表示されません。

ワードプレスのルートのhtaccessファイルに

AddHandler application/x-httpd-phpcgi .php

と記述してセーフモードのPHPをCGIで動かすと、次のようにheader.php のXML宣言がエラーになっていると表示されました。

<?xml version="1.0" encoding="utf-8"?>
php_flag short_open_tag Off

が無効になっているようです。仕方がないので、XML宣言を次のように書き換えると、ブログがやっと表示されました。

<?php echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; ?>

スタイルシートが効かないのと、画像が表示されないのを除くと、一応使えるようです。コアサーバーの復帰を待つしかありません。エクスレア、コアサーバーのサポートボードはメンテナンス中となっていて表示されません。困ったものです。

スポンサーリンク

Javascriptで画像をランダムに切り替えて表示する方法

Filed under: Home Page — タグ: , — daii @ 2:58 PM
2010年8月29日

ホームページのJavascriptで画像をランダムに切り替えて表示する方法を試行錯誤していましたら、うまく表示できるようになったので紹介します。ページにアクセスする毎に画像ファイルが違ってなかなか良い感じにすることができましたが、私はPHPの方を使っています。

前回はPHPでしたが、PHPの使えない環境では、Javascriptを使って同じような動作をさせることができます。

<script type="text/javascript">
<!--
var max_no = 3; //画像の最大数
var rand_no = Math.floor(Math.random() * max_no);

if(rand_no == 0){
document.write('<img src="http://hogehoge.jp/***/img1.jpg" alt="img1の代替テキスト" title="img1の説明" />');
}
else if(rand_no == 1){
document.write('<img src="http://hogehoge.jp/***/img2.jpg" alt="img2の代替テキスト" title="img2の説明" />');
}
else if(rand_no == 2){
document.write('<img src="http://hogehoge.jp/***/img3.jpg" alt="img3の代替テキスト" title="img3の説明" />');
}//-->
</script>
<noscript><img src="http://hogehoge.jp/***/img1.jpg" alt="img1の代替テキスト" title="img1の説明" style="margin:0" /></noscript>

Javascriptでは画像の数に応じて、セットする画像の枚数を設定してから、PHPの時と同様に、画像の情報を記録した行を追加してやります。

JavascriptではJavascriptが使えない環境にも配慮する必要があります。noscriptタグで表示する画像を指定します。

« Newer PostsOlder Posts »

Powered by WordPress