pagetop

>このブログのトップ

001:RedHat Linux 6.2に設置;第1回

2004-06-24

358.jpg

ちょっと古いサーバにも入るかと思って、RedHat Linux 6.2(以下RHL6.2)を使って設置してみました。(ノートPC(WindowsXP)のVMWare上にRHL6.2をインストールして試しました。)

何回かに分けて、手順と、ひっかかりそうなポイントを書いていきます。
※ダウンロードからサーバ上での解凍については、
 基本コーナーに書きますので、その部分は端折ります。
●先ず、RHL6.2でそのまま使えないもの。

・PostgreSQL
 標準のものは6.5.Xなので、そのまま使えません。
 7.4.3を入れました。
・perl
 5.00503が入っていますが、これでは駄目なので、5.8.4を入れました。
・ImageMagick
 RHL6.2のでもうまく動かす方法があると思うんですが・・・
 あれこれするの面倒なので、入れなおしました。

●RHL6.2に足りないもの
・expat
 XML::RSSモジュールを入れようとしたら、これが必要と言われましたんで、
 入れました。
 RHL6.2のRPMにはないので、ソースからmakeして入れました。


以下の作業はrootユーザーで行います。

●Perl5.8.4を入れよう!
 Perlは、/usr/local/binに入れました。既に別のバージョンのが入ってる場合は、
 /usr/local/bin/perl584とかいう名前で入れるといいです。
 Perlはいろんなバージョンのを別々に入れてもOKなので便利。
 ただし、Configureの途中で、/usr/bin/perlにリンクするか?と聞かれるので、その時は n (No)にします。でないと、/usr/bin/perlは、/usr/bin/perl5.00503のハードリンクなので、
 上書きされてしまうとまたRPMからPerlを入れなおさないといけない羽目になります(5.00503を他で使ってればだけど)。

 PerlはCPANから取ってきます。

# perl -MCPAN -e shell

 を実行します。いろいろ聞かれますが適当にEnterキーを押していきます。(途中FTPサイトを選択するところだけ番号を入れる)
cpan>
 と表示されたら、Perlをダウンロードします。
cpan> get N/NW/NWCLARK/perl-5.8.4.tar.gz
 これでperl-5.8.4.tar.gzがダウンロードされて、展開されます。
 ダウンロードが完了すると、また
cpan>
 となりますので、exitと入力して終了します。
 ダウンロード&解凍されたファイルは、rootのホームディレクトリ内の.cpan/buildにあります。
 (いんストールもcpan>の画面で出来ますが、
 途中でちょっとやめてまた明日、とかになる場合もあると思うんで、
 一度ダウンロードしてから別途インストール、ってことにします)
 後は簡単です。
# cd .cpan/build/perl-5.8.4/
 して、
# ./Configure
 ここでいろいろ質問されますがEnterをひたすら押します。
 ただ一箇所だけ!
Do you want to install perl as /usr/bin/perl? [y]
 ここは n なので間違えないこと。
 あとは
# make
# make test
# make install
 でインストール完了です。
 簡単です。

●PostgreSQL7.4.3
 PostgreSQLは、既に動いていて、他の用途に使っている、という場合は、
 ・バージョンアップする
  かなり勇気がいります。6.5からだいぶ変わってますので、
  古いプログラムが動かないとか、データも入れなおせないとか、
  そういうハメになると大変です。
  まー、今使ってる分は捨ててもいいや、という方はどうぞ。
 ・5433とか別ポートで動かしてみる
  動くと思うんですが、どうでしょう・・・
  ただ、RHL6.2が動いているということは、結構古いサーバだと思いますので、
  負荷に耐えられるかわからんです。
  やめた方がいいかも。

 で、今までPostgreSQLを使ってなかった人はラッキーです。
 1から入れましょう!。
 もし、既に動いている場合は、

# /etc/rc.d/init.d/postgres stop

 で止めます。

# rpm -qa | grep postgres

 とするとインストールされているPostgreSQLのRPM一覧が出ますので、

# rpm -e RPM名

 で、削除します。
 rpmを削除すると、postgresユーザーも削除されますので、新たに作りましょう。

# useradd -d /usr/local/pgsql postgres
# chmod 755 /usr/local/pgsql

 ※注意
  ユーザーを追加すると、ホームディレクトリのパーミッションが700になります。
  これでは、他のユーザーがPostgreSQL用のコマンドとか使えないので、755にしておきます。

 ここからは、postgresユーザーで作業します。

# su - postgres

 日本PostgreSQLユーザー会のサイトのダウンロード情報、にPostgreSQLのダウンロード先がリンクされていますので、
 ここからソースを取ってきます。
http://www.postgresql.jp/

 解凍するとpostgresql-7.4.3ディレクトリが出来るので、その中に入って、configureします。

$ cd postgresql-7.4.3
$ ./configure --prefix=/usr/local/pgsql

 ライブラリが足りないとか言われたら、RHL6.2のRPMから追加して下さい。多分言われないです。
 (私は大丈夫だった)
 あとは、make & make installです。

$ make
$ make install

 PostgreSQLを起動する前に、initdbを実行します。
 データベース用のディレクトリを作ってくれます。

$ initdb --encoding=EUC_JP --no-locale -D /usr/local/pgsql/data

 この例では、/usr/local/pgsql/dataがデータベース用のディレクトリになります。
 で、PostgreSQLを起動します。

$ pg_ctl start -l /usr/local/pgsql/postgres.log

 -lはログファイルを残すオプションです。ログファイルはどんどん溜まるので、いらない場合は、

$ pg_ctl start

 でかまいません。

 ※注意!
  portmapが動いてないと、起動しないので、先にportmapを動かしておきます。
  rootユーザーで、
# chkconfig --level 3 portmap on
  とすると、runlevel 3(ふつーに動いてるとき)にportmapが起動するようになります。
  ただし、これは次に起動した時の話なので、とりあえず手作業で起動させましょう。

# /etc/rc.d/init.d/portmap start

続きは次回!

----------------------------------------------
参考サイト

・RedHat社(足りないrpmファイルを調達しましょう)
 http://www.redhat.co.jp/
 古いRedHatはkddlabsとかでダウンロード可
 ftp://ftp.kddlabs.co.jp/
 RedHatはここ
 ftp://ftp.kddlabs.co.jp/pub/Linux/packages/RedHat/

・日本PostgreSQLユーザー会
 http://www.postgresql.jp/
・ImageMagick
 http://www.imagemagick.org/
・expat
 http://sourceforge.net/projects/expat/

Posted by admin 19:56:42 │Comments(1)TrackBack(0)

http://www.pwblog.com/install/cwtb.cgi/358

Posted by 荒木 at 2004-12-23 21:55:02

インストールを試しました。
install.cgi, install.plを試しましたが、不具合(?)がありましたので、コメントします。
OS: Fedora Core 1
Perl: 5.8.3
PostgreSQL: 7.4.6
-------------------------------------
最初はマニュアルで各スクリプトの修正をしようと思ったのですが、面倒で色々見てみたらinstall.cgiがあるのを発見して試しました。
まずPostgreSQLの接続がうまくいきませんでした。最初は7.3.4だったのでこれを7.4.6にあげたが変わらず。実際7.3系列だと問題はあるのでしょうか。
それでソースをみたら、
$db = DBI->connect("dbi:Pg:dbname=$p->{dbname}","$p->{dbuser}","$p->{dbpasswd}") or die;
という箇所がありこれを
$db = DBI->connect("dbi:Pg:dbname=$p->{dbname};host=localhost","$p->{dbuser}","$p->{dbpasswd}") or die;
としたら接続が正常にいきました。けどいつまでたってもブラウザが接続を切ってくれなくてサーバのプロセスを見てみたら接続のプロセスが終了してくれません。それでプロセスをkillして
こんどはinstall.plをコンソールから行ってみました。PostgreSQLの接続の問題はinstall.plでもあったのでこれを変更、そうしたら正常にインストールは終了しました。
管理画面ログインでまたDB接続エラー。
cgi-bin/lib/CWDB.pmでも上と同様の接続問題があったのでこれを直して、ようやくうまくいったようです。
このあとよく調べたら、DBIでの接続で、host指定がない場合はPGHOST環境変数が採用されるが、私のPostgreSQLでの起動時にこの環境変数の指定がないためのようだとわかりました。

名前
メール
URL
コメント

▲ページの先頭へ