|
PostgreSQL + Web 編4 - Cygwin 2.05b、Cygipc 1.11.1 インストール、移行
■Cygwin version 2.05b.0(5)-release (i686-pc-cygwin) インストール
・PostgreSQL 7.2.3、JAVA2 SDK 1.4.0 にした事に伴って、Cygwin B20 から、
Cygwin 2.05b に環境を変更することにする。
ついでに、インストール先も c: から j: ドライブに変更する。
・Tomcat 等のインストールについては、
PostgreSQL + Web 編2 - JAVA Servlet、JSP、J2SDK、Tomcat、JDBC 環境
を参考にして下さい。
・Apache、Tomcat 連携については、
PostgreSQL + Web 編3 - Apache、Tomcat 連携、mod_jk.dll、mod_jk.conf
を参考にして下さい。
・尚、Cygwin B20 での PostgreSQL 動作より、Cygwin 2.05b での動作の方が
速いかと期待したが、ほんのわずかに速くなった程度である。(^^;
(psql で日本語表示が可能になったのはうれしいが...)
■旧環境退避
・PostgreSQL 7.2.3 等は、Cygwin B20 配下のものを後で、コピーする作戦と
するので、作業フォルダに c:/cygnus/ をそっくり退避する。
尚、新環境に PostgreSQL の src 等はもってこないつもりなので、更に念
をいれて MO に旧環境を保管退避しておく。
■JAVA2 SDK 1.4.0 アンインストール
・c:/cygnus/j2sdk/ とインストールしているので、一度アンインストール
する。
■Cygwin B20 アンインストール
・c:/cygnus/ とインストールしているので、アンインストールする。
アンインストール後も c:/cygnus/ フォルダが残るようなら、手作業で削除
して綺麗にする。
■Cygwin 2.05b インストール
・まず、Cygwin の setup.exe をダウンロードする。
・setup.exe を起動して、次のように指定して更にダウンロードする。
Download from Internet
Local Packege Directory: ダウンロードフォルダ
Direct Connection / Use IE5 Settings
接続先: 先頭のものを選択した
選択: 初期値
+ Devel Install (C コンパイラ等)
+ Utils
bzip2 Install (解凍ツール)
・setup.exe のダウンロードが完了すれば、以後はローカルで処理できる。
再度、setup.exe を起動して、次のようにインストールする。
Install from Local Directory
インストール先: j:\cygwin
形式: Unix
選択: 初期値
+ Devel Install (C コンパイラ等)
+ Utils
bzip2 Install (解凍ツール)
** 初回は、デスクトップにアイコンを作成させると良い
■CygIPC 1.11.1 インストール
・cygipc-1.11-1.tar.bz2 をダウンロードし、j:/cygwin/ に置く。
Cygwin 2.05b で、次のようにインストールする。
cd /
bunzip2 -dc cygipc-1.11-1.tar.bz2 | tar -xvf -
・インストールが終了すれば、j:/cygwin/ に置いた cygipc-1.11-1.tar.bz2
は不要である。
■less.exe インストール
・less290i.tgz をダウンロードし、一時的な作業フォルダを作成し、そこに
置く。Cygwin 2.05b で、次のように解凍する。
cd /workgomi
tar -zxf less290i.tgz
・解凍した workgomi/ の中の less290i.tgz を除く 10 個のファイルを
/usr/local/bin/ にコピーし、workgomi/ フォルダを削除する。
・この less.exe で、PostgreSQL の psql による select で、日本語データ
が普通に表示できる。
■JAVA2 SDK 1.4.0 インストール
・j:/cygwin/j2sdk/ とインストールする。
■PostgreSQL 7.2.3 移行
・/usr/local/pgsql/ にコピーする。
■Apache 1.3.20 移行
・/usr/local/apache/ にコピーする。
grep を多用して、ドライブレター、フォルダ構成を新環境に修正する。
■Perl 5.6.1 移行
・/usr/local/perl/ にコピーする。
■PHP 4.0.6 移行
・/usr/local/php/ にコピーする。
grep を多用して、ドライブレター、フォルダ構成を新環境に修正する。
尚、Windows フォルダの php.ini も修正すること。
■MySQL 1.3.20 移行
・/usr/local/mysqlfront/、/usr/local/mysql/ にコピーする。
grep を多用して、ドライブレター、フォルダ構成を新環境に修正する。
■www ウェブホーム 移行
・/usr/local/www/ にコピーする。
grep を多用して、ドライブレター、フォルダ構成を新環境に修正する。
■Tomcat 3.3.1 移行
・/jakarta-tomcat-3.3.1/ にコピーする。
grep を多用して、ドライブレター、フォルダ構成を新環境に修正する。
尚、修正後に
j:\cygwin\jakarta-tomcat-3.3.1\conf\auto\iis_redirect.reg
は、ダブルクリックして、レジストリ再登録する。
■cygwin.bat 修正
・j:\cygwin\cygwin.bat では、どうしても起動直後のホームに問題がある。
次のように修正する。
@echo off
set HOME=/
j:
chdir j:\cygwin\bin
bash --login -i
■profile 修正
・j:\cygwin\etc\profile の最後に「test -f ./.bashrc && . ./.bashrc 」
を 1 行追加して、.bashrc が起動時に処理できるようにする。
...
...
...
cd "$HOME"
test -f ./.bashrc && . ./.bashrc
■.bashrc 修正
・旧版とはパスの初期値が少し違う。その点も含め、ドライブレター、フォル
ダ構成を新環境に修正する。
export HOME=/
export PATH=/j2sdk/bin:/usr/local/perl/bin:$PATH:/usr/local/pgsql/bin:/usr/local/mysql/bin:/usr/local/apache:/oracle/BIN
export POSTGRES_HOME=/usr/local/pgsql
export PGLIB=/usr/local/pgsql/lib
export PGDATA=/usr/local/pgsql/data
export LD_LIBRARY_PATH=/usr/local/pgsql/lib:/usr/local/lib:/oracle/LIB
export TOMCAT_HOME=j:/cygwin/jakarta-tomcat-3.3.1
export JAVA_HOME=/j2sdk
export CLASSPATH=".;j:/cygwin/jakarta-tomcat-3.3.1/lib/common/servlet.jar;j:/cygwin/jakarta-tomcat-3.3.1/webapps/sak/WEB-INF/lib/pgjdbc2.jar"
cd
ls -aF
■mount 追加
・初期の mount は、次のようになっている。
j:/cygwin/bin on /usr/bin type system (binmode)
j:/cygwin/lib on /usr/lib type system (binmode)
j:/cygwin on / type system (binmode)
c: on /cygdrive/c type user (binmode,noumount)
d: on /cygdrive/d type user (binmode,noumount)
e: on /cygdrive/e type user (binmode,noumount)
f: on /cygdrive/f type user (binmode,noumount)
g: on /cygdrive/g type user (binmode,noumount)
h: on /cygdrive/h type user (binmode,noumount)
i: on /cygdrive/i type user (binmode,noumount)
j: on /cygdrive/j type user (binmode,noumount)
・旧版と同じく、次のように mount を追加する。
mount -f g:/tmp /src
mount -f j:/oracle/ora90 /oracle
・最終的な mount は、次のようになる。
j:/oracle/ora90 on /oracle type system (binmode)
j:/cygwin/bin on /usr/bin type system (binmode)
j:/cygwin/lib on /usr/lib type system (binmode)
j:/cygwin on / type system (binmode)
g:/tmp on /src type system (binmode)
c: on /cygdrive/c type user (binmode,noumount)
d: on /cygdrive/d type user (binmode,noumount)
e: on /cygdrive/e type user (binmode,noumount)
f: on /cygdrive/f type user (binmode,noumount)
g: on /cygdrive/g type user (binmode,noumount)
h: on /cygdrive/h type user (binmode,noumount)
i: on /cygdrive/i type user (binmode,noumount)
j: on /cygdrive/j type user (binmode,noumount)
■全サービス起動シェルスクリプト
・PostgreSQL については、pg_ctl で起動終了しないと、次回の起動でエラー
が発生する。また、-i パラメタを指定しないと psql 等が使用できない。
「pg_ctl -o -i start」で起動している。
起動順は、
IPC
PostgreSQL
#MySQL (注釈)
Tomcat
Apache
としている。
#!/bin/sh
ipc-daemon -q &
pg_ctl -o -i start
#mysqld-nt --standalone &
cd /jakarta-tomcat-3.3.1/bin
startup.sh
cd
apache -k start &
sleep 2
ps
■全サービス終了シェルスクリプト
・kill のプロセス終了ロジックを Cygwin 2.05b 用に修正した。
尚、たまに MySQL が kill さえもできない症状が発生するので、MySQL の
サービス操作は別途行っている。
また、PostgreSQL については、pg_ctl で起動終了しないと、次回の起動で
エラーが発生する。
終了順は、
#MySQL (注釈)
Apache
Tomcat
PostgreSQL
IPC
#MySQL kill (注釈)
としている。
#!/bin/sh
#mysqld-nt.exe --shutdown
apache -k shutdown
cd /jakarta-tomcat-3.3.1/bin
shutdown.sh
cd
pg_ctl stop
pid=`ps | sort | grep -m1 ipc-daemon | awk '{print $1;}'`
kill ${pid}
#pid=`ps | sort | grep -m1 mysqld-nt | awk '{print $1;}'`
#kill -f ${pid}
sleep 1
ps |
|