やっと導入することにしましたので例によって自分へのメモ書き。
いつかVPSを借りて導入したいと思い、しばらくVirtualBox上で練習してきました。今回踏ん切りがついたので契約して運用開始しました。今回はその時作業した内容と詰まったところを記事にします。
導入の手順
- さくらVPSの契約
- OSの再インストール
- サーバーの初期設定
さくらVPSの契約
特段難しいことはないです。さくらのサイトに行って契約します。悩むポイントは「どのプランにするか」ですが、私のコンテンツがそれほど重たくなることはないはずですし、他の方に聞いてみてHDD1Gプランでいくことにしました。これで手狭になったら次を考えます。
OSの再インストール
ここに大きなポイントがありました。
さくらのVPSには標準でCentOSがインストールされているのですが、これまで私はUbuntu Serverしかやってこなかったので再インストールが必要になります。Ubuntu Server12.04LTSを再インストールする手順はさくらのVPSのサイト、および以下のサイトを参考にしました。
下2つのリンクで触れられているのですが、まずカスタムOS再インストールを実行するためには「VNCコンソール」が実行できるブラウザ環境が必須です。これはJava Runtime Environmentが必要です。ところが最近いろいろとあったので設定を厳しくしている可能性が高く、うまくVNCコンソールが起動しません。ここで一番つまりました。
参考サイトにはブラウザを変えたりして対処していますが、これはブラウザ環境やマシンによってJavaの挙動が違ったりしているから動いたり動かなかったりしているんじゃないかなぁと素人ながら思ってます。もし手元のブラウザで動かなかったらJavaコントロールパネルからセキュリティ項目をチェックand/or見直す必要があります。
私は結局ここをいじりました(涙
VNCコンソールさえ出てくるようになればあとは楽勝、参考サイトなどを参考にさっさとOSをインストールしましょう。
サーバーの初期設定
以降は上述の参考サイト、並びに吉田史氏(@_hito_)の以下の書籍を参考にしました:
この本はいつも手元において何度も読んでます。これから初めてLinuxサーバー構築してみたいという方は間違いなく必読です。この本のおかげでここまでこれました。ありがとうございます。
さくらのVPSで上記のようにUbuntu Server12.04をインストールすると、以下のような状態になります:
- インストール時に指定したアカウント
- パスワード認証によるsshが有効
- ufwが無効
正直よろしくないです。危ないです。早急に手を打つ必要があります。
ファイアウォールを有効化
参考サイトではこの設定が後ろの方にありましたが、最初に行うのはufwを有効化することだと思います。まずは遮断です。「VNCコンソール」でサーバーにログインし、以下のコードを実行します:
$ sudo ufw default deny
$ sudo ufw enable
これでsshを含む外部ネットワークからのアクセスはファイアウォールで全部ブロックされるはずです。なお「これサーバー設定できなくなってダメじゃね?」という疑問があるかもしれませんが、上述のVLCコンソールを使えばアクセスできます。直にアクセスしているような感じです。詳しくは調べてください。
公開鍵の生成および設置
sshをブロックしている間に公開鍵による認証をできるようにします。まずはローカル(手元のPC)で公開鍵を作成してください。このあたりは参考サイトとほぼ重複しますので省略します。なお詳しくは上述の書籍をご覧ください。
sshの設定
sshに以下の設定を行います:
- rootを使わせないようにする
- パスワードを使用した認証を無効化する
- ポート番号の変更(22でいくならしない)
設定方法については上で紹介したうぶさば本あるいは参考サイトをご覧ください。てかUbuntu Serverを始めようと思うならこの本を(ry
sshのポート開放
ここまで来たらやっとポートを開放します。ufwで該当するサービスのみ開放してください。詳細は上で紹介した書籍を(ry
ここまで終わればssh接続が可能となるはずです。公開鍵を設置したマシンでターミナルを起動し、アクセスしてください。もしsshで入れない場合はローカルの鍵があるかどうか、あるいはサーバーに設置した公開鍵が適切かどうかをチェックしてください。VNCコンソールならアクセスできます。
その他の設定
ここまでくればsshでサーバーを操作できます。使い慣れた端末で操作しましょう。
今後最低限やっておいたほうがいい設定としては、上で紹介した書籍の第8章で紹介されている「最小構成」を参考にしてください。以上で完了です。
このあとは
これでサーバーの初期設定ができたと思います。このあとは自分がVPSで使いたいサービスに合わせて構築していくことになるかと思います。個人的にはこのあとすぐにRStudio Serverを入れました。このあたりは別の記事で。