5丁目通信(仮称)

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

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

  • WordPressのサイトで使っているレンタルサーバー会社からMySQLバージョンアップの回答があった話し

    先ほどの記事でWordPressが2.9になったことで、MySQLのバージョンが古いので、レンタルサーバー会社にアップデートを依頼した件、早速回答がありました。珍しく回答が速い。

    回答は予想通りアップデートしないとのこと。もし、新しいMySQLを使いたかったら別のサーバーに移ってくれとのこと。ただし、移行は自分で行えと。

    でも、アップデートしないということは、既に4.0はサポートされてなかったはず。こんなことで大丈夫なのでしょうか? これが普通のサーバー会社の対応? まあ、バージョンアップしたときのリスクを負いたくないというのは当たり前の考えかもしれませんが、もし何か問題があったらどうするのでしょうか?

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

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



  • WordPress2.9アップデートでレンタルサーバー会社にMySQLのアップデートを依頼した話し

    前の記事に書いているように、今借りているレンタルサーバーにインストールされているMySQLのバージョンが古いので、WordPress2.9へのアップデート失敗しまいます。そこでレンタルサーバー会社にMySQLのアップデートの依頼をしました。

    しかし、結果は見えていますので、ダメ元です。

    4.0.27というのはあまりにも古い。サポートは既に終了しているはずだが。同じレンタルサーバー会社で借りている他のサーバーは、4.1.21ですので、まだいいか? でも、MySQLの4.1系もそろそろサポートが終了するはずだったか・・・。

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

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

    続きはこちらから

  • WordPressの2.9にアップデート失敗した話し

    WordPress2.9にアップデートしたら、以下のメッセージが出てできなかった。今借りているレンタルサーバーではダメか・・・。

    http://wordpress.org/wordpress-2.9.zip からアップデートをダウンロードしています。

    更新を解凍しています。

    The update cannot be installed because WordPress 2.9 requires MySQL version 4.1.2 or higher. You are running version 4.0.27.

    インストール失敗

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

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

    続きはこちらから

  • BaserCMSは正しい方向かもしれないが、まだまだという話し

    CakePHPで実現するBaserCMSというCMS(コンテンツ管理システム)をここのサイトから知りました。

    BaserCMSのサイトでマニュアルを見てみても、どんなことができるかわかりませんでした(見落としているかもしれません)。おそらくメニューの生成と、ページをWebの管理ページから作成、ブログやフォーラムの配置ができるものと推測されます。BaserCMSは、企業向けのサイトができるとは謳っていますが、具体的な機能があるか書かれていないのは残念です。やはり自分でBaserCMSをインストールしてみないといけないのでしょうか? 自由に管理ページまで触れるデモサイトがあればいいのですが。あと、ユーザーフォーラムに記事が0というのも寂しいです。

    CMSは、ユーザーにとってはWeb上でページを追加できることが一番のメリットと思いますが、開発側からはモジュールの追加による機能の追加がメリットかもしれません。用意されているモジュールを組み合わせてサイトを構築できるというのはありがたいです。

    CakePHPの上で開発されていることは、PHPで有名な某CMSよりは、モジュールを作成してカスタマイズの見通しがよいと考えられます。この点は、BaserCMSはCMSの正しい方向かもしれません。

    実は今日、ニュースリリースやお知らせのページをユーザーが作成したり、カレンダーで日程を表示したりなど、CMSで実現できそうな案件がお客様から来ましたが、一から開発ということになりそうで、費用とスケジュールが合わないのでお断りの連絡を入れたところでした。BaserCMSのようなCMSが具体的になっていけばいいかもしれません。

    著:山田祥寛
    ¥3,366 (2025/03/27 13:40時点 | Amazon調べ)
    著:松浦 健一郎, 著:司 ゆき
    ¥2,574 (2025/03/27 13:40時点 | Amazon調べ)
    著:谷藤賢一, 著:徳丸浩
    ¥2,750 (2025/03/30 15:22時点 | Amazon調べ)
  • WordPressのテーマを久しぶりに変えてみた話し

    WordPressのテーマを久しぶりに変えてみました。いつものようにサイト管理の「新しいテーマの追加」のページから、適当にテーマを選んでインストールするだけです。それに日本語に翻訳しなくてもいいのがうれしい。

    今回のテーマはいかがでしょうか? 右上の「テーマのスタイル」で色を変えることができます。私はシンプルに白にしています。

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

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

  • XAMPPのバーチャルホストを設定してCakePHPのテストサイトを構築した話し

    CakePHPで開発していて、ローカルのサーバーにテストサイトで動かしたいとき、まともにlocalhost直下に置ければいいのですが、いろいろとプロジェクトを抱えていると、たくさんのテストサイトを同時に動かしたいときがあります。サブディレクトリごとに設定してあげてもいいのですが、これだと.htaccessの設定が面倒であったり、絶対アドレスでリンクを指定できないとか制限があります。

    ドメイン直下にドキュメントルートを配置できればいいのですが、一つ考えられるのはサブドメインを指定するというのがあります。しかし、これではlocalhostでは指定できないととか、わざわざローカルのPCにサブドメインを指定するのもやっかいであるとなります。

    次に考えられるのはポート番号で分けてしまう方法があります。例えば

    • Aプロジェクトは、http://localhost:8080/
    • Bプロジェクトは、http://localhost:8082/

    などでアクセスすることになります。これですと、ポート番号を適当に追加していけばプロジェクトを分けてアクセスすることが可能にになります。

    簡単にローカルのPCにCakePHPのテスト環境を構築するにはXAMPPをインストールしてしまうのが一番簡単です、XAMPPを一つインストールしてしまえば、CakePHPのテスト環境で必要なApacheや、PHP、MySQLも動かすことがことができます。

    ポート番号で分けてCakePHPの環境で動かすには、Apacheのhttpd.confにバーチャルホストの設定を追加してしまいます(ここからが本題)。上記のAプロジェクトの場合はApacheのhttpd.confに以下のバーチャルホストの設定を追加します。

    Listen 8080
    
    DocumentRoot C:/workspace/TestProject/app/webroot
    DirectoryIndex index.html index.php
    ServerName localhost
    
    <Directory C:/workspace/TestProject/app/webroot>
    Options Indexes FollowSymLinks MultiViews Includes ExecCGI
    AllowOverride All
    Order deny,allow
    Allow from all
    </Directory>

    この場合、ダウンロードしたCakePHPは、c:\workspace\TestProjectにコピーしてしますと(EclipseのPDTで開発しているためこんなディレクトリにプロジェクトを入れています)、ドキュメントルートはその下の\app\webrootになります。プロジェクトを増やす場合は、赤字の部分を変更すればいいでしょう。

    Optionsは、適当に動作させる環境に合わせて設定してください。これは、テスト環境を自分のローカルPC以外からアクセスできないようにしたり、ましてインターネットからアクセスできないようにしたり(もちろん当たり前ですが)してしまえば、あまり気にしなくてもよいかもしれません。

    以上、いつもhttpd.confの設定でつまずく覚え書きです。

    著:山田祥寛
    ¥3,366 (2025/03/27 13:40時点 | Amazon調べ)
    著:松浦 健一郎, 著:司 ゆき
    ¥2,574 (2025/03/27 13:40時点 | Amazon調べ)
    著:谷藤賢一, 著:徳丸浩
    ¥2,750 (2025/03/30 15:22時点 | Amazon調べ)

    追記

    せっかくこの記事にたどり着いて読んでくれたところ申し訳ありませんが、現在(2014/04/28)のところ、この方法は使っていません。今はVirtual Box+Vagrant+Chefでローカルのテストサイトを構築しています。

    追記2

    またまた、上記の追記のVirtual Box+Vagrant+Chefはもう使っていません。現在は、Dockerでテストサイトを実現しています。その方が簡単です。

  • Eclipse-PDTを上書きインストールしたらプラグインが無効になる話し

    先ほどの記事のように、Eclipse-PDTを上書きインストールしたらプラグインが無効になってしまった。

    とりあえずの必須のプラグインは、

    の2つ。再インストールしようにも、うまくいかない。

    Clay Database Modelingは2.0になっていて、旧バージョンのアップデートサイトがクローズされている。旧バージョンのライセンスは購入しているが、開発元のアズーリによると、旧バージョンは新しいバージョンにアップデートしろとのこと。しかし、旧バージョンからのバージョンアップはなし。しかもライセンス料は80,000円也。機能とコストが全く見合わないのでアップデートはやめておく。別のデータベースモデリングのプラグインを探さなければいけない。

    プラグインを有効にどうしてもできないので、しかたないので再インストールをしなければいけない。なにげにアップデートしたら、こんな羽目になった。残念。

    著:山田祥寛
    ¥3,366 (2025/03/27 13:40時点 | Amazon調べ)
    著:松浦 健一郎, 著:司 ゆき
    ¥2,574 (2025/03/27 13:40時点 | Amazon調べ)
    著:谷藤賢一, 著:徳丸浩
    ¥2,750 (2025/03/30 15:22時点 | Amazon調べ)
  • CakePHPでhasManyのモデルに対して条件式を書いた話し

    CakePHPロゴ

    ただ今、CakePHPでWebサイトを開発しています。今回は、検索条件を設定して抽出して結果をリストにするという、定型的な検索サイトです。

    あるモデルに対して検索条件を与えるのは普通です。CakePHPの場合、belongsToのような外部参照の関係であるモデルにも検索条件を与えても、簡単に抽出してくれます。

    しかし、hasManyの関係にあるモデルの項目に検索条件を書いてあげるとSQLを発行しているところでエラーになります。SQLのデバックログによると、hasManyのモデルに対しては、SQLでleft joinを作ってくれません。これで、未定義のテーブルということでSQLエラーになります。

    Googleで検索してみると、このように書けばOKと書いている。しかし、これではhasMany以外の関係のモデルを検索してから、hasManyのモデルにフィルターをかけているだけなので、検索結果が違ってくる。

    無理矢理SQLを生成してみることもやりましたが、ビューに渡す結果を生成するのが大変なので止めました。

    いろいろと調べてみると、ここにありました。後からhasManyのモデルに対してjoinを設定すればいいのです。モデルに対して、beforeFind()を定義してあげることが必要でした。CakePHPのソースを追ってみると、findAllのところでオプションにjoinが使えるように定義されていました。これで無事にhasManyのモデルでも条件式を書くことができました。

    すべてのサイトに感謝です。

    著:山田祥寛
    ¥3,366 (2025/03/27 13:40時点 | Amazon調べ)
    著:松浦 健一郎, 著:司 ゆき
    ¥2,574 (2025/03/27 13:40時点 | Amazon調べ)
    著:谷藤賢一, 著:徳丸浩
    ¥2,750 (2025/03/30 15:22時点 | Amazon調べ)
  • CakePHPでNot foundエラーが出た話し

     

    CakePHPで開発しているときに、以下のメッセージが表示されてしまった。

    Not found
    
    The requested address was not found on this server.

    調べてみると、いろいろ原因があるようだが、自分の場合は、Modelが正しく設定されていないのが原因であった。core.phpのDebug.level を1にすれば、原因はすぐにわかる。そういえば、携帯電話対応のために、メッセージがうるさいので0にしていた。

    以上、覚え書き。

    追記

    一つのテーブルのアクセス権が設定されていないのが原因だった。ただし、まだまだエラーだらけ・・・。

    著:山田祥寛
    ¥3,366 (2025/03/27 13:40時点 | Amazon調べ)
    著:松浦 健一郎, 著:司 ゆき
    ¥2,574 (2025/03/27 13:40時点 | Amazon調べ)
    著:谷藤賢一, 著:徳丸浩
    ¥2,750 (2025/03/30 15:22時点 | Amazon調べ)
  • WordPressの記事投稿でTwitterの自動更新成功

    ようやく成功しました。WordPressTwitter Toolsプラグインを使うと、WordPressの記事投稿でTwitterの自動更新が成功しました。

    ただし、Twitter Toolsプラグインのオプション設定でTwitterのIDにユーザー名を設定すると自動更新されません。その代わりTwitterで登録したメールアドレスを設定すると、上手くいきます。ユーザー名でもメールアドレスでも、Twitter Toolsプラグインのオプション設定で「Test Login Info」ボタンを押したら、どちらも成功になります。

    しかし、メールアドレスだと、Twitter一覧に表示されるリンクがメールアドレスになってしまうのでリンク切れになってしまいます。そこでWordPressに表示するTwitterのつぶやき一覧は、Twitter for WordPressプラグインで表示するようにしました。