こんにちは。プロクラスの吉田です。
今回は、色々サーバー上でプログラミングや環境の構築や勉強をする際にとても便利なツールをご紹介します。
それが「Vagant(ベイグラント)」です。
このツールは、さくらサーバーやロリポップサーバーを借りるのもいいけど、自分のパソコン上にサーバーの仮想環境を作って、開発やテストを行うのに超便利です。
実際、さくらサーバーやロリポップサーバーのLinuxOSはそれぞれ提供しているOSのバージョンやデーモンのバージョンなどが、本番の環境と少し違う場合があると動きが違ったりエラーが出たりするので、全く同じ環境で動かすことが効率よく作業が進むので、とても重要だったりします。
自分で自由にOSの種類(CentOSやubuntuなど)やそのバージョンを自由に選んでインストールすることができますし、一つ一つのモジュールやアプリケーションなども自由にインストールできますし、間違ったりいらなくなったらすぐに消すこともできます。
もちろん、幾つでも環境を用意することができますので(ディスク容量と相談ですが)、気兼ねなく環境構築するのに本当に便利です。
仮想環境とは
仮想環境とは、別に仮想マシン(Virtual Machine 、略して VM )と呼ばれることもあります。
要するに、今使っている PC 上にもう 1 つの PC を仮想的に作り上げるしくみのことです。
これを使うと、 Windows あるいは Mac での作業と、 Linux での作業を自由に行き来することができます。
仮想環境を作るために準備する手順としては、仮想化ソフトが必要です。
WindowsにもMacにもどちらにも用意されているのが、「VirtualBox」というソフトウェアです。オラクル社が無償で提供してくれています。
このソフトウェアが仮想環境を実現してくれています。
細かな手順は他のサイトに譲るとして、紹介を続けます。
手順に従ってインストールすると簡単に入ります。
特に注意することはバージョンくらいでしょうか。
その後「Vagrant」もダウンロードしてきてインストールします。
これは仮想環境であるVirtualBoxの操作を簡単にできるようにしてくれます。
これもすぐにインストールできますので、手順に従ってインストールします。
Linux をインストールしよう
VirtualBox と Vagrant という 2 つのソフトウェアをインストールしました。たったこれだけでPCの中に仮想的なPCを作る準備ができているんです。
次はコンソールからVagrantを操作して、仮想PCにLinuxをインストールします。
vagrant box add ubuntu/xenial64 http://vagrantcloud.com/ubuntu/boxes/xenial64/versions/xxxxxx/providers/virtualbox.box
とMacはターミナルからWindowsはPowerShellから入力してLinuxをインストールすると10〜15分ほどでインストールが完了します。(xxxxxxのところはバージョンをいれます)
その次は、以下のコマンドを入力すると、仮想ファイルの設定ファイルを作ってくれます。
vagrant init ubuntu/xenial64
そして、
vagrant up
で実行してくれます。
たったこれだけでLinuxのOS環境が準備できてしまうんです。
あとは、目的に沿って必要なデーモンをインストールしたり、セットアップしていくと自分の必要なサーバー環境が手に入ります。
Linuxを操作する必要があります。さあLinuxはどうやって操作するのでしょうか?
SSH(エス・エス・エイチ、Secure Shell)という通信プロトコルを使います。
SSHとは、暗号や認証の技術を利用して安全に外部のコンピューターと通信する手段です。
先ほど、Linux をインストールする場合WindowsやMacのコンソールでコマンドを用いてコンピューターを操作するのですが、同じようなコマンドや実行結果を暗号化した状態で遠隔地のコンピューターとやりとりするものです。
概念的なイメージを持ちながら作業を行わないと、今どんなところにどんなものを作っているのか、インストールしているのかがわからなくなってしまうので注意してくださいね。
こういった概念をイメージできるかがとてもITツールを触ったり、学んだりするときは重要です。
現在、Python言語の習得と機械学習、そして今回ご紹介した VirtualBoxとVagrantの学習を用意していますのでお楽しみにしていてください。
「Python学習受けてみたい!」という方や「こんなことも教えて欲しい!」という方はぜひこちらまでご連絡ください。
support@proclass.jp
吉田でした。