自動アップデートでのトラブル

 WordPress3.0.4にするため、自動アップデートをしたら、「最新のバージョンをインストールしています…」のところで止まってしまった。

 その後、どのページにアクセスしても、「予定に基づいたメンテナンスを行っているためしばらくの間ご利用できません。少し間をおいて再度確認してください。」というメッセージが表示されるのみ。

 これは、メンテナンスモードが有効なままになっているからのようだ。

 再インストールかと思ってうんざりしたが、WordPress下に作成された「.maintenance」ファイルを削除すると、メンテナンスモードが解除された。

 今回は、アップデート自体は完了できたようなので、これだけで無事解決。

サーバーを引っ越した

契約更新のタイミングで、XREA + から、CORESERVER に引っ越した。XREA + では、wordpressのバージョンアップが面倒で、2.9のままで放置していたのだが、いいタイミングなので、新サーバーに3.0の新しいwordpressをアップロードした。

プレーンなwordpressを新サーバーにアップロードした後、phpMyAdminを使ってデータベースをインポート。

ドメインを、旧サーバーに向けていたものを、新サーバーに向けて、引っ越し終了。

さすが、wordpressの引っ越しも慣れてくると手早いねえと満足していて、ついうっかり面倒な事をやってしまった。XREA +のサーバーも予備用としてキープするつもりなのだが、有料から無料にすると、容量が50MBまでしか使えなくなってしまう。それで、サーバーの中身を整理するつもりで、いらないファイルを削除していたのだが、その流れで、/public_html/log の中身を一瞥して、「ここのログ見ないし、削除」ということで、中身を全部削除したのだ。実は、phpMyAdminとかのデータも全部ここに入っていたのに。しかも 、消すつもりだった旧サーバーではなく新サーバーの方を削除してしまったのだ。アクセスできなくなって初めてこの事態に気がついた。しょうがないので、CORE SERVER 管理画面から、再インストールするも、アクセスできず。訳がわからず、データベースを削除して、また新規に作成(←この動きは全く意味がないどころか、余計な仕事を増やしてしまった)。

時間を置いて、何度アクセスしても、エラーメッセージが出るので、違うブラウザでやってみると、ベーシック認証まで聞いてくる始末。こんなこと今まで一度もなかったので、どうも、phpMyAdmin 以外にも大事なファイルを削除してしまったような気がした。それで、思い当たるパスワードを入れて、何度目かでアクセス成功。phpMyAdminにも無事アクセスできるようになりました。

一時は、もう手に負えないと思って、別のサーバーに移ってしまおうかと思ったのだが、いいサーバーの空きがなくて、というか、今回たまたま取得できたサーバーはかなり良さそうなので、引っ越すのが惜しかったのだ。もう満員で、このサーバーの別アカウントを取る事もできなかったわけで。それで、なんとかならないかと試行錯誤した訳なのだが、今にして思うと、大事なファイルを削除したというよりは、やっぱり時間の問題だったような気がする。じっと待っていれば、使えていたのではないかなと。

CPIでWordPress

クライアントのCPIサーバーにWordPressをインストールする。たしかここは、PHPに対する扱いが面倒だったような気がしたので、.htaccessファイルが自動で追加されるのを期待して、コントロールパネルからインストールしてみる。インストール自体はうまくいったが随分と古いバージョンだったので、上書きで2.7Jをインストール。すると、文字化け。軽くググってみたら、CPIでWordPressをやるのは結構厄介?

あと、utf-8にしたphpMyAdminでテーブルを削除できないのだが、ja-eucに変更してからだと削除できる。

ここを参考にphp.iniを作成する。コントロールパネルの【お客様情報】から、【プログラムのパスとサーバの情報】の下の方にある使用するPHPと同じバージョンのphp.ini情報をコピーして、下記の記述を修正する。

mbstring.internal_encoding = utf-8
mbstring.encoding_translation = Off
mbstring.http_input = auto
mbstring.detect_order = auto

ァイル名を【php.ini】として保存して任意のディレクトリにアップロードする。(secureなディレクトリが良)

次に、php.iniの設定を反映させるため、php.ini の設置場所を指定した一行を記載した.htaccessを作成する。これにより、下位ディレクトリ全体にPHPの独自設定を反映させる。

suPHP_ConfigPath /usr/home/(ユーザーID)/secure/(ディレクトリ)/

これで、utf-8のPHPが指定したディレクトリで動くようになり、wordpressの文字化けも解消した。phpMyAdmin が ja-euc のままだったが、文字化けにならず、念のため utf-8 にした後も問題なく動作した。

カテゴリー表示のカスタマイズ

WordPressのデフォルトでは、カテゴリーメニューをクリックすると、そのカテゴリーの記事がズラっと表示され、一定数を超えると複数ページになる。これだと、必要な記事も探しづらいので、カテゴリー内のメニューを作ることにする。

まず、プラグインの Custom posts per page (現在は配布していないようです。追記:09.12.26) をインストールする。このプラグインは、1ページに表示される投稿数を[‘home’][‘day’][‘month’][‘search’][‘year’] [‘author’][‘category’]など項目別に指定することができる。これを用いて、カテゴリーメニューを、1ページで全部表示するように設定する。

次に、category.php(または archive.php など)をカスタマイズする。テーマによっては、category.phpが存在しない場合は、index.php などをベースにして、新しくcategory.phpを作成すれば、カテゴリーをクリックしたときに表示するページになる。

カテゴリーを選ぶと、以下の順番でテンプレートを読み込んでいくので、個別に指定をすれば、カテゴリーの中でも表示を異なったものにすることができる。

  1. category-x.php (← “x” 部分はカテゴリ ID)
  2. category.php
  3. archive.php
  4. index.php

今回は、category.phpを新規に作成する。ループ内にタイトルと日付をリストで表示させた。

<ul>
<li>
<a href=”<?php the_permalink() ?>” rel=”bookmark” title=”Permanent Link to <?php the_title(); ?>”><?php the_title(); ?></a>
<br /><?php the_date(”); ?>
</li>
</ul>