タグ「サーバー構築手順」が付けられているもの

前回のサーバー入替えから、はや3年半

Xen を導入し、仮想サーバー2台体制を敷いてきたけれど、やっとサブ仮想マシンの出番が来た。

本当はサーバー購入したいところだが、昨今の状況からそれもかなわない。

構築したままファイルサーバーにしてたサブ仮想マシンを再構築、必要なコンテンツを移行して入れ替えることとする。

といっても、実際に移行するのはブログとWikiだけだけど。

ゲストOSの削除

イメージファイルをストレージとして利用している場合は、それを削除するようだが、論理ボリュームにインストールしてたので、以下の設定ファイルを削除するだけ。

/etc/xen/{ゲストOSホスト名}

削除する前に、必要な内容の退避を忘れずに行う。

新規ゲストOSのインストール

新規OSとして、CentOS5 をインストールする。

(FedoraCore6の)GUIからのインストールは失敗必至なので、テキストモードで行う。

xenguest-install を実行。

# xenguest-install
 What is the name of your virtual machine? [ドメインU名]
 How much RAM should be allocated (in megabytes)? [メモリサイズ]
 What would you like to use as the disk (path)? [インストールパス]
 Would you like to enable graphics support? (yes or no) yes
 What is the install location? [ダウンロードサイト]
 Starting install... 

ダウンロードサイトには、このあたりを指定。

ftp://ftp.riken.jp/Linux/centos/5.5/os/i386/

具体的には、以下の様な入力となる。以前の奮闘記は、こちら。

# xenguest-install
What is the name of your virtual machine? garuda
 How much RAM should be allocated (in megabytes)? 255
 What would you like to use as the disk (path)? /dev/mapper/VolGroup00-LogVol02
 Would you like to enable graphics support? (yes or no) no
 What is the install location? ftp://ftp.riken.jp/Linux/centos/5.5/os/i386/

後は普通にインストールするだけ。

日本語フォントのインストール

ただ、テキストモードでインストールすると、日本語フォントがインストールされない。GUIを使う必要があればインストールしておく

# yum install fonts-japanese 

そのままだと日本語が表示されないが、

centos_init03

インストールすると日本語が表示されるように。

centos_init04

メモリサイズの変更

メインとサブを入替えるので、メイン側のメモリサイズを大きく、サブを小さく変更。

設定ファイル /etc/xen/{ゲストOSホスト名}  の以下の記述を変える。

memory = "448"

以上。と、拍子抜けするほどあっけなく終了。

が、、、この後、Movable Type を 3 から 5 にするのに、結構はまることに。

CentOS を VirtualBoxにインストール

今年は、平城京遷都1300年なので、VirtualBox に遷都す(CentOS)。なんて。

仮想マシンのタイプ

Red Hat でいいんだろう。

vbox_centos00 

インストール

こちら(Netinstall CentOS 5.0)を参考に、というか、そのまま行う。

ちょっと前に、ノートPCにインストールしたときに、参考にさせてもらったのだが、CD-ROMが1枚ですむし、手間は大幅に削減されるしで助かった。

インストールCDの設定

http://ftp.riken.jp/Linux/centos/5/os/i386/images/boot.iso をダウンロードしておく。VirtualBox にインストールするので、CDに焼く必要はない。

仮想マシンの設定 - ストレージから、iso ファイルを(下図では、centos_boot.iso に名前を変更している) CD/DVD デバイスに設定。

vbox_centos01

仮想マシンの電源をON

インストール CD が起動しました。

vbox_centos02

インストール方法に、FTPを指定

通常とことなるのは、ここと、つぎの手順くらい

vbox_centos03

FTPの情報を指定

FTP site name : ftp.riken.jp

CentOS directory : /Linux/centos/5.4/os/i386

と指定。

インストール中

vbox_centos05

インストール完了

問題なくインストール完了

vbox_centos06

ネットワーク設定

VirtualBox の仮想マシンを サーバーとして使いたい、というか、ネットワーク上の他のホストから見えるようにするには、若干設定を行う必要がある。

ブリッジ接続の作成

ネットワークのプロパティから、ローカルのネットワークと、VirtualBox が作成した接続を同時に選択して、コンテキストメニューから、ブリッジ接続

vbox_centos07

作成された。

vbox_centos08

VirtualBox 側の設定

VirtualBox の ネット-ワークの設定で、割り当てを ブリッジアダプタに、名前を今作成したブリッジアダプタのものにする。

vbox_centos09

これで、仮想マシンで、DHCP使うなり、スタティックIPにするなりしても他のホストから参照できます。

遷都完了。

Subversion 超入門(1)

Subversion はEclpseやVisualStudioのプラグインとかクライアントとかで直感的に何となく使えちゃうんだけど、「何となく」使っちゃってる人向けに、概要を簡単にまとめる。まぁここを読めばよいのだが、手っ取り早く。

基本的な使い方

基本的な利用方法の概要

Subversion基本概要図

まず、各種ツールはインストールされているとする。

svnadmin create

サーバーに、ディレクトリ(OSのファイルシステム)とリポジトリ(OSのディレクトリ内に作成される一連のファイル群をまとめた概念)を作成。

リポジトリは、すべての変更を記録する、単に仮想的にバージョンかされたファイルシステム。

# svnadmin create /var/www/svn/myrepo
# chown -R apache:apache myrepo

svn import

ローカルのプロジェクト(バージョン管理対象としたいフォルダ)をサーバーのリポジトリにインポートする。

これで、サーバーのリポジトリに登録され、リビジョンが振られる。

リビジョンはリポジトリのスナップショット番号で、コミットのたびに1つずつ大きくなる。

以下の様な、キーワードで識別される

HEAD リビジョン ・・・ リポジトリにある最新のリビジョンのこと

BASE リビジョン ・・・ 作業コピーにある、「修正元」となるリビジョンのこと

COMMITED ・・・ ファイル、ディレクトリが変更された BASE 以前の最後のリビジョン

PREV ・・・ 変更があった最後のリビジョンの直前のリビジョン

c:\work>tree /f myproject
フォルダー パスの一覧
ボリューム シリアル番号は 00000002 F2F7:41B7 です
C:\WORK\MYPROJECT
├─branches
├─tags
└─trunk
        Bar.java
        Foo.java


c:\work>svn import ./myproject http://192.168.24.14/svn/myrepo/ --username piroto --password north123

-- この行以下は無視されます --

A    myproject

ログメッセージの変更や指定がなされていません
中断 (a), 続行 (c), 編集 (e):
c
追加しています              myproject\trunk
追加しています              myproject\trunk\Foo.java
追加しています              myproject\trunk\Bar.java
追加しています              myproject\branches
追加しています              myproject\tags

リビジョン 1 をコミットしました。

取り込んだ myproject を削除してみる

c:\work>rmdir /s myproject

svn checkout

myproject/trunk 以下を作業コピーとして取得。バージョン管理下に置かれる

c:\work>svn checkout http://192.168.24.14/svn/myrepo/trunk myproject
A    myproject\Foo.java
A    myproject\Bar.java
リビジョン 1 をチェックアウトしました。

svn status

コミットする前に、自分が何をしたのかみておく。

A ・・・ 追加予告

C ・・・ 衝突の常態

D ・・・ 削除予告

M ・・・ 修正されている

R ・・・ 内容置き換え準備

? ・・・ バージョン管理下にない

以下の変更をおこなってみる

  • Foo.java を編集
  • Hoge.java を追加
c:\work\myproject>svn status
?       Hoge.java
M       Foo.java

svn add

作業コピーに追加したファイルを、バージョン管理下へ置くことを予約する(commitで反映される)

作業コピーの構成を変える場合、svn copy、svn move、svn delete コマンドを使うこと。

c:\work\myproject>svn add Hoge.java
A         Hoge.java

svn diff

c:\work\myproject>svn diff
Index: Hoge.java
===================================================================
--- Hoge.java   (リビジョン 0)
+++ Hoge.java   (リビジョン 0)
@@ -0,0 +1,4 @@
+public class Hoge {
+       public static void main(String[] args) {
+       }
+}
\ No newline at end of file
Index: Foo.java
===================================================================
--- Foo.java    (リビジョン 1)
+++ Foo.java    (作業コピー)
@@ -1,4 +1,5 @@
 public class Foo {
        public static void main(String[] args) {
+               System.out.println("Foo!");
        }
 }
\ No newline at end of file

svn commit

リポジトリに自分のファイルの新しいバージョンをコミット

c:\work\myproject>svn commit

-- この行以下は無視されます --

A    Hoge.java
M    Foo.java

ログメッセージの変更や指定がなされていません
中断 (a), 続行 (c), 編集 (e):
c
送信しています              Foo.java
追加しています              Hoge.java
ファイルのデータを送信しています ..
リビジョン 2 をコミットしました。

svn update

リポジトリの最新状態で作業コピーを更新する。

他のユーザと編集箇所の競合がある場合。

c:\work\myproject>svn update
'Bar.java' で競合が見つかりました。
選択: 延期 (p), 全差分 (df), 編集 (e),
        衝突自分 (mc), 衝突他人 (tc),
        , すべてのオプションを表示 (s): e
public class Bar {
        public static void main(String[] args) {
<<<<<<< .mine
                System.out.println("Bar!");
=======
                System.out.println("Bar2");
>>>>>>> .r3
        }
}選択: 延期 (p), 全差分 (df), 編集 (e), 解決版 (r),
        衝突自分 (mc), 衝突他人 (tc),

今日はここまで。

Ubuntu 8.10

IMAGE_425

いやー Ubuntu 8.10 がリリースされたので、インストールしてみました。

8.04 がやたら固まるので、なおらないかな~と期待して。

 

インストール完了。

 

残念ながら、起動すらしませんでした。。。

(厳密には、起動はするんだけど、デスクトップが真っ白のまま)

 

 

いやーUbuntuは難しい。まぁいいや。

Fodora 9 に変更しました。快適に使えてます。

XenゲストOSの時刻を合わせる

XenのドメインUの上のゲストOSで、時刻あわせをしようとしたが、がんばってもできなかった。ドメイン0上で設定したら、上記の時刻も設定された。

NTPサーバを利用して時刻合わせ。 公開NTPサーバ

#ntpq -p ntp.nc.u-tokyo.ac.jp
remote refid st t when poll reach delay offset jitter
==============================================================================
*GPS_NMEA(1) .GPS. 0 l - 64 377 0.000 -0.025 0.010
+gate.keisu.t.u- .GPS. 1 u 24 64 376 0.457 -0.047 0.039
+clk.notemachi.w 130.69.251.23 2 u 2 64 377 15.299 -0.003 0.048

# ntpdate ntp.nc.u-tokyo.ac.jp
26 May 01:10:04 ntpdate[14900]: step time server 130.69.251.23 offset 24.199100 sec

# hwclock --show
2007年05月26日 01時10分08秒 -0.751343 seconds

# date
2007年 5月 26日 土曜日 01:10:52 JST

新サーバの準備もだいぶ整ってきたので、このブログと、メモ用に利用しているFreestyle Wikiが移行できるかの確認をしておこう。 まずは、Movable Type。 以下、こちらの環境でのインストールメモ。詳細な手順は、こちら。Movable Typeは、有償商品だが、個人の利用に限り、無償で利用することができる。このページから、申し込みを行うと、メールにてダウンロード先URLと、アクセスキーのメールが送信されてくるので、そこからダウンロードを行う。 ダウンロードしたファイル(MT-3_33-ja.zip)を解凍すると、mt-config.cgi-originalというファイルが含まれているので、以下を編集。 プログラムURLを指定する

CGIPath /mt/
データベースの設定 Berkeley DB を利用することにする。 BERKELEYDB のDataSrouceに、データベースを格納するパスを指定し、それ以外のMYSQL~SQLITEの設定をすべてコメントアウトする。
##### MYSQL #####
# ObjectDriver DBI::mysql
   :
##### POSTGRESQL #####
# ObjectDriver DBI::postgres
   :
##### SQLITE #####
# ObjectDriver DBI::sqlite
   :
##### BERKELEYDB ##### DataSource [データベースのパス]
ファイル名を変更 mt-config.cgi-original を mt-config.cgi に変更する。 データベースのインストール BERKELEYDBを以下の手順でインストールする。 まず、BERKELEYDBをコンパイルする必要があるが、今回、サーバには開発環境をインストールしていないため、
#yum install gcc
にて、GCCをインストールする(上記コマンドで、依存ライブラリもすべてインストールされる) http://www.oracle.com/technology/software/products/berkeley-db/index.htmlから、バイナリ(db-4.5.20.tar.gz)をダウンロードし、インストール。
# gzip -d db-4.5.20.tar.gz
# tar xvf db-4.5.20.tar
# cd db-4.5.20
# cd build_unix
# ../dist/configure
# make
# make install
あとは、mt ディレクトリを作成し、MT-3.33-ja ディレクトリの中のすべてのファイルをバイナリモードでアップロードし、アップロードしたファイルの、cgi ファイルのパーミッションを 755 に変更。
# chmod 755 *.cgi
データベースディレクトリを作成 先ほど、[データベースのパス] で指定した場所に、データベース用のディレクトリを作成し、パーミッションを変更する。
# mkdir db
# chmod 777 db
Apacheの設定変更(/etc/httpd/conf/httpd.conf)
<Directory "インストールディレクトリ/mt">
Options +ExecCGI
AddHandler cgi-script .cgi
</Directory>
http://192.168.x.x/mt/mt-check.cgi から、システムチェックを実行できる。 mt-1.jpg 問題がなければ、http://192.168.x.x/mt/ から、ログインし、インストールを続行する。 mt-2.jpg 以上で、データベースが初期化され、インストールは、完了。

昔は、ドメインなんて個人で取得できるようなものじゃなかった(費用的に)し、最近は安くなったとはいえ、年間数千円を捻出するのは、かなり負担だったので、家サーバー・プロジェクトにお世話になっています。

そんなところへ、独自ドメインが月額300円(税込)のYahoo!ドメイン の記事をみて、年間の支出は変わらないが心理的ハードルが格段に下がったため、登録してみようかなと。

手順にそって、登録作業を順調に進めていたのですが、Whois情報登録のところで、はたと、手が止まりました。「このインターネッツ無法地帯へここまで個人情報をさらしてもはたして大丈夫か?と。」

探せばなんでもあるものですね。Whois情報を代理で登録してくれるところがありました。 し、しかも、な、なんと、代金も.jp とかじゃなければ、年間 数百円。。。
Yahooにしとかなくてよかった。。。

早速手続きを行いました。
代金も、最近はすごい便利ですね、最寄のコンビにで支払うことができ、翌日には設定作業を行うことができました。

あこがれの独自ドメインまでの、手順を簡単に以下にまとめます。

1.ムームードメインさんで独自ドメインを取得
dom-1.jpg
・Whois情報をムームードメインさんの情報で公開できる。
・.jp 以外のドメインなら、年間千円程度でOK
・支払いは、コンビにで簡単にできた。
・支払い完了の翌日には、ドメインの取得から、設定が可能に。

2.MyDNS.JPさんにユーザ登録
dom-2.jpg

・独自ドメイン対応のDDNSのサービスを提供してくれてます。
・現在も愛用している、DiCEにも対応。
・ユーザ登録すると、メールでログインID等が送られてくる。

3.ムームードメインさんのDNS設定に、MyDNS.JPのネームサーバアドレスを登録
dom-3.jpg
・ムームードメインさんに料金を支払い、ドメインを取得すると、各種設定ができるようになるので、DNS設定に、MyDNS.JPさんで指定されたネームサーバのアドレスを設定する。

4.DiCEのダウンロードとインストール
dom-4.jpg
・自宅は、固定IPではないので、IPアドレスが変わるなどのイベント毎に上記MyDNS.JPへ、IPアドレスを更新するツールであるDiCEを導入する。
Linux版をダウンロード
・インストール方法も、ダウンロードページに詳述されている。

5.DiCEの設定
インストール後、dicedを起動して、以下のように、QA方式で、設定を行う。

# ./diced
:add
新しくイベントを追加します

DynamicDNSサービス名を入力してください
"?"で対応しているサービスを一覧表示します
(P)戻る
>MyDNS.JP
-------------------------------------------------
<< MyDNS.JP >>
URL: http://www.mydns.jp/
*** 情報 ***
ドメイン名、ホスト名についてはマスターID(ユーザー名)にて管理されています。
IPアドレスはサーバー側で自動検出します。
(これらは入力しても無視されます)
=================================================
ドメイン名を入力してください
"?"でドメイン一覧を表示します
(P)戻る
>typea.info
:

・設定ができたら、確認

:list
(No.) (イベント名) (スケジュール) (次回予定)
0 * MyDNS.JP IPアドレス変化時 (7日毎) 03/01 10:05

・直ちに実行

:ex 0
実行してもよろしいですか?(Y/N)
>Y
+ 2/22 10:08 にMyDNS.JPが実行されました
IPアドレスを更新しました

・MyDNS.JPさんのサイトで、更新ログが確認できる

dom-5.jpg

6.プロキシブラウザ(?)で確認
whoisやnslookupとかをみると、すでに情報が更新されているみたい。ただ、自宅からURLをブラウザでたたくと、ルータの設定画面となってしまうので、外部からアクセスする必要がある。

外部サーバを経由して、Javascriptで実装されたブラウザを利用して、接続確認。

dom-6.jpg

めでたく接続できました!!

また一歩野望に近づいた

Xenをコマンドから動かす。

今までは、Xenを Fedora CoreのGUI上から操作していたが、基本的にはGUIを使う必要はまったくないので、コマンドラインからの利用法を簡単にまとめとく。

ドメインの起動
-c でコンソールに接続

xm create [ドメイン名]
xm create -c [ドメイン名]

ドメインのコンソールに接続

xm colsole [ドメイン名]

ドメインの稼動状況をモニタ

xm top

ドメインをリスト

xm list

ドメインを終了

xm shutdown [ドメイン名]

ドメインを強制終了

xm destroy [ドメイン名]

xen-cmd-1.jpg
Windowsマシンから、XenのゲストOSを起動して、HTTPサーバも起動して、ブラウザで接続。

では、GeronimoとApacheを連携

Geronimoのインストールでは、直接Geronimo(のTomcat)を呼び出し(Tomcat組み込みのHTTPサーバを利用)ていたが、Apache HTTPサーバ経由で、Geronimoを利用するように設定する。

いままで通りあまり考えずにに、Fedora Core用の mod_jk (Fedora-Core-1-i386.tar.gz) をダウンロード、設定して、HTTPサーバを起動したところ、エラーとなってしまった。

httpd を起動中: httpd: Syntax error on line 199 of /etc/httpd/conf/httpd.conf: Cannot load /etc/httpd/modules/mod_jk2.so into server: /etc/httpd/modules/mod_jk2.so: undefined symbol: apr_pool_get_parent [失敗]

どうも、Apacche HTTPサーバのバージョン2.2から、Tomcatへの接続の方法が変更されているようだ。

結論から言うと、Geronimoのオンラインマニュアルにある以下の接続法のうち、1.mod_proxy を利用した接続をおこなうことになる。
1.mod_proxy
2.mod_jk

なんと、これが今までと比べて、めちゃめちゃ楽になっている。
念のために、バージョンが、2.2以降であることと、proxy_module、proxy_ajp_moduleが組み込まれていることを確認。

バージョン

# rpm -q httpd
httpd-2.2.3-5

モジュール

# /usr/sbin/httpd -M
proxy_module (shared)

proxy_ajp_module (shared)
Syntax OK

あとは、/etc/httpd/conf.d/proxy_ajp.conf に、例えば、「console」アプリケーションであれば、以下のような行を追加すればOK。そんだけ。留意点はWebアプリケーションを新規で追加するごとに、この記述を追加する必要があることか。

ProxyPass /console ajp://localhost:8009/console

例によって、システム - 管理 - セキュリティレベルとファイアーウォールの設定から、WWWへのファイアウォールをはずす必要がある。

apache.png

http://192.168.0.6/console でアクセスできるようになった。

apache-2.png

次はGeronimoのインストール

Java 6 JDK のインストールも完了したので、次は Apache Geronimo を導入。 Geronimo とは、Apache Software Foundationにて開発が行われているオープンソースのアプリケーションサーバでおます。

個人的には、Geronimo と聞くと、あたまの中で、この歌がぐるぐる回ってとまらなくなる世代です。衝撃的でした。

Geronimoでは、いろんなオープンソースのコンポーネントを集めて、機能を実装しているので、サーブレットエンジンについても、JettyとTomcatから選択することができます。使い慣れたTomcat版を選択します。

以下、Xen上のゲストOS Fedora Core 6 にGeronimoをインストールします。

Mavenのインストール 前提として、Javaベースのプロジェクト管理ツール Mavenのインストールが必要なので、以下から、ダウンロードしてインストールします。 http://maven.apache.org/maven-1.x/start/download.html 適当なディレクトリに解凍

# gzip -d maven-1.0.2.tar.gz # tar xvf maven-1.0.2.tar maven-1.0.2/ :
環境変数の設定 /etc/bashrcの末尾に以下を追記
export JAVA_HOME=/usr/java/default export MAVEN_HOME=/opt/maven-1.0.2 export PATH=$PATH:$MAVEN_HOME/bin
反映
# source .bash_profile
ローカルリポジトリの作成
# pwd /opt/maven-1.0.2/bin # chmod 744 install_repo.sh # ./install_repo.sh $HOME/ .maven/repository
ここまでできたら、以下から Geronimoをダウンロード http://geronimo.apache.org/ /opt あたり に解凍
#gzip -d geronimo-tomcat-j2ee-1.1.1.tar.gz #tar xvf geronimo-tomcat-j2ee-1.1.1.tar
システム - 管理 - セキュリティレベルとファイアーウォールの設定 Fedora Core から 8080ポートを許可してあげます。 geronimo.png java -jar server.jar で起動
# cd /opt/geronimo-1.1.1/bin
# java -jar server.jar
Booting Geronimo Kernel (in Java 1.6.0)... Starting Geronimo Application Server v1.1.1 [**********************] 100% 22s Startup complete Listening on Ports: 1099 0.0.0.0 RMI Naming 1527 0.0.0.0 Derby Connector 4201 0.0.0.0 ActiveIO Connector EJB 4242 0.0.0.0 Remote Login Listener 8009 0.0.0.0 Tomcat Connector AJP 8080 0.0.0.0 Tomcat Connector HTTP 8443 0.0.0.0 Tomcat Connector HTTPS 9999 0.0.0.0 JMX Remoting Connector 61616 0.0.0.0 ActiveMQ Message Broker Connector Started Application Modules: EAR: geronimo/webconsole-tomcat/1.1.1/car RAR: geronimo/activemq/1.1.1/car WAR: geronimo/remote-deploy-tomcat/1.1.1/car WAR: geronimo/welcome-tomcat/1.1.1/car Web Applications: http://garuda.typea.info:8080/ http://garuda.typea.info:8080/console http://garuda.typea.info:8080/console-standard http://garuda.typea.info:8080/remote-deploy Geronimo Application Server started
geronimo-2.png 管理ユーザ名の変更を行います。 デフォルトでは、system/manager となっています。 groups.properties を編集
# cd geronimo-1.1.1/var/security/ # vi groups.properties # admin=user1,user2
users.properties を編集
# vi users.properties # user1=password1 # user2=password2
http://192.168.0.5:8080/console にて管理コンソールに接続 geronimo-3.png

Fedora Core 6 へ JDKをインストール

今までは、ライセンスの関係上、JDKをLinuxディストリビューションに、バンドルできなかったようだけど、「 Sun、Javaのオープンソース化を発表!」なので、これからは、バンドルされるようになるのかな?

ともあれ、現在 Fedora Core 6 に入っている Java 環境は、GCJ


lrwxrwxrwx 1 root root 22 2月 8 11:15 /usr/bin/java -> /etc/alternatives/java
$ ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 35 2月 8 11:15 /etc/alternatives/java -> /usr/lib/jvm/jre-1.4.2-gcj/bin/java

これはこれで、面白そう(.javaファイルや、.classファイルをネイティブコードへコンパイルできたりとか)なんだけど、Sun謹製のJDKをインストールする。

ここから、jdk-6-linux-i586-rpm.binをダウンロードしてくる。

サイトには、2種類のインストーラがあるが、それぞれ、

* 自己解凍バイナリファイル
すべてのユーザが、JDK を任意の場所に簡単にインストールできる。Linux 付属のシステム版 Java プラットフォームを上書きできるのは root ユーザだけ。

* RPM パッケージ
RPM パッケージを格納した rpm.bin ファイルです。root ユーザが、rpm ユーティリティを使ってインストール。

という違いらしいので、RPMパッケージをダウンロードした。
以下の手順で、RPMのインストールまで行われる。

1.実行アクセス権をあたえる


# chmod a+x jdk-6-linux-i586-rpm.bin

2.実行


# ./jdk-6-linux-i586-rpm.bin

3.ライセンスに同意


For inquiries please contact: Sun Microsystems, Inc., 4150
Network Circle, Santa Clara, California 95054, U.S.A.

Do you agree to the above license terms? [yes or no]
yes

インストールが終わると、以下の2つのリンクが作成される。

/usr/java/latest
Sun が最新バージョンとみなす Java のバージョンを指す。 アップグレードした場合、この値が最新のバージョンでない場合は上書き。

/usr/java/default
デフォルトで /usr/java/default は /usr/java/latest を指す。ただし、管理者が /usr/java/default が他のバージョンの Java を指すよう変更した場合は、その後のパッケージのアップグレードも管理者によって行われ、上書きされることはない。

あと、java コマンドの参照先を GCJから、Sunのものに変えておく。


# cd /usr/bin/
# mv java java_gij
# ln -s /usr/java/default/bin/java java

以上。

Xen のゲストOSのインストール自体は、まぁ終わったんだけど、どうも 仮想マシンコンソール上でのキーボードの設定がうまくいかない。いろいろ設定をいじるのだが、jp106のキーボードとして認識してくれず、かといって us101でも無いようで。まぁコンソールからはOKなので、継続して調べるとして、Oracle XEのインストールをしちゃおう。

*ダウンロード先
*インストールガイド

以下にごく簡単にインストール要件をまとめる

サポートOS


Red Hat Enterprise Linux RHEL3 and RHEL4、Suse SLES-9、Fedora Core 4、Red Flag DC Server 5.0/MIRACLE LINUX V4.0/Haansoft Linux 2006 Server (Asianux 2.0 Inside)、Debian 3.1

RAM

サーバ(最低 256MB、推奨 512MB)、クライアント(256MB)

ディスク容量

サーバ(最低 1.5GB)、クライアント(100MB)

スワップ領域

0 ~ 256MB : RAM容量の3倍
256 ~ 512MB : RAM容量の2倍
512MB ~ : 1024MB

カーネルパラメータ

インストーラがうまいことやってくれる(詳しくはここ)

あとは、インストールは、root で行う必要があるのと、ライセンス的に、以下の制限がある。


*2つ以上のCPU(デュアルコア含む)が搭載されていても、利用されない。
*1台のマシン上には、1データベース、1インスタンスしかつくれない
*4G以上のデータを格納しようとすると、ORA-12592エラーとなる
*SGAおよびPGAに1GBを超えるRAMは使用できない

特に、要件に問題は、なさそうなので、以下の手順にてインストールを行った。
結論から言うと、すごくあっけなく終わってしまった。あっけなくというのは、Fedora Core 3 に Oracle 10gをインストールした時に、めちゃめや苦労した覚えがあるから、あまりにも素直に終わってしまって、拍子抜けの感がある。

1.ダウンロード先から、Linux 版の Oracle Dababase XE Server をダウンロード。
2.パッケージの確認とインストール


# rpm -q libaio <- インストールされているか
パッケージ libaio はインストールされていません。
# yum search libaio <- yum の検索
# yum install libaio <- yum からインストール

3.適当なディレクトリに格納(downloadsとする)し、以下のコマンドを実行

# rpm -ivh downloads/oracle-xe-univ-10.2.0.1-1.0.i386.rpm

な、なんと、これでインストール完了。
メニューにも、Oracle関係が追加されました。
ora-inst-1.png

4.お次は設定、以下のコマンドをたたいて、質問に答える。
管理GUIのポート 8080は何かと都合がわるので、8090に変更し、Oracleポートはデフォルト、起動時に実行はyesとする


# /etc/init.d/oracle-xe configure
:
Specify the HTTP port that will be used for Oracle Application Express [8080]:8090
Specify a port that will be used for the database listener [1521]:
Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]:y
:
To access the Database Home Page go to "http://127.0.0.1:8090/apex"

起動時に実行に yes と答えると、すぐにデータベースが起動するので、http://127.0.0.1:8090/apex にアクセスすると、管理画面が立ち上がる。

ora-inst-2.png

あとは、環境変数設定スクリプトを以下のように実行


# cd /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin
# . ./oracle_env.sh

これで、sqlplus なんかが動くことを確認したら、
ora-inst-3.png
/etc/bashrc に、以下の行を書きこんどくと、毎回、環境変数が設定されるようになります。

. /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh

以上お疲れ様でした。

メモリ増設

Amazonに頼んでたメモリが届きました。
memory.jpg
もともと、サーバには、512MB搭載されてて、まぁ普通に使う分には、十分なんですけど、Xen上で、2つのゲストOSを走らせるためには、まったく足りないので、かなりの決意で購入しました。

ここをみて、 512MB 1R PC2-4200 バッファ無し ECC DDR2 SDRAMメモリキット(1x512MB) 390825-B21互換のメモリのやすーいのを、ネットで、探したんですけども、なかなか安いのはないもので。。。

ECC無しなら、安いやつもあったんですけど、あり無し混在はできなさそうだし。(できるのか?)結局、最近始まったポイント還元分、送料無料、購入実績を考慮して、Amazonで購入しました。

ただ。。。。
サーバ自体が 2,4000円 程度、増設メモリ1枚が、12,600円。
んーなんと、メモリ1枚で、おおよそサーバー代金の半分の追加投資。。。
サーバ購入して、ばらしてオークションとかで販売したら利益がでるんじゃないか?
って、まぁこの部品が高価という構図は、カラープリンタとかでもいっしょか。
そういえば、最近3,000円のコーヒーメーカーの、ソーサー(?)が割れて、2,000円位で、部品注文したなぁ。

まぁ、無事搭載できたので、XenのゲストOSをもうひとつ作成し、
/etc/xen/[ドメイン名] 設定ファイルを編集し、無事2つのゲストOSを起動することができました。

# Automatically generated xen config file
name = "garuda"
memory = "448" <- ここを編集
:

1GBのメモリを以下の構成にしました。

*ドメインU -1 448MB
*ドメインU -2 256MB
*ドメイン0 290MB (残り全部)

xen-vm.png

よし、次は、Oracle XE のインストールだ。

Fedora Core 6 のインストール

2万円ちょっとで購入したサーバは、もちろんOSが付いていない。

Xenを導入して、本番区画と、テスト区画を作成したいな~と思っており、Fedora Cora6をインストール。
最近はLinuxのインストールも簡単になり。。。って

hpsvr4.jpg

なんぢゃこりゃ。

画面がぐちゃぐちゃ。
グラフィカルモードでインストールできないので、テキストモードでインストール。

特に問題なく、インストール自体は完了したが、setup で、Xの設定を行おうとすると、グラフィックモードの設定画面が立ち上がってしまい、設定画面がまったく見えない。はぁ~と思いつつ手探りで、トライ&エラーで設定しているうちに、なんとか、かんとか設置できた。

。。。とおもったら、デスクトップの漢字がなんや、四角の中に文字コードが表示されるというふざけた状態。

mojibake.png

インターネッツで調べたところ、どうもテキストモードでインストールすると、フォントがインストールされないようで、


yum install fonts-japanese

で、解決。

まぁこれくらいのトラブルがないと、Linuxらしくない(?)な、と妙な納得をしつつ、インターネッツがなかったら、大変だったなぁ。いい時代だ。



1/30 追記

テキストインストールの問題は、インストーラのバグらしい。対処方法等、ここに詳しい。

結局日本語関連のプログラムがインストールされないため、以下を実行すればよい。


yum groupinstall "Japanese Support"


↓この本を購入した。ビギナーズなんて書いてあるので内容薄いかなーなんて思ってたんだが、何が何が、非常にバランスよく記述されていて読み物としても、ガイドとしてもリファレンスとしても利用できる。是非手元に置いておこうと思った一冊です。

サーバ購入

サーバー機を購入した。
驚きの安さだ。


bgcmr1.jpg

ポイントが、2,500円分くらい返ってくるので、実際2万円ちょっと。
しばらく見ない間に、こんなに安くなってるとは。

届いた、実機はこんな感じ。

hpsvr1.JPG

最初は、DELLあたりのやすーいサーバを買おう!と探してたら、これを発見。

hp1.jpg

まるごと半額~現在の経済状況からして、4万円オーバーはきついけどお買い得や!
と思いもう少しで購入ボタンを押しそうだったところ、深呼吸して、型番で検索したところ、上記ビッグカメラのサイトを発見。CPUがかなり違うけど、それをおぎなって余りあるお値打ち感。ということで即購入。

久々の大きな買い物(個人としては)。

いろいろ試したいこともあるので、楽しみながらサーバー構築していこうと思います。