カゴヤのVPS(カゴヤ・クラウド/VPS)にCentOS 7をセットアップする必要があって、作業していたとき、 「あれ、このブログに、CentOS 7の初期設定に関する投稿がない。」 ということに気づきました。
CentOS 7のインストールに関しては、過去の投稿「Windows 10上のVirtualBoxにCentOS 7をインストールしてみた」がありますが、初期設定には触れていませんでした。
ということなので、CentOS 7の初期設定の手順を簡単にまとめました。
useraddコマンドによる一般ユーザーの追加とsudoの設定
ここでいう初期設定とは、自分のPCなどからsshでCentOS 7で構築したサーバーにアクセス可能になるまでのことです。初期設定作業は、CentOS 7をインストールしたサーバーのコンソール(又はサーバー管理会社が提供するコンソール)上で作業を進めることになります。
始めの作業は、一般ユーザーの追加して、このユーザーにパスワードを設定することです。
sudoの設定(isoイメージからインストールした場合は、この作業は基本的に必要ありません)が終わるまでは、ここからの作業は、スーパーユーザーになって行います。
su
パスワード:
追加する一般ユーザー名はhogeとします。
useradd hoge
passwd hoge
続いて、sudoの設定です。一般ユーザのhogeがsudoコマンドを利用できるようにするために、wheelグループに所属させます。
usermod –G wheel hoge
最後にvisudoコマンドを実行し、/etc/sudoersの内容を確認します。
visudo
次の一行がコメントアウトされていれば、wheelグループに所属するユーザが、すべてのコマンドを実行できるようになっているということになります。これで問題なければ、変更を加えずvisudoを終了します。
%wheel ALL=(ALL) ALL
なお、visudoの基本操作はviと同じなので、:q又は:q!で終了(変更があった場合は、:wq)です。
sshdの起動と設定ファイルの編集
次に、自分のPCから、sshコマンドでCentOS 7がインストールされたリモートサーバーにアクセスできるようにするため、sshdを起動します。ここから先は、sudoが使えます。
sudo systemctl start sshd
sshdのデフォルトのポート番号は、22番ですが、そのままだとセキュリティ上のリスクがありますので、ポート番号を変更します。テキストエディタで、/etc/ssh/sshd_configの該当箇所を変更します。
Port 4321
#PermitRootLogin without-password
PermitEmptyPasswords no
上記の設定は、sshdのポート番号変更の他、rootでのログイン無効化、パスワードなしでのSSHログイン禁止なども行っています。
書き換えが終了したら、sshdを再起動して、この設定を有効にします。
sudo systemctl restart sshd
システム再起動後にsshdを自動起動させるためは、以下のコマンドも実行しておきます。
sudo systemctl enable sshd
SELinuxとFirewallの設定変更
sshdのポート番号を変更(通常の22番から4321番へ)したら、SELinuxとFirewallの設定変更も必要です。
SELinuxの設定変更は次のとおり。
sudo yum install -y policycoreutils-python
sudo semanage port -a -t ssh_port_t -p tcp 4321
続いて、firewall-cmdによって、4321番ポートを開放。
sudo firewall-cmd --add-port=4321/tcp --zone=public
ポートの開放状況は次のコマンドで確認できます。
firewall-cmd --list-all
ports: 4321/tcpという一行があれば、設定は完了。
最後にオプション–permanentをつけ、firewall-cmdを実行すれば、システム再起動後も、この設定が維持されます。
sudo firewall-cmd --add-port=4321/tcp --zone=public --permanent
自分のPCからのアクセス
これで、自分のPC上からsshコマンドにより、リモートサーバー(IPアドレス12.34.56.78とする)にアクセスできるようになります。
ssh hoge@12.34.56.78 -p 4321
ここから、SSHの公開鍵認証やWebサーバーの設定など、それぞれの目的にそって、サーバーをカスタマイズしていくことになります。
CentOS 8のリリースとCentOS 7の今後について
CentOS 8のベースとなるRHEL 8がリリースは、2019年5月7日だったので、かれこれ4ヶ月が過ぎた今の時点でも、CentOS 8はまだリリースされていません。
リリースが遅れているという印象を持ってしまうのは、CentOS 7がRHEL 7リリース後27日目というスピードでリリースされたこととも関係しているかもしれません。CentOS 6のときは、RHEL 6リリース後約8ヶ月かかってリリースされているので、その意味では、 CentOS 8のリリースは普通のペースに戻っただけと考えるべきかもしれません。
まあ、資金的にも人的にも、限りあるリソースのなかで、開発を進めているプロジェクトなので、感謝の気持ちを忘れすに、気長にリリースを待ちたい(急いでいる人にはRHELもあり!)と思います。
CentOS 7については、今年8月にバージョン7.7がリリースされています。CentOS 7のサポート終了日は、2024年6月30日ですので、これからもしばらくの間、CentOS 7が現役で頑張ってくれると思います。サーバーの用途によっては、枯れた技術が必要になることは多々あることです。
【追 記】20191001
この記事は、カゴヤのVPSのOSテンプレートを利用してCentOS 7をインストールしたので、「useraddコマンドによる一般ユーザーの追加とsudoの設定」が必要でしたが、isoイメージから直接インストールする場合は、ユーザーの作成画面で、「このユーザーを管理者にする」にチェックを入れておけば、この作業は必要ありません。