5丁目通信(仮称)

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

タグ: データベース

  • XOOPSサイトのサーバーを移行した話し

    お客様の希望で、サーバーを私の会社が面倒見ているサーバーに移行しました。ディスク容量は2倍になって料金はそのまま。しかし、そんなにディスクを使っていないのでサーバー会社のメリットはないかも。しかし、私の会社で面倒見てあげられるというのがメリットかも。

    お客様のサイトはXOOPSで作成したサイトです。最初は、素直にXOOPSをインストールしてコンテンツを移行していこうと思いましたが、時間と手間を惜しんで一挙にデータベースとプログラムファイルをコピーしてしまいました。大抵はここではまります・・・。

    データベースをエクスポート/インポートしたら、文字コードがEUCからUTF-8になってしまいました。移行先のMySQLで新規にデータベースを作るとUTF8にしてしまうらしい。無理矢理EUCでインポートしてもいいのだけど、あとあとトラブルになるのがいやなのでそのままUTF-8することにします。

    しかし、サイトは見事に文字化けです。モジュールに読み込むLanguageファイルをすべてUTF-8に変換してしまいます。シェルで変換スクリプトを作っておけばいいのですが、そんなに手間ではないだろうと秀丸エディタをつかって地道にUTF-8に保存していきます。xoops_trust_pathのディレクトリも忘れずに。

    /language/japanese/global.php の

    define('_CHARSET', 'EUC-JP');

    define('_CHARSET', 'UTF-8’);

    にします。これは、METAタグのcharsetの指定しているところです。

    最後にメールのタイトルの文字化けを修正します。文字化けの修正方法は、ここに載っています。

    以上で、無事に移行完了です。

    著:山田祥寛
    ¥3,366 (2025/03/27 13:40時点 | Amazon調べ)
    著:松浦 健一郎, 著:司 ゆき
    ¥2,574 (2025/03/27 13:40時点 | Amazon調べ)
    著:谷藤賢一, 著:徳丸浩
    ¥2,750 (2025/03/30 15:22時点 | Amazon調べ)
  • 総合通信局に連絡してみるものだ、という話し

    電子申請で付属装置の追加の変更していたが、3週間経っても状態が受付処理中のまま。関東総合通信局に電話で連絡してみた。

    説明によると非常に処理が滞っているとのこと。調べてもらうと申請に不備がある。しかし、補正の連絡が来ていない。至急、補正の内容を入れもらうようにしていただく。

    もし、電話で連絡をしていなかったら、ずっと放っておかれたところです。連絡を入れてみるものです。総合通信局の担当者は怖くないし、とても丁寧に対応していただけます。

    しかし、さすがに総合通信局ですね。何も言わなくても個人を特定している。電話の発番でデータベースを検索しているのか。

    著:加納勉, 編集:Webon編集部
    ¥480 (2025/03/29 01:48時点 | Amazon調べ)
    CQ出版
    ¥1,650 (2025/03/29 01:48時点 | Amazon調べ)

    電波を出すには必ずアマチュア無線の国家資格が必要です。電波法令を守って楽しみましょう。

  • 徹夜明け

    今日は2:00から、関わっているサービスのデータベースのメンテナンスがあったため、5:00まで作業でした。

    この年齢になると、徹夜は辛いです。元に戻るのに時間がかかりそう。

    仮眠して起きたら、とても暖かいので、花粉症ですので目鼻がかゆい。このまま春になるのでしょうか・・・。

  • やっとプログラム完成です。

    2週間位かけて、1本プログラムを作成しました。

    内容は、値をフォームから受け取って、確認ページで表示して、OKならPOSTで別のサイトに送り込むという、言ってしまえば簡単なものです。

    しかし、作成に時間がかかりました。

    正常の処理は簡単です。CakePHPを使って1日ほどで動きます。しかし、エラーのチェックがとても面倒。

    エラーチェックはCakePHPのvalidates()で行えばいいのですが、なにせ項目数が多いので、とても大変でした。それでも、validates()のおかげで数は多いのですが、まとまって見やすいです。先日の全角の文字数の判定の件もありましたが、正規表現でのチェックもたくさん使っています。

    後は、データベースが止まったときの異常系のエラーはどうするかとか、不正な値が入った来たときとか、細々としたエラーのチェックを行っています。

    今回はエラーの処理で7割くらいコードを書いています。

  • リモートデスクトップで失敗してしまう話し

    青山オフィスあるPCにリモートデスクトップ接続がつながらなくなる。どうしてもそのPCでからサーバーにアップしなければいけないファイルがあるので、本日は青山オフィスまで行く。心当たりがある・・・。

    原因は、そのPCからVPNでサーバーに接続していて、リモートデスクトップ接続を切断してしまったのが原因。

    青山オフィスに行ってVPN接続を切断。無事にファイルのアップが完了。

    VPN接続のタイムアウトで勝手に切断なんてしてくれないのでしょうか?

    サーバー管理がうるさくなったせいか、直接サーバーにFTPで接続できなくなってきた。scpもsshで端末を利用できてしまうので使用禁止。これって意外と手間がかかるのです。

    VPNで接続してからFTPでファイルをアップしかできないので、サーバー上のサイト構築では苦労する。設定ファイルをいじるだけでも面倒。

    そこで利用しているのはWS-FTP LEという昔から使っている古いFTPクライアントソフトです。このソフトを使うとFTPで接続したリモートのファイルを、テキストエディタ(普段使っている秀丸)で編集できる。サーバー固有の設定ファイルはこれでいじってしまいます。

    もちろんサーバーの管理者権限をいただけるはずはないので、Apacheのhttpd.confやPHPのphp.iniの設定は、お手数ですがサーバー運用会社の管理者にお願いする。今回は大きなデータをデータベースに初期投入する必要はありませんが、もしある場合はお願いしなければいけません。管理者に嫌がれようが(実際には面倒らしくて嫌がれます)、こればかりしょうがない。

    著:大竹 龍史, 著:山本 道子
    ¥2,950 (2025/04/01 13:05時点 | Amazon調べ)
    著:Piro, 編集:日経Linux
    ¥2,178 (2025/03/28 21:08時点 | Amazon調べ)
    著:三宅 英明, 著:大角 祐介
    ¥2,970 (2025/04/01 13:05時点 | Amazon調べ)
  • セキュリティソフトをESET Smart Securityにアップデートした話し

    アンチウィルスソフトのNOD32の更新案内が来たので、いっそのことファイヤーウォールとか、スパイウェア対策など追加されたESET Smart Securityにアップデートしてみました。現在、NOD32が7本インストールされていますので、すべてアップデート。契約期間も残りに1年プラスされます。

    アップデートの際に、面倒なことと、注意しなければいけないことが何点か・・・。

    • どのPCにインストールされているNOD32を更新しなければいけないかがわからないので、ライセンスを調べなければいけないのは大変。NOD32のサポートに連絡をとって、ライセンスの区別の方法を教えてもらう。以下が回答内容です。
      1. システムトレイ(デスクトップ画面右下)内の「NOD32アンチウイルス」アイコンをクリックして「コントロールセンター」を開きます。
      2. 「更新」→「更新」と選択し、右側に「更新」画面を表示します。「設定」ボタンをクリックし表示される「更新の設定」ダイアログボックスの「ユーザ名」欄をご確認ください。

      まあ、他のアンチウィルスソフトのように、PC1台ごとに1メールアドレスでユーザー登録しなければいけないよりはましですが・・・。そんなにメールアドレスを作りたくないし、それがアンチウィルスソフトから乗り換えた原因。NOD32をすべてのPCで確認して、シリアル番号、ユーザーID、パスワードを台帳としてまとめました。

    • ESET Smart Securityをインストールする前に、必ずNOD32をアンインストールしないとPCが正しく起動しなくなる。ESET Smart Securityをインストールの途中で、NOD32をアンインストールしてくれません。マニュアルにか書かれていますが、警告くらい出してくれればいいのに。
    • ESET Smart Securityをインストールしたあと、有効期限が切れたエラーが必ず表示される。これは、周知の表示の障害らしい。インストールの途中で、なぜかユーザーID、パスワードの設定をしないが、あらためてESET Smart Securityのコントロールセンターで、ユーザーID、パスワードを設定して、ウィルス定義データベースをアップデート(これもなぜか2回ボタンを押さないとアップデートしてくれない)してから再起動しなければいけない。

    ESET Smart Securityはインストールしたばかりでまだその効果はわかりませんが、やはりPCへの負荷が小さいのはNOD32と変わらない。黙って仕事してくれるにはベストです。ただ、セキュリティソフトをインストールしても、何か便利になるとかないのでおもしろくないのが正直なところ。

    あとESET Smart Securityは、店では黄色や赤のセキュリティソフトよりは手に入りにくいので(NOD32を知らない店員が実際いるし、ESET Smart Securityの5ユーザー優待バックなんて在庫ないし)、ECサイトや販売元のキヤノンITソリューションズのサイトから手に入れたほうがベターです。

    ESETはマイナーなアンチウイルスソフトだけど、軽くてPCの邪魔をしないのでお勧めしています。自分が使っているPCにはMicrosoft DefenderではなくESETを入れています。

  • ブログを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のプログラミングなのでした。

  • Ruby on Railsやめた、という話し

    最近、Webシステムのフレームワークとして話題になっているRuby on Rails。先週は、Ruby on Railsの解説本や、そのプログラム言語であるRubyの解説本を買い込んで、サンプルプログラムを打ち込みながら勉強しました。

    言われているように、Ruby on Railsは開発工数が少なくなるというのも納得。テーブルの追加変更削除も簡単に実現できるのもよい。データベースが設定ファイルでモデルとリンクしているのもおもしろい。Rubyが綺麗にプログラムできるのもすばらしい。これで、次の案件でRuby on Railsを採用というところですが、しかし・・・。

    Ruby on Railsを運用できるサーバー環境というのがないのです。アンドワークスでの案件は、レンタルサーバー(共用)で運用する小規模なWebシステムというのが多いです。なかなかそのようなところでRuby on Railsが運用できるところがないのです。今、アンドワークスで運用しているレンタルサーバー会社に聞いたところ、Ruby on Railsは重いのでダメ、専用サーバーでしたら何とかするよ。という回答でした。今更サーバー会社をRuby on Railsのために変更することも時間的にコスト的に難しいので断念しました。

    新しい技術を習得して、案件に活かすことは、とても大きな賭けになります。本当は、どんどん新しいものを取り入れていかなければいけないのですが。

    Ruby on Railsの思想を取り込んだPHPのフレームワークがあるということので、今度はこれを調べてみます。開発工数、コストを下げて、顧客が満足できる堅いシステムが提供できるのが一番いいのです。

    著:山田祥寛
    ¥3,366 (2025/03/27 13:40時点 | Amazon調べ)
    著:松浦 健一郎, 著:司 ゆき
    ¥2,574 (2025/03/27 13:40時点 | Amazon調べ)
    著:谷藤賢一, 著:徳丸浩
    ¥2,750 (2025/03/30 15:22時点 | Amazon調べ)
  • ハローページ(NTTの電話帳)からセールス電話を受け付けない方法ってあるの?っていう話し

    NTTのお客様相談室(NTT)と電子電話帳販売会社(N社)に、電話帳の情報について聞いてみました。

    紙媒体の電話帳(以下ハローページ)というのは、電話をかけてもらうために個人が許諾の上公開しているもので、誰でも(それがセールス目的でも)ハローページで電話をかけること自体には問題はなし。

    NTT

    しかし、そこで疑問、電話帳をそのまま電子電話帳に載せて販売してもいいのか?

    ハローページには著作権というのはない(これは驚き)。したがって、電子電話帳に収録して販売することに関しては違法ではない。すでに個人が公開を許諾してる情報なのでハローページは個人情報保護法には抵触しない(これは納得)。電子電話帳はCD-ROMでの配布なので、個人情報保護法の例外となる(これは知らなかった)。

    NTT & N社

    またまた、疑問。ハローページあるいは電子電話帳でかけてきた電話で個人に不利益が発生した場合は、NTTあるいはN社に責任はあるのか?

    NTTとN社には責任はない。あくまでも電話をかけた会社が特商法で処罰を受ける。個人情報保護法とは関係ない。

    NTT & N社

    ただし、NTT正規代理店が電話帳で直接電話でセールスすることに関してお客様に迷惑がかかると考えられるので、今後代理店には指導ししていく。

    NTT

    NTTから電子電話帳を販売している会社に、電話帳情報を販売しているのか?

    電子電話帳を販売している会社には、電話帳情報は販売していない。しかし、データはTDISという電話番号データベースを、加盟している通信事業者には販売している。

    NTT

    ハローページから手入力で電子電話帳データを入力しているので、NTTから直接電話帳データは購入していない。

    N社

    以上、NTTとN社では回答はほぼ同じでした。

    そこで、最後に電話帳でセールス電話をかかってこないようにするには、どうすればいいのか?

    ハローページから電話番号を削除しするように依頼してください。ただし、電話帳の次の版がでるまで時間がかかります。

    NTT

    電子電話帳から電話番号の削除を承っています。電話帳の更新は年2回で、契約している会社にはデータの更新をしています。しかし、契約を更新していない会社は、データの更新はできないので、古いままですのでずっと電話番号は残っています。

    N社

    つまり、一度電話帳に載った電話番号は、削除をお願いしても、ずっと残ったままの可能性が大です。延々とセールス電話がかかってくるということです。あとは、電話番号をどう使うかは、電話帳を入手した会社によりますので、電話帳を配布している会社は関知しないというのが現状です。

    電話帳に記載するというチェックをした時点で、名前、住所、電話番号がすべて公開されるいうことです。したがって、セールス電話がかかってくるたびに「必要ありません。」と断っていくしかないということです。まずは、個人としては電話帳から削除することからはじめなくてはいけません。

    結局は、電話帳からセールス電話がかかってこないようにするとことに対しては、ほとんど解決策はないということですね。

    以上は担当の方に聞いた話しですので、法律上本当に正しいかはわかりませんので、ご注意ください。

    知らない電話は詐欺の始まり

    詐欺被害経験者より
    シャープ(SHARP)
    ¥9,900 (2025/03/30 08:29時点 | Amazon調べ)

    高齢者への詐欺電話を防止するためにも、NTTはナンバーディスプレイを無料で提供すればいいのにと本当に思う。携帯電話は無料で着信番号表示をしているので固定電話でもできるはず。発信者通知は迷惑電話をかけてくる輩は嫌がるので、ナンバーディスプレイは本当に迷惑電話防止になる。ナンバーディスプレイに契約して対応した電話機ならば、発信者番号を通知しない詐欺電話は非通知になって拒否されるので、少しは安心である。これで詐欺電話は随分と減るので、NTTのナンバーディスプレイは詐欺電話撃退にはお薦めなのである。

    とずっと書いているけど、ようやくNTTが高齢者向けにナンバーディスプレイが無料になりました。記事はこちらから。

  • La!cooda WIZ をインストールした話し

    オープンのグループウェアのLa!cooda WIZを、お客様に頼まれましてインストールしました。今回は、Joe’sウェブホスティングのレンタルサーバーにインストールします。

    La!cooda WIZをダウンロードしてインストールページを読んでみましたら、インストールスクリプトでPostgreSQLの管理者権限が必要であることが書いてありました。しかし、今回のインストール先はレンタルサーバーですので、スクリプト(postgres.sh)を解析して、手作業でインストールしました。これが苦難のはじまりです。DBの dropを5回以上繰り返して、ようやくインストールできました。ここにその記録を参考までに載せておきます。

    まずは、La!cooda WIZ用のデータベースを作成しておきます。これは、レンタルサーバーのコントロールパネルから行いました。そして、アクセス用のPostgreSQLのIDを作って、データベースにアサインしておきます。ここまでは、コントロールパネルで簡単です。

    次に、La!cooda WIZのインストールファイルから、wiz.tar.gzを取り出して、Webで公開されているディレクトリに展開します。そのままDocumentRootに/wizで展開します。そのとき、/wiz/filesは書き込み権限が必要です。

    Joe’sウェブホスティングのサーバーは、WebサーバーからはPostgreSQLサーバーにTCP/IP経由では接続できないので、UNIXドメインソケット経由で接続するように、La!cooda WIZのデータベース接続処理を変更します。

    /wiz/class/DBConnectPgsql.phpを

    $connectionString = “host=$this->hostName port=$this->portNo dbname=$this->dbName user=$this->userName password=$this->password”;

    となっているところ(実際は1行)を、

    $connectionString = “dbname=$this->dbName user=$this->userName password=$this->password”;

    のように修正します。

    DBのアクセスするための定義ファイルを設定します。/wiz/gw.phpを次の通りに修正します。

    $masterdb = “DB名”;
    $db_user = “DBユーザーID”;
    $db_password = “DBパスワード”;
    $_ROOT_DIR_ = “インストールしたディレクトリ”;
    $_ROOT_URL_ = “アクセスするURL”;

    最後にテーブルの生成と初期データの投入です。テーブル生成スクリプトcreateDbForPgSQL.sqlの1行目の

    connect - postgres

    – connect - postgres

    にしてコメントにします。それから、次のようにスクリプトを動かします。

    sed “s/nobody/<DBユーザーID>/g” <ルートからのディレクトリ>/createDbForPgSQL.sql | psql -U <DBユーザーID> -e <DB名>

    ここで、DBユーザーに対するパスワードを聞いてきます。

    以上のコマンドは、createDbForPgSQL.sql内のnobodyと定義している部分を、DBにアクセスするユーザーIDに置換して、そのスクリプトをDBユーザーでアクセスしたDBにテーブルを生成して、初期データを作成しています。これはインストールスクリプトを抜粋して修正したものです。

    以上で、La!cooda WIZにアクセスできます。

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