さくらVPS CentOS 7 Node.jsのサンプルページを公開してみる手引 その1

さくらVPS CentOS 7 Node.jsのサンプルページを公開してみる手引 その1

さくらVPS CentOS 7 Node.jsのサンプルページを公開してみる手引 その2

さくらVPS CentOS 7 Node.jsのサンプルページを公開してみる手引 その3

さくらVPSを使用して、Node.jsと、フレームワークのExpressを使用した一番簡単なHelloWorldページを作成する手順書です。 初心者がつまずかないで走りきることを第一目標としています。 また、実際にipアドレスを使って別端末からアクセスできることを確認することで、イメージを掴みます。

注意として、DB等が絡んだより複雑なサンプルページなどを本記事で行ったように公開することはより危険です。 「どんなアクセスに対してもHello Worldを返すページを一時的に公開し、確認した後は開放したポートまで閉じる」のは安全だろう、と考えています。 sshへの接続についても、サーバの一時公開を目的としているため、パスワード認証を許可しています。 本格的な使用にあたっては、公開鍵認証の使用とパスワード認証の禁止をおすすめします。

作業全体図

  1. 前提 ☆ここ
  2. さくらVPSの初期設定 ☆ここ
  3. ポート開放
  4. node.jsをインストール
  5. 一番簡単なサンプルサーバの作成

0. 前提

  • さくらVPSに申し込みが完了している
  • 標準OSの CentOS7 x86_64でOSをインストール済み
  • さくらVPSのコンソールからログイン済み

1. さくらVPSの初期設定

1.1. CentOS のアップデート

$yum update -y

-y : すべての確認にyesで返答するオプション

1.2. ユーザの追加

ユーザの追加

$useradd hogehoge

※hogehoge : 好きなユーザ名

追加したユーザのパスワードの設定

$passwd hogehoge

sudoコマンドが使えるwheelグループにユーザhogehogeを追加する

usermod -G wheel hogehoge

1.3. SELinuxをOFFにする
SELinuxとは

※2016.1.16現在、SELinuxはデフォルトで無効になっているようです Linuxのセキュリティを強化してくれる機能です。 設定が大変みたいなので、一旦OFFにします。

現在のSELinuxの状態を確認

$getenforce

enforcing : SELinuxがON

permissive : SELinuxによるアクセス制限は無効

disable : SELinuxがOFF

SELinuxがONだった場合にはOFFに変更

$setenforce 0

VPSを再起動したときもSELinuxがONにならないように設定

$ vi /etc/sysconfig/selinux

~中略~
SELINUX=enforcing ★こうなっていた場合は
SELINUX=disabled ★このように治す
~中略~

※viの操作については さくらVPS CentOS7の最低限のvi操作

1.3. SSHのポート設定

SSHがデフォルトで使用するポート番号は22番ですが、 セキュリティのため、33000番~60999番の間の適当な番号に変更します。

今回は33331番でSSHのポート番号を設定します。

設定ファイルを編集します。

$vi /etc/ssh/sshd_config

~中略~
#Port 22 ★コメントアウトされたポートを
Port 33331 ★このように修正⇒SSHのポート変更
~中略~
#Protocol 2 ☆コメントアウトされた行を
Protocol 2 ☆有効化⇒SSHの新しいプロトコルのみ許可
~中略~
#PermitEmptyPasswords no ◆コメントアウトされた行を
PermitEmptyPasswords no ◆有効化⇒パスワードなしでのログインを無効化
~中略~
1.4. ファイアーウォールの設定

行うことは以下の2つです 1.4.1. SSHの標準ポート22番を閉じる 1.4.2. SSHの新しいポート33331番を開く

1.4.1. SSHの標準ポート22番を閉じる

$firewall-cmd --remove-service=ssh

$firewall-cmd --permanent --remove-service=ssh

1.4.2. SSHの新しいポート33331番を開く

$firewall-cmd --add-port=33331/tcp

$firewall-cmd --permanent --add-port=33331/tcp

設定を確認します

$firewall-cmd --list-services
dhcpv6-client
$firewall-cmd --list-ports
33331/tcp
1.5. 言語jの設定

localectl set-locale LANG=ja_JP.utf8

上記のコマンド後、設定結果を確認します。

$localectl
  SystemLocale: LANG=ja_JP.utf8
  VC Keymap: jp106
  X11 Layout:jp
1.6. 外部からのssh接続確認

今まで、ブラウザでさくらVPSのコントロールパネルにあるコンソールを使用していたと思います。 ここで、ssh接続の確認を兼ねて、外部からVPSに接続を試してみます。 Windowsでの操作を想定して、TeraTermを使用します。 1.6.1. TeraTermをインストールしてください。

1.6.2. さくらVPSのコントロールパネルの「ネットワーク情報」のIPv4の「アドレス」欄を確認

1.6.3. TeraTermを開き、   ホスト:1.6.2.で確認したIPアドレス   サービス:SSH   TCPポート:33331   SSHバージョン:SSH2   プロトコル:UNSPEC   としてOK    1.6.4. 1.2.で新規追加したユーザ名とパスワードでログイン

以上で、最低限のCentOS7の初期設定は終了です。

考慮漏れや改善案等ございましたら、 ぜひコメントください。