SSブログ

Railsインスコまとめ(Ubuntu12.04で)と、気になっている事。 [Linux]

前回にやったことをまとめておく。

$ sudo aptitude update
$ sudo aptitude upgrade
$ sudo aptitude install ruby1.9.1
$ sudo aptitude install ruby1.9.1-dev
$ sudo aptitude install rubygems
$ sudo gem1.9.1 install rails

$ sudo aptitude install sqlite3
$ sudo aptitude install libsqlite3-dev
$ sudo aptitude install postgresql
$ sudo aptitude install postgresql-server-dev-9.1
$ sudo aptitude install nodejs


まとめるとか言ってる割には、APTで入れる物をいちいち分けてるねぇ。installしてる所は、パッケージ名を続けていっぺんに入れても大丈夫なはず。また、実証するのは面倒なので、とりあえずこれでRailsができるってところまでは、ある程度いけていると思う。

細かいグダグダでダメな経緯はこっち。
 http://miff.blog.so-net.ne.jp/2013-02-17-1
あ、PostgreSQLの設定ファイルの変更も忘れずに。その後の、デーモンのrestartも忘れずに。

 
ハマった所で気になったコト。

postgresというユーザーにpasswdでパスワードを付けた。
その時はまだダメだった。

結局、config/database.yml の問題(host: localhost が要らない)と分かったわけだが、そこで腑に落ちない状況が見られた。別にRails使っている分には問題ないのかもしれないけど、以前に以下のようなコードでエラーを確認して接続の状態を見ていた。

#!/opt/local/bin/ruby1.9

require 'rubygems'
require 'pg'
pg = PGconn.connect("localhost", 5432,"","","","postgres","")


というソースでは、前までいけてたんだけど、localhostという文字列は受け入れられなくなっていた。その前に最後の引数の、空白がダメになっていた。なので、

pg = PGconn.connect("", 5432,"","","","postgres","password")

と、つなぎ先を入れないでみるとエラーが出なくなる。その上、同様にしてパスワードが空白でも通るようになる。パスワードを設定したにもかかわらずである。要するに以下の様な

pg = PGconn.connect("", 5432,"","","","postgres","")

パスワード空白じゃダメだって、localhostの時にエラーで言ってたじゃんよぉ。

でも、地元で使う分には、特にパスワードなしでもエラーが出なくなる。多分、他のホストから要求された場合は、パスワード無しにはいる設定にできないってことなのかな(とちょっとポジティブに捉えてみる)。

いや、パスワード付けたから、パスワード無しがエラー無しで通っちゃうのマズいと思うんですけど…。もしかすると、DBにつながってないけど、エラーで処理せずにオブジェクトをnilで返しているとか、そういうのか? 今後の勉強のために調べておいた方がいいかな。返ってくるpgの中身見るとか、その後にSQL発動してみるとか、そこまでやらんでもActive Recordでいじってみるとか。



それと腑に落ちない点ふたつめ。

WindowsとMacでpgAdmin(http://www.pgadmin.org/)を入れたのだが、Macでは見れているのに、Windowsではつなげない。ファイアウォールの設定かなぁと思って、

 C:\Program Files (x86)\pgAdmin III\1.16\pgadmin3.exe

に権限を与えてみたり、Windows側のポート5432を開けてみたりしたんだけど、一向に繋がる気配がない。何が問題ないんだろうか。これもWindowsから、LinuxにSSHで開発している時に少し面倒になりそう。

それと今の所、どこに使っているテーブルがあるのかが見当たらない。そもそも、テーブルの中身をいじるんじゃなくて、外側のデータベースの固まりしか見れないのかもしれない。でも、MySQLの時はテーブルの中身を見れていたし、psqlのメニューもあるので使えないはずはないと思ってはいるのだが…。



Macで見れていたと思っていたら、自分の中のPostgreSQLのデーモンとつなげていたという悲しいお知らせ。結局Ubuntuのサーバの方につなげてみたら、Windowsと同様に「Server doesn't listen」状態に。これは恐らくサーバ側に何かしないとつなげませんな。nmapでUubntuサーバをポートスキャンしてみたら、きちんとportが開いてるみたいだから、それは大丈夫なんだが、まだファイアーウォールとかがあるのかな。SSHとか普通に使えるのにねぇ。ん〜、sudo ufw status でも動いてないって言うしな。

$ nmap localhost

Starting Nmap 5.21 ( http://nmap.org ) at 2013-02-17 22:50 JST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00047s latency).
Not shown: 998 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
5432/tcp open  postgresql

Nmap done: 1 IP address (1 host up) scanned in 0.15 seconds

うん、ガッツリport開いてるよね。何が悪いんだか全然分からん。サーバ側の設定ファイルもかなりいじったんだけどな。今のところ、同じサーバで動くRailsではデータをストアできているので、サーバ側の設定をしてないとしか思えないんだけど、今までいじった程度ではダメなんだろう。サーバはWindowサービスを入れてないので、地元でGUIのツールをいじる事が出来ないんだよね。

GUIでどうしても見ておきたい。なんか負けた気がするし、楽にできた方がいい場合だって多い。SSHでpsql使えばいいんじゃねぇと言われれば、その通りなのかもしれないけど。

タグ:Rails3
nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。