8 月 25

前回に引き続きPostgreSQLの設定を行います。

その前にQNAPを操作していて不可解な事に気づきましたので、その事について先に書いておきます。

QNAPの管理画面でGUI操作をする場合、インストールするパッケージ(hogehoge.qpkgとなってます)は
本製品用に作られているためアプリの追加・削除等は比較的簡単な操作で済ませることが可能です。

しかし、アプリ開発時には足りないモノがあるため、それをインストールするために利用できるのがOptware IPKGです。
ところが、このIPKGは決してQNAP用に提供されているのではないため矛盾が生じます。

例えばphp
現時点で使われているバージョンはphp5.3.28です(QNAPのファームウェア4.1)
※QNAPのファームウェアのバージョンで異なります。

ipkgコマンドでphpをインストールすると5.2.17となります。

php-pear php-dev その他が必要なのでipkgでインストールしましたが
現用中のバージョンと異なるため何かと問題が発生します。

qpkgでインストールしたpostgresqlは9.2.1ですけどipkgでは8.2系です
私は8.2系の方が使い慣れているのですが先の事を考えてqpkgの方を使うことにしました。
ただし、不便なことにpsqlコマンドが使えないのが残念です。
それでは、postgresqlの設定を行います
そのためにはSSHでログインし下記のファイルを若干編集します。

pg_hba.conf
postgresql.conf

  /share/HDA_DATA/.qpkg/PostgreSQL/postgresDB/ シングルドライブ機は、ここに配置されています。

pg_hba.confには接続許可ホストの情報を追記します、作業用に一時的なものなのでとりあえず次の2行を書き足して他はコメントにしておきます。

host    all     all     127.0.0.1/32            trust
host    all     all     192.168.1.0/24          trust

postgresql.confは文字コードの扱いが気に入らないので変更します。
変更をしない場合、DBの新規作成時に指定される文字関連の処理がen_US.UTF8になってしまいます(米語だね)
どうあがいてもja_JP.UTF8を指定できません、特に既存のDBを移植して使うには日本語文字のソートなどで失敗するだろうし他にも問題が出そうです。
本来ならinitdbで初期化するべきところなんですが、それが使えなかったのでpostgresql.confを編集して新規DB作成時にnolocaleに該当する「C」を指定できるようにしました。

それとタイムゾーンが初期値では香港になっているため時差が生じていたのでこれも変更しました。

timezone = ‘Asia/Tokyo’  タイムゾーンこれ 498行目

 

以下がlocaleの設定  511行目から

lc_messages = ‘C’                       # locale for system error message
                                           # strings
lc_monetary = ‘C’                       # locale for monetary formatting
lc_numeric = ‘C’                        # locale for number formatting
lc_time = ‘C’

エンコードとロケールの事はpostgresql8.2系から9.2系への変更点としてネットに情報がたくさんあるので、興味のある方はご自分で調べてください。

実際には僅かな変更ですからこれらの作業はすぐに終わると思います
私は右も左も分からない状態から開始したので現状把握するのに時間がかかってしまいました。

あっ もう一つ大事なことがあります
オマケで付いてるphpPgAdminから操作する時、ロールを登録する機能があります
その登録時に「ログインできますか?」にチェックを入れないと使えないDBになってしまいます
最初は登録したのに何故使えないのか悩みました。

ロールの扱いというのか考え方が変わっていますのでご注意ください。
チェックを入れないでロールを作成すると8.2系で言うところのグループロールに登録されてしまいます
ログインロールではないため8.2系で作ったのを移植してもDB接続に失敗して慌てることになります。
※DBの設計にもよると思います。

とりあえず、今回はこのへんで

boss

written by boss

8 月 22

QNAPに自社のアプリ(業務用ソフトウエア)を搭載するためにカスタマイズをしています。

同じものを何台でも作れるように裏ワザ無しで構成する必要もあり
勝手に作業上の壁もできたりしますがQNAP自体が最初から制約がありますから
予備実験はそれなりに苦労します。

カスタマイズ 第一弾としては以下の内容を目標に設定を進めます。

  • PDFファイルからサムネイルが生成できるようにする。
  • PostgreSQLが使えるようにする。

PDFからサムネイルを生成するにはimagemagickとghostscriptをインストールします
それには先にOptware ipkgをインストールすると後の作業が楽です。

いくつかやり方はありますが簡単に再現性の高いインストール方法としてはipkgコマンドを活用するのがベストのように思います。
QNAPのAPP Centerを開いて開発者ツールの中にあるからOptware IPKGをインストールすれば準備OKです。

ブラウザーからGUIツールで操作してもいいのですがお奨めはSSHで接続して以下のコマンドを実行します。

ipkg install imagemagick
ipkg install ghostscript

インストールしてみてあれあこれコマンド操作をしてみると足りない機能が結構あります
たとえばphp-pearはipkgでインストールできますがpeclは提供されていません
と言うことは、imagickがインストールできないということです
ソースからインストールすれば可能だと思いますが、作業上の手間を減らす必要もあるため断念します
imagickが使えない代わりにconvertを使うことにしました。

次にPostgreSQLは以前はQNAP用は無かったのですが最近はベータ版が提供されています
そのせいで、あまり好きではないmySQLを使っていました「これからも使いますけどね・・・」
APP Centerのベータ版としてリストされていますのでクリックしてインストールすればOKです。
ただし、こちらが意図とする設定にはなっていないのでSSHでログインし設定ファイルを編集することにしました。
全くの新規でデータベースを作成するなら特に問題はないかもしれませんが
既存のを移植するには都合が悪いので自分好みに変更する必要がありました
ベータ版なので気が利かないのは仕方ないと思ってます。

ベータ版のPostgreSQLはver9.2.1で、おまけに付いてる管理ソフトのphpPgAdminはver5.1です
このphpPgAdminはphpMyAdminと似たようなものですが個人的には操作しにくく感じます。

ここから先の話は長くなりそうなので
本日はカスタマイズ第一弾ということで続きはまた次回にでも。

boss

written by boss

8 月 20

昨日夕方から今朝方にかけて激しい雷雨でした。

ニュースでみなさんご存じのとおり19日から20日にかけての集中豪雨により土砂流災害が発生しました。

安佐南区の現場は自宅から遠くはなく(私も安佐南区在住なので)
現場周辺の友人宅も被害に遭っていますから他人事ではなくショックです。

あの状況を見ると復旧できるのかなぁと心配になります
いったいどれくらいの期間がかかるのか呆然としてしまいます。

もちろん被害に遭われた方々の悲しみや苦労も・・・

 あー なんだか考えただけで悲しくなります。

自分にも何かできることはないだろうか?

boss

written by boss

8 月 18

HDD(ハードディスクドライブ)って結構よく壊れますよね

そうは言ってもHDDなんて滅多に壊れないと信じてる人が多いのも事実
だけどやっぱり壊れるんです、しかも突然にそれは起きますね。

今回依頼されたのは、ある日突然フォルダーが見えなくなったという症状です
外付けのUSB接続型HDDで1TBの容量です。

そのままだと何かと修理しにくいので分解してHDDだけを取り出してみると
サムソンのSATAドライブが使われています
これを修理用のPCに直接SATAケーブルで繋いでチャレンジしてみることにしました。

データリカバリーソフトも幾つか使うかもしれませんが
最初からそうする気はなくて、いやいや必要ないだろうと思っていたので・・・ なんとなくね
おそらく破損フォルダーとして残骸が隠れているはず。

あー良かった
残骸が隠しファイルとして残ってました
ファイル容量をチェックする前に多数あった隠しファイルに対してアクセスできるように権限を追加して作業をします。

もともと何のファイルなのか分からなくなったファイルも多数ありますが
ファイルの格納位置やファイルサイズからして大した用事のものではないと判断し
必要なファイルだけ別のHDDにコピーしました。

使っていた人に聞くと消えたフォルダーは1つとの事でしたが
HDD内部は保存ファイル等が連続して書き込まれることはないため
破損ファイルは多数に分散していました
元のフォルダーやファイルの階層構造がどうだったのか私には知る由もないので
読み込めるファイルのみ復旧し「主に画像データだとお聞きしていたので」ファイルのタイムスタンプを見て整理し直しました。

大切な思い出の写真だと思いますので復旧できて良かった。

boss

written by boss

8 月 06

あの頃はパソコン創成期みたいな時代だったか・・・

これだけインフラもハードもソフトも進化なり成長なりしてるのに
なぜか未だにあの頃の不便さとあまり変わらない気がするのは何故なんだろう?

その3つの進化で、すごく楽になったし利便性も向上した。

それは解ってる
でも、不便なんだよね
あー もしかしたらお金をかければ、その不便さも解消されるのかもしれないね。

何が不便なのかって?
いつも社内で使ってるファイルを出先で使えないことなんだ
もちろん、それを解決する方法はいくらでもあるさ
クラウドが流行ってるし・・・

誰か500円玉サイズで1TB程度のカートリッジ式ストレージを安く作ってくれないか
あまり詳しくは書かないがクラウドの次はデータ持ち歩きが普通になってもいいんじゃない

boss

written by boss