右クリック送るメニューに項目追加
hostsファイルを編集しようと思って在処までやってきたは良いものの、ダブルクリックをすると『ファイルを開くプログラムを選択』ウィンドウが開く。で、そこで普段使用しているエディタを選択して開いて…でも毎回同じ動作が必要。以前WIndowsXPの時に重宝していたのが右クリックの『送る』メニュー。ここに普段使用しているエディタを登録しておけば、選択したプログラム(アプリケーション)で対象のファイルを開く事ができる!
というわけで右クリック送るメニューの追加方法。
下記ディレクトリに追加したいアプリケーションのショートカットを追加するべし。
上記ディレクトリを開くにはエクスプローラから順に追っていく方法もあるが別の方法もある。
【Windowsキー+R】で『ファイル名を指定して実行』ダイアログを開いて下記コマンドを入れる。
shell:sendto
上記ディレクトリにショートカットを追加すればおしまい。後は動作確認。
ちなみにショートカットは実際に実行されているバイナリ(.exe)からショートカットを作成した方が良いらしい。
VirtualPC
VirtualPC - Microsoft
http://www.microsoft.com/japan/windows/products/winfamily/virtualpc/default.mspx
普段はVMwareを使用しているのだが、Vista上で動かしているのだからMicrosoft純正(?)のモノがあるのであればそれでも良いんでない?というかそっちの方が性能が良かったりして?なんて思って試してみた次第である。
上記URLから相変わらずわかりづらいページへ二度ほど遷移した画面からようやくダウンロード。setupを実行してとりあえず何事も無くVistaにインストールされたようだ。
スタートメニューから起動してみるとまずはVirtualMachineの作成。…OSの選択肢は基本Windowsなのね。でも『その他』を選んで次へ進む。メモリも3GBほどVistaが積んでいるのでデフォルト128MBだけど大きくしちゃう。512MBにしようかしら。で、バーチャルハードディスクを作成して終了。
作成したVirtualMachineを選択して『起動』ボタンをクリック!新規で開いたWindowのCDメニューからISOファイルを選択して後は通常通りインストール。…なんて思っていたら、画面が!画面がなんかおかしいよ!CentOS-5.2を入れてみようと思ったのだが、MediaCheckの後、GUIでインストールする所で画面がキレイに表示されない。何が出ているのかもさっぱりわからん。。。というわけでVirtualMachineの画面の設定等をいじってみたものの変わらないので、CentOS-5.2をtextモードでインストールする事にした。MediaCheckの画面は正常に表示されていたのでtextモードなら大丈夫だろうという判断で。その判断は正しかったのだ。インストールできた。
で、VirtualMachineの使い勝手なのだが
- Network周りの設定がいまいちよくわからん
- Windowを選択した時点でその後のキーボード操作は全てVirtualMachine内のキーボード操作になる
→当たり前かもしれないが、なんかAlt-Tabで他のWindowを開けなくなるのでちょっとめんどい。
→VMwareだったらCtl-AltとかでVirtualMachineを抜けてとかキーボード操作のみで変えられるけど
VirtualPCではマウス操作が必要 - 文字列?のコピー貼り付けがちょいとめんどい
でもでも
- VMwareよりも動きが高速(計測してみたわけではなく体感で)
- VirtualMachine内のキャプチャみたいなのが容易に取れる
そんなところ。
自分の中ではまだVMwareに軍配!
cpan2rpm
RPM作成を最近覚えた。specファイルの書き方とか、実際にRPMパッケージを作る方法とか。とりあえず単純なモノが作れるようになっただけだけど。ソースからコンパイルして作成したものも今後はRPMとして一元管理できるようになるだろうか。
で、今回はperlのモジュールをRPMパッケージにするコマンド。perlのモジュールはcpanで。ってperlerの方には当たり前の事かもしれないが、perlを初めてまともに触った自分にはこれまた管理対象が増えるのがイヤだ。RPMの既にインストールされているパッケージにだってperl-*ってモノが入ってるじゃん。perlモジュールなのにRPMとcpanと両方あるの?って。
仕事でもperlモジュールのRPMパッケージを作らなければいけない状態だったのでいろいろ調べていたらcpan2rpmというコマンドを見つけた。試してみたところ、ほほぅ…楽だなぁ。specファイルを探したり、自分で作ったりする必要もなく、結構お手軽にRPMパッケージが作成できる。こりゃ便利だー。自分ではまだネタが書けるほどではないのでgooglingで。
SQL Buddy
検証環境でのMySQLの構築が済んだら試したい。
SQL Buddy
http://www.sqlbuddy.com/
http://www.ideaxidea.com/archives/2008/08/mysqlsql_buddy.html
ユーザにパスワードを設定する
PostgreSQLのスーパーユーザであるpostgresに対してパスワードを設定する事にする。ネットワーク経由(TCP/IP)からの接続の場合において、設定したパスワードが一致しなければ接続を制限するようにしたい。
まずは検証サーバにて確認。
ユーザの一覧を確認
念の為、現在どんなユーザが検証サーバのPostgreSQLに存在するかを確認する。現状ではPostgreSQLのプロセスを起動しているユーザであれば、localhostからの接続にはパスワードの認証も何もない。
[postgres@CentOS-5.2 ~]$ /usr/local/postgresql-8.3.3/bin/psql Welcome to psql 8.3.3, the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help with psql commands \g or terminate with semicolon to execute query \q to quit postgres=# \du List of roles Role name | Superuser | Create role | Create DB | Connections | Member of -----------+-----------+-------------+-----------+-------------+----------- dbuser1 | no | no | no | no limit | {} dbuser2 | no | no | no | no limit | {} dbuser3 | no | no | no | no limit | {} postgres | yes | yes | yes | no limit | {} (4 rows) postgres=#
アクセス制限
PostgreSQLでサーバ側は起動したもののvistaからの接続に失敗した。なんでだろう?と思っていたらサーバ側での接続設定がいろいろできていなかったようでパスワード等も設定されていなかったのかしら。というわけで本日はPostgreSQLの接続設定。
/opt/postgresql-8.3.3/pg_hba.conf
上記ファイルはpostgresqlのデータ配置(?)ディレクトリにある。下記PostgreSQLサーバを実行しているコマンドの-Dのオプションで指定しているディレクトリ。
[postgres@CentOS-5.2 ~]$ ps -ef | grep postgres postgres 2023 1 0 20:02 ? 00:00:00 /usr/local/postgresql-8.3.3/bin/postmaster -p 5432 -D /opt/postgresql-8.3.3 postgres 2026 2023 0 20:02 ? 00:00:00 postgres: writer process postgres 2027 2023 0 20:02 ? 00:00:00 postgres: wal writer process postgres 2028 2023 0 20:02 ? 00:00:00 postgres: autovacuum launcher process postgres 2029 2023 0 20:02 ? 00:00:00 postgres: stats collector process root 2355 2327 0 20:03 pts/0 00:00:00 su - postgres postgres 2356 2355 0 20:03 pts/0 00:00:00 -bash root 2461 2433 0 20:05 pts/1 00:00:00 su - postgres postgres 2462 2461 0 20:05 pts/1 00:00:00 -bash postgres 2515 2462 0 20:12 pts/1 00:00:00 ps -ef postgres 2516 2462 0 20:12 pts/1 00:00:00 grep postgres [postgres@CentOS-5.2 ~]$
pg_hba.conf
インストール時から編集していない状態のpg_hba.confファイルの内容は下記。
# "local" is for Unix domain socket connections only local all all trust # IPv4 local connections: host all all 127.0.0.1/32 trust # IPv6 local connections: host all all ::1/128 trust
- 第1項目:接続タイプ
- 第2項目:接続先データベース
- all:すべてのデータベース
- [データベース名]:記述しているデータベースのみ
- 第3項目:接続ユーザ
- all:すべてのユーザ
- [ユーザ名]:記述しているユーザ名のみ
- 第5項目:認証方式
1行につき1形式。認証待ちのアクセスは、上から記述された順番に接続形式・接続先データベース・接続ユーザ・接続元ネットワークが一致した場合に認証を行う。つまりは上に記述しているものが一致した時点で適用。下の方にゆるい条件の制限を、上に厳しめの条件の制限を書くのが良いのかもしれない。
全ての条件(行)が一致しなかった場合は接続を拒否される。
今回は下記の記述を入れる事によって、vistaからの接続をOKとする。
host all all 192.168.74.0/24 md5
TCP/IP接続において、全てのデータベース・全てのユーザに対して「192.168.74.0/24」のネットワークからの接続はMD5形式の暗号化パスワード認証を行う。
上記を3つめの条件として入れようかな。
パスワード制限を入れたからには、各ユーザ(role)に対してパスワード設定が必要となる事は言うまでもなくやらねばね♪
pgAdminIII
検証環境でのPostgreSQLも起動した事だし、vistaにpgAdminIIIを入れてみよう。
インストールするWindows用バイナリはPostgreSQLユーザ会のページより取得する。
インストール
- 上記ページのバージョン8.3.3よりWindows版インストーラをダウンロードする。
現時点では『postgresql-8.3.3-1.zip』というファイルがダウンロードされた。 - ダウンロードしたzipファイルを展開
- postgresql-8.3.msiを実行
- 『Welcom to the PostgreSQL Installation Wizard』
『Japanese/JAPAN』を選択し『Start』ボタンを押下 - 『PostgreSQLインストールウィザードへようこそ』
『次へ』を押下 - 『インストールの注意事項』
『次へ』を押下 - 『インストールオプション』
『pgAdminIII』以外は全て『全体の機能は選択されません』を選択し『×』の状態にする
選択されているのは『PostgreSQL>ユーザインタフェース>pgAdminIII』のみ
『次へ』を押下 - 『インストールの準備ができました』
『次へ』を押下 - 『インストール中』
- 『インストールは完了しました!』
『終わる』を押下
動作確認
スタートメニュー>PostgreSQL 8.3>pgAdminIII
メニューの一番左側にあるコンセントボタンをクリックし、『新しいサーバ登録』ウィンドウを開く。
- 名前:表示名称
- ホスト:IPで指定
- Port:デフォルトでは5432
- SSL:空白
- DBメンテナンス:デフォルト接続DB
- ユーザ名:接続ユーザ
- パスワード:接続ユーザのパスワード
- パスワード保存:チェックを入れると毎回の入力を省略
- 環境の保存:チェック
- DB制限:空白
- サービス:空白
- 接続する:チェック
…接続できなかった。。。そういや接続設定周りをやってないや。
pg_hba.conf
(追記)
アクセス制限付けた!
[PostgreSQL]アクセス制限
http://d.hatena.ne.jp/sin-j/20080814/1218683529
でも…pgAdminIIIでの接続がいかない。なんでなんでなんで???んー。。。という所で下記のコマンドを試してみる。
[postgres@CentOS-5.2 ~]$ netstat -nl | grep 5432 tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN unix 2 [ ACC ] STREAM LISTENING 8096 /tmp/.s.PGSQL.5432 [postgres@CentOS-5.2 ~]$
ん…これは
って事だよね。きっと。自分が想定しているのは…少なくともvistaからの検証サーバの5432番ポートへの接続を待ち受けてくれていなければいけないんだよね。きっと。………だから…PostgreSQLの設定を変更しなきゃいけないって事だ!というわけでpostgresql.confを編集。下記の設定がどうやら該当するようなので編集してPostgreSQLサーバを再起動。
listen_addresses = '*' #listen_addresses = 'localhost' # what IP address(es) to listen on; # comma-separated list of addresses; # defaults to 'localhost', '*' = all # (change requires restart)
デフォルトでlocalhostからしか接続を受付けないみたい。ということでとりあえずはどこからでもOKよ♪という状態にしてみた。
[postgres@CentOS-5.2 ~]$ netstat -nl | grep 5432 tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN tcp 0 0 :::5432 :::* LISTEN unix 2 [ ACC ] STREAM LISTENING 8511 /tmp/.s.PGSQL.5432 [postgres@CentOS-5.2 ~]$
お、良いんじゃない。これでpgAdminIIIでvistaから接続してみると…接続できた♪なんか見方は良くわかんないけどとりあえず満足。