CentOS7でWebサーバー構築

サーバーサイド

本記事での環境
ベンダー: ConoHa VPS
OS: CentOS 7.6 (64bit)
VPS: 東京リージョン / メモリ 1GB / SSD 50GB
IP アドレス: 118.27.10.107
サーバー名: TEST_SERVER
ログメール受取アドレス: test@example.com

設置

① ConoHa コントロールパネルにて設定

  • VPS: 1GB
  • イメージタイプ: OS(CentOS ver. 7.6)
    バージョンについての記事はこちら
  • rootパスワード: ランダムな英数字
    ランダム英数字を生成できるShell Scriptの記事はこちら
  • ネームタグ: わかりやすければOK
  • オプション: スタートアップスクリプトでCentOSパッケージアップデートを選ぶ
    インストール後にyum updateする必要がなくなります。

② 手元端末から SSH 接続

ssh root@118.27.10.107でssh接続します。手元のPCがWindows端末の場合やコマンド操作に不慣れな場合は、Tera Termなどのクライアントソフトウェアを導入しても良いでしょう。

Are you sure you want to continue connecting (yes/no)?と表示されたらyesを入力します。パスワードも聞かれるので入力。
ターミナルに [root@118-27-10-107 ~]#と表示されれば SSH によるリモートアクセスに成功です。

ターミナル上での root の見分け方

ターミナル上でスタンバイ状態(入力待ち)になっているときの表示が、通常ユーザーと root(管理者ユーザー)で異なります。

  • 通常ユーザー: [hoge@118-27-10-107 ~]$
  • root ユーザー: [root@118-27-10-107 ~]#

ユーザー名 表示&行末の$or#が異なるだけです。

root はサーバーの全ての操作を行える最上位(根幹)のアカウントです。

③ ユーザーを作成

root でログインできる状態は非常に危険です。そのためログイン用のアカウントをひとつ作成します。

④ パッケージ操作

※各パッケージの最初期アップデートは ConoHa のスタートアップスクリプトで完了しています。

  1. yum install yum-cron -yを実行して yum-cron パッケージをインストールします。
  2. /etc/yum/yum-cron.confを編集し、

    と変更します。

  3. systemctl start yum-cronsystemctl enable yum-cronを実行します。
    前者はパッケージを起動させていて、後者は自動起動を ON にしています。
  4. cron が走る度に送られるメールを停止します。
    /etc/crontabを編集し、

    と変更します。変更後は cron の再起動(service crond restart)を忘れずに。

④ メール設定

システムから root 宛に重要なメールが送信されるので、これを見逃さないような設定を施します。

  1. root 宛メール転送設定を削除し、新規メールアドレスに変更します。

    1 行目: 旧転送設定を削除
    2 行目: root -> wg_user への転送設定
    3 行目: wg_user にメールを残しつつ、 test@example.com への転送設定
    (バックスラッシュをつけることでメールが残ります。)
    4 行目: メール設定を反映させます。
  2. サーバーのホスト名を変更します。→ hostnamectl set-hostname TEST_SERVER
  3. reboot nowで再起動します。
    SSH 接続が切れるので、1 分ほど待ってから再度 SSH 接続します。
  4. echo test|mail rootでテストメールを送信します。無事に受け取れていれば完了です。

SSH設定

SSH 接続をパスワード認証から公開鍵認証へ変更します。

  1. 手元の端末ssh-keygen -t rsa -b 4096を実行し、鍵ペアを作成します。

    4 行目,5 行目: ここで入力するパスフレーズは 秘密鍵の使用時(= SSH ログイン時) に必要です。
  2. 手元の端末から公開鍵をサーバーへアップロードします。
    (参考:scp コマンド[ scp ~/.ssh/id_rsa.pub root@118.27.10.107:/tmp ]を実行するとサーバーの tmp ディレクトリへ転送できます。ここで聞かれるパスワードはサーバーの root アカウントのパスワードです。)
  3. サーバー側で以下の操作を行います。
  4. サーバー側/etc/ssh/sshd_configを編集します。

    ※ポート番号は環境に合わせて適宜読み替えてください。
  5. ファイアウォールにポート変更設定を読ませます。
    1. cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh-2222.xmlで設定ファイルをコピー
    2. vi /etc/firewalld/services/ssh-2222.xmlで編集
    3. firewall-cmd --permanent --remove-service=sshfirewall-cmd --permanent --add-service=ssh-2222で変更反映
  6. SSH サービスを再起動します。 systemctl start sshd.service
  7. 手元の端末で、別ウインドウにてログインができるか試します。
    ssh wg_user@118.27.10.107 -i ~/.ssh/id_rsa -p 2222
    Enter passphrase for key ‘/Users/YOURNAME/.ssh/id_rsa’: と表示されたら、鍵ペアを作成した際に設定したパスフレーズを入力します。

参考文献

タイトルとURLをコピーしました