さくら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への接続についても、サーバの一時公開を目的としているため、パスワード認証を許可しています。 本格的な使用にあたっては、公開鍵認証の使用とパスワード認証の禁止をおすすめします。
作業全体図
- 前提 ☆ここ
- さくらVPSの初期設定 ☆ここ
- ポート開放
- node.jsをインストール
- 一番簡単なサンプルサーバの作成
0. 前提
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の初期設定は終了です。
考慮漏れや改善案等ございましたら、 ぜひコメントください。