SAK 図書館
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 ■PostgreSQL 編、JAVA Servlet、JSP 編資料
■MySQL 編資料
■SQL 基礎編資料
■SQL 基礎実地編資料
■SQL チューニング編資料
■Oracle PL/SQL 編資料