お問い合わせはこちら

サバ管への道!VPS道場~第2回 VPSアカウントを作成し、サーバーを作成する~

公開
更新

前回の記事では世の中にある代表的なサーバー利用サービスとあわせ、サーバーとはどんなものでどのような役割をこなしているのか について学びました。連載第2回となる今回は、前回のサービス紹介の中で挙がった VPSサービス を活用して、実際に自分専用のサーバーを用意してみます。サーバーに初めて触れるという方は慣れない部分も多く少し難しく感じる場合もあるかも知れませんが、サーバーの操作は汎用的なスキルとして使いまわせるので、ここでの第一歩をしっかりと踏みしめて進めれば世界が広がります。できるだけ初めての方でもわかりやすいように進めていきますが、ここがわからないという点があれば カゴヤ・ジャパン 公式Twitter にご質問いただければ、随時内容の改善を進めてまいります。皆様のメッセージをお待ちしております。(公式アカウント:@kagoya_inc
ハッシュタグ #VPS道場 をつけてぜひメッセージをお寄せください。

今回の記事は下記の手順で進めていきます。

STEP 1 KAGOYA CLOUD VPS アカウントを作成する (無料)

STEP 2 アカウント画面にログインし、仮想サーバーを作成する
(最安スペックの 1コア1GB、日額24円/月額660円 のプランを使います)

STEP 3 手元のPCから作成したサーバーに接続する

STEP 4 アップデートなどの基本的なコマンドを実行してみる

1.~2. の手順ではすでにご利用のサービスや使いたいサービスがあればそちらでも代替可能です。その場合該当サービスのマニュアルを参照しながら進めてみてください。
今回 2. の手順で仮想サーバーを作成しますので、最大で月額 660円の課金が発生します。1日単位で利用することも可能なので、できるだけ実際のサーバーを作成し操作しながら進めることを推奨いたします。

カゴヤ提供のVPSの利用(1日24円!学習環境にもおすすめ)

  1. こちらのリンクからKAGOYA CLOUD VPS サービスサイトに飛び、表示されている「お申し込みはこちら」をクリックします。

  2. オンラインでのお申し込み の「お申し込み」をクリックします。

  3. サービスの利用規約への同意や、サービス利用に必要な個人情報、お支払い情報などの入力を入力します。

    (利用規約などをご確認いただき、問題なければ契約手続きを進めてください。こちらはサービス利用の契約なので、契約が完了してもサーバーを作成するまで料金は発生しません。)


  4. 必要情報の入力が完了すると、下記の画面が表示されます。

    同時に本登録の手続きのためのメールが届きますので、メールに記載のURLをクリックして本登録を進めます。


  5. 本登録では「SMS」もしくは「音声電話」の認証を選択できます。

    ※以下の手順では SMS を利用して認証を進めます。


  6. SMS で届いた認証コードを入力します。

  7. 以上で本登録が完了しました。

    (よろしければ簡単なアンケートにもご協力ください。)


  8. 本登録まで順調に完了していれば、登録したメールアドレスにコントロールパネルへのリンクURLと、アカウント名が記載されたメールが届きます。
    メールのリンクをクリックすると下記のページが表示されますので、ログイン情報を入力し、コントロールパネルにログインしましょう。
    アカウント メールに記載されているアカウント名です。
    特に指定していな場合、「vps + 数字 (vps12345) 」のように表記されています。
    パスワード 契約情報の入力時に設定したパスワードです。

  9. ログインに成功すると下記のページが表示されます。

    これでサーバーを作成できる準備が整いましたので、次の手順からいよいよサーバーを起動させていきます。

サーバーの起動と接続・初期設定

ログイン用認証キー の作成

以下の手順で「ログイン用認証キー」のペアを作成します。これにより、安全性を確保してサーバーへ接続できるようになります。

  1. セキュリティ タブの「ログイン用認証キー」をクリックします。

  2. 「+ログイン用認証キー追加」をクリックします。

  3. ポップアップが表示されるので、認証キーの名前を入力し、「登録」をクリックします。

    認証キーの名前はデフォルトで入力されていますが、わかりやすい名前に変更しておいた方が便利です。
    また、「備考」の欄は必須入力ではありませんが、認証キーをどんな用途で使うかなど後から確認しやすいメモを残しておくとよいでしょう。


    「登録」をクリックすると、キーペアの片方のダウンロードが始まります。わかりやすいフォルダを指定して、ダウンロードを完了しましょう。

サーバーの設定内容

  1. 次にサーバーを起動していきます。

    インスタンス タブに移動し、「+インスタンス作成」をクリックしてください。

    「サーバー」や「インスタンス」という言葉が出てきますが、同じものとして考えてください。違いとしては、「インスタンス」は自分専用に作成された仮想マシンのことで、「サーバー」は仮想マシンやコンピューターの役割を指しています(振る舞いによっては「クライアント」と呼ばれる)。ここでは区別せず、どちらも自分専用の仮想マシンを指すものとします。


  2. 今回は以下のような設定でサーバーを起動させます。
    OSテンプレート Ubuntu18.0.4
    スペック 1コア/1GB, 20GB
    ログイン用認証キー 前段で作成したキーを選択
    コンソールのログインパスワード 予測しづらい複雑なものを設定
    インスタンス名 用途がわかりやすい名前
    最後に料金が「24円/日 660円/月」になっていることを確認し、「インスタンス作成」をクリックします。

  3. しばらくすると、コントロールパネルのトップページ「インスタンス一覧」に作成されたサーバーが表示されます。

選択した Ubuntu とは どんなOS?

「OS」と聞くと Windows 10 や、MacOS などPCを購入したときにインストールされているものが思い浮かぶという方も多いのではないでしょうか。現在ほとんどの学校や職場などで必要とされるOS操作の知識はそれら Windows などに関するもので、Ubuntu という言葉を今日まで聞いたことが無かったという方もいるかもしれません。「知る必要が無かった」とも言えるでしょう。皆さんが親しんでいる Windows などのOSは非常に操作性に優れており、機能も豊富なため幅広い分野で高度な作業を行うことに適しています。ここで連載記事の第1回目を思い出してみると、PCとサーバーでどちらが優れているというわけではなく、どのような役割を担当しているのかが大きな違いとして挙がっていたと思います。そのサーバーとしての役割に適したOSの一つが Ubuntu です。もう少し詳しく考えてみましょう。

Windows VS Ubuntu
※サーバー用の Windows OS もあるため、ここではPCで動いている Windows と考えてください。
すでに記載しましたが皆さんが普段使われているPCで動作しているOS、は非常に高機能で皆さんの日々の業務、例えば高度な分析資料やプレゼンテーション資料の作成において適切な機能を提供します。実際はOSの上でさらに専門的なソフトウェアがそれぞれ起動していますが、ソフトの起動から操作などはすべてキーボードやマウスなどの直感的な操作で完結し、操作過程は常にモニターに映し出され、思い通りのアウトプットができあがります。
対して Ubuntu などサーバーOSでは、操作は黒い画面に表示された文字情報を確認しながらコマンドを打ち続けるということが多く、決して直感的であるとは言えません。また、高度で専門的なソフトウェアをインストールしてクリエイティブな作業をこなすという用途も難しく、ひたすら入力された情報を処理し続けることに特化しています。ただしそのシンプルさのために動作は非常に軽く、大量な情報を高速に安定して処理する能力を備えています。不特定多数のユーザーがサーバ上のサイトやWEBサービスの利用をする場合にはこのような能力が求められます。

多くのOSがある中で Ubuntu を選択した理由
コントロールパネルのサーバー作成画面には、その他 CentOS などの項目もありました。細かい違いは多くありますがどのOSでも設定次第で作りたい環境を構築することは可能です。ここで本記事で Ubuntu を推奨する理由を下記に書き出しておりますので参考にしてみてください。

サーバーOSのシェアトップである … Linux系 と呼ばれるサーバーOSの中で最も使用されているものが Ubuntu です(次いで CentOS)。使っている人・法人が多いということはそれだけ多くの情報や事例が存在するということになります。また、安定性にも期待できます。

OSサポート期間が長い … OSのサポートが切れた場合、セキュリティリスクなどの重要な観点から一刻も早く更新する必要が生じます。Ubuntu 18.04 のバージョンからOSサポート期間を10年としており、長期にわたって安心して同一環境を使えるの魅力です。(Ubuntu 16.04 までは5年でした)

新技術のリリース/実装が早い … サーバーに限らず技術は日進月歩で今この瞬間にも多くのプロジェクトが誕生しています。その中でも Ubuntu は比較的新技術への公式対応が早く、特にスピード感を重視している開発者にも人気です。(安定を重要項目において運用する場合、必ずしもメリットになるものではありません。)

コミュニティが活発 … 上記のようなメリットからファンも多く、国内外問わず非常に活発なコミュニティが存在します。今回触ってみて、今後そう言ったコミュニティをのぞいてみるのも刺激になるでしょう。

各OSにはポリシーや運用主体の違いなどがあるため、詳細な内容はご興味があればそれぞれ調べていただくのがよいと思いますが、本当に多くのOSが存在し、日々追加・更新がされているので情報を追うだけでも面白いと思います。

サーバーへ接続

作成したサーバーへ接続し、初期設定を行います。
カゴヤのVPSサポートサイトににあるSSH接続の項目に詳細な手順の記載があります。
今回はこのページに記載されている「Tera Term」で接続しますが、普段使用されているツールがある場合はそちらをご利用ください(Tera Term のインストールについてはサポートサイトを参考に、あらかじめ完了しておきましょう)。

  1. Tera Term を起動し、接続先のサーバー情報を入力します。
    「ホスト」の欄に、作成したサーバーのIPアドレスを入力します(○○.○○.○○.○○ のようにIP.v4 の形式で表示されています)。

    その他の部分はデフォルトのまま「OK」をクリックします。


  2. セキュリティ警告が表示され、接続しようとしているサーバーが安全かどうかを確認されるので、そのまま「続行」をクリックします。

  3. ログインのための情報を入力します。
    ユーザ名 管理者権限でログインしますので「root」と入力します。
    秘密鍵 ログイン用認証キーを作成した際にダウンロードしたファイルを指定します。

    赤枠の「…」をクリックすると、参照ファイルを選択できます。
    ここでデフォルトでは特定の拡張子のファイルしか選択できない状態になっているので、ファイルが表示されない場合は「すべてのファイル」を選択してみてください。「OK」をクリックします。


  4. 接続に成功しログインが完了すると、サーバーを操作するための黒い画面が表示されます。(赤枠部分は root でログインしているので「root@v○○.○○.○○.○○」と表示されているはずです。)

以降はこの画面にコマンドを打ち込んで操作を行っていきます。
手始めにサーバーの状態を最新の状態にしておきましょう。

下記コマンドを入力し、Enter を押してください。

# apt update

パッケージが最新の状態に更新されます。

下記コマンドを入力し、Enter を押してください。

# apt upgrade
途中でこのまま続けてもOKか?と聞かれます
[ Y/n ] Y    …yesのYを入力して続けてください

少し時間がかかりますが、終了するとコマンド実行前と同様のコマンド受け付けの状態に戻ります。

補足メモ

通常サーバーを管理する際は、 root 権限のまま作業を行うことはありません。管理者権限ではすべてのファイルへのアクセスや書き換えなどが可能であるため、重要なファイルを変更・削除してしまう可能性があります。また、root で直接ログインできる状態も望ましくありません。万が一悪意のある攻撃を受けログインを許してしまった場合、先ほどと同様の理由で完全にサーバーの権限を渡してしまう可能性もあります。
今回の連載では権限やユーザー周りの管理を含めると複雑になってしまうため root 権限で進めていきますが、実運用を検討される際は以下のような sudoユーザーを作成し、ログインを限定するなどの対策を検討しましょう。

ユーザーの追加と sudo 権限の割り当て

# adduser vpsuser
  vpsuser の部分は任意のユーザー名を入力
Enter new UNIX password :
  ユーザーのパスワードを設定します。入力した文字は表示されませんが反映されています。
Retype new UNIX password :
  パスワード確認のため再入力を要求されます。
…
        Full Name  [ ] : 
        Room Number  [ ] : 
        Work Phone  [ ] : 
        Home Phone  [ ] : 
        Other  [ ] : 
  任意でユーザー情報を設定できます。特に必要なければ、空白のまま Enterを押してください。
Is the information correct ?  [ Y/n ]   Y  …問題なければYを入力

これでユーザーを新しく作成できました。

次に作成したユーザーに sudo 権限を割り当てるため、下記のコマンドで sudo グループに所属させます。

# usermod -aG sudo vpsuser

sudo で実行できるか試します。まず作成したユーザーでログインするため下記を実行します。

# su vpsuser

先ほどまで root と表示されていた部分が ユーザー名に変わります。ここで所属グループを確認します。

(vpsuser@v○○.○○.○○.○○ : ~$  groups

所属しているグループ一覧の中に sudo があればOKです。実行できるか下記のコマンドで試しましょう。

$  sudo apt update    …実行時にユーザーパスワードが確認されます。

コマンドが実行されれば確認終了です。(先ほど実行したコマンドなので、末尾には “ALL packages are up to date.”と表示されるかと思います。)

最後に root でのログインを禁止します。root権限でログインしなくとも、 sudo によりファイルの書き換えが可能です。

# sudo vi /etc/ssh/sshd_config

vim で設定ファイルが開かれるので該当箇所を変更します。(vim について詳しく学習されたい方は、インターネット上にナレッジが大量にありますので、そちらをご覧ください。)
“i” で Insert(編集)、”Esc” 押下後 :wq と入力すれば上書き保存ができます。

PermitRootLogin no   …デフォルトは prohibit-password となっています。
PasswordAuthentication yes   …デフォルトは no となっています。 

※パスワードでの認証を許可していますが、セキュリティを重視する場合この部分の設定は変える必要がありません。

変更後に ssh サービスを再起動します。

# sudo systemctl restart sshd

一度 exit でログアウトし、 root での接続ができない状態になっているか。ユーザー名でログインできるかを確認してみてください。

※root 権限でコマンドを打ち間違えると取り返しのつかないトラブルになる可能性があるので十分注意しましょう。キーボードの上を歩くのが大好きな「鯖ねこ」が入力してしまった滅びの呪文といわれる「rm -rf /」。誤操作でシステムファイルを削除してしまう可能性もあります。これ以外にもポートの設定や所有権の設定をミスしてサーバーが操作できなくなることも。
こうしたことを回避するためにも普段は root ではなく追加したユーザーでログインするようにしましょう。

【参考】ブラウザベースのsshクライアントを使ってみよう

sshwifty

“Ssh Wifty” (https://sshwifty.herokuapp.com/)は、AGPL に分類される、オープンソースプロジェクトです。
? GitHub(https://github.com/nirui/sshwifty

ここでは記事の主目的から少し外れますが、普段使用している Chrome や Microsoft Edge などのブラウザからサーバーにsshアクセスが可能なWEBサービスについてご紹介します。
ここまでのサーバー操作では、PCにTera Term (sshクライアント)をインストールした後に起動、必要情報入力、サーバーへ接続と進めましたが、皆さんが普段使っている業務用のPC、あるいはタブレットやスマートフォンなどで同じことをしたい場合、ソフトウェアのダウンロード及びインストールが許可されていなかったり、そもそもクライアントのアプリケーションが見つからない・専用のものが無いというケースもあるかもしれません。sshクライアントに限らず、WEBサービスとしてブラウザから利用できるツールは場所やハードウェアを選ばない、インストールの必要もないという大きなメリットがあります。ここではそういったサービスの一種である Ssh Wifty について簡単に紹介します。
※WEBサービスによっては通信の安全性が確保されていないサービスも存在します。サービス仕様や規約を公開しているものであれば内容をしっかり確認したうえで使うようにしましょう。

使い方はとても簡単で、 “Ssh Wifty“にアクセスしていつも通りsshアクセスに必要なユーザー名などの情報を入力するだけでOKです。

  1. Ssh Wifty“にアクセス後に表示されるページで 「」 アイコンを押下します。

  2. プルダウンメニューが表示されます。
    SSH」 をクリックします。

  3. 次に表示される SSH の接続情報として、下記を入力します。
    User 作成したユーザー名
    (本記事の場合は vpsuser )
    Host サーバーのIPアドレス
    (ポートは初期設定で22番に設定されています)
    Authentication Password を選択
    (ユーザー作成時に設定したパスワードをこの後入力します)
    Connect」 をクリックします

  4. Fingerprint の許可確認が表示されます。

    Yes, I do」をクリックします。


  5. パスワードの入力欄表示されます。
    ユーザーのパスワードを入力し、「Log in」をクリックします。

  6. 成功すれば、サーバー接続後の画面が表示されコマンドを入力できるようになります。

今回はここまで

お疲れさまでした。
ボリュームが多かったので、読みながら実際に作業も進められた方は特に大変だったと思います。

ここまでの内容でサーバーという箱を用意することができました。今後はこの箱の中にWEBサービスの基盤などを作りこんでいき、インターネット上にホームページを公開できるように操作を進めていきます。

また、カゴヤのサーバー研究室ではVPS活用のための多くのコンテンツがあります。今回の手順でサーバーを新たに作成するということが可能になりましたので、おもしろそうなものがあれば積極的に読んで実行してみましょう。わからなくなったらサーバーを削除してすぐにクリーンな状態からまた始められるところもVPSのメリットです。

【次回】 第3回 LAMP 環境の構築 ‐ LAMPって何? ‐

第3回からさらに本格的にサーバー操作を進めていきます。黒い画面とのにらめっこの時間が増えてきますが、読み進めるとWEBページってこういう仕組みだったんだ と、今までブラックボックスだった部分が徐々にあらわになってきます。
また、次回までに第2回の内容を復習しておきたい という場合は1回今のサーバーを削除して、新たに一からやってみるのもよいかもしれません。コマンドを打てば打つほど早くなり、いつの間にか難なくサーバー構築をこなせるようになっているはずです。では引き続きお楽しいただけましたら幸いです。


感想など皆様のメッセージもお待ちしております。(公式アカウント:@kagoya_inc
ハッシュタグ #VPS道場 をつけてぜひメッセージをお寄せください。