読者です 読者をやめる 読者になる 読者になる

みかづきブログ その3

3ヶ月つづけてみました。

フロントエンドエンジニアがさくらVPS で Ubuntu + Nginx + Node.jsの環境を整えるまでの道のり - その1 - Ubuntu導入からNginxの起動まで 😎

春ですね。^ ^

なにか新しいことをはじめたくなりますね。^ ^

かれこれ7年ぐらいさくらのVPSをつかっているのですが、「さくらのVPS乗り換えキャンペーン」たるものをつかって新しいサーバに乗り換えてみることにしました。

www.sakura.ad.jp

いままでは、CentOS + Ruby + Rails という構成で、
サーバのことは探り探り、というかほとんど人に教えてもらいながらなんとかする感じでした。

しかし、最近、Electronとかを使うようになって、Node.jsを触る機会が増えたので、折角なのでサーバにNode.jsをいれて、いろいろ自分でできるようになってみようと思ったのがすべてのはじまりです。



ゴールまでの道のり

  1. VPSサーバ借りる
  2. Ubuntu入れる
  3. Nginx入れる
  4. nodebrew、Node.js入れる
  5. nmp入れる
  6. git入れる
  7. Express か Koa 入れる
  8. サイトつくる

という感じを目指そうと思います。



VPSサーバ借りる編

vps.sakura.ad.jp

なにも難しいことはありません。
上記URLから楽々借りることができます。
石狩、東京、大阪のどこを借りようかは深く考えていなかったのですが、近くにいたサーバサイドエンジニアに「同じ条件なら近くで借りたほうがよいYo!」とアドバイスを受けたので、東京リージョンのSSDを借りることにしました。
申込みが完了すると初期パスワードが書いてあるメールが送られてきます。



Ubuntu導入編

初期設定ではCentOSが入っているのですが、
今回は(特に理由はないですが)Ubuntuを入れたかったのでOSを入れ直しました。
なので、メールに記載されているパスワードをつかうことはありませんでした。
この際、標準インストールをつかうと、僕の実力不足により何故かいろんなことがうまくいかなかったので、なんだかんだでカスタムインストールでUbuntuを入れました。

help.sakura.ad.jp

このサイトに設定手順が書いてあります。



Ubuntuセットアップ編

sudo権限を持ったユーザーの追加、apt-getのアップデート / アップグレード、vimのインストール、自動アップデートの設定と、最低限のことしかやってないです。のちにもうちょっと色々設定するかもしれません。

ユーザーの追加
sudo adduser username
追加したユーザーにsudo権限の付与
sudo gpasswd -a username sudo
apt-getのアップデート
sudo apt-get update
apt-getのアップグレード
sudo apt-get upgrade
vimのインストール
sudo apt-get install vim
unattended-upgradesの導入
sudo apt-get install unattended-upgrades
unattended-upgradesの適用
sudo dpkg-reconfigure -plow unattended-upgrades



ファイヤーウォールの設定

iptablesたるものを設定しよう思ったのですが、僕にはレベルが高すぎたので、iptablesを簡単に設定できると噂のufwをつかうことにしました。

gihyo.jp

ufwのインストール
sudo apt-get install ufw

⇒ 既にインストールされてました。

ufwの有効化
sudo ufw enable
すべての通信を受け付けなくする
sudo ufw default REJECT
sshを許可
sudo ufw allow ssh
httpを許可
sudo ufw allow http
httpsを許可
sudo ufw allow https
リロード
sudo ufw reload
ステータスの確認
sudo ufw status

これで最低限の通信は許可できました。



sshのポート変更

近所のサーバサイドエンジニアが、「sshのポートを22番から変更したほうが良いYo!さもないと攻撃受けまくるYo!チェケラッチョ。」というので、変更しました。

ポートの変更
sudo vim /etc/ssh/sshd_config

ポート番号を適当な番号に変更します。

リスタート
sudo service ssh restart

反映します。

22番ポートの取り消し
sudo ufw delete allow 22
新しいポートの許可
sudo ufw allow ポート番号

これで(最低限は)安心ですね。 ^ ^



Nginxのインストール / 設定

Nginxのインストール
sudo apt-get install nginx
Nginxの起動
sudo systemctl start nginx 
Nginxの状態確認
sudo systemctl status nginx 
ブラウザで確認!

f:id:kimizuka:20170407142319p:plain



標準インストールではこの手順を踏んでも、なぜがブラウザでアクセスできず、
ここまでくるのにとても時間がかかりました。(カスタムインストールで一発でした)

次回は、Node.jsの導入を行いたいと思います。


おまけ

標準インストールでうまくいかず、OSを再インストールしまくったのですが、
OSを再インストールしてsshログインしようとする度に、

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

となりました。
その度に、

ssh-keygen -R IPアドレス

で設定を削除すると再度ログインできるようになります。
20回以上OSを再インストールした僕にとっては、大変お世話になったコマンドです。