5丁目通信(仮称)

とある5丁目で活動する還暦を過ぎたWebプログラマーの覚え書きです。それとかかってくる迷惑電話や、家業のアパート経営について。

カテゴリー: オープンソース

  • スパムが多いので、SpamAssassinの設定をしてみた話し

    レンタルサーバーでスパムメールをSpamAssassinでフィルターをしています。しかし、このところSpamAssassinをすり抜けるスパムが多くなっています。PCではThunderbirdの迷惑メールフィルタである程度はスパムメールを削除してくれますが、メールを転送している携帯電話ではそうはいきません。そこできちんとSpamAssassinを設定してみました。

    SpamAssassinで用意しているsa-learnコマンドでスパムメールを学習する方法や、スパムメール判定の閾値を設定する方法がありますが、今回はブラックリストに登録してみました。毎週来る青山さんとか。

    あとsa-updateでSpamAssassinのルールセットを更新してみましたが、エラーになります。こちらはレンタルサーバー会社に質問をしてみます。

    これでどの程度の効果が出るか?

    Gmailにもメールを転送していますが、こちらのスパムフィルタは賢い。ほぼ上手くスパムメールを振り分けてくれる。

    追記:

    sa-updateでSpamAssassinのルールセットが更新できない件、レンタルサーバー会社から回答がありました(とても速い!)。perlのIO::Zlibのバージョンが古いとのこと。アップデート可能か調査中。ということは、このサーバーで運用しているユーザーは誰もルールセットを更新していなかった??

  • WordPressを2.6にアップデートした話し

    このブログで利用しているWordPressが新しく2.6がリリースされましたので、アップデートしてみました。

    まずは、念のためのバックアップです。MySQLのDBをphpMyAdminでバックしてしまいます。今回は、丸ごとWordPressのDBをバックアップします。

    次にプログラムのバックアップします。こちらは、フォルダをまるごとテンポラリのディレクトリにコピーしてしまいます。

    これで、何かあったら元に戻せます。

    WordPressのサイトから2.6をダウンロードしてして、サイトにFTPでアップします。ZIPファイルでしたので、unzipコマンドで解凍し、所定のディレクトリにコピーします。

    あとは、/wp-admin/upgrade.php を動かして、DBをアップデートします。

    正常に動作していることを確認して完了。簡単でしょ??

    しかし、どこが変わったかは、あまり実感はわかりましません。バグFIXしているのでしょうかね。 

    著:久保田涼子, 著:西原礼奈, 著:阿諏訪聡美
    ¥2,399 (2025/03/28 17:08時点 | Amazon調べ)

    なんやかんやでWordPressのサイト構築で躓くのは、PHPのプログラミングなのでした。

    追記

    WordPressで記事を編集していて、間違えて違うページに行っても、書いた内容は自動保存しているのですね。あわてものにはいいかもしれない。

  • PHPのfgetcsv()は使えない?という話し

    PHPの関数で用意されているfgetcsv()は、CSVファイルを一行読み込んで、各項目を配列で返してくれます。こんな感じ。

    $handle = @fopen("testtest.csv", "r");
    $buffer = fgetcsv($handle, 4096);

    ただし、CSVファイルに2バイトのデータが含まれていたら、うまく切り分けてくれない。PHPの内部コードはUTF-8で、CSVファイルがシフトJISなら、変なところで切ってくれる。

    仕方ないので、手っ取り早く

    $handle = @fopen("testtest.csv", "r");
    $buffer = split(",", fgets($handle, 4096));

    のように変更してあげる。CSVファイルはこちらでプログラムで生成されているので、途中にコンマが紛れてこないだろうということで、とりあえずOKとしておきます。なんだが美しくないなあー。これだと完全なCSVファイルの処理をしていないので、また後で考えなければいけないか・・・。

    著:山田祥寛
    ¥3,366 (2025/03/27 13:40時点 | Amazon調べ)
    著:松浦 健一郎, 著:司 ゆき
    ¥2,574 (2025/03/27 13:40時点 | Amazon調べ)
    著:谷藤賢一, 著:徳丸浩
    ¥2,750 (2025/03/30 15:22時点 | Amazon調べ)
  • WebブラウザをSleipnirからFirefoxに乗り換え

    一年くらいSleipnirを使っていましたが、Firefoxに移行しました。Sleipnir は、IEのTridentエンジン、FirefoxのGeckoエンジンを切り替えられるので、Webサイトの開発で便利かなということで導入していました。

    しかし、最近Sleipnirが固まったり、応答が悪かったりという症状が見え出しましたので、Firefoxの3.0がリリースされたことを機会に乗り換えました。

    乗り換えの作業は、お気に入りの移行だけ。移行は、IEを介して行うと簡単でした。

    しかし、Sleipnirの名前は、とうとう最後まで私は読めなかったです。正解は、「スレイプニル」だそうです。乗り換えの一因はこれもあるかもしれません。やはり、他の人に勧めるときに、「名前が何だっけ?」という時点で負けかもしれない。

  • WordPress2.5.1にアップデート

    WordPressが2.5.1にアップデートされたので、早速インストール。WordPress本体に手を入れていないので、そのままファイルを上書きコピーで完了。とても簡単。

    詳細な情報は、

    http://ja.wordpress.org/2008/04/27/wordpress-251-japanese/

    にあります。

    このページは xfy Blog Editor を利用して作成されました。

  • OpnePNEの改造は実は簡単であるという話し

    現在、OpenPNEを使った専門家向けのSNSサイトを開発しています。簡単に改造点を言うと、SNS部分はほぼOpenPNEの機能を使って、その上位に専門家が所属する団体でグルーピングするとものです。

    OpenPNEのような大きなオープンソースのシステムの改造は普通に考えると難しいと思いますが、OpenPNEに限っていうとそんなに難しくはありません。

    これは、OpenPNE独自のフレームワーク(こう言ってしまっていいのでしょうね)がシンプルな考え方(難しいことができないというのではなくて)に基づいているので、とても見通しがよいからです。

    どのページがそのプログラムとテンプレートで構成されているかというのは、ページのパラメータをみれば一目瞭然です。ページの出力とその後の処理をきちんと分けられているので、フォーム->処理->結果表示という一般のWebアプリケーションの自然なフローが、ルールに乗っ取ったファイルの命名方法になっています。

    同じオープンソースでもXOOPSとは大きな違い。XOOPSのモジュール改造はとても苦労します。

    もし、OpenPNEを使ったサイトをお考えの方がいらっしゃったらご連絡ください。(最後は宣伝モードでした・・・。)

    このページは xfy Blog Editor を利用して作成されました。

    著:久保田涼子, 著:西原礼奈, 著:阿諏訪聡美
    ¥2,399 (2025/03/28 17:08時点 | Amazon調べ)

    なんやかんやでWordPressのサイト構築で躓くのは、PHPのプログラミングなのでした。

  • WordPressのテンプレートをちょこちょこ修正

    このブログをWordPressに変えて、適当なテンプレートをサイトからダウンロードしてアップしています。やはりいろいろと気になるところが出てきて直しています。

    まずは日本語への翻訳です。こちらは気がついたところ、特に項目名とかボタンとか、訪問していただらく方が触るところから修正しました。

    次にサイドメニューの整理です。こちらは二段になっていたところをシンプルに一段に変更しました。月ごとのアーカイブのリストも、全部表示しておくと長すぎるので12ヶ月分だけ表示しするようにしました。こちらは、年ごとに月が折り畳めればいいのですが、こちらは後で調査です。

    そして、トラックバックのURLが表示していなかったので、表示するように変更。こちらのURLを貼り付けてトラックバックしてください。

    なんだか修正していくと楽しいですね。仕事からの逃避になってしまいますが・・

  • ブログをXOOPSモジュールではないWordPressに移行した話し

    このブログは、XOOPSのWordPressのモジュール版で動かしていましたが、このたび普通の(?)WordPressに移行しました。

    理由は次の通りです。

    • XOOPSのWordPressモジュール版の更新が止まっているため。
    • 人にWordPressを勧めながらも、使っていないのはまずいため。
    • WordPressを別のところでインストールしたら、あまりにも便利になっていたため。

    インストールは簡単。データベースを用意して、設定情報を書いて、後はインストールプログラムを動かすだけ。ほんの5分ほど。

    エントリの移行は、RSSファイルを出力して、WordPressのインポート機能で読み込む。読み込めないエントリがあったりで、多少面倒。でも、1時間の作業。

    とりあえずテーマは公開されているテーマを設定しました。単純にヘッダにXOOPS側に戻るリンクを設定しただけ。

    XOOPSのメインメニューを自動生成していましたが、モジュールではないのでブログのメニューが出てこないため、これをマルチメニューモジュールで作成しました。

    問題は、新着エントリがXOOPS側に表示しない。これは、RSS系のモジュールをインストールすることで対応します。

    著:久保田涼子, 著:西原礼奈, 著:阿諏訪聡美
    ¥2,399 (2025/03/28 17:08時点 | Amazon調べ)

    なんやかんやでWordPressのサイト構築で躓くのは、PHPのプログラミングなのでした。

  • CakePHPでPEARを使う話し

    CakePHPでよく言われることは「PEARを使わなくてもいい。」ということ。しかし、PEARには便利なライブラリがあります。これを使わない手はありません。おそらく使わなくてもいいというのは、PEAR::DBのことをいっているのか? PEARはPEAR::DBだけではないのです。

    今回参考にしたのは、「CakePHPでZendFrameworkを使う」(このページへのトラックバックの付け方がわからないのでリンクでごめんなさい)というサイト。つまり、ZendFrameworkもPEARもライブラリだからいいのだという単純な考え。

    まあ、普通にPEARをインストールしてしまえば、今まで通り使えるのですが、CakePHPの作法にしたがってということで。

    詳しいことはこのページをみていただければいいのですが、app/vendorsの下に、PEARのライブラリファイルをコピーしてしまう。今回は携帯電話の振り分けがしたいので、PEAR::Net_UserAgent_Mobileを使えるようにします。つまり、app/vendors/Net/UserAgentというディレクトリを作って、PEAR::Net_UserAgent_MobileのMobileのディレクトリをコピーしてしまいます。そのとき、app/vendorsにPEARのpear.phpも忘れずにコピーします。

    上記のページのように、zend_init.phpを作るのがミソなのですが、名前がそのままだと何ですので、pear_init.phpにしてしまいました。

    後は、コントローラの上のほうに

    vendor('pear_init');
    vendor('Net/UserAgent/Mobile');

    としておけば、コントローラの中でPEAR::Net_UserAgent_Mobileが使えます。

    このページの作者に感謝!

    このページは xfy Blog Editor を利用して作成されました。

    著:山田祥寛
    ¥3,366 (2025/03/27 13:40時点 | Amazon調べ)
    著:松浦 健一郎, 著:司 ゆき
    ¥2,574 (2025/03/27 13:40時点 | Amazon調べ)
    著:谷藤賢一, 著:徳丸浩
    ¥2,750 (2025/03/30 15:22時点 | Amazon調べ)
  • xfy Blog Editor がWordPressに対応。XOOPSモジュールの設定は? という話し

    xfy Blog Editor?の新しいバージョンがWordPressに対応しましたので、早速インストールしてみました。

    しかし、このブログXOOPSモジュールのWordPressですので、WordPressを選択してもエンドポイントが自動的に設定できないらしいです。そもそもエンドポイントって何? という状態なので、XOOPSではないWordPressに試しにエンドポイントを取得してみました。

    xmlrpc.phpというインターフェースがエンドポイントらしいので、WordPressモジュールがこのファイルがあるか確認。ありました。

    そこで、エンドポイントをhttp://——–/modules/wordpress/xmlrpc.php を手で設定して、無事にエントリ一覧を取得。

    試しに、エントリを編集してサーバーへ反映すると、そのエントリが消えていました。xfy Blog Editorの詳細設定の公開設定がデフォルトが「未公開」になっていましたので、これを「公開」すると、無事にサーバーが更新されていました。

    このエントリもxfy Blog Editorで作成しています。WordPressモジュールですとセッションの関係で書いたエントリが消えることがありますので、xfy Blog Editorですと安心して書くことができますね。