CentOS7 を最小限のサーバとしてセットアップするときのメモ。
もくじ:
ISOイメージによるインストール
minimal ISO を使うと、最小限のパッケージがインストールされます。必要に応じて下記の設定をします。
- kdumpの無効化
- ネットワークの設定:起動した時自動的にオン、ホスト名
- パーティション設定
- 追加ユーザ(root以外の一般ユーザ)と管理者権限の付与:必要に応じて
パーティションの設定
ただし、パーティション設定についてはデフォルトで/home
ディレクトリに大きめの容量が割り当てられるので、使わない場合は変更してしまったほうが良いですね。
「インストール先」からパーティションを設定します。
「パーティションを自分で構成する」に変更して完了ボタンをクリック。
インストール後の初期設定
ネットワーク設定
Network Managerで設定します。ゆとりエンジニアのためのテキストベースUI。
1 |
$ nmtui |
必要に応じて IP アドレスの固定、IPv4 の無効化など。より直観的に操作できるようになるので、使い方についてはそう困らないはず。
ip a
コマンドでネットワーク設定が確認できます。
デフォルトで SSH がインストールされるので、以降は ssh クライアントを使ってリモートで作業することもできます。
パッケージインストール
必要に応じてプロキシを設定します。root 権限を持つユーザでyum
を実行します。
インストールするものはお好みで。
1 2 3 4 |
$ yum update -y $ yum install -y vim $ yum install -y git $ yum install -y epel-release |
sudo実行権限の追加
OSインストール時に作成したユーザについては、ウィザードで管理者権限をつけることができますが、基本的にroot以外のユーザではsudo
が使えない(権限エラーで拒否される)ので、必要であればroot権限を与えるよう設定を変更します。
su -
か、ログインしなおして root 権限で実行して下さい。
1 |
$ visudo |
vi で設定ファイルが開くので、root ユーザの下に行を追加して保存します。下記はuser
という名前のユーザを追加する例です。
1 2 3 |
root ALL=(ALL) ALL # add "user" user ALL=(ALL) ALL |
SELinuxの設定
ちょっと前までインフラエンジニアの間で SELinux と言えば、頼んでもないのに勝手にアクセス制御してくれるやつ、みたいなイメージがありとにかく親の仇のように無効化する風潮がありました。
最近は特に無効化しなくても問題になることはない印象。本当に問題にぶち当たってから初めて無効化を試すくらいでも十分です。
1 2 3 4 5 6 7 8 9 |
# 設定の表示 $ getenforce # 一時的に無効化 $ setenforce 0 # 一時的に有効化 $ setenforce 1 # 永続化するには次のようにファイルを編集 $ vi /etc/selinux/config SELINUX=disabled |
ファイヤウォールの設定
設置する場所によってはファイヤウォールを使いたくなるときがありますよね。
firewalld はデフォルトでインストールされないケースがありますので、yum をたたいておきます。インストールされたらsystemctl
でサービスの設定をしておきます。
1 2 3 4 |
$ yum install -y firewalld $ systemctl start firewalld $ systemctl status firewalld $ systemctl enable firewalld |
設定はfirewall-cmd
を使って行います。特に問題なければデフォルト(大抵はpublic
)のゾーンに設定していきます。
1 2 3 4 5 6 7 |
# 設定の表示 $ firewall-cmd --list-all $ firewall-cmd --list-all-zones # 設定(アクセス許可)例 $ firewall-cmd --permanent --add-service=http --zone=public $ firewall-cmd --permanent --add-port=8080/tcp --zone=public $ firewall-cmd --reload |
Python3のインストール
CentOS でも Python3 はデフォルトでは入っていないので、追加のインストールが必要になります。
実行コマンドはバージョン番号を使ってpython3.{x}
の形式になります。python
コマンドとリンクしてもいいのですが、Python2 系を使って動いているモジュールが軒並み動かなくなったりするのでしないほうが良いです。
1 2 3 4 |
$ yum install -y https://centos7.iuscommunity.org/ius-release.rpm $ yum install -y python36u python36u-libs python36u-devel python36u-pip $ python3.6 --version $ pip3.6 --version |
おわり。