【VPS】自前サーバでデジタルスキルを磨く!

The
Goahead
Blog

How to Set up
Your Own Server
on VPS and
Try Solutions

【はじめに】VPSの環境を上手に利用し、
システム化スキルを磨く!

DX(デジタルトランスフォーメーション)を手堅く推進するためには、業務をスマート化する自律的なデジタルスキル(特に、システム化スキル)」が必要・不可欠です。

自律的な「システム化スキル」をものにするには、地道な努力の積み重ねを置いて選択肢はありません。「システム化スキル」を養成する「実践の場」が必要です。

システム化スキルの習得には、実際にデジタル技術を使用して経験を積む環境が必要です。

VPS(Virtual Private Server)を使用して、自分でサーバをセットアップし、自前のサーバ環境を構築しましょう。サーバ環境は自分で管理する必要があり、OSのインストール、アップデート、セキュリティの設定、バックアップ、ソリューションのインストール、設定ファイルの編集など、より高度なシステム化スキルを身につけることができます。

システム化スキルを習得する際には、実際にソリューションを導入・検証することが非常に有効です。

オープンソースを主体に、有効なソリューションを選定・評価・導入することによって、問題解決力、データ分析力、イノベーション力など、理論だけでは得られない「自律的なシステム化スキル」を習得することができます。

目次

VPSとは

VPS(Virtual Private Server:バーチャル・プライベート・サーバ)とは、1台の物理サーバ上に複数の仮想サーバ環境を構築し、個々のサーバ環境を専用利用させるものです。

VPSの仕組み

物理サーバ上のホストOSを土台に、仮想サーバごとにゲストOSが用意され、ゲストOS同士の干渉はありません。

VPS「自前サーバ(インフラ)」の構築

システム化スキルの習得には、実際にデジタル技術を使用して経験を積む環境が必要です。

VPS(Virtual Private Server)を使用して、自分でサーバをセットアップし、自前のサーバ環境を構築しましょう。サーバ環境は自分で管理する必要があり、OSのインストール、アップデート、セキュリティの設定、バックアップ、ソリューションのインストール、設定ファイルの編集などのスキルが要求されます。

Linuxサーバの設定や管理、Webサーバやデータベースなどの設定を通じて、Linuxコマンド、ネットワーク、Webサービス、セキュリティなどのスキルを習得することで、より高度なシステム化スキルを身につけることができます。

レンタルVPSの申し込みと基本設定

VPSを活用した「自前サーバ」の具体的な構築手順を見ていきましょう。

自前サーバを本格的に立ち上げるには、インターネット上で稼働する「サーバ環境」を提供する「レンタルVPS」の選択が必要になります。

比較サイトを概観すると、おすすめの「レンタルVPS」は「ConoHa VPS」,「Xserver VPS」,「さくらのVPS」の3つに絞り込めます。

いづれも人気の「レンタルVPS」ですので、どれを選択しても間違いはありません。お好みに応じて選んでください。

レンタルVPSの申し込みとサーバの選定、人気のレンタルVPSであれば、手続きは簡単です。

ここでは、当サイトのおすすめ「ConoHa VPS」で説明いたしますが、他のレンタルVPSも多少の違いはあれ、主要手順に変わりはありません。

以下に「ConoHa VPS」での申し込み手順の概要を示しますが、細かな手順は「公式サイト:ConoHa VPSお申し込み方法」を参照ください。
ConoHa VPSは、サポートやマニュアル類も充実しています。

「アカウント情報」の登録

ConoHa VPSのページで「お申し込み」をクリック
初めての方」画面から「メールアドレス」と「パスワード」を入力し、「次へ」をクリックして「アカウント情報」を登録

vps_home

ConoHa VPSの申し込み

サービス申し込み」の画面で、サーバにCentOS7を選択(Dockerとの相性勘案)し、「rootパスワード」を設定してください。

ドメイン名を取得

ダッシュボードからドメイン名(例:sample.com)を取得する。
 -サブ・ドメイン(〇〇〇の部分)を利用するため(例:〇〇〇.sample.com)-

新しいユーザのアカウントを追加

コンソールから
id」:「root」,
パスワード」:「設定のパスワード
を入力し、ログインしてください。

次のコマンドを入力(例:ユーザ名「sample」,パスワード「sample」)して、新しいユーザのアカウントを追加してください。

]# adduser sample
]# passwd sample
Changing password for user sample.
New password: sample

BAD PASSWORD: The password is shorter than 8 characters
Retype new password: sample
passwd: all authentication tokens updated successfully.

ユーザに管理者権限を付与

新規ユーザをwheel groupに加えて、管理者権限を付与してください。

]# usermod -G wheel sample

セキュリティ設定

- 接続可能なIPアドレスを限定 -

OSのファイアウォール設定で、接続を特定のIPアドレスのみに限定します。

VPSの接続設定

VPSの接続設定で「全て許可」にチェックを入れ、OSのデフォルト設定に戻します。

接続ipアドレスの限定

グローバルIPアドレスを「例:118.27.95.24」に限定します。

firewall-cmd –zone=public –add-rich-rule=”rule family=ipv4 source address=118.27.95.24 port port=80 protocol=tcp accept” –permanent

firewall-cmd –reload

Firewalldの役割と構造


役割: Kernel(netfilter:パケット処理モジュール)の動作設定
構造: firewall-cmdでiptables(netfilterのfrontend)を利用

管理ツールの導入・設定

-リモート管理ツール類(teraterm,webmin,desktop等)の導入-

Teratermの導入

Webminの導入

Remote desktopの導入

コンテナ技術

VPS(仮想サーバ)環境内でシステムを運用するには、「プラットフォーム(システムの動作環境)の構築」が必要・不可欠です。

プラットフォームの構築で注目を集めているのが、「仮想化技術」のひとつである「コンテナ技術」です。ホストOS上に仮想的に複数の分離・独立した領域(コンテナ)を設け、そのなかでシステムを運用する仕組みです。

コンテナには、システムの実行に必要な設定ファイルやプログラム、プログラムの動作に必要なミドルウェアなどが格納され、独立して実行・管理されます。他のシステムとの競合を意識せずにシステムを構築・実行できます。ひとつの仮想サーバ上で異なる複数のシステムを動作可能です。

コンテナ管理ソフトウェア

コンテナを立ち上げ、内部でシステムを稼働させる適切な環境設定を行うのは、専門知識のあるエンジニアにとっても複雑で手間のかかる作業です。初心者には、ネットワーク設定などのコンテナ技術を直に扱うのはほぼ至難の業です。

コンテナの再利用を可能にする、コンテナの動作に必要な機能(環境設定など)を簡便に提供するのがコンテナ管理ソフトウェアです。代表的なものがDocker(ドッカー)です。

VPS利用時は、Dockerを導入し、コンテナによるアプリケーションの活用を楽しんでください。

Docker(ドッカー)の導入

ソリューションの導入・検証

システム化スキルを習得する際には、実践的な経験を得るために、実際にソリューションを導入・検証することが非常に有効です。VPS環境を活用して、ソリューションの導入検証を行うことで、実際に問題が解決されるプロセスを経験し、システム化スキルを磨くことができます。

オープンソースを主体に、有効なソリューションを選定・評価・導入することによって、問題解決力、データ分析力、イノベーション力など、多くのスキルを磨くことができます。VPS環境を利用することで、より実践的な経験を得ることができ、実際に問題が発生し、解決するための手順を考え、実行することで、理論だけでは得られない「自律的なシステム化スキル」を習得することができます。

いよいよ、ソリューションの実践です。次の手順で進めてください。

現状の評価
ソリューションの調査
利用ソリューションの選定
ソリューションの実装計画
ソリューションの実装とテスト
ソリューションの評価
ソリューションの展開

practical_loop

ソリューションの導入

グループウエア(社内ポータル)の導入

(1)Groupsessionを選定
(参照: Groupsessionの導入)

Dockerによるコンテナーアプリの導入

(2)WordPress(CMS)
(参照: Docker-composeとWordpress)

(3)Next cloud+Onlyoffice(情報共有)
(参照: Docker-onlyoffice-nextcloud)

(4)Growi(Wiki)
(参照: Growiの導入)

(5)Node-RED(開発ツール)
(参照: Node-REDの導入)

(6)BotPress(ChatBot)
(参照: BotPressの導入)

リバース・プロキシ・サーバ(Reverse Proxy Server)の導入

リバース・プロキシ・サーバによる、利用ポート番号の隠蔽

Nginx(エンジンエックス)の導入

(参照: Nginxの導入)

リバース・プロキシ・サーバの概要

   サブ・ドメインとポートの連携

リバース・プロキシ・サーバの設定

(参照: リバース・プロキシ・サーバの詳細)

(1)Nginxをリバースプロキシとして利用するには、/etc/nginx/conf.d に設定ファイルを配置する。

(2) ファイル名は {適当名称}.conf →例:webminの場合、webmin.conf等

(3) ファイルの内容は以下

server {
listen       80;
server_name  webmin.sample.com;
 location / {
proxy_pass http://127.0.0.1:10000;
}
}

【まとめ】VPSを活用し、ソリューションの導入・検証を通じてシステム化スキルを習得

システム化スキルの自律化は、まず、VPSを用いた自前サーバ(インフラ)の構築です。VPS(Virtual Private Server:バーチャル・プライベート・サーバ)とは、1台の物理サーバ上に複数の仮想サーバ環境を構築し、個々のサーバ環境を専用利用させるものです。

レンタルVPSのおすすめは、「ConoHa VPS」の利用です。
是非、VPSを活用し、手元に「自前サーバ(インフラ)」を確保ください。

オープンソースを主体に、有効なソリューションを選定・評価・導入することによって、問題解決力、データ分析力、イノベーション力など、多くのスキルを磨くことができます。VPSを利用して、より実践的な経験を積み、理論だけでは得られない「自律的なシステム化スキル」を習得して行きましょう。

目次