CentOS 7をインストールしたら最初にすべきこと

カゴヤのVPSにCentOS 7をセットアップする必要が生じて、作業していたら、ある事実に気づいた。それは、このブログに、CentOS 7に関する情報がほとんどない(CentOS 6とDebian/Ubuntuサーバーの情報のみ)ということだ。

まあ、別に、CentOS 7に関する情報なら、ググれば、いくらでも出てくるわけだが、それでは余りに寂しい。

ということで、Evernoteに残しているメモ(最近のものは、OneNoteに残しているものが多いが)を頼りに、取り急ぎ、CentOS 7の初期設定の手順をまとめてみた。

なお、CentOS 7のインストールに関しては、過去の投稿「Windows 10上のVirtualBoxにCentOS 7をインストールしてみた」(このブログ唯一のCentOS 7に関する投稿)でも触れているので、CentOS 7のインストール完了後、rootでログインした場面から話を進める。

ローカルPCからsshでアクセスできるようになるまでは、CentOS 7をインストールしたサーバーのコンソール(又はサーバー管理会社が提供するコンソール)上で作業を進めることになる。

useraddコマンドによる一般ユーザーの追加とsudoの設定

先ずは、一般ユーザーの追加。一般ユーザー名は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コマンドでリモートサーバーにアクセスできるようにするため、sshdを起動しておく。

$ 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番ポートを開放する。

<div class="syntax">
$ 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ヶ月かかってリリースされている。その意味では、今回は普通のペースに戻っただけと考えるべきかもしれない。

まあ、資金的にも人的にも、限りあるリソースのなかで、開発を進めているプロジェクトなのだから、感謝の気持ちを忘れすに、気長にリリースを待ちたい(急いでいる人にはRHELがある!)と思う。

CentOS 7については、今年8月にバージョン7.7がリリースされている。CentOS 7のサポート終了日は、2024年6月30日なので、これからもしばらくの間、CentOS 7も現役で頑張ってくれるに違いない。サーバーの用途によっては、枯れた技術が必要になることは多々あることだ。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク