RSS配信記事

PostgreSQL, PHP, Apacheの連携環境構築方法

[概  要]

本ドキュメントでは、PostgreSQL,PHP,Apacheを連携させるための最低限の設定例と、動作確認の方法をご紹介します。

 

[注意事項]

本ドキュメントは、各ソフトウェア開発元の情報およびマニュアル等を元にした参考情報です。

本ドキュメントの内容は、予告なしに変更される場合があります。

 

本ドキュメントは、限られた評価環境における検証結果をもとに作成しており、全ての環境での動作を保証するものではありません。

本ドキュメントの内容に基づき、導入、設定、運用を行なったことにより損害が生じた場合でも、弊社はその損害についての責任を負いません。あくまでお客様のご判断にてご使用ください。

 

本ドキュメントで使用しているソフトウェアのセキュリティ等、詳細な設定についてはマニュアル等でご確認ください。

  

[確認環境]

Asianux Server 3 for x86(32bit)

Asianux Server 3 for x86-64(64bit)

 

.動作の確認はOSのすぺてのパッケージをインストールした後、初期状態から行っています。

  

[設定方法]

 

PostgreSQLの準備

 

1.PostgreSQLの初期化

 

# su - postgres

 

$ rm -rf /var/lib/pgsql/data/

$ initdb -E UTF-8 --no-local

$ exit

 

2.サービスの起動

 

# service postgresql start

 

OS起動時にサービスを自動で起動するように設定するには下記を行います。

# chkconfig postgresql on

 

3.テスト用のデータベース作成

.テスト用データベースsampleを作成します。

 

#su – postgres

$createdb sample

CREATE DATABASE

 

.作成したデータベースを確認します。

$ psql -l

データベース一覧

名前 | 所有者 | エンコーディング

-----------+----------+------------------

postgres | postgres | UTF8

sample | postgres | UTF8

template0 | postgres | UTF8

template1 | postgres | UTF8

(4 )

 

4.テスト用の表を作成する為、下記リンクのファイルを作成します。

 

サンプルファイル: sample.sql.gz

※サンプルファイルは解凍してご使用下さい。

 

5.サンプル表を作成します。

 

$ psql -f sample.sql -U postgres sample

 

6.作成した表を確認します。

 

$ psql sample

 

sample-# \d

リレーションの一覧

スキーマ | 名前 | | 所有者

----------+------+----------+----------

public | emp | テーブル | postgres

 

sample=# select * from emp;

empno | ename | job | mgr | sal | comm | deptno

----------+--------+-----------+------+------+------+--------

7369 | SMITH | CLERK | 7902 | 800 | | 20

7499 | ALLEN | SALESMAN | 7698 | 1600 | 300 | 30

...

sample=# \q

 

 

Apache,PHPの準備

 

1.httpdサービスの起動

 

# service httpd start

 

OS起動時にサービスを自動で起動するように設定するには下記を行います。

# chkconfig httpd on

 

2.下記内容のファイル info.php を作成します。

 

<?php phpinfo() ?>

 
 

3.作成したファイルを下記ディレクトリに置きます。

 

/var/www/html/info.php

 

4.ブラウザから下記URLにアクセスし、PHPの設定オプションが表示されることを確認します。

 

http://ホスト名/info.php

 

 

[動作確認]

1.PostgreSQLに接続する為、下記リンクのphpスクリプトファイルを作成します。

スクリプトでは PDOPHP Data Object)を利用してPostgreSQL接続しています。

 

サンプルファイル: pgsql.php.gz

※サンプルファイルは解凍してご使用下さい。

 

設置ディレクトリ:/var/www/html

 

2.ブラウザから下記URLにアクセスし登録した表が正常に見えることを確認します。

 

http://ホスト名/pgsql.php

 

 

 

[更新履歴]

・2008年 3月 5日 新規作成

 

 

SSHのホストベース認証設定

[概  要]

OpenSSHでは複数のユーザ認証方式がサポートされており、デフォルトの状態では、「パスワード認証」が可能となっています。
本ドキュメントでは、それらのユーザ認証方式のうち、「ホストベース認証(Hostbased認証)」について説明します。

(本ドキュメントでは、sshサーバ、クライアントとも、Asianux Server 3を使用しています。)

  

[注意事項]

本ドキュメントは、各ソフトウェア開発元の情報およびマニュアル等を元にした参考情報です。

本ドキュメントの内容は、予告なしに変更される場合があります。

 

本ドキュメントは、限られた評価環境における検証結果をもとに作成しており、全ての環境での動作を保証するものではありません。

本ドキュメントの内容に基づき、導入、設定、運用を行なったことにより損害が生じた場合でも、弊社はその損害についての責任を負いません。あくまでお客様のご判断にてご使用ください。

 

[ホストベース(Hostbased)認証とは]
ホストベース認証とは、sshサーバとクライアントが、ユーザレベルの認証を省略して、直接認証を行う認証方式です。この方式では、サーバに登録済みのクライアントマシンから接続があった場合は、そのクライアントマシンのユーザ情報についても信用して接続を許可します。

 

この方式を使用した場合、例えばシステム管理者が複数のクライアントを一元管理しており、各マシンに同一のユーザアカウントが存在するような環境では、ユーザがパスワードやパスフレーズを入力せずに各マシンにログインすることができます。

 

[確認環境]
本ドキュメントの動作環境は以下のとおりです。

 

sshサーバ

使用OS Asianux Server 3

ホスト名:server.example.com

IPアドレス:10.1.1.100

関連パッケージバージョン:

openssh-4.3p2-16.1AX

openssh-server-4.3p2-16.1AX

openssl-0.9.8b-8.3

 

sshクライアント

使用OS Asianux Server 3

ホスト名:client.example.com

IPアドレス : 10.1.1.200

関連パッケージバージョン:

openssh-4.3p2-16.1AX

openssh-clients-4.3p2-16.1AX

openssl-0.9.8b-8.3

 

 

[設定方法-1]
以下の手順は、クライアントからsshサーバに、同一ユーザ名でログインする場合に有効です。
クライアント側とサーバ側でユーザ名が異なる場合は、[設定方法-2]をご参照ください。
shosts.equivファイルを使用する方法では、rootでの接続は許可されません。rootユーザでログインする場合には[設定方法-2]をご参照ください。

 

ホストベース認証の流れ

 

 

 

クライアントからsshサーバへ接続
クライアントの正当性を確認するために、登録済みホスト公開鍵に対応するホスト秘密鍵の証明を要求
ホスト秘密鍵を所有していることを証明

 

 

サーバ側設定

 

1.sshサービスが起動していない場合は起動します。

(先頭の#rootユーザのコマンドプロンプトをあらわします)

 

 

# service sshd start

 

 

次回以降、OS起動時に自動でsshサービスを起動させる場合には、以下のコマンドを実行します。

 

 

# chkconfig sshd on

 

 

2.クライアントのホスト公開鍵を、sshサーバの/etc/ssh/ssh_known_hostsファイルに登録します。

 

(1)sshサーバに、クライアントのホスト公開鍵をコピーしておきます。

以下の例では、クライアントscpコマンドを使用し、sshサーバの/tmpディレクトリへコピーしています。

 

 

# scp /etc/ssh/ssh_host_rsa_key.pub 10.1.1.77:/tmp/

 

 

(補足1)

手順(1)の前に、クライアントの/etc/sshディレクトリに秘密鍵・公開鍵ペアが存在しない場合は、クライアント上で鍵ペアを生成します。(鍵ペアが既に存在する場合は不要です。)

以下の例ではRSA方式の鍵ペアを生成しています。コマンドはクライアント上で実行してください。

 

 

# ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -C '' -N ''

 

 

(2)コピーしたホスト公開鍵を/etc/ssh/ssh_known_hostsファイルに登録します。

クライアントホスト名の後ろには半角スペースが1つ入ります。

 

 

# ( echo -n 'クライアントのホスト名 ' ; cat /tmp/ssh_host_rsa_key.pub ) >> /etc/ssh/ssh_known_hosts

 

 

)クライアントのホスト名 client.example.comの場合

 

# ( echo -n 'client.example.com ' ; cat /tmp/ssh_host_rsa_key.pub ) >> /etc/ssh/ssh_known_hosts

 

 

(3)サーバの/etc/ssh/ssh_known_hostsファイルに、クライアントのホスト公開鍵が書き込まれていることを確認します。

 

 

# cat ssh_known_hosts

client.example.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAsXDC…

....

 

 

 

(補足2)

手順(1)~(2)のかわりに、ssh-keyscanコマンドを使用して、直接ホストの公開鍵を収集することも可能です。ssh-keyscanは、sshクライアントがSecure Shell デーモン(sshd)が稼動するホストの公開鍵を収集するためのコマンドであり、openssh-clientパッケージに含まれています。

本ドキュメントの環境の場合は、クライアント側(10.1.1.200)sshdを起動し、sshサーバ側(10.1.1.100)で下記のコマンドを実行することで、sshサーバにクライアントのホスト公開鍵を登録することができます。

 

 

# ssh-keyscan -t rsa client.example.com >> /etc/ssh/ssh_known_hosts

 

 

 

2./etc/ssh/shosts.equivファイルを作成します。

shosts.equivファイルには、ホストベース認証を許可するホスト名とユーザを記述します。

DNSを使用している場合、このファイルにはIPアドレスではなくホスト名を記述します。

 

 

ホスト名 ユーザ名

 

 

1)client.example.com (rootを除く)すべてのユーザにホストベース認証を許可する。

 

client.example.com

 

 

2)client.example.com user1ユーザにホストベース認証を許可する。

 

client.example.com user1

 

 

 

3./etc/ssh/sshd_configを編集します。

ホストベース認証を使用するためには"HostbasedAuthentication”yesにしてください。

なお、以下は最低限必要な設定です。必要に応じで他の設定を変更してください。

sshd_configの設定項目については、オンラインマニュアル(man sshd_config)をご参照ください。

 

 

HostbasedAuthentication yes

 

 

4.sshサーバを再起動します。

 

 

# service sshd restart

 

 

 

クライアント側設定

 

/etc/ssh/ssh_configを編集します。

"EnableSSHKeysign”はホストベース認証で使用する ssh の補助プログラムです。

なお、以下は最低限必要な設定です。必要に応じで他の設定を変更してください。

ssh_configの設定項目については、オンラインマニュアル(man ssh_config)をご参照ください。

 

 

EnableSSHKeysign yes

HostbasedAuthentication yes

 

 

 

接続確認

 

サーバ上のshosts.equivファイルに登録したユーザで、sshコマンドを実行し、パスワード無しでログインできることを確認します。

 

 

$ ssh server.example.com

 

 

 

[設定方法-2]

クライアント側とサーバ側でユーザ名が異なる場合や、rootユーザで接続したい場合、サーバ側のユーザのホームディレクトリに、.shosts ファイルを作成します。

 

サーバ側設定

 

1.[設定方法-1]と同様に1.クライアントのホスト公開鍵を、sshサーバに登録してください。

 

2.ログインを許可するユーザのホームディレクトリに、.shostsファイルを作成します。

以下の例では、クライアント側のuserAから、sshサーバ側のuserBとしてログインするために、userBのホームディレクトリの .shostsファイルに、userAを記述しています。

 

 

client.example.com userA

 

 

3.~/.shosts のパーミッションを変更します。

 

 

$ chmod 600 ~/.shosts

 

 

4/etc/ssh/sshd_configを編集します。

~/.shostsファイルを使用する場合は、"IgnoreRhosts”"no”に設定します。

 

 

PermitRootLogin yes ←rootによるログインを許可する場合にはyesにします。

HostbasedAuthentication yes

IgnoreRhosts no

 

 

5.sshサーバを再起動します。

 

 

# service sshd restart

 

 

 

クライアント側

 

/etc/ssh/ssh_configを編集します。最低限必要な設定は[設定方法-1]と同じです。

 

 

EnableSSHKeysign yes

HostbasedAuthentication yes

 

 

 

接続確認

 

sshサーバ上のユーザの~/.shostsファイルに登録したユーザで、sshコマンドを実行し、パスワード無しでログインできることを確認します。

以下の例では、クライアントのuserAユーザで、sshサーバ(server.example.com)userBとしてログインしています。

 

 

$ ssh userB@server.example.com

 

 

 

[更新履歴]
2008年 3月 3日 新規作成

 

magic SysRq keyについて

[概  要]

本ドキュメントでは、magic SysRq key(Magic System Request Key)の設定および使用方法について説明します。

 

 

[注意事項]

本ドキュメントは、各ソフトウェア開発元の情報およびマニュアル等を元にした参考情報です。

本ドキュメントの内容は、予告なしに変更される場合があります。

 

本ドキュメントは、限られた評価環境における検証結果をもとに作成しており、全ての環境での動作を保証するものではありません。

本ドキュメントの内容に基づき、導入、設定、運用を行なったことにより損害が生じた場合でも、弊社はその損害についての責任を負いません。あくまでお客様のご判断にてご使用ください。

 

[SysRqとは]
SysRqとは、Linuxサーバが何らかの障害でキーボード操作不可能となり、Shellのコマンド入力ができない状態に陥った場合などに、カーネルが機能していれば、特定のキーを押すことで割り込み処理を行い、カーネルに特定の動作をさせることができる機能です。
[SysRq]キーはキーボード上にあるキーですが、サーバがキー入力ができない状態でも動作します。

[SysRq]キーは通常のキーボードでは、[Alt]+[Print Screen]の組み合わせが該当します。

 

[設定方法]

magic SysRq keyの設定を有効にする手順を示します。以下の手順はAsianux Server 3で確認を行っています。

      

1./etc/sysctl.confファイルの、"kernel.sysrq" の値を1 に設定します。

 

[変更前]

kernel.sysrq = 0

 

[変更後]

kernel.sysrq = 1

 

2.設定を有効にするために、以下のコマンドを実行します。

 

 

# sysctl -p

 

 

 

[使用方法]

SysRqの機能を使うには、コンソールから [SysRq]+[コマンドキー]を押します。

[SysRq]キーは通常のキーボードでは、[Alt]+[Print Screen]が該当します。

(コマンドキーについては、後述の一覧をご確認ください。)

 

[設定方法]の手順で設定を行った後、設定が有効になっているかを確認します。
[SysRq]+Enterキーを押してください。
設定が有効であれば以下のメッセージがコンソール画面に出力されます。

 

 

SysRq : HELP : loglevel0-8 reBoot Crash tErm kIll saK showMem powerOff showPc unRaw Sync showTasks Unmount shoWcpus

 

 

 

[コマンドキー]
SysRqキーと組み合わせるコマンドキーには、以下のようなものがあります。

 

キーの種類 SysRqヘルプ表示 動作内容
0-9 loglevel0-8 ログレベル操作 (/proc/sys/kernel/printk と同じ)
b reBoot システムリブート
c Crash カーネルパニックを発生させる
e tErm init以外の全プロセスにSIGTERMシグナル送信
i kIll init以外の全プロセスにSIGTERMシグナル送信
k saK 仮想端末上の全プロセスにSAK(Secure Attention Key)を実行
m showMem メモリ情報表示
p showPc カレントプロセスの情報(バックトレース)表示
r unRaw キーボードrawモードをXLATEに設定
s Sync マウントされている全ファイルシステムのsync
t showTasks 全プロセスの情報(バックトレース)表示
u Unmount readonlyで全ファイルシステムの再マウント
w shoWcpus 全CPUのコールトレース情報表示
 

 

キーボードからコマンドを入力できない場合には、[SysRq]キーを押したまま、[s]、[u]、[o]キーを順番に押すと、電源ボタンを直接押すよりも安全にシャットダウンすることができます。
再起動する場合には、[SysRq]キーを押したまま、[s]、[u]、[b]キーを順番に押します。

 

また、コマンドキー [m][p][t][w]は、障害の解析情報に使用することができます。

 

magic SysRq keyの詳細については、以下のドキュメントをご参照ください。

  

[更新履歴]

2008年 3月 3日 新規作成

 

netconsoleによる障害時の情報採取について

[概  要]

本ドキュメントでは、カーネルパニック発生時にコンソールに出力されるOopsメッセージをnetconsoleモジュールを使用し、ネットワーク経由でリモートホストに転送する方法について説明します。

 

Oopsメッセージの採取にはシリアルコンソールを準備することが望ましいですが、不可能な場合、netconsoleを使用することで、Oopsメッセージを採取できる可能性が高くなります。

 

なお、本ドキュメントは、Asianux Server 3 x86(kernel-2.6.18-8.10AX)を前提としています。
Asianux Server 3 SP1以降では一部設定方法が異なります。詳細は本文中に記載しています。

 

 

[Oopsメッセージとは]
linuxカーネル内で、致命的な問題を検出した場合に出力するメッセージを指します。
Oopsメッセージには、問題の原因調査に必要なCPUのレジスタ情報やシステムコールのトレース情報が含まれています。

 

通常このメッセージはコンソール画面には出力されますが、ログには保存されません。
また、コンソールの1画面に収まらずにスクロールアウトした場合には、その部分の情報が欠けてしまい、原因調査が困難になります。

 

カーネルパニックの原因を調査するためには、パニック時にコンソールに出力されるメッセージをすべて採取する必要があり、そのためには事前に準備しておく必要があります。

 

[Oops発生時のカーネルの動作について]
Linuxでは、以下のカーネルパラメータの設定によって、Oopsメッセージが出力された場合にカーネルパニックを発生させ、自動的にシステムを再起動させることができます。

 

 

kernel.panic_on_oops = 1

 

 

本パラメータには、Oopsメッセージ出力時のカーネルの動作を指定します。

設定値が 0 の場合はそのまま処理を継続しようとし、1 の場合はカーネルパニックを発生させます。

Asianux Server 3 ではデフォルトで 1 が設定されています。

 

 

kernel.panic = 10

 

 

本パラメータには、カーネルパニック発生後、システムを再起動までの時間()を指定します。

Asianux Server 3 ではデフォルトで 10 が設定されています。

 

[netconsoleとは]

netconsoleモジュールは、printk メッセージ(コンソールに出力されるメッセージ)UDP経由でリモートマシンへ記録します。

netconsoleモジュールはクラッシュダンプを取得するものではありません。

 

シリアルコンソールが使用できない環境において、netconsoleを使用することでリモートマシンにOopsメッセージを保存できる可能性が高くなります。

 

[netconsole設定方法]
netconsoleを利用する場合、メッセージ送信側(netconsole)の他に、受信するリモートマシンが必要です。
本ドキュメントの動作環境は以下のとおりです。

 

(送信側マシン)

使用OSAsianux Server 3 (x86)

使用kernelkernel-2.6.18-8.10AX

IPアドレス: 10.1.1.100

 

(ログ受信用リモートマシン)

使用OSAsianux Server 3 (x86)

IPアドレス: 10.1.1.200

 

 

送信側設定

 

1.netconsoleモジュールをロードします。

netconsole は下記のフォーマットで文字列設定パラメータ "netconsole" を扱います。

 

 

netconsole=[src-port]@[src-ip]/[<dev>],[tgt-port]@<tgt-ip>/[tgt-macaddr]

 

 

src-port…送信元ポート番号

src-ip…送信元IPアドレス

dev…ネットワークデバイス

tgt-port…受信側ポート番号

tgt-ip…受信側IPアドレス

tgt-macaddr…受信側MACアドレス

 

以下の設定では、ログ受信側リモートマシンのsyslogへ送信します。ポート番号はUDP 514(syslog)を指定します。

 

 

# modprobe netconsole netconsole=6665@10.1.1.100/eth0,514@10.1.0.200/00:0C:29:45:EB:FA

 

 

 

2.netconsoleモジュールがロードされたことを確認します。

 

 

# lsmod | grep netconsole

 

 

送信元の/var/log/messagesには以下のようなメッセージが表示されます。

 

Feb 13 17:39:36 hostname kernel: netconsole: local port 6665

Feb 13 17:39:36 hostname kernel: netconsole: local IP 10.1.1.100

Feb 13 17:39:36 hostname kernel: netconsole: interface eth0

Feb 13 17:39:36 hostname kernel: netconsole: remote port 514

Feb 13 17:39:36 hostname kernel: netconsole: remote IP 10.1.0.200

Feb 13 17:39:36 hostname kernel: netconsole: remote ethernet address 00:0c:29:45:eb:fa

Feb 13 17:39:36 hostname kernel: netconsole: network logging started

 

(補足)netconsoleモジュールはOS起動時に自動でロードされません。OS起動時にnetconsoleをロードさせたい場合には、/etc/sysconfig/network-scripts/ifcfg-ethXファイルまたは/etc/rc.localファイルに手順1のコマンドを記述しておきます。

 

Asianux Server 3 SP1以降の場合は/etc/sysconfig/netconsoleにパラメータの記述をします。

 

 

LOCALPORT=6555

DEV=eth0

SYSLOGADDR=10.1.0.200

SYSLOGPORT=514

SYSLOGMACADDR=00:0C:29:45:EB:FA

 

 

 

Asianux Server 3 SP1以降においてnetconsoleOS起動時に自動でロードさせたい場合は、chkconfigコマンドでnetconsoleサービスを有効にします。
 

 

# chkconfig netconsole on

# chkconfig --list netconsole

netconsole 0:off 1:off 2:on 3:on 4:on 5:on 6:off

 

 

 

 

受信側設定

 

1.受信側のsyslogが、リモートマシンのログを受信できるように、/etc/sysconfig/syslogファイルの"SYSLOGD_OPTIONS"に、"-r”オプションを追加します。

 

[変更前]

SYSLOGD_OPTIONS="-m 0"

 

[変更後]

SYSLOGD_OPTIONS="-m 0 -r"

 

2.変更を保存後、syslogdを再起動します。

 

 

# service syslog restart

 

 

 

出力テスト

 

送信側コンソール画面に出力されたカーネルメッセージが、受信側のsyslogへ転送されるか確認します。

本ドキュメントではSysRq keyを使用して、コンソール画面にカーネルメッセージを出力します。

 

1.送信側マシン上で、SysRq keyを有効にするために、/etc/sysctl.confを以下のように変更します。

 

[変更前]

kernel.sysrq = 0

 

[変更後]

kernel.sysrq = 1

 

設定を有効にするために、以下のコマンドを実行します。

 

 

# sysctl -p

 

 

2.以下のコマンドを実行し、コンソール画面にカーネルメッセージを出力します。

 

 

# echo h > /proc/sysrq-trigger

 

 

3.ログ受信用リモートマシンの/var/log/messagesに、以下のようなメッセージが出力されたことを確認します。(hostnameには送信元サーバのホスト名が表示されます)

 

 

Feb 13 17:39:36 hostname SysRq :

Feb 13 17:39:36 hostname HELP :

Feb 13 17:39:36 hostname loglevel0-8

Feb 13 17:39:36 hostname reBoot

...略

Feb 13 17:39:36 hostname Unmount

Feb 13 17:39:36 hostname shoWcpus

 

 

[注意事項]

本ドキュメントは、各ソフトウェア開発元の情報およびマニュアル等を元にした参考情報です。

本ドキュメントの内容は、予告なしに変更される場合があります。

 

本ドキュメントは、限られた評価環境における検証結果をもとに作成しており、全ての環境での動作を保証するものではありません。

本ドキュメントの内容に基づき、導入、設定、運用を行なったことにより損害が生じた場合でも、弊社はその損害についての責任を負いません。あくまでお客様のご判断にてご使用ください。

 

[更新履歴]

2011年 1月 7日 SP1以降の設定方法を追記

2008年 3月 3日 新規作成

 

 

シリアルコンソールの設定(Windows ハイパーターミナル編)

[概  要]

本ドキュメントでは、サーバの障害時の情報採取に有効なシリアルコンソールの設定について説明します。

なお、本ドキュメントでは、シリアルコンソール端末にはWindows XPをインストールしています。

 

 

[注意事項]

本ドキュメントは、各ソフトウェア開発元の情報およびマニュアル等を元にした参考情報です。

本ドキュメントの内容は、予告なしに変更される場合があります。

 

本ドキュメントは、限られた評価環境における検証結果をもとに作成しており、全ての環境での動作を保証するものではありません。

本ドキュメントの内容に基づき、導入、設定、運用を行なったことにより損害が生じた場合でも、弊社はその損害についての責任を負いません。あくまでお客様のご判断にてご使用ください。

 

[シリアルコンソールとは]
「コンソール」とは、一般的にシステムのメッセージ出力装置のことを指し、「シリアルコンソール」とは、サーバのシリアルポートとシリアルケーブルで直接つながっている端末のモニタとキーボードを指します。

 

シリアルコンソールは、以下のようなサーバの障害時に有効です。

 

・カーネルパニック時の情報採取

カーネルパニック時にコンソールに出力されるメッセージは、サーバ上のログには残されません。シリアルコンソールの設定を行っている場合には、サーバのコンソールと同時にシリアルコンソール端末にもメッセージが送られるため、情報を採取できる可能性が高くなります。

 

・ ハングアップ時の情報採取

シリアルコンソールの設定を行っている場合には、サーバが何らかの障害でキーボード操作不可能となり、Shellのコマンド入力ができない状態になった場合でも、SysRqの機能を使用してシリアルコンソール端末に情報を採取できる可能性が高くなります。

(SysRq については[参考情報] に記載のドキュメント等をご参照ください。)

 

[確認環境]
本ドキュメントの確認環境は以下のとおりです。

 

 

[準  備]

RS-232C (シリアル)クロスケーブルピンを用意し、双方のシリアルポートを直接つないでおきます。

 

[サーバ側設定]

 

出力設定

以下の設定は、サーバのコンソールに出力されたメッセージを、シリアルコンソールへ同時に出力するための設定です。/boot/grub/grub.confを編集します。

 

1.背景イメージの指定をコメントアウトします。

 

 

#splashimage=(hd0,0)/grub

 

 

2."kernel"行にカーネルパラメータを追加します。

DOS WindowsにおけるCOM1COM2を、Linuxでは ttyS0(シリアルポート1)ttyS1(シリアルポート2)とあらわします。

また、以下の設定では通信速度を9600、パリティおよびデータビット数はデフォルト(パリティビット数 0、データビット数 8)に設定しています。必要に応じて変更してください。

 

[変更前]

kernel /vmlinuz-2.6.9-34.28AXsmp ro root=LABEL=/1

 

[変更後]

kernel /vmlinuz-2.6.9-34.28AXsmp ro root=LABEL=/1 console=tty0 console=ttyS0,9600

 

ログイン設定

以下の設定は、シリアルコンソール端末から、サーバへログイン出来るようにする為の設定です。

 

1./etc/inittab ファイルに以下の記述を追加します。

 

)シリアルポートttyS0を使用し、通信速度の指定を9600とする

 

 

co:12345:respawn:/sbin/agetty ttyS0 9600

 

 

 

2./etc/securetty の編集

rootでのログインを可能にする為 /etc/securettyファイルに ttyS0 を追記します。

 

3.設定を反映させるため、サーバを再起動します。

 

[シリアルコンソール端末側設定]
ここでは一例として、ターミナルソフトにハイパーターミナルを使用する場合の設定を示します。他のターミナルソフトを使用される場合には、各ソフトの設定方法をご確認ください。

 

1.ハイパーターミナルの接続設定

 

(1)ハイパーターミナルを起動し、「接続の設定」画面で新しい接続名を入力します。

 

(2)次の画面では、「接続方法」に"COM1"を選択します。

(使用しているシリアルポートにあわせ適宜設定してください)

 

(3)「COM1のプロパティ」画面で、「ビット/秒」にサーバ側の設定と同じ値を選択します。

本ドキュメントでは9600を選択し、他の部分は特に変更しません。

 

2.メッセージのログを保存するための設定

 

ハイパーターミナルのメニュー「転送」から「テキストのキャプチャ」を選択し、ログを保存するファイルを指定してください。

 

[メッセージ出力テスト]

 

カーネルのメッセージ出力テストのため、SysRq keyを使用してテストします。

 

サーバ側で"Alt"キーと"PrintScreen"(SysRq)キー、"Enter"キーを同時に押します。
シリアルコンソール端末のモニタに、SysRqHELPが表示されることを確認してください。

 

 

SysRq : HELP : loglevel0-8 reBoot Crash tErm kIll saK showMem powerOff showPc unRaw Sync showTasks Unmount shoWcpus

 

 

[参考URL]

JF: Remote Serial Console HOWTO

JF: Linux Kernel 2.2 Documentation: sysrq.txt

 
[更新履歴]
2008年 3月 3日 新規作成

 

障害発生時の初動調査および情報採取のための事前準備

[概  要]

障害発生に備え、あらかじめ初動調査を把握しておくことや、情報採取のために準備しておくことは、障害の原因を調査するうえで大変重要です。

本ドキュメントでは、 障害発生時に、お問合せの前に事前に確認、準備すべき内容について説明します。

 

 

[注意事項]

本ドキュメントの内容は、Asianux Server 3 を前提として記載しています。

本ドキュメントの内容は、予告なしに変更される場合があります。

 

 

[初動調査]
障害発生の際には、以下の点についてご確認ください。これらは、サポート窓口へお問合せいただいた際にも質問される内容ですので、事前に準備していただくことにより問題の早期解決に役立ちます。
※サポート窓口へお問い合わせを頂く際は「お問い合わせフォーマット」もご利用頂けます。

 

使用環境の確認

・ハードウェアの構成

・使用OSとバージョン

・アプリケーションの種類、バージョン

 

現象内容についての把握

・現象発生日時

・現象と問題点の詳細

・現象の再現性の有無について

・現象に再現性がある場合、その再現手順

・現象発生日時の近辺に行っていた操作内容

・コンソールに表示されるエラーメッセージ

・その他の気づいた点について

 

[既存のバグの有無]
例えば、特定のアプリケーション使用時に障害が発生するような場合には、既存のバグの有無を確認することで、問題の早期解決につながる場合があります。

 

Asianux Server 3 の場合、弊社 Asianux Technical Support Network(TSN) から既存のバグの有無を確認することができます。

 

[情報採取のための事前準備]

ミラクル・リナックス カスタマーサポートセンターでは、[初動調査][既存のバグの有無]と併せて、現象に応じた情報採取をお願いしています。採取依頼のあった情報を採取できるように、事前に準備をしていただくことをお勧めします。

 

mcinfoによる情報採取

 

Asianux Server 3 に含まれる/usr/sbin/mcinfo は、現在稼動しているホストの各種ログやハードウェア情報、インストールされているパッケージ情報など、さまざまな情報を取得するコマンドです。

なお、mcinfoの取得情報の中には、rootユーザーでしか取得できないものもあるため、/usr/sbin/mcinfo コマンドはrootユーザーで実行します。実行結果は標準出力に出力されますので、必要に応じてリダイレクトを使ってファイルに書き込む必要があります。

 

 

# /usr/sbin/mcinfo > mcinfo.log

 

 

※ 取得情報をメールに添付することなどを考慮し、以下のように圧縮して採取しておくことをおすすめします。

 

 

# /usr/sbin/mcinfo | gzip > mcinfo.log.gz

 

 

mcinfoの詳細については、「Asianux Server 3 サーバ構築・運用ガイド27.4mcinfoの使用方法」をご参照ください。

 

 

/var/logディレクトリ配下の情報採取

 

/var/logディレクトリ配下には、各種ログが置かれています。

障害時には、システム再起動後に、取り急ぎ/var/logディレクトリ配下をすべて採取しておくことも調査を迅速にすすめるためには有効です。

 

)tarコマンドで、var/logディレクトリ配下のログをすべて、カレントディレクトリ配下に保存する場合

 ※ファイル名は任意です。以下の例では、ファイル名に日付と時刻を入れています。

 

# tar cvzf $(date '+%Y%m%d%H%M%S')_log.tgz /var/log/

 

 

シリアルコンソールによる情報採取

 

「コンソール」とは、一般的にシステムのメッセージ出力装置のことを指し、「シリアルコンソール」とは、サーバのシリアルポートとシリアルケーブルで直接つながっている端末のモニタとキーボードを指します。

 

・カーネルパニック時の情報採取

シリアルコンソールの設定を行っている場合には、カーネルパニック時にコンソールに出力されるメッセージは、同時にシリアルポート経由でシリアルコンソール端末へ送られるため、メッセージを保存することが可能となります。

 

・ハングアップ時の情報採取

シリアルコンソールの設定を行っている場合には、キーボード操作不可能となり、Shellのコマンド入力ができない場合でも、magic SysRq keyを使用して、シリアルポート経由で情報を採取できる可能性が高くなります。

 

(シリアルコンソールの設定方法については、技術ドキュメント[トラブルシューティング]→[シリアルコンソールの設定]をご参照ください。)

(magic SysRq keyについては技術ドキュメント[トラブルシューティング]→[magic SysRq keyについて]をご参照ください。)

 

netconsoleによる情報採取

 

netconsoleとは、printk メッセージ(コンソールに出力されるメッセージ)UDP経由でリモートマシンへ記録するモジュールです。

シリアルコンソールが使用できない環境において、netconsoleを使用することで、ネットワーク経由でリモートマシンに情報を採取できる可能性が高くなります。

 

(netconsoleの設定方法については、技術ドキュメント[トラブルシューティング]→[netconsoleによる障害時の情報採取について]をご参照ください。)

 

kdumpによるdump情報採取

 

カーネルダンプとは、カーネルがクラッシュした際のメモリの内容をディスクに出力したものです。

kdump とは、カーネルダンプを取得するためのツールです。ダンプ情報をクラッシュしたカーネルから取得するのではなく、新しく起動したカーネルから取得するため、信頼性の高いカーネルダンプを取得することができます。

 

kdumpの設定方法については、「Asianux Server 3 サーバ構築・運用ガイド27.6kdumpの設定」をご参照ください。

 

その他

 

ミラクル・リナックス カスタマーサポートセンターでは、お問合せの内容に応じて、問題解決に必要な情報を考慮してご案内しております。

  

[更新履歴]

・2008年 3月 3日 新規作成

・2008年 4月 2日 mcinfoの圧縮について追記

・2008年 4月 25日 /var/log配下の採取について追記

・2012年 3月 30日 お問い合わせフォーマットについて追記


proftpdからldap上のアカウントを使用して認証する方法

[概  要] 

本ドキュメントでは、proftpdからldap上のアカウントを使用して認証を行う方法を記述します。

  

[注意事項]

本ドキュメントは、各ソフトウェア開発元の情報およびマニュアル等を元にした参考情報です。

本ドキュメントの内容は、予告なしに変更される場合があります。

 

本ドキュメントは、限られた評価環境における検証結果をもとに作成しており、全ての環境での動作を保証するものではありません。

本ドキュメントの内容に基づき、導入、設定、運用を行なったことにより損害が生じた場合でも、弊社はその損害についての責任を負いません。あくまでお客様のご判断にてご使用ください。

 

[前提条件]

  ・別途ldapサーバーが構築されている事

 

また、ldapサーバーの設定は以下と仮定します。ご使用の環境に置き換えて設定して下さい。

 

ldapサーバーのIPアドレス:192.168.0.1

ldapドメイン名:example.com

 

[確認環境]

OSMIRACLE LINUX V4.0 (x86x86-64)MIRACLE LINUX V3.0(x86x86-64)

 

[設定手順]

1.proftpd.confの設定

proftpd.confldapサーバーにアクセスする為の設定を記述します。

1/etc/proftpd.confを任意のエディタで開き以下のフォーマットに従って追記します。

 

フォーマット:

 

LDAPServer LDAPサーバーのipアドレス

LDAPDNInfo ldapとのbindに使用するldapユーザー情報 パスワード

LDAPDoAuth on "ldapドメイン名"

 

 

実際の記述例:

 

LDAPServer 192.168.0.1

LDAPDNInfo uid=Administrator,ou=Users,dc=example,dc=com password

LDAPDoAuth on "dc=example,dc=com"

 

 

2.proftpdを再起動

設定を反映する為に、proftpdサービスを再起動します。

(1)以下のコマンドで再起動します。

 

 

# service proftpd restart

 

 

以降、ftpでのアクセスはldap上のユーザー情報を使用することが可能です。

 

[更新履歴]

・2008年 3月 3日 新規作成

 

 

2台のメールサーバーに同一メッセージをメールリレーする方法

[概  要] 

本ドキュメントでは、postfix利用時に2つのサーバー宛に同一メッセージをメールリレーする

方法について記述します。

このことにより、リレー先のメールサーバーに障害が発生した場合参照先を切り替える事で

業務を継続可能です。

 

           

 

 

[注意事項]

本ドキュメントは、各ソフトウェア開発元の情報およびマニュアル等を元にした参考情報です。

本ドキュメントの内容は、予告なしに変更される場合があります。

 

本ドキュメントは、限られた評価環境における検証結果をもとに作成しており、全ての環境での動作を保証するものではありません。

本ドキュメントの内容に基づき、導入、設定、運用を行なったことにより損害が生じた場合でも、弊社はその損害についての責任を負いません。あくまでお客様のご判断にてご使用ください。

   

[前提条件]

  ・転送元となるpostfixによるメールサーバーが既に構築されている事

  ・転送先の2台のsmtpサーバーが別途用意されている事

  ・転送先の2台のメールサーバーに対して、DNSによる名前解決が可能である事

 

また、サーバー名とメールドメインは以下と仮定します。

ご使用の環境に置き換えて設定して下さい。

 

転送元サーバー名:mail1.example.com

転送先サーバー名1mail2.example.com

転送先サーバー名2mail3.example.com

メールドメイン:example.com

  

[確認環境]

OSAsianux Server 3 (x86)

postfixversion2.3.3-2.8AX

 

[設定手順]

本手順の設定はmail1.example.com(転送元サーバー)に対して行います。

1.転送先1の設定

転送先1transport_mapsを使用して実現します。

1transport_maps機能をONにします。

/etc/postfix/main.cfを任意のエディタで開き以下の行を追記します。

 

 

transport_maps = hash:/etc/postfix/transport

 

 

(2)transportファイルを作成します。

/etc/postfix/tranportファイルが無ければ作成し、以下の行を記述します

意味は、exmaple.comドメインのメールをmail2.example.comサーバーに転送します。

 

 

example.com smtp:[mail2.example.com]:25

 

 

(3)以下のコマンドを実行しtransport.dbファイルに反映させます。

 

 

# postmap /etc/postfix/transport

 

 

転送先2の設定

転送先2はrecipient_bcc_mapsを使用します。

(1)recipient_bcc_maps機能をONにします。

/etc/postfix/main.cfを任意のエディタで開き以下の行を追記します。

 

 

recipient_bcc_maps = regexp:/etc/postfix/recipient_bcc.regexp

 

 

(2)recipient_bcc.regexpファイルを作成します。

/etc/postfix/recipient_bcc.regexpファイルが無ければ作成し、以下の行を記述します。

 

 

/(.*)@example.com/ $1@mail3.example.com

 

 

 

3postfix再起動

以下のコマンドにてpostfixを再起動し、設定内容を反映させてください。

 

 

# service postfix restart

 

 

以降、mail1.example.comサーバーに届いたメールはmail2.example.comサーバーとmail3.example.comサーバーにリレーされます。

 

[更新履歴]

・2008年 3月 3日 新規作成

 

VMwareTips vmmouseの使用

本ドキュメントの内容はサポートサービスの対象外です。

 

[  ] 

本ドキュメントでは、VMwareのホストOS・ゲストOS間で透過的にマウスを移動できるVMWareゲスト用ドライバ、vmmouseの使用方法について説明します。

(本ドキュメントでは、VMWareホスト、VMWareゲストとも、Asianux Server 3を使用しています。)

 

[注意事項]

本ドキュメントは、各ソフトウェア開発元の情報およびマニュアル等を元にした参考情報です。

本ドキュメントの内容は、予告なしに変更される場合があります。

 

本ドキュメントは、限られた評価環境における検証結果をもとに作成しており、全ての環境での動作を保証するものではありません。

本ドキュメントの内容に基づき、導入、設定、運用を行なったことにより損害が生じた場合でも、弊社はその損害についての責任を負いません。

 

また、本ドキュメントの内容に関するサポートのお問い合わせはお受けしておりません。あくまでお客様のご判断にてご使用ください。

 

[VMwareTips vmmouseの使用]

VMWare上でゲストOSとしてAsianux Server 3を実行する場合に、X.Orgパッケージに含まれているvmmouseドライバを利用することで、VMwareのホストOS・ゲストOS間で透過的にマウスを移動できるようになります。

 

xorg.confの編集とXの再起動

 

1.ゲストOSとして動作しているAsianux Server 3にて、既存のxorg.confファイルを編集します。

 

 

# vi /etc/X11/xorg.conf

 

 

2./etc/X11/xorg.confの「Section "InputDevice"」内の「Driver」のmouse”を”vmmouse”へ置き換えます。

 

修正箇所:

 

# Driver "mouse"

Driver "vmmouse"

 

 

3.GUI画面でログインしている場合は一旦ログアウトし、再度GUI画面を起動してください。

ホストOSとゲストOS間をマウスで直接移動できることを確認して作業完了になります。

  

[更新履歴]

2008年 3月 3日 新規作成

 

915resolutionを利用したワイドスクリーン出力の方法

本ドキュメントの内容はサポートサービスの対象外です。

 

[  ] 

本ドキュメントではintelのグラフィックチップを搭載したマシンにおいて、915resolutionを利用して1680x1050等のワイドスクリーン出力をする方法について説明します。

(本ドキュメントでは、Asianux Server 3を使用しています。)

 

[注意事項]

本ドキュメントは、各ソフトウェア開発元の情報およびマニュアル等を元にした参考情報です。

本ドキュメントの内容は、予告なしに変更される場合があります。

 

本ドキュメントは、限られた評価環境における検証結果をもとに作成しており、全ての環境での動作を保証するものではありません。

本ドキュメントの内容に基づき、導入、設定、運用を行なったことにより損害が生じた場合でも、弊社はその損害についての責任を負いません。

 

また、本ドキュメントの内容に関するサポートのお問い合わせはお受けしておりません。あくまでお客様のご判断にてご使用ください。

 

[設定方法]

Asianux Server 3に含まれているX.Orgは標準の状態では、intelのグラフィックチップを搭載したマシンにおいて1680x1050等のワイドスクリーン出力ができません。以下手順により915resolutionを導入することで、1680x1050の画面出力が可能になります。

今回は以下公式サイトで配布されているものに追加で965GM, G33, Q33, Q35サポートのパッチを適用しています。

http://www.geocities.com/stomljen/

 

915resolutionパッケージのインストールと設定

 

1.以下URLよりrpm/tmpへダウンロードします。

 

RPMS:

915resolution-0.5.3-2.1AXS3.i386.rpm

915resolution-0.5.3-2.1AXS3.x86_64.rpm

 

SRPMS:

915resolution-0.5.3-2.1AXS3.src.rpm

 

これらのパッケージはサポート対象外です。あくまで評価目的でご利用下さい。

 

2.以下コマンドを実行し、rpmをインストールします。

 

i386の場合:

 

# rpm -ivh /tmp/915resolution-0.5.3-2.1AXS3.i386.rpm

 

 

x86_64の場合:

 

# rpm -ivh /tmp/915resolution-0.5.3-2.1AXS3.x86_64.rpm

 

 

3.以下コマンドを実行し、現在のビデオBIOSの設定を確認します。

実行結果は環境により異なります。

 

 

# 915resolution -l

Intel 800/900 Series VBIOS Hack : version 0.5.3

 

Chipset: G33

BIOS: TYPE 1

Mode Table Offset: $C0000 + $269

Mode Table Entries: 27

 

Mode 30 : 640x480, 8 bits/pixel

Mode 32 : 800x600, 8 bits/pixel

Mode 34 : 1024x768, 8 bits/pixel

Mode 38 : 1280x1024, 8 bits/pixel

Mode 3a : 1600x1200, 8 bits/pixel

Mode 3c : 1920x1440, 8 bits/pixel

Mode 41 : 640x480, 16 bits/pixel

Mode 43 : 800x600, 16 bits/pixel

Mode 45 : 1024x768, 16 bits/pixel

Mode 49 : 1280x1024, 16 bits/pixel

Mode 4b : 1600x1200, 16 bits/pixel

Mode 4d : 1920x1440, 16 bits/pixel

Mode 50 : 640x480, 32 bits/pixel

Mode 52 : 800x600, 32 bits/pixel

Mode 54 : 1024x768, 32 bits/pixel

Mode 58 : 1280x1024, 32 bits/pixel

Mode 5a : 1600x1200, 32 bits/pixel

Mode 5c : 1920x1440, 32 bits/pixel

 

 

4.使用する予定のない解像度の“Mode”番号を指定して以下コマンドを実行します。

 

 

# 915resolution Mode番号” “横解像度” “縦解像度

 

 

実行例: 640x480を使用する予定がない場合、”Mode”として50を指定して1680x1050の設定をします。

 

# 915resolution 50 1680 1050

 

 

5.以下コマンドを実行し、設定が反映されていることを確認します。同一の解像度の設定が全て置換されます。(赤字部分)

 

 

# 915resolution -l

Intel 800/900 Series VBIOS Hack : version 0.5.3

 

Chipset: G33

BIOS: TYPE 1

Mode Table Offset: $C0000 + $269

Mode Table Entries: 27

 

Mode 30 : 1680x1050, 8 bits/pixel

Mode 32 : 800x600, 8 bits/pixel

Mode 34 : 1024x768, 8 bits/pixel

Mode 38 : 1280x1024, 8 bits/pixel

Mode 3a : 1600x1200, 8 bits/pixel

Mode 3c : 1920x1440, 8 bits/pixel

Mode 41 : 1680x1050, 16 bits/pixel

Mode 43 : 800x600, 16 bits/pixel

Mode 45 : 1024x768, 16 bits/pixel

Mode 49 : 1280x1024, 16 bits/pixel

Mode 4b : 1600x1200, 16 bits/pixel

Mode 4d : 1920x1440, 16 bits/pixel

Mode 50 : 1680x1050, 32 bits/pixel

Mode 52 : 800x600, 32 bits/pixel

Mode 54 : 1024x768, 32 bits/pixel

Mode 58 : 1280x1024, 32 bits/pixel

Mode 5a : 1600x1200, 32 bits/pixel

Mode 5c : 1920x1440, 32 bits/pixel

 

 

 

6.設定した解像度を使用するために、/etc/X11/xorg.confの「Section "Screen"」内の「SubSection "Display"」内の「Modes」を修正します。

 

今回の例では640x480設定を削除し、1680x1050を追加しています。

 

# Modes "1024x768" "800x600" "640x480"

Modes "1680x1050" "1024x768" "800x600"

 

 

7.startxを実行し、設定した解像度で動作することを確認します。

 

 

# startx

 

 

8.動作を確認後、/etc/sysconfig/915resolutionへ以下の行を追加します。

 

 

RESOLUTION=“Mode番号 横解像度 縦解像度

 

 

:

 

RESOLUTION="50 1680 1050"

 

 

9.以下のコマンドを実行し、起動時に毎回設定が反映されるようにします。

 

 

# chkconfig 915resolution on

# chkconfig --list 915resolution

915resolution 0:off 1:off 2:on 3:on 4:on 5:on 6:off

 

 

10.再起動後、startxでの動作を確認して設定完了になります。

 

 

[更新履歴]

2008年 3月 3日 新規作成

 

Asianux Server(MIRACLE LINUX V5以降) 製品マニュアル

Asianux Server 4 == MIRACLE LINUX V6 SP4 新着

新しいウィンドウを開く リリースノート(PDF形式:435KB)

 

Asianux Server 4 == MIRACLE LINUX V6 SP3

新しいウィンドウを開く リリースノート(PDF形式:408KB)
 

 Asianux Server 4 == MIRACLE LINUX V6 for IBM POWER

新しいウィンドウを開く リリースノート(PDF形式:472KB)

 

Asianux Server 4 == MIRACLE LINUX V6 SP2 

新しいウィンドウを開く サーバー構築・運用ガイド(PDF形式:2.00MB)
新しいウィンドウを開く リリースノート(PDF形式:327KB)

 

Asianux Server 4 == MIRACLE LINUX V6 SP1

新しいウィンドウを開く リリースノート(PDF形式:327KB)

 

Asianux Server 3 == MIRACLE LINUX V5 SP4

新しいウィンドウを開く サーバー構築・運用ガイド(PDF形式:5.16MB)
新しいウィンドウを開く リリースノート(PDF形式:659KB)

 

Asianux Server 3 == MIRACLE LINUX V5 SP3

新しいウィンドウを開く サーバー構築・運用ガイド(PDF形式:5.16MB)
新しいウィンドウを開く リリースノート(PDF形式:656KB)

 

Asianux Server 3 == MIRACLE LINUX V5 SP2

新しいウィンドウを開く サーバー構築・運用ガイド(PDF形式:5.16MB)
新しいウィンドウを開く リリースノート(PDF形式:652KB)

 

Asianux Server 3 == MIRACLE LINUX V5 SP1

新しいウィンドウを開く サーバー構築・運用ガイド(PDF形式:5.5MB)
新しいウィンドウを開く リリースノート(PDF形式:0.7MB)

 

Asianux Server 3

新しいウィンドウを開く サーバー構築・運用ガイド(PDF形式:5.5MB)
新しいウィンドウを開く リリースノート(PDF形式:0.7MB)

 

「Asianux Technical Support Network (TSN) 利用ガイド」および「Asianux TSN Updater (axtu) 利用ガイド」につきましては、以下のページをご参照下さい。

 

 

<< 戻る

コンテンツの配信