CentOS7の初期設定

CentOS7 を最小限のサーバとしてセットアップするときのメモ。

もくじ:

ISOイメージによるインストール

minimal ISO を使うと、最小限のパッケージがインストールされます。必要に応じて下記の設定をします。

  • kdumpの無効化(あまり意味はない)
  • ネットワークの設定:起動した時自動的にオン、ホスト名
  • パーティション設定
  • タイムゾーン設定(Asia/Tokyo)
  • 追加ユーザ(root以外の一般ユーザ)と管理者権限の付与:必要に応じて

パーティションの設定

ただし、パーティション設定についてはデフォルトで/homeディレクトリに大きめの容量が割り当てられるので、使わない場合は変更してしまったほうが良いですね。

「インストール先」からパーティションを設定します。

「パーティションを自分で構成する」に変更して完了ボタンをクリック。

割り当てる容量を変更して必要なサイズに調整します。

インストール後の初期設定

ネットワーク設定

Network Managerで設定します。ゆとりエンジニアのためのテキストベースUI。

必要に応じて IP アドレスの固定、IPv4 の無効化など。より直観的に操作できるようになるので、使い方についてはそう困らないはず。
ip aコマンドでネットワーク設定が確認できます。

デフォルトで SSH がインストールされるので、以降は ssh クライアントを使ってリモートで作業することもできます。

パッケージインストール

必要に応じてプロキシを設定します。root 権限を持つユーザでyumを実行します。
インストールするものはお好みで。

sudo実行権限の追加

OSインストール時に作成したユーザについては、ウィザードで管理者権限をつけることができますが、基本的にroot以外のユーザではsudoが使えない(権限エラーで拒否される)ので、必要であればroot権限を与えるよう設定を変更します。
su -か、ログインしなおして root 権限で実行して下さい。

vi で設定ファイルが開くので、root ユーザの下に行を追加して保存します。下記はuserという名前のユーザを追加する例です。

SELinuxの設定

ちょっと前までインフラエンジニアの間で SELinux と言えば、頼んでもないのに勝手にアクセス制御してくれるやつ、みたいなイメージがありとにかく親の仇のように無効化する風潮がありました。

最近は特に無効化しなくても問題になることはない印象。本当に問題にぶち当たってから初めて無効化を試すくらいでも十分です。

ファイヤウォールの設定

設置する場所によってはファイヤウォールを使いたくなるときがありますよね。
firewalld はデフォルトでインストールされないケースがありますので、yum をたたいておきます。インストールされたらsystemctlでサービスの設定をしておきます。

設定はfirewall-cmdを使って行います。特に問題なければデフォルト(大抵はpublic)のゾーンに設定していきます。

Python3のインストール

CentOS でも Python3 はデフォルトでは入っていないので、追加のインストールが必要になります。

実行コマンドはバージョン番号を使ってpython3.{x}の形式になります。pythonコマンドとリンクしてもいいのですが、Python2 系を使って動いているモジュールが軒並み動かなくなったりするのでしないほうが良いです。

時刻同期

ここではNTPを使った、外部のNTPサーバを参照して時刻合わせを行うクライアントの設定のことを言っています。
従来は時刻同期と言えばntpdでしたが、最近のバージョンではこのあたりの事情が変わってきているようです。

CentOSでのメインストリームはchronyです。最小構成でもインストールされると思いますが、一応サービスが自動起動に設定されているかは確認します。

設定ファイルは/etc/chrony.confで、フォーマットはntp.confと似ています。最低限は参照したいサーバを設定しておけば大丈夫です。
設定ファイルを編集した後は、chronydデーモンを再起動します。

おわり。