Atelierで“PHP”タグの付いているブログ記事

2010年4月17日

隠居のパソコン備忘録:アクセス解析サービス(Research Artisan Lite) の導入について(続)

 フリーのアクセス解析サービスResearch Artisan(RA) が5月の下旬で終了になること、「リサーチアルチザンライト(Research Artisan Lite) (RAL)」というソフトがオープンソースとして提供されており、それの導入に挑戦をしてみたことを前回のエントリーで書いた。

 RAのサービスで便利だったのは「メール送信」というサービスである。前日または前月あるいは選択した期間でのアクセス内容をメールで知らせてくれるサービスである。RALでも、「メール送信」を設定することができることになっている。インストール画面に、設定画面があるので、これに従えばよくて、Outlook などのメールボックス設定が自分でできる人では、それほど難しくはない。ただ、これだけでは手動で「メール送信」ができるだけである。

 例えば、毎日、前日のアクセスを翌日に定期的にメール配信する設定は、RAの場合のように簡単ではない。自動的にプログラムを実行する仕組みの cron というものを設定しなければならない。今までにやったことはない。設定の方法については、インストール・マニュアルにあるが、Web 関連の言語をある程度知っている方を対象にしてあるので、なかなか理解が難しい。この cron は、PHP というスクリプトで書くのであるが、PHP というのも Movable Type のエントリーは拡張子は php となっているがよく分かっていない。
 cron の設定は、レンタルサーバーの XSERVER に用意されている。ここでマニュアル通り設定してみたが、うまくいかない。幸い、サポート・フォーラムという掲示板があり、ここに質問を出すと、管理人の ossi さんという方がど素人の老人に丁寧に答えてくれた。私の借りているサーバー XSRVER では、PHP のバージョンが、php5 でないと駄目らしい。まず、インストールガイドの該当部分を以下のように変えた。XSERVER ではドメイン毎に PHP のバージョンを変えることができるが、これだけでは上手くいかない。
 /user/bin/php  → /user/bin/php5

 だが、エラーメッセージは出なくなったが、手動では届いているメールが、自動(cron)設定では「サイトアクセス状況」のメールが届かない。その原因は、ossi さんによれば、データベースのMySQL に、メール設定を保存するテーブル(ra_mail)にデータが保存されていないではないか(id=1で、メールアドレスのfromとto、smtpサーバーとポート番号が正しく登録されているかどうか)ということだ。指示のあったMySQL の中味を確認するソフト phpmyadmin で確認するとid の数字がおかしかった。( id の意味がよく分かっていないが)リセットの方法がよく分からなかったので、作成したばかりのデータベースを削除し、初めから作りかえた。これで、指定した時間に「サイトアクセス状況」のメールが配信されるようになった。

 この cron設定は、RAL では1週間毎の指定ができるので、これに切り替えようと思っている。5月28日までは、RARAL の二本立てがができるので、RA がなくなるまで、実験的に続けたいと思う。

 

2008年6月22日

隠居のMT4.1 バージョンアップ備忘録

 MT3.35 から MT4.1 へ「小粋空間」さんの「Movable Type 3 から へのアップグレード方法」を参考にアップグレードした。一見上手く成功したと思ったが、コメント入力での認証などで不具合が出て丸1日くらい調べてみても対処の方法が見つからなかった。

  MT3.35 を引きづりながら、素人があれこれいじっても時間ばかりかかるので思い切って 「小粋空間」さんの4.1 用(XHTML 1.0 Strict(utf-8 版):スタイル対応版)のテンプレートセット(この言葉も 4.1 から初めて使われている)に切り替えることにした。

 MT3 からは全面的に改定されているので、新しい構成や言葉になれるのが大変である。
 「Movable Type 4.1 テンプレートセット(スタイル対応版)」の設定方法に従ってインストールしたが、多くの問題に遭遇した。(している。)

 忘れないうちに(もう忘れていることもあるが)、遭遇した問題と対処したことがらを備忘録として思いつくまま記録しておきたい。

 
  •   問題:MT3.35 では、ファイルを php としてきたが、MT4 での設定がよく分からない。
    対処:我楽さんの「Movable Type 4.0 新規インスコ覚書」を参考にというかそのまま利用させてもらって、ファイル名を書き換えた。
  •   問題:メインページから、(例えば最近のエントリーのリストから)アーカイブページが開かない。また、MT4 から MT3 では Plugin で対処していた Preview 画面がディフォールトで編集画面の「確認」ボタンで用意されているが、 Preview 画面が表示されない。
    対処:「ブログの設定」→「公開」→「公開に関するオプション」の公開方法で「アーカイブのみダイナミックで構築する」を選択する。
    原因推定:MT3 のときから、php化をしていたからと思われる。なお、このことによって、ファイルの再構築が劇的に速くなった。
  •   問題:FFFTP で確認しても投稿したファイル名が見えない。
    対処:「ダイナミックパブリッシング」の理解が十分でなかった。「小粋空間」さんの「Movable Type の再構築を不要にする「ダイナミック・パブリッシング」(その1:概要)」を読んで納得。
    注意点:リンクするページのURL特定は、「ブログ記事あるいウェブページの編集」での公開にある出力ファイル名でする。
  •   問題:右サイドメニューのカテゴリの中身が空白となる。
    対処:HTML 記述部分に、<MTTopLevelCategories > テンプレートタグを挿入。詳細は、「小粋空間」のエントリー「カテゴリーアーカイブで全サブカテゴリーリストを表示」を参照。
  •   問題:「小粋空間」さんのテンプレート・セットでは、「Category」「Recent Entries」 などは折りたたみやツリー表示になっていない。
    対処:「小粋空間」さんのプラグイン:サイドメニューの折りたたみ (V4.0) を導入。基本的には、MT3.35 のコードを利用して、テンプレートモジュールの「サイドバー2」 の既存のコードと置き換える。
    注意点:スタイルシートへの追加項目が忘れがちである。
  •   問題:MT3.35 では、[Kinarie&May]さんのフラッシュカレンダーを愛用してきたが、アーカイブテンプレートに設置するXML ファイルの設置方法がよく分からないので、「小粋空間」さんのテンプレート・セットのカレンダーを使うことにしたが、月送りできず十分ではない。
    対処:プラグイン:「Ajax 月送りカレンダー(MT4版)」を導入。
    注意点:「デザイン」→「テンプレート」→「アーカイブテンプレート」→「ブログ記事リスト」を選択し、アーカイブマッピングの「新しいアーカイブマッピングを作成」をクリックして、「日別」を選択して「追加」をクリックしておかねばならない。
  •   問題:私は、スタイルとして two-column-liquid-right を使っているが、画面の解像度を 1024x768 にしていても機種によっては、右サイドメニューと本文部分のカラムが重なるようである。
    対処:「小粋空間」さんのテンプレート説明エントリーの下の方にある FAQ を参考に、スタイルシートをいじって修正した。
    注意点:友達などのPC でうまくいっているか確認してもらう必要がある。
  •   問題:MT3.35 ではCategory 表示順を「藤本壱」さんの cutfirstchar のプラグインを利用して、カテゴリー名の頭に3桁数字をつけて表示順を決めてきたが、MT4 では上手くいかない部分がある。
    対処:カテゴリー名の頭3桁の数字を外した。表示順は、数字→英語→ひらがな→カタカナ→漢字の順となるが、あまり違和感もないので当分この表示でいくことにした。
    展開:「藤本壱」さんが、「カテゴリーとフォルダを並べ替えるプラグイン(MT4以降用)」のカスタマイズを発表されているので、これを導入するつもりである。
  • 問題:MT3.35 ではインデックス・テンプレートとしてホームページの変更履歴を整理していたが、MT4 ではそのようなテンプレートは作成できないようである。
    対処:MT4 ではウェブページのテンプレートが用意されており、これを利用してページの変更履歴を記録していくことにした。
  •   問題:MT3.35 で表示していた「パンくずリスト」のMT4 では上手く動かないようにみえる。
    対処:MT4 のものをサーチしてインストールしたが、サブカテゴリーが表示されないのはMT3.35 と同様なので、古いコードをブログ記事(旧エントリーアーカイブ)とブログ記事リスト(旧カテゴリーアーカイブ)にインストールして使用した。
  •   問題:list-style-type が、circle 表示となり変えられない。
    対処:style-cite.css の ul 定義している部分をコメント・アウトし、ブログ記事編集画面で直接 <ul type="square">というように指定した。ブログ記事の編集画面は、フォーマット 「なし」を選択し、HTML タグを使っている。
    発展:list mark をリスト画像にできる id属性をCSS に設定した。画像は「シェルの素材工場」からいただいた。 ここで使っているように画像を自分で作ってみた。
  •   問題:ブログ記事を書く編集画面が小さい。
    対処:気がつかなかったが、記事を書く枠下のラインをドラッグすることによって、広げたり小さくしたりできる。


 MT4.1 での「小粋空間」さんのテンプレート・セット導入はまだまだ苦戦しているが、なんとか形となった。悪戦苦闘のサイド・プロダクトとして、Version4の理解も少し進んだ。今後は、MT4.1 の進化しているところを取りいれて充実していきたいと思っている。

2008年5月10日

隠居、MTでのParse error に苦戦

 現在契約しているレンタル・サーバーが手狭になってきたので、引っ越しを考えている。「MT サーバー 引越し」でググって(若い人たちの間では、Googleでサーチすることを ググルというらしい)みるとそう簡単ではないようだ。

 引っ越しをされた先達のエントリーには、大抵の人が引っ越しには準備を十分にしておくことが重要のように書いている。特に、サーバーを変えることによって、新しいドメインへのサイト・パスに注意を払う必要がある。

 初期の段階にわけのわからないまま見よう見まねで、テンプレートなどをいじってきたので、コードがくちゃくちゃになっている。コメントアウトしたコードがそのままのこっていたり、サイトパスがテンプレート・タグを使わずに、直接フルパスで書いている部分もある。まず、これらの掃除をしようとしたところでつまずいた。また、同じような過ちを犯しそうなので、備忘録的に書き留めて起きたい。

 メイン・ページ・テンプレートを掃除をしたあと、「S&R」(保存・再構築)をしてみると、なんと下のようなエラー表示がでて、ブログが立ち上がらない。 
Parse error: syntax error, unexpected ':' in /home/sites/lolipop.jp/users/lolipop.jp-dpxxxxxxxx/web/blog/index.php on line 156

 MTをなんとか立ち上げたころに見たエラー・メッセージである。どのように見るのかすっかり忘れている。これも、"parse error MT" でググッてみると、PHP化が影響していることが分かってきた。よく使うコード部分を「小粋空間」さんのPHPモジュール化を参考にPHP化して、よく理解できないまま使っていたのだ。

 さらに、"Parse error syntax" でググルと私でもなんとか理解できるページがヒットした。「ホリデープログラミング入門」というサイトのページである。

 ここに書かれている内容を頼りに、メイン・ページ・テンプレートテンプレートの156行目あたりを眼を凝らしてみると、次のような記述が見つかった。
<?php readfile(http://n-<$MTBlogURL$>"webtitle.html"); ?>

 どうやら、コードの掃除をしているときに手が滑ったらしい。もともとは、どうやらフルパスで書いていたと思われる。
<?php readfile("webtitle.html"); ?>
と記述しなおすと、すんなり回復してくれた。。

 原因が見つかるまでの当座の間に合わせは、FFTPでダウンロードしていた index.php を使ったが、このファイルはテンプレートタグなどが展開されたあとのファイルなので、元々のテンプレートを置き換えることができない。テンプレートは、秀丸か何かを使って Copy&Paste でバックアップしておいた方がいいかもしれない。