2010年2月20日土曜日

メインフレームエミュレータでLinuxを動かす(12)

前回に続いて、MovableType v4のインストールを行います。MovableType v4にはウィザード形式の設定ツールが添付されており、webブラウザからウィザードを実行すれば設定できてしまいます。うーん、便利。
1.設定ウィザードの起動
Webブラウザからhttp://192.168.200.1/cgi-bin/mt/mt.cgiにアクセスすると、「Movable Typeへようこそ」の画面が表示されますので、"Static web path"と"Static file path" を以下のように設定して「開始」ボタンを押下しました。ところが、「現在のサーバーの構成上その場所にはWebブラウザからアクセスできません」と表示されてしまいました。
とりあえず 今回は、/var/www/cgi-bin/mt/mt-staticディレクトリを/var/www/html以下に移動することにしました。 mt-staticディレクトリの移動後、再びインストールウィザードを起動すると、今度はメッセージが微妙(下図)に変化しています。 変更後の"Static web path", "Static file path"を入力し、「開始」ボタンを押下すると・・・。
 今度は、以下のような画面が表示されました。インストールが継続できるようになりましたので、「次へ」ボタンを押下します。
2. データベース関連の設定
データベース関連の設定値を入力する画面が表示されます。 前回設定したデータベースの設定値をそのまま入力して、「接続テスト」ボタンを押下します。

正しく構成されていれば、「データベースの設定が完了しました。」と表示されますので、「次へ」を押下します。
3. メールアドレスの設定
Blogにコメントなど追加されたときに通知が来るメールアドレスの設定を行います(下図)。通知にはsendmailを使うんですか・・・。 そういえば、sendmail を停止していたことがあったような気がしますが、おもむろに(^^;)立ち上げなおして("# serivice sendmail strat")から、以下のように入力して、「テストメール送信」ボタンを押下します。
正しく送信できれば、「メール設定を完了しました。」と表示されます。「次へ」を押下すると、以下のように「構成を以下のファイルに書き込んだ」旨の画面が表示されますので、再び「次へ」を押下します。

4. システム管理者アカウントの設定
なんだか、s390用のLinuxの話題とはまったく関係のない話になってきてしまいましたが(^^;)、もう少しMovableType v4の設定画面が続きます。 システム管理者アカウントを作成せい、といわれますので設定します。

電子メールアドレスは、hogehoge@localhostではメールアドレスとしては不適切なようなので、今回はとりあえずそれっぽいものを入力して、お茶を濁しました(^^;)。 入力を終えたら「次へ」を押下します。

5. 最初のblogの作成
システム管理者アカウントを作成後、最初のBlogを作成する旨が表示されます。今回の設定では、MovableType v4は/var/www/html以下にBlogを作成しますので、apacheユーザーでそのディレクトリに読み書きできるようパーミッションを設定しました。
[root@localhost mt]# chown apache.apache /var/www/html
[root@localhost mt]# ls -dl /var/www/html
drwxr-xr-x  3 apache apache 4096 Feb  7 23:25 /var/www/html
以下のように入力した後、「インストール」を押下します。

データベースの初期化が完了すると、以下のような画面が表示され、MovableTypeにサインインできるようになります。
「Movable Typeにサインイン」ボタンを押下してサインインすると、"Blog on s390"のダッシュボードが表示されました。
 

以上で、MovableTypeのインストール・設定は完了です。CentOS for s390といってもやはり「普通の」linuxなんだなー、ということが分かりました。

2010年2月14日日曜日

メインフレームエミュレータでLinuxを動かす(11)

今回と次回の2回でCentOS/390にBlogツールとして有名なMovableTypeのインストール手順を紹介したいと思います。メインフレーム用Linuxといってもアプリケーションをインストールする上では普通のLinuxなので、(s390特有の理由で)特にはまる点はないと思います。
今回はMovableType v4を動作させるための下準備を、次回はMovableType付属のツールを使用した環境設定作業を紹介したいと思います。なお、MovableTypeの最新版は、2010/2月時点でv5なのですが、CentOS/390がサポートしているMySQLのバージョンがv4.1である都合上、今回はMovableType v4のインストールを行うことにしました。
1. MySQLとApacheのインストール
yumのgroupinstallコマンドで"MySQL Database"と"Web Server"をインストールします。これで十分かと思いきや、どうやらデータベース本体を動作させるためのパッケージはgroupinstallではインストールされない模様なので、"mysql-server"は別途インストールしました。
[root@localhost ~]# yum -y groupinstall "MySQL Database"
[root@localhost ~]# yum -y groupinstall "Web Server"
[root@localhost ~]# yum -y install mysql-server
ここで試しにapacheが起動できるか試してみました。以下のコマンドでapacheを起動します。
[root@localhost ~]# service httpd start
Starting httpd: [  OK  ]
WebブラウザでCentOS/390(http://192.168.200.1)にアクセスすると、以下のようにapacheのテストページが表示され、apacheが動作していることが確認できます。

2. MovableTypeのインストール
MovableType v4(個人ライセンス版)のzipファイルをここからダウンロードし、CentOS/390の/home/katzkichiにコピーした後(前回設定したSamba経由だと便利)、unzipで展開し、/var/www/cgi-bin/mtにおきます。
[katzkichi@localhost ~]$ unzip -q MT-4_27-ja.zip
[katzkichi@localhost ~]$ su -
Password:
[root@localhost ~]# cd /home/katzkichi
[root@localhost katzkichi]# ls -ltr
total 6940
drwxr-xr-x  14 katzkichi katzkichi    4096 Dec 24 11:58 MT-4.27-ja
drwxr-xr-x   2 katzkichi katzkichi    4096 Jan 30 12:03 Desktop
-rwxr--r--   1 katzkichi katzkichi 7082231 Feb  3 23:49 MT-4_27-ja.zip
[root@localhost katzkichi]# mkdir /var/www/cgi-bin/mt
[root@localhost katzkichi]# mv MT-4.27-ja/* /var/www/cgi-bin/mt
[root@localhost katzkichi]# ls -l /var/www/cgi-bin/mt
total 136
drwxr-xr-x   4 katzkichi katzkichi  4096 Dec 24 11:58 addons
drwxr-xr-x   2 katzkichi katzkichi  4096 Dec 24 11:58 alt-tmpl
drwxr-xr-x   2 katzkichi katzkichi  4096 Dec 24 11:58 default_templates
drwxr-xr-x  39 katzkichi katzkichi  4096 Dec 24 11:58 extlib
drwxr-xr-x   2 katzkichi katzkichi  4096 Dec 24 11:58 import
-rw-r--r--   1 katzkichi katzkichi  3248 Dec 24 11:58 index.html
drwxr-xr-x   3 katzkichi katzkichi  4096 Dec 24 11:58 lib
-rwxr-xr-x   1 katzkichi katzkichi   401 Dec 24 11:58 mt-add-notify.cgi
-rwxr-xr-x   1 katzkichi katzkichi   390 Dec 24 11:58 mt-atom.cgi
-rwxr-xr-x   1 katzkichi katzkichi   383 Dec 24 11:58 mt.cgi
-rwxr-xr-x   1 katzkichi katzkichi 20000 Dec 24 11:58 mt-check.cgi
-rwxr-xr-x   1 katzkichi katzkichi   399 Dec 24 11:58 mt-comments.cgi
-rw-r--r--   1 katzkichi katzkichi  1647 Dec 24 11:58 mt-config.cgi-original
-rwxr-xr-x   1 katzkichi katzkichi   469 Dec 16 15:00 mt-cp.cgi
-rwxr-xr-x   1 katzkichi katzkichi   400 Dec 24 11:58 mt-feed.cgi
-rwxr-xr-x   1 katzkichi katzkichi   405 Dec 24 11:58 mt-ftsearch.cgi
-rwxr-xr-x   1 katzkichi katzkichi   393 Dec 24 11:58 mt-search.cgi
drwxr-xr-x  16 katzkichi katzkichi  4096 Dec 24 11:58 mt-static
-rwxr-xr-x   1 katzkichi katzkichi   392 Dec 24 11:58 mt-tb.cgi
-rwxr-xr-x   1 katzkichi katzkichi   883 Dec 24 11:58 mt-testbg.cgi
-rwxr-xr-x   1 katzkichi katzkichi   396 Dec 24 11:58 mt-upgrade.cgi
-rwxr-xr-x   1 katzkichi katzkichi   346 Dec 24 11:58 mt-wizard.cgi
-rwxr-xr-x   1 katzkichi katzkichi  1084 Dec 24 11:58 mt-xmlrpc.cgi
drwxr-xr-x   5 katzkichi katzkichi  4096 Dec 24 11:58 php
drwxr-xr-x  17 katzkichi katzkichi  4096 Dec 24 11:58 plugins
-rw-r--r--   1 katzkichi katzkichi  4771 Dec 24 11:58 readme.html
drwxr-xr-x   2 katzkichi katzkichi  4096 Dec 24 11:58 search_templates
drwxr-xr-x   7 katzkichi katzkichi  4096 Dec 24 11:58 tmpl
drwxr-xr-x   2 katzkichi katzkichi  4096 Dec 24 11:58 tools
apacheがMovableTypeのCGIを実行可能なように、パーミッションを変えておきます。
[root@localhost katzkichi]# chown -R apache.apache /var/www/cgi-bin/mt
3. mysqldの起動とrootパスワードの設定
まず、mysqldを起動します。
[root@localhost ~]# /etc/init.d/mysqld start
Initializing MySQL database:  [  OK  ]
Starting MySQL:  [  OK  ]
次に、管理ユーザーである"root"のパスワードを設定します。
[root@localhost ~]# mysql -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 4.1.22

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> SET PASSWORD FOR root@localhost=PASSWORD('XXXXXXXXXX');
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
念のため、パスワードが設定されていないユーザーをすべて削除しておきます。
[root@localhost ~]# mysql -uroot -pXXXXXXXXXX
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 4.1.22

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> USE mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql>  DELETE FROM user WHERE password='';
Query OK, 1 row affected (0.00 sec)
mysql> exit
Bye
4. データベースの作成とMovableType用のユーザー定義
Blogデータを格納するデータベースと、CGI経由でそのデータベースを参照・更新するためのユーザーを作成します。今回はデータベース名は"mtdb", ユーザー名は"katzkichi"とします。
まず、"mtdb"データベースを作成します。mysqlshowコマンドで"mtdb"データベースが作成されたことを確認できます。
[root@localhost ~]# mysqladmin -u root -pXXXXXXXXXX CREATE mtdb
[root@localhost ~]# mysqlshow -pXXXXXXXXXX
+-----------+
| Databases |
+-----------+
| mtdb      |
| mysql     |
| test      |
+-----------+
次に、katzkichiユーザーにmtdbへのアクセス権を与えます。"IDENTIFIED BY"句でパスワードを指定します。
[root@localhost ~]# mysql -u root -pXXXXXXXXXX mtdb
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7 to server version: 4.1.22

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> GRANT all privileges ON mtdb.* TO katzkichi@localhost IDENTIFIED BY 'YYYYYYYYYY';
Query OK, 0 rows affected (0.01 sec)

mysql> exit
Bye
katzkichiユーザーでmtdbにアクセスできるか確認します。
[root@localhost ~]# mysql -ukatzkichi -pYYYYYYYYYY mtdb
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 32 to server version: 4.1.22

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show tables;
Empty set (0.00 sec)

mysql> exit
Bye

次回はMovableType v4の付属ツールを使用して、CentOS/390でBlog環境を設定したいと思います。

2010年2月8日月曜日

CentOS/390でJava6使えます

前回、「次回はMovableTypeをインストールします」と書いていたのですが、CentOS/390で(gcjでない)Javaが使えると分かったので、備忘録として書いておこうと思います。
ここから、"IBM 31-bit SDK for Linux on zSeries architecture, Java Technology Edition 2009-12-18" (Java6)がダウンロードできます(要ユーザー登録)。
RPM形式をダウンロードして、CentOS/390にインストールしてみました。なお、依存関係でcompat-libstdc++-33パッケージが必要なので、yumで先にインストールしています。
[root@localhost katzkichi]# yum -y install compat-libstdc++-33
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for compat-libstdc++-33 to pack into transaction set.
compat-libstdc%2B%2B-33-3 100% |=========================| 3.5 kB    00:00
---> Package compat-libstdc++-33.s390 0:3.2.3-47.3 set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 compat-libstdc++-33     s390       3.2.3-47.3       base              233 k

Transaction Summary
=============================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 233 k
Downloading Packages:
(1/1): compat-libstdc++-3 100% |=========================| 233 kB    00:00
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: compat-libstdc++-33          ######################### [1/1]

Installed: compat-libstdc++-33.s390 0:3.2.3-47.3
Complete!
[root@localhost katzkichi]# rpm -ivh ibm-java-s390-sdk-6.0-7.0.s390.rpm
Preparing...                ########################################### [100%]
   1:ibm-java-s390-sdk      ########################################### [100%]
"java -version"を実行してみました。
[root@localhost katzkichi]# /opt/ibm/java-s390-60/bin/java -version
java version "1.6.0"
Java(TM) SE Runtime Environment (build pxz3160sr7-20091215_02(SR7))
IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 Linux s390-31 jvmxz3160sr7-20091214_49398 (JIT enabled, AOT enabled)
J9VM - 20091214_049398
JIT  - r9_20091123_13891
GC   - 20091111_AA)
JCL  - 20091202_01

最新のJavaが使えることが分かったので(パフォーマンスはともかくとして)、さらに色々と楽しめそうです。

メインフレームエミュレータでLinuxを動かす(10)

s390用といってもCentOSなので、普通のLinuxサーバとして動作させるためには(s390用だからといって)特別な設定は必要ありません。
今回はCentOS for s390(以下CentOS/390)上でSambaを動作させ、CentOS/390上に定義されている一般ユーザーのホームディレクトリを母艦Linuxと同じLAN上にあるWindowsマシンからネットワークドライブとして使用可能とするように設定したいと思います。

1. CentOS/390でsambaをインストールし、sambaサービスを起動する。
yumでsambaをインストールします。 groupinstallで"Windows File Server"を指定するのがよさそうです。
[root@localhost ~]# yum -y groupinstall "Windows File Server"
Setting up Group Process
Setting up repositories
update                    100% |=========================|  951 B    00:00
base                      100% |=========================| 1.1 kB    00:00
addons                    100% |=========================|  951 B    00:00
extras                    100% |=========================|  951 B    00:00
Setting up repositories
Reading repository metadata in from local files
Passing package list to Install Process
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for samba to pack into transaction set.
samba-3.0.28-0.c4.9.s390. 100% |=========================| 114 kB    00:05
---> Package samba.s390 0:3.0.28-0.c4.9 set to be updated
---> Downloading header for system-config-samba to pack into transaction set.
system-config-samba-1.2.2 100% |=========================|  22 kB    00:00
---> Package system-config-samba.noarch 0:1.2.21-1.el4.1 set to be updated
---> Downloading header for sysreport to pack into transaction set.
sysreport-1.3.15-8.noarch 100% |=========================| 9.5 kB    00:00
---> Package sysreport.noarch 0:1.3.15-8 set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 samba                   s390       3.0.28-0.c4.9    base               16 M
 sysreport               noarch     1.3.15-8         base               19 k
 system-config-samba     noarch     1.2.21-1.el4.1   base              191 k

Transaction Summary
=============================================================================
Install      3 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 16 M
Downloading Packages:
(1/3): samba-3.0.28-0.c4. 100% |=========================|  16 MB    10:12
(2/3): system-config-samb 100% |=========================| 191 kB    00:11
(3/3): sysreport-1.3.15-8 100% |=========================|  19 kB    00:01
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: samba                        ######################### [1/4]
  Installing: system-config-samba          ######################### [2/4]
  Installing: sysreport                    ######################### [3/4]
  Removing  : sos                          ######################### [4/4]

Installed: samba.s390 0:3.0.28-0.c4.9 sysreport.noarch 0:1.3.15-8 system-config-samba.noarch 0:1.2.21-1.el4.1
Complete!
インストールが完了したら、sambaのサービスを起動します。
[root@localhost ~]# service smb start
Starting SMB services: [  OK  ]
Starting NMB services: [  OK  ]
2. Sambaユーザーを設定する。
Sambaユーザーを設定します。 CentOS/390上の一般ユーザー(今回はkatzkichiユーザー)のホームディレクトリを共有可能としたいと思います。"smbpassword"コマンドでkatzkichiユーザーのパスワードを設定します。
[root@localhost ~]# smbpasswd -a katzkichi
New SMB password:
Retype new SMB password:
Added user katzkichi.
3. Windows上でCentOS/390へのstatic routeを設定する。
Windows上のコマンドプロンプトから以下のコマンドを実行して、CentOS/390へのstatic routeを設定します。10.1.243.222はCentOS/390を動作させている母艦LinuxのIPアドレスです
C:\Documents and Settings\katzkichi>route ADD 192.168.200.1 MASK 255.255.255.255 10.1.243.222
routeを設定したら、pingが通るか確認するとよいです。
C:\Documents and Settings\katzkichi>ping -n 1 192.168.200.1

Pinging 192.168.200.1 with 32 bytes of data:

Reply from 192.168.200.1: bytes=32 time=8ms TTL=63

Ping statistics for 192.168.200.1:
    Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 8ms, Maximum = 8ms, Average = 8ms
ちなみに、(当たり前ですが)この段階でWindows上から直接CentOS/390にsshログインできるようになります。結構便利です。
4. ネットワークドライブの割り当て
ネットワークドライブの割り当てを行います。Windowsのデスクトップにある"マイネットワーク"アイコンを右クリックして、「ネットワークドライブの割り当て」を選択すると以下のような画面が表示されます。 ドライブは"Z:"、フォルダには"\\192.168.200.1\katzkichi"を指定して、「完了」を押下します。

以下のような画面が表示されたら、ユーザー名に"katzkichi"、パスワードには2.で設定したものを指定し、「OK」を押下します。

うまく接続できれば、/home/userのホームディレクトリがwindows上で表示されます。

ホームディレクトリに読み書きできるか確認してみるとよいです。 Windows上からホームディレクトリを直接読み書きできるようになるとなかなか便利です。

次回は、(無謀なことに)BlogツールであるMovableTypeのインストールに挑戦します!