重要 2016-5-17追記:phpMyAdmin-4.2.2にはここによると4.2.7.1未満のバージョンにはクロスサイトスクリプティングの脆弱性が存在するそうです。
この設定は参考にせず、ここを参考にしてください
一様記事は残しておきます。
データーベースの操作をWEBから行う為にphpMyAdminのインストールをします。http://www.phpmyadmin.net/home_page/downloads.phpからphpMyAdmin-4.2.2-all-languages.tar.bz2をダウンロードしますが、WEBに無いみたい。現在は 4.2.6が最終ですが、これはmysql5.5が必要で、centos6.5のmysqlは5.1.73ですので、4.2.2ダウンロードしたいのでここをクリックしてください、ダウンロードできます。その後ダウンロードしたDIRに移り、
# tar jxvf phpMyAdmin-4.2.2-all-languages.tar.bz2
DIR名が長いので短く、
# mv phpMyAdmin-4.2.2-all-languages phpMyAdmin
これをWEBのドキュメントルートにコピーします(私はデフォルトからは変更しています)
# cp -r phpMyAdmin /webdata/public/kinryokai/
# cd /webdata/public/kinryokai/phpMyAdmin
# mv config.sample.inc.php config.inc.php
動作には下記が必要です。
# yum install php mysql php-mbstring php-mysql
動作チェックの為にブラウザにhttp://localhost/phpMyAdmin/index.php と入力しEnterで表示させる。(mysqli 拡張がありません。PHP の設定をチェックしてみてください。と表示されたら、php-mysql がインストールされていないか、インストール後 httpd をリスタートしていない)言語を確認し、ユーザー名とパスワードを(mysql-serverに設定している物)を入力後、実行をクリックすると表示された。だが、下の方にスクロールダウンすると
設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。
mcrypt 拡張をロードできません。PHP の設定を確認してください
phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。
と三つのエラーが表示されていた。
最初のエラーはhttp://www.la-nouveau.mydns.jp/wordpress/?p=99を参考にexpectをインストールし、mkpasswdを行う
# yum -y install expect
# mkpasswd -l 46
でもって、ここで表示されたランダムのパスワードをphpMyAdminの下にあるconfig.inc.phpに書き込めばOK。
二つ目はmcryptをインストールします。
# yum install php-mcrypt
この時、EPELレポジトリーが有効になっていないといけません。(サーバー制作 : 5:EPELレポジトリの導入を参照)
三つめはhttp://www.kakashi.biz/プログラム/phpmyadmin-環境保管領域が完全に設定されていないため、を参考にしましたが、
phpMyAdmin 上で、右ペインのインポートタブをクリックし、参照をクリックし、インストールしたexamplesの中にあるcreate_tables.sqlを指定し、実行(スクロースダウンしないと見えない)をクリックし、phpmyadminデーターベースをインポートします。ブラウザの再読み込みを行うと、左ペインにphpmyadminが出来ています。
phpmyadmin用のユーザーの作成及びconfigファイルの設定をしていきます。
まず右ペインのSQLタブをクリックし、
GRANT ALL ON phpmyadmin.* TO pma@localhost IDENTIFIED BY 'xxxxxxx';
(xxxxxxxは設定したいパスワード)を入力し、実行をクリックするとユーザーが作成されます。その確認は左ペインのmysqlをクリックするとテーブルが表示されますので、userをクリックすると、右ペインにユーザとしてpmaが出来ています。先ほどのconfig.inc.phpを変更します。
/* User used to manipulate with storage */
$cfg['Servers'][$i]['controlhost'] = '';
$cfg['Servers'][$i]['controlport'] = '';
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'xxxxxxx';
/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
$cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';
$cfg['Servers'][$i]['recent'] = 'pma_recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
/* Contrib / Swekey authentication */
$cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf';
変更部分のみ抜粋。xxxxxxxは今、設定したパスワード、$cfgで始まる行のコメントを外す。
phpMyAdminからログアウト後、ログインすればOK
やっとWEBサーバーの設定になりますが、まず必要なプログラムのインストール(apacheはデフォルトでインストール済み)
# yum -y install php php-mbstring mysql mysql-server php-mysql
2019-8-6 追記 CentOS 7の場合は mysql mysql-server の代わりに mariadb mariadb-server
作ろうとしているWEBはXOOPSを使用しておりますので、mysql関係が必要です。
ここを参照し/etc/httpd/conf/httpd.confの設定をしていく。最後の方のパーティションを作るあたりは今回は既に出来ているので、無視していい。
virtualhost の設定をする。
/etc/httpd/conf.d/virtualhost.conf に
NameVirtualHost *:80
# kinryokai
<VirtualHost *:80>
DocumentRoot /webdata/public/kinryokai
ServerName www.kinryokai.net
ServerAlias kinryokai.net
ErrorLog logs/kinryokai_error_log
CustomLog logs/kinryokai_access_log combined env=!no_log
<Directory "/webdata/public/kinryokai/upfiles">
SetEnvIf Referer "^http://www\.kinryokai\.net" ref_ok
order deny,allow
deny from all
allow from env=ref_ok
</Directory>
<Directory "/webdata/public/kinryokai/uploads">
SetEnvIf Referer "^http://www\.kinryokai\.net" ref_ok
order deny,allow
deny from all
allow from env=ref_ok
</Directory>
ScriptAlias /cgi-kinryo/ "/webdata/cgi-kinryo/"
<Directory "/webdata/cgi-kinryo">
AllowOverride None
Options None
SetEnvIf Referer "^http://www\.kinryokai\.net" cgi-kinryo_ok
order deny,allow
deny from all
allow from env=cgi-kinryo_ok
</Directory>
</VirtualHost>
又、 "/webdata/public/kinryokai/upfiles"と "/webdata/public/kinryokai/uploads" の設定はここに画像などを置いておくので、他のWEBからリンクを張られ、遅くなるのを防ぐ設定です。
もう一度 conf のチェック
# apachectl configtest
ここを参考にmysqlの設定、起動をしてください。
デフォルトではアップ出来るサイズが小さいので、/etc/php.iniを変更します。
post_max_size = 50M
upload_max_filesize = 50M
date.timezone = Asia/Tokyo ← 先頭の;を取るのを忘れずに
webサーバーの起動
# service httpd start
# chkconfig httpd on
今はテストなので/etc/hostsにこのサーバーのIPとURLを設定し、
ブラウザでwww.kinryokai.net にアクセスし、表示されればOK。
マイグレーション時にルーターの設定を変更し、このサーバーにフォワードする。
まだapacheなどの設定が終わっていませんが、作ったWEBサーバーがバックアップされるように設定をしていきます。
まずはwebサーバーでbaculaに必要なプログラムをインストール
# yum -y install bacula-client bacula-console
次に/etc/bacula/bacula-fd.confの設定
# gedit /etc/bacula/bacula-fd.conf
Director {
Name = bacula-dir
Password = "XXXX"
}
Director {
Name = bacula-mon
Password = "xxxx"
Monitor = yes
}
FileDaemon {
Name = web-fd ← bacula-dir.confの名前に合わせる
FDport = 9102 # where we listen for the director
WorkingDirectory = /var/spool/bacula
Pid Directory = /var/run
Maximum Concurrent Jobs = 20
}
# Send all messages except skipped files back to Director
Messages {
Name = Standard
director = bacula-dir = all, !skipped, !restored
}
# gedit /etc/bacula/bconsole.conf
Director {
Name = bacula-dir
DIRport = 9101
address = 192.168.xxx.xxx ← directorの動いているホストの指定をする
Password = "xxxxx"
}
bacula-fdをスタートしておく
# service bacula-fd start
# chkconfig bacula-fd on
*************
ここからバックアップサーバーの設定
/etc/bacula/bacula-dir にWEBサーバーを追加するが、追加する項目は
Job { Name = "Backup-web"
Job { Name = "Restore-web"
FileSet { Name = "Full web"
Client { Name = web-fd
の四つであるが、それぞれ他のサーバーの設定から容易に設定内容が見当がつくと思われるので、ここでは表示しない。ただ FileSet の設定には注意の事。私の場合は/webdataや/homeは別のパーティションをマウントしているので includeに設定が必要になる。
設定が終わったら、bcula-dir を再起動
# service bacula-dir restart
webサーバーの最初のバックアップをする
# bconsole
Connecting to Director localhost:9101
1000 OK: bacula-dir Version: 5.0.0 (26 January 2010)
Enter a period to cancel a command.
*run ← 緑は入力する文字
Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"
A job name must be specified.
The defined Job resources are:
1: Backup-samba
2: Backup-kvm
3: Backup-web
4: BackupCatalog
5: Restore-samba
6: Restore-kvm
7: Restore-web
Select Job resource (1-7): 3
Run Backup job
JobName: Backup-web
Level: Incremental
Client: web-fd
FileSet: Full web
Pool: File (From Job resource)
Storage: File (From Job resource)
When: 2014-05-20 21:46:47
Priority: 10
OK to run? (yes/mod/no): yes
これでバックアップが始まり、最初なのでかなり時間がかかる。
ここを参照しクローンを作る。
次にこのサーバーにマウントする領域を設定していくが、このWEBサーバーの構成は
vda: ここにさらに領域が作られ、ルートが出来ている。
vdb: SWAP領域
vdc: /Downloadにマウントされる、他のサーバーと共有している。ここまではクローンで出来ている
vdd: /webdataにマウント、ここにWEBコンテンツ、mysqlのデーターなどが保存される。
vde: /homeにマウント、メールデーター(IMAP)の保存場所でもある
元のサーバーとIPなどがダブっているが、参照先にその変更方法もあるので済まして置く。
次にサーバーを起動し、/etc/fstab を設定、下記を最後に追記
/dev/vdd /webdata ext4 defaults 0 0
/dev/vde /home ext4 defaults 0 0
新しいdirectoryの作成とアトリビュートの設定
# mkdir /webdata
# chmod 777 /webdata
そして設定の反映
# mount -a
次は本来ならapacheの設定だが、私はサーバーのマイグレーションをやろうとしているので、データーのコピーが必要。
色々考えたがrsyncを使うことにした。今はテストの段階だが、いずれデーターが必要なのでrsyncで同期をして置くことにした。
完全にテストが終わり、マイグレーションを実施する直前に再度 rsysnc で同期を取る。
rsyncの使い方はここに詳しく解説がある
rsyncデーモンをコピー元で動かすか、コピー先で動かすか迷ったが、コピー先つまりこのサーバーで動かすことにした。
CentOSではrsyncのデーモン動作はxinetd経由で動かすのだが、インストール済みである。また/etc/xinetd.d/rsync もxinetdのインストール時に出来ている。
service rsync
{
disable = no ← noに変更
# flags = IPv6 ← ここはよく分からない
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
flags=IPv6の設定の意味がよく分からない。これを行うとIPv4とIPv6の両方アクセプトするのか(多分この意味と思うが)、IPv6だけで通信を行うのか不明なのでコメントアウトしておいた。
次にrsyncの設定ファイルを作る
# gedit /etc/rsyncd.conf
# Global options
uid = root
gid = wheel
use chroot = yes
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
hosts allow = 192.168.xx.xx/24
hosts deny = *
dont compress = *.gz *.tgz *.zip *.pdf *.sit *.sitx *.lzh *.bz2 *.jpg *.gif *.png
# Module options
[webdata]
comment = rsync server
path = /webdata
auth users = root
secrets file = /etc/rsyncd.secrets
read only = no
[home]
comment = rsync server
path = /home
auth users = root
secrets file = /etc/rsyncd.secrets
read only = no
hosts allow = で接続出来るホストをローカルネットワークに限定している。(xx.xx は環境に合わせる)
パスワードファイルの設定 /etc/rsyncd.secrets
root:xxxxxxxxxx
ユーザー名:パスワードのように設定。
私はrsyncd.confに別のユーザーを指定したが出来なかった。rootにすると出来るようになった。又、このパスワードはOSのパスワードとは関係ない、勝手に決めてよい。
xinetdを再起動すればRQが来た時、動作する
# service xinetd restart
xinetdの再起動までやったが、ここはdaemonモードでやりたいので、rsyncをデーモンでスタートする
# rsync --daemon
ちなみに停止はPIDを調べてkillする
# ps auxww | grep 'rsync --daemon'
root 2183 0.0 0.0 107624 536 ? Ss 12:52 0:00 rsync --daemon
root 2328 0.0 0.0 107464 892 pts/0 S+ 13:03 0:00 grep rsync --daemon
***************
ここからはコピー元のサーバーの設定。
パスワードファイルを作る。これはなくてもパスワードを聞いてくるのですが、スクリプトを組、cronで定期的に実行するにはパスワードを聞いて来ては困るので、それに備え作っておく。
# gedit /etc/rsync.passwd
xxxxxxx
とパスワードだけを書いておくそうな。
rsyncのデーモン動作の解説WEBには複数のユーザー設定もあるが、ユーザー名の指定が無いがどう動作するのかなー?
早速コピーをするが、万が一コピー元とコピー先を間違えると全部消えるので、まずはドライラン(実際にコピーはせずテストのみする)
rsyncの書式は rsync オプション コピー元 コピー先なので
# rsync -avn --password-file=/etc/rsync.passwd /webdata/ rsync;//192.168.xx.xx/webdata ← xoopsが悪さをするので : を ; に変えてある
もし、ユーザー認証で跳ねられる時は、rsync.passwd とrsyncがデーモンで動いているホストの rsyncd.secrets のパーミッションが600になっているか確認。
大丈夫そうなので
# rsync -av --password-file=/etc/rsync.passwd /webdata/ rsync;//192.168.xx.xx/webdata ← xoopsが悪さをするので : を ; に変えてある
もちろんIPは今制作中のホスト。
最初はrsyncd.confの auth users = root と secrets file = /etc/rsyncd.secrets をコメントアウトし、テストした方が問題が切り分けやすい。
もちろん --password-file=/etc/rsync.passwd は付けない
同様に/homeもコピーするがその前に元のWEBサーバーに登録してあるユーザーをこのサーバーにも登録しておく。ただしUIDを同じにしないといけない。
書式:useradd オプション 登録するユーザー名
私はこのWEBサーバーにFTPで接続を許すユーザーがおり、homeディレクトリーが違う。そのようなユーザーには
# useradd -u 元のWEBと同じUID -d 指定するディレクトリー ユーザー名
新規ユーザー作成ではGIDも指定したUIDと同じだが、usermodでUIDを変更したら、group IDも変更しておく
# groupmod -g 元のWEBと同じGID グループ名
次に作ったユーザーのパスワードを設定
書式:passwd ユーザー名
で2回同じパスワードを入れ設定する。
必要であれば所有者の変更(UIDが違う場合)
書式:chown -R ユーザー名:グループ名 設定するdirectoryのフルパス
その後rsyncで/homeをコピーする
****************
その後、制作中のホストに戻っておく。
このサーバーの領域の構成は
vda: ここにさらに領域が作られ、ルートが出来ている。
vdb: SWAP領域
vdc: /Downloadにマウントされる、他のサーバーと共有している。ここまではクローンで出来ている
vdd: /SmbDataにマウントされる。後で追加するsambaを使ったアクティブディレクトリーの領域。
vde: /Backupにマウントされ、全てのサーバーのバックアップしたデーターの保存場所
まず、クローンで作ったサーバーを停止して置き、ここを参照してこのサーバーにマウントする領域を追加していきます。
次にサーバーをスタートし、追加したパーティションをマウントするために fstab を設定
# gedit /etc/fstab
/dev/vdd /SmbData ext4 defaults 0 0
/dev/vde /Backup ext4 defaults 0 0
この2行を最後に追記(もちろん vdd vde は環境により変化)
マウントするdirectoryを作る
# mkdir /SmbData
# mkdir /Backup
マウントする
# mount -a
ここからはBacula(バックアップ)に挑戦に従い設定をしていきます。番号順に設定してね。
ただし、サブホストの webはまだないので3:bacula-dirの設定のbacula-dir.confの
Name="Backup-web", Name="Restore-web", Name=web-fdに関係する設定は#をつけコメントアウトにしておくこと。FileSetのFull webも関係するが、あっても問題ないと思うのでそのまま。
無事テストでバックアップが出来た。
このサーバーは後でアクティブディレクトリーを使ったファイルサーバーを入れるが、とりあえず、他のサーバーを作る。
やっとベースとなるサブホストの設定が終わったので、いよいよ本チャン用のサブホストを作ります。このサブホストは後で、samba4をインストールし、アクティブディレクトリーも構築しますが、まずはバックを作ります。ベースとなるサブホストは停止して置き、
画像1の様に、仮想マシンマネージャーで、作成した雛形用のサブホストを右クリックし、クローン(C)をクリックすると、新しいウィドウが開き(左側の画像)そこに表示された領域をクリックすると、詳細...が現れ、それをクリックすると、画像2が表示されますので、参照をクリックし、割り当てたい領域を選択後、OKをクリックし、同様に他の領域に付いても行います。私は全ての領域はLVMでそれぞれ作成し、Dowloadの領域は全てのサブホストで共有する設定にしてあります。
デフォルトでは親ホストの領域の中に、ディスクイメージを作るような設定なので、それをする為には、親ホストの領域をその分を見込みかなり大きく割り当てておく必要があります。
うっかりサブホストの設定をデフォルトのままにしてしまったので、混乱を防ぐため、サブホストの名前を変更します。クローンで出来たサブホストを選択後、開くアイコンをクリックし、iのアイコンをクリックし、右ペインでOverviewが選択されていれば、右ペインの名前の所で、設定したい名前を変更できます。
クローンで出来たサブホストは元のサブホストとhostname,IPアドレスなどがダブっていますので、変更をします。元のサブホストは停止したまま(IPアドレスが同じなので問題が出る)クローンされたサブホストを右クリックで実行します。実行中にAlt+d で詳細を表示させて見ていると、
Bringing up interface eth0: Device eth0 does not seem to be present, delaying initialization [FAILED]
まずはこの問題を解決する。rootでログインし、/var/log/dmseg 開き ethで検索し調べると udev: renamed network interface eth0 to eth1 があった。
これでググると http://d.hatena.ne.jp/ngyuki/20110805/p1 に回答があった。
さっそく /etc/udev/rules.d/70-persistent-net.rules をどっかに移し、再起動すると、又同じエラーが出ている。
/etc/udev/rules.d/70-persistent-net.rules を開いてみると
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:81:1f:bd",
ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" ← eth1になっていたのでeth0に変更。実際は一行
再起動すると今度は
Bringing up interface eth0: Device eth0 has different MAC address than expected, ignoring. [FAILED]
DEVICE=eth0
TYPE=Ethernet
#UUID=1f3d73ed-edc1-4939-a4d7-946d3bbd050a ← オリジナルのサブホストとかぶるのでコメントアウト
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
#HWADDR=52:54:00:49:9E:37 ← オリジナルのサブホストとかぶるのでコメントアウト
IPADDR=192.168.xx.xx ← ついでに設定したいIPにする
PREFIX=24
GATEWAY=192.168.xx.xx
#DNS1=192.168.xx.xx ← DNSは/etc/resolv.confで設定している
#DOMAIN=kinryokai.net
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
次にホスト名を変更する。/etc/sysconfig/networkを
NETWORKING=yes
HOSTNAME=xxxx.kinryokai.net ← 設定したいホスト名に
GATEWAY=192.168.xx.xx ← IPアドレスは伏せてあります
# service network restart
ブラウザを立ち上げ、外部のWEBが見れる事を確認。
VNCのポートもダブっているので、外部から接続するために、ポート番号を変更しておく(LAN内部からだけならIPが違うので問題ない)(設定ファイルは /etc/services (ここを参照)。私のfirewallの設定はローカルネットワークからのRQは受け付けるように設定しているので問題ないが、そうでない時か、外部からVNCを受ける場合にはfirewallの設定で、VNCにアサインしたTCPポートを開けておく事。
このサブホストで使うディレクトリーをここを参照して作る。私はファイルサーバーのデーターの保存場所(/SmbData)とバックアップデータの保存場所(/Backup)を別パーティションとして作った。
その後再起動したらVNC経由でログインしてみる。
やっとこれで本題に入れる。
今日気がついたが、VNC経由でrootでログインすると、テンキーで入力しても数字が入力できない。
ブラウザ上:Num Lock キーが点いている時
数字7キー: 現在のカーソルから先頭までの選択
数字1キー: 現在のカーソルから行末までの選択
ブラウザ上:Num Lock キーが消えている時
数字7キー: 先頭へカーソル移動
数字1キー: 行末へカーソル移動
これはNum Lockキーが消えている時のキーアサインに似ている
terminal上:Num Lock キーが点いている時
数字2キー: Bが入力される
数字8キー: Aが入力される
同様に4:D、6:C。それ以外は無反応
terminal上:Num Lock キーが消えている時
Num Lockが消えている本来のカーソルの動きになる。
でもVNC経由でも、一般ユーザーなら問題はない。
ここまでなら、個人設定に問題有と思うが、
仮想マシンマネージャーから、開くをクリック後、ログインすると全てのユーザーで問題ない!!!
つまり、VNC経由のrootのログインだけ問題がある。
これって矛盾してるよねー、
ブラウザ上と、端末で動きが違うので、Xの設定がからんでいるみたい。心当たりを調べたが治らない。後日に回す。
追記:使えなかったのは15日、今日は16日。何もしていないのに今日は問題無し。サーバーがまだ完成していないので、電源を落としたから、何かのアップデートがあったとも考えにくい。電源を入れただけ、つまり再起動と同じ。だけど昨日は再起動しても直らなかった???
2014/05/20追記:又、テンキーが使えない。どうもサブホストを起動するときの状態によるみたいたが原因は特定できていない。
原因が判明:サブホストの起動時にキーボードの NumLock がONにしておかないとテンキーが使えない。又起動途中にOFFにしてもダメ。
ここを参照しながら日本語化、ユーザーリストの非表示、NewtworkManagerの停止などをします。
そして、ここを参照し、初期設定をしていきます。
次にホストでの設定でもやったように、まずEPELレポジトリの導入をここを参照し、設定を行います
次はchkrootkitのインストール。ここを参照
そしてアンチウィルスソフトの導入。ここを参照
ファイアウォールの構築。ここを参照しますが、ブリッジが無いので、一部違います。違う箇所は
#BR=br0 → #を付けコメントアウト
LOCALNET_MASK=`ifconfig $LAN|sed -e 's/^.*Mask:\([^ ]*\)$/\1/p' -e d` → $BRを$LANに変更
LOCALNET_ADDR=`netstat -rn|grep $LAN|grep $LOCALNET_MASK|cut -f1 -d' '` → " "$BRを$LANに変更
次にNTPの設定。NTPサーバーは既に親ホストで動いているので、/etc/ntp.conf を(サブホストにもデフォルトでインストールされていた)
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org iburst ← 先頭に#を付けコメントアウト
#server 1.centos.pool.ntp.org iburst ← 先頭に#を付けコメントアウト
#server 2.centos.pool.ntp.org iburst ← 先頭に#を付けコメントアウト
#server 3.centos.pool.ntp.org iburst ← 先頭に#を付けコメントアウト
server 192.168.xx.xx ← 親ホストのIP
ntpサーバーを起動し、再起動後も機動出来るように設定
# service ntpd start
# chkconfig ntpd on
後日サブホストを立ち上げても、親ホストと時間の同期が出来ていなかった。理由は不明。
# ntpq -p
をやっても同期していないみたい(もちろん5分後やっても同じく同期していない)何で?? NTPサーバーが立ち上がる時に、親ホストと同期しないのかなー? ntpdをリスタートしたら同期した。
次はここを参照し、侵入検知システムの導入(aide)をします。/etc/aide.confは親ホストの分をコピーした方がが早いと思う。
ここらで一度再起動しておくか。
サブホストを設定していくのに、標準ではやりにくいので(カーソルの移動が面倒)VNCサーバーをインストールするが、その前にOSのアップデートをしておく。
ここからはサブホスト側の設定。サブホストにログインし、
# yum -y update
VNCサーバーをインストール
# yum -y install tigervnc-server
VNCをXinet経由で動かしたいので(常時接続を待ち受けるのではなく、リクエストがあった時のみプログラムを走らせる)
# yum -y install xinetd
CentOSはVNCサーバーのポートが決め打ちしてあるがそれを変更する。
# gedit /etc/services
前略
ppsuitemsg 5863/udp # PlanetPress Suite Messeng
vnc-server 5900/tcp # VNC Server ← 5900 を 5910位までの好きな番号に、この番号でアクセスすることになる
vnc-server 5900/udp # VNC Server ← 5900 を 5910位までの好きな番号に、この番号でアクセスすることになる
cm 5910/tcp # Context Management
後略
vnc-serverで検索するとヒットするのでそのポートを変更するが、UDPも設定しているがこの理由は不明。私の理解ではTCPポートだけでいい筈だが?
xinetd用のVNCの設定。/etc/xinetd.d/vnc-server に
service vnc-server
{
disable = no
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -securitytypes=none -geometry 1800x850 -depth 24
lon_on_failure += USERID
}
次に /etc/gdm/custom.conf に
# GDM configuration storage
[daemon]
remoteGreeter=/usr/libexec/gdmgreeter
[security]
AllowRemoteRoot=true
[xdmcp]
Enable=true
[greeter]
[chooser]
[debug]
xinetdをスタートする
# service xinetd start
# chkconfig xinetd on
ファイアーウォールの設定。System→Administration→Firewallで開き、左ペインでOther Portsを選び、右ペインで Add をクリック、開いたウィンドウで、VNC用に開けたポート番号 TCP vnc-server を選び、OKをクリック後,
Apply をクリック後、ウィンドウを閉じる。サブホスト側は再起動しておく。
*******************
ここでホスト側にVNCビュアーをインストールするので、ホスト側に移る。
私はyumでインストールできるビュアーより、realvncの方が使いやすいので、http://www.realvnc.com/download/viewer/からからlinuxのBINARY(32ビット又は64ビット)をダウンロードし、実行フラグを付け、/usr/binにでもvnc-viewer とでもリネームし保存する。これをクリックすると、ウィンドウが開くので、VNC Server: の欄に、サブホストのIP:ポート番号を入力し、connect をクリック。(画像は一部IPアドレスを隠しています)注:port番号は設定しているポート番号の下一桁のみ、5901なら ipアドレス:1 の様に)これでウィンドウが開きログイン画面が出てくる。ウィンドウのサイズは /etc/xinetd.d/vnc-server の -geometry の後で設定が出来る
ここで一度サブホストの設定を確かめる。アプリケーション→システムツール→仮想マシンマネージャーで走らせ、作ったサブホストを選び、開くをクリック、開いたウィンドウで i のアイコンをクリック、ローカルタイムを設定したが、何故かUTCになっているので、画面0の様にlocaltimeにし、適用をクリック。
デフォルトでインストールしたらディスクの種類がIDEになっていたので、効率の良い(とどこかのWEBに書いてあったが)virtioを選び適用をクリック(画面1)
このままではアンダーバーが入力できないので、画面2の様にjaを選び適用をクリック。
12:サブホストのインストールでも触れたが、SWAPをアタッチせずにインストールしているので、ここで、SWAPを入れる。画面3の様に”ハードウェアの追加”をクリックし、
開いた画面4の様に設定をしていく。私は全てのサブホストの領域はLVMで作っており、このSWAPも画面4の様にLVMであり、管理しているストレージ.....にチェックマークが付いている。また、このSWAPではないが、領域をサブホスト同士で、共有したい場合があるが、
その場合は画像5の様にアタッチした後、その領域を選び、共有可能にチェックマークを付ける。