manekineko倉金家ホームページ

趣味の部屋/サーバー構築メモ その4

最初の確認と設定

2014年9月17日 2014年9月30日 更新
本インストールが完了しました。個々のサーバー機能の設定を行う前に、まずは全般的な確認、設定等を行います。


一応本インストールは無事に完了しました。これから全般的な確認や設定をやります。

起動・ログインの確認
まずは無事起動するか、ログインできるかなどを確認。ほぼ順調です。
ひとつ、ログインしたらABRT(自動バグ報告ツール)からお知らせがありました。起動の都度出るようです。

firstboot クラッシュ:
loader.py:30:<module>:ImportError: No module named ethtool
ethtoolがないと言っています。
パッケージ python-ethtool をインストールしてOK。

ログインして少しデスクトップ(GNOME)を使って操作に慣れておきます。やはり今までと少し違うところがあります。
しかしWindowsにしろGNOMEにしろデスクトップがだんだん使いにくくなるなあ。なんだか余計なことはやるなと言ってるみたいだ。

追加のインストール
まずOSインストールのときにインストールできなかったhttpdとphpをいれます。
  httpd, httpd-tools  …HTTPサーバー
  php, php-cli, php-common, php-gd, php-mbstring, php-mysql, php-pdo  …PHP関連

その他今までよく使って慣れていたり使うとわかっているアプリケーション、ツール、プラグインなども導入しておきます。
  alacarte  …GNOMEメニューエディタ
  brasero  …CD/DVD作成ツール
  dovecot-mysql  …MySQLによるメール認証用
  gconf-edotor  …GNOME設定ツール
  kate  …いつも使っているテキストエディタ
  gimp, ImageMagick, kiconedit  …画像処理関係
  lm-sensors  …ハードウェアモニタセンサ
  system-config-users  …user/group設定GUIソフト
  policycoreutils-gui  …SELinux関連
など。

その他足りないものがあったら必要に応じて都度入れることにします。

初期設定のバックアップ
サーバーマシンの初期設定ファイル類、すなわち /etc をそっくりバックアップしておきます。
時折設定を間違えて元に戻したい場合があるからです。

Windows起動エントリの追加
現在OSの起動選択(CentOSかWindowsか)はBIOSでやっています。CentOSの起動選択画面(GRUB2)にWindowsは出てきません。WindowsそのものかWindows起動パーティションを認識できていないようです。
基本的にWindowsは使わないので実務的にはこのままでも充分なのですが、GRUB2にWindowsエントリを追加してみます。やるなら今やってしまわないと、最後の最後にやって起動できなくなってもつまらんし。

その前にCentOS7でWindowsが認識できているのかどうか、os-proberを試してみます。
~]# os-prober
~]#
となり、何も出力されません。つまりWindowsが認識されていません。これが起動メニューに登録されない原因でしょう。やはり手動で登録するしかなさそうです。

GRUB2の設定ファイルを編集します。

Windowsのエントリを手動追加します。
カスタムエントリ追加用の/etc/grub.d/40_customを使います。
/etc/grub.d/40_custom
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Microsoft Windows 8.1" {
set root=(hd0,gpt2)
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
menuentry "... 以下が追加部分。

今回のマシンはUEFIのGPTパーティションシステムで、先頭にWindows回復パーティションがあり、EFI System Partitinは2番目になっていたので、set root=(hd0,gpt2)。
またchainloaderのパスはWindows8の標準的なもののようで、マシンによっては異るかもしれません。

Windowsの起動とは関係ないけどタイムアウトの設定。5秒を60秒に変更します。
/etc/default/grub
GRUB_TIMEOUT=60
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
. . . .
これは昔、不在時停電復帰したときLinuxが起動する前にルーター等が立ち上がってないと起動に失敗するプロセスがあったからで、今は必要ないかもしれませんが念の為。
最近はルータの起動も早くなっているので60秒でいいでしょう。

以上を設定したら、
~]# grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
で設定を反映させてOK。この設定ではWindowsメニューは最後にエントリされます。

...でもなぜだかBIOS起動するのとは少し違う気がする。起動してしまえば特に問題は感じられないが、起動に少し時間がかかる気がするし起動時に表示される画面などもすこし違う。BIOSとは起動のしかたに何か違いがあるのかもしれないが、よくわからない。

実は/boot/efiには、標準的なWindows8の起動用ファイルと言われている/EFI/Microsoft/Boot/bootmgfw.efiのほかに、/EFI/NEC/Boot/bootmgfw.efi というのもあったのですが、それをエントリしてみるとWindowsのRecoveryメニューが表示されてしまいました。(右写真→)

これは使いませんので、エントリするのはやめました。

ユーザ/グループの確認と設定
現行サーバーとのデータ共有化にからむシステムのユーザ/グループのユーザID:グループIDが現行のサーバーと同じかどうか確認しておきます。今までの経験からディストリビューションが同じなら概ね合っていますが、そうでない場合異なることがあります。
異なっているとNFSでつないでデータをバックアップした時などに事が面倒になるので、バックアップ/リストアプログラムで変換しなくてはなりません。
とはいっても合致している必要のあるのはそんなに多くはなく、apache, mysql, postfix, mail, ftp, named などデータをバックアップする必要のあるもののみ。

system-config-usersを使ってすべてのユーザを表示させて確認します。
...幸いCentOS6と合致していました。
その他の一般ユーザも以前と同じユーザID:グループIDで作成します。

ログイン画面の調整
ユーザ設定をし再度ログインしようとログイン画面に行きますと、作成したユーザが表示されてしまいます。概ねアクセス権の限定のためファイルの所有者として作っただけのユーザでログインはしませんし、仮にVNCでログインするにしろ他のユーザ名を教える必要もありません。

で、ログイン画面にユーザを表示させないようにします。
デスクトップから何かの設定ツールでやろうとしましたが、設定ツールが見つかりません。
/etc/dconf/db/gdm.d/00-login-screen をつくり、以下を書き込みます。
[org/gnome/login-screen]
# Do not show the user list
disable-user-list=true
設定を有効化します。
~]# dconf update

起動サービスの確認
CentOS7から、システムのサービス関係が変更され、systemctlというコマンドを使うようです。慣れるまでしばらくかかるな。
で、例によって起動サービスの確認
~]# systemctl list-units --type=service
起動サービスのリストが表示されます。
UNIT                             LOAD   ACTIVE SUB     DESCRIPTION
abrt-ccpp.service loaded active exited Install ABRT coredump hook
abrt-oops.service loaded active running ABRT kernel log watcher
abrt-xorg.service loaded active running ABRT Xorg log watcher
abrtd.service loaded active running ABRT Automated Bug Reporting Too
accounts-daemon.service loaded active running Accounts Service
alsa-state.service loaded active running Manage Sound Card State (restore
atd.service loaded active running Job spooling tools
auditd.service loaded active running Security Auditing Service
avahi-daemon.service loaded active running Avahi mDNS/DNS-SD Stack
. . . . . .

すべてのサービスの有効無効も確認
~]# systemctl list-unit-files --type=service
で、
UNIT FILE                                   STATE   
abrt-ccpp.service enabled
abrt-oops.service enabled
abrt-pstoreoops.service disabled
abrt-vmcore.service enabled
abrt-xorg.service enabled
abrtd.service enabled
accounts-daemon.service enabled
alsa-restore.service static
alsa-state.service static
alsa-store.service static
anaconda-direct.service static
anaconda-noshell.service static
anaconda-shell@.service static
anaconda-sshd.service static
anaconda-tmux@.service static
anaconda.service static
arp-ethers.service disabled
atd.service enabled
auditd.service enabled
autovt@.service disabled
avahi-daemon.service enabled
. . . . . .

236 unit files listed.
ずいぶんといっぱいあります。

ハードウェアのないサービスは止めます。
bluetooth.sevice
起動時エラーを出したり起動失敗するサービスで止めてよさそうなのは止めます。
dmraid-activetion.service(ソフトウェアRAIDは使っていない。)
initial-setup-text.service
NetworkManager-wait-online.service
あとはとりあえずこのままにしておきます。

昔に比べマシンのリソースも充分にあり、問題のあるサービス以外無理に止める必要もなさそうです。
後程必要があったら調整することにします。(実はよくわからないだけだったりして。)

デスクトップやソフトの設定
私はサーバーの状態の確認や設定などは基本的にGUIを使ってデスクトップからやります。したがってデスクトップの使いやすさにはすごくこだわります。
残念ながら、今回のCentOS7のデスクトップ(GNOME3)は決して使いやすいとは言えません。

まずファイルブラウザ。GNOMEのファイルブラウザNautilusはあまりにも非力。
で、KDEのKonquerorを使うことにしてKonquerorを設定。
KonquerorはHTTPブラウザとしても使えますが、ファイルブラウザとして使った場合とても強力です。
その他エディタや各種ツールなども使い易いように設定します。

次にアプリケーションなどの起動やフォルダ・書類の開き方。
私は自分で言うのもなんですが、とても無精で、その上ものすごくせっかちです。
起動メニューやアクティビティーからたどっていってアプリケーションを起動し、さらに開くファイルを指定して... なんてことはまずやりません。デスクトップやパネルにリンクやランチャをセットしておき、そこから一発で必要なアプリケーションで必要な対象を必要な条件で開くというのが常套手段です。
ところが今回のデスクトップではリンクはともかくランチャのセットがとてもやりにくくなっています。(何か追加でパッケージを入れればいいのかもしれないが。)

で、デスクトップに必要なランチャを作っておきます。ざっとの手順:
1./usr/share/applications にディフォルトのランチャ(デスクトップ設定ファイル)があります。
2.適当なのを選んでそれをデスクトップにコピーします。
3.必要なら名前を変えます。
4.プロパティーでコマンドを編集します。すぐ目的の状態で開くようにしちゃいます。
5.試してうまく起動したらお好みでアイコンを変えます。
 主なアイコンは /usr/share/icons/gnome/48x48 などにあります。

さらにgnome-shell-extensionをいろいろ入れてパネルにアプリケーションメニューやランチャを表示するだのワークスペース切替ボタンをつけるだのいろいろやっていて、気が付いたら結局旧来のデスクトップになってしまっていました。これが結局一番使いやすいんだな。
それにいろんな人が作ったプラグインにもとのデスクトップに戻す機能のものが多々あるということは、みんなやっぱりそう思っているんだな。

こんなことをやっていてしばらくかかってしまいました。

さて、そろそろサーバーとしての機能を設定していきます。