Archive for: 𔃴月 2012’

WindowsXP ポートが塞がれてしまった不具合

2012年4月22日 Posted by PURGE

以前まで開発していた環境で、突然 ruby webrick の3000番ポートがアクセス不可になった。ブラウザでアプリが見れないのである。接続エラー。
大体の場合は、使用できていたポートが使用できなくなった原因としては下記が想定される。

1.ポートの競合
2.アンチウィルスソフトのファイアーウォール
3.Windowsファイアーウォール
4.hostsファイルの書き換え
5.ブラウザのプロキシ設定

1の場合、例えば3000番のポートに他のアプリが先取りしてしまってポートが開けないというパターン。通常はエラーとなってサービスが立ち上がらない。
しかし今回は明らかにwebrickは起動しており、競合は見当たらなかった。

2の場合は、アンチウィルスソフトが自動更新されたりして、通常使用していたポートが閉じられてしまうパターン。この場合は、アンチウィルスソフトを停止して接続を試す。しかし今回はアンチウィルスソフトを停止して、尚且つアンインストールしてみたがダメ。接続に失敗する。

3も2と同様。今回はWindowsファイアウォールを停止したが、やはりダメ。

4は、hostsファイルが何らかの原因で書き換えられ、localhost が名前解決できないというパターンであるが、問題なく設定されている。

5は、ブラウザのプロキシ設定により、ブラウザからlocalhostが閲覧できなくなるパターン。残念ながら設定は問題なかった。

その他調査として、FireFox/Chrome/IE で localhost 閲覧を試みたが全てダメ。
ping localhostは通ることも確認済み。関係ないと思いながら、HTTPサーバをインストールして80番ポートを普通に閲覧したが、接続に失敗し、これも見れない。
ポートスキャナーをダウンロードしてポートスキャンを行ったが、必要としているポートが全て塞がれている。

調査を1日掛かってしていたのだが、どれも問題なかったのだが、ポートが塞がれている。

で、時間ももったいない為、Windowsのバックアップと再インストールをすることにした。
悲しい。

久しぶりに

2012年4月22日 Posted by PURGE

旅行やら引越しやらで、2012年2月~4月迄の間、新生活(?)が始まりました。
約3ヶ月間、プログラムから離れていて、何が何やら分からなくなってしまった。

作成していたプログラムも環境設定か何かの関係で動かなくなっているし・・・。

というわけで、rubyのマイナーバージョンアップもあったようなので、心機一転インストールし直してみる事とする。

環境はWindowsXPなので、インストーラーRuby 1.9.3-p194をダウンロード&インストールしてみる。

まずはお決まりで、rubyのバージョンチェック。

C:>ruby -v
ruby 1.9.3p194 (2012-04-20) [i386-mingw32]

Devkitのインストール先へ移動して、初期化しパスを確認してみる。
問題なければインストール。正直この手続きで何が行われているかは不明。
勉強不足です。

C:>cd c:usrlocalDevKit

C:usrlocalDevKit>ruby dk.rb init
[INFO] found RubyInstaller v1.9.3 at C:/usr/local/ruby193

Initialization complete! Please review and modify the auto-generated
'config.yml' file to ensure it contains the root directories to all
of the installed Rubies you want enhanced by the DevKit.

C:usrlocalDevKit>ruby dk.rb review
Based upon the settings in the 'config.yml' file generated
from running 'ruby dk.rb init' and any of your customizations,
DevKit functionality will be injected into the following Rubies
when you run 'ruby dk.rb install'.

C:/usr/local/ruby193

C:usrlocalDevKit>ruby dk.rb install

元々あったrubyプロジェクトフォルダへ移動し、bundle install を行ったが、やはりエラー。昔ハマったmysql2 ライブラリの問題。
rubyを入れなおしたことで、もう一度mysqlのパスを認識させる。

gem install mysql2 -v '0.3.10' -- --with-mysql-dir="C:/usr/local/mysql5.5/MySQL Server 5.5" --with-mysql-include="C:/usr/local/mysql5.5/MySQL Server 5.5/include" --with-mysql-lib="C:/usr/local/mysql5.5/MySQL Server 5.5/lib"

その後、libmysql.dll が見つからないようなエラーが発生した。
この場合は、単純に rubyをインストールした、binフォルダの中に libmysql.dll を配置してあげる。