\r\n\r\n

仮想的なWeb開発環境とサーバーを作成する方法

そこで、マルチタスク能力とローカル環境でのWebアプリケーション開発の必要性をどのようにバランスさせるか。 仮想マシンの登場です...。

ここ数年、Windowsやmacosxは開発者に優しいOSとして進歩してきましたが、Web開発者は皆、Webのネイティブ環境であるLinuxで作業する必要があります。

この記事では、WindowsやOSXなどの安定した消費者向けのオペレーティングシステムを日常的に使用しながら、プロダクションコードと同じエコシステムで開発するメリットを享受する、両方の世界を手にする方法を紹介します。

プレゼンテーション

これは、Linux、Apache、MySQL、PHPの頭文字をとったもので、通常Webサーバーとして理解されるものと同じように動作するようにバンドルされています。(Eは、Apacheの後継であるNginxの発音に由来し、「engine x」と呼ばれている)。")

ここでLinuxが明示的に含まれていることにお気づきかもしれませんが、開発者がLinuxを推奨する理由はそれだけではありません。Apache(またはNginx)、MySQL、PHPといった他の技術も、プラットフォームごとに異なるツールや実装が用意されていますが、歴史的・技術的な理由から、Linuxベースの構成がサーバースペースを支配し、より予測しやすい傾向があります。

予測可能性と信頼性も、この目的のみに使用されるオペレーティングシステムで開発したい理由、つまりウェブ開発者として毎日行う無数の作業をサポートするものではなく、専用のオペレーティングシステムであることの重要な理由です。つまり、新しいグラフィックドライバをインストールすると再起動が必要になるようなOSや、バックパックに詰めて外出しなければならないようなマシンでは、サーバーを稼働させたくないということです。一言で言えば、混在するマシンでサーバーを動かすために必要なプロセスやソフトウェアが混乱しているのです。

では、マルチタスクの能力と、アプリケーションのネイティブ環境で開発する必要性とのバランスを取るには、どうすればよいのでしょうか。

仮想マシンを入力します。

仮想マシンとバガボンド

仮想マシンは、メインのオペレーティングシステムの中で動くプログラムです。物理的なマシン上で起こることとは完全に独立して、ウィンドウ内で完全に独立したオペレーティングシステムを実行することができますが、ある程度のオーバーヘッドがあります。

しかし、メリットはたくさんあります。

  • ソフトウェアのインストール、設定、削除を間違えても、新しいイメージでやり直せます。
  • 実験が壊滅的に失敗して、周りのOSがフリーズしてしまったのですか? この場合も、影響を受けたのは仮想マシンだけなので問題ありません。
  • 微妙に異なる条件を反復する必要があるのか?異なるソフトウェアのバージョンや異なるソフトウェア(例えば、ApacheとNginxを使用)など、各条件のセットは、別々のソフトウェアマシンまたは仮想 "ボックス "にすることができます。

Vagrantというツールを使えば、様々なスタイルの設定済みLinuxオペレーティングシステムを含む「ベースボックス」をデプロイすることができます。

この記事では、GUIを使わずにコマンドラインインターフェース(CLI)だけで仮想マシンを操作できることを前提にしています。

基本的なボックスを構成する前に、仮想マシンプロバイダーとVagrantを用意しましょう。

  1. バーチャルボックスは、WindowsとMac OSXの両方で利用できます。また、vmwareも両方のプラットフォームで動作します。(Hyper VはWindows 10 Pro以降で利用可能であり、ハードウェアをより有効に活用できるため改善されています)。
  2. Vagrantup.comにアクセスし、適切なインストーラを選択してください。
  3. ローカルのディレクトリツリー構造で、ボックスを格納するための新しいフォルダを作成します。(ユーザープロファイルに従属する場所はうまくいきますが、システムディレクトリにある場所は通常うまくいきません)。

ウェブ開発環境設定

ここで自動化の魔法がかかります。PuPHPetというツールは、LAMPでよく使われるソフトウェアの選択と設定のプロセスを凝縮してGUI化し、さらにそれを超えてRubyやGUI node.jsなどのサーバーサイド言語(厳密にはJavaScriptはサーバーサイドではないがこのタイプ)、そしてランプ他のコンポーネントの代替品

PuPHPetはVagrantの基本設定ファイルを作成します。このウィザードでは、20種類以上のディメンションを設定することができますので、ここでは最も重要なものだけを説明します。

  • デプロイメントターゲット - VirtualBox、VMWareなどに適したイメージを作成するか、AWSやDigital Oceanなどのクラウドインフラに適したイメージを作成するかをここで選択できます。
  • System > Packages -- 通常のインストールと同じようにインストールするソフトウェアをここに入れることができます。特に、開発に使用するパッケージのうち、OSのディストリビューションの基本に含まれているものは、すべて含める必要があります。Ubuntuの開発用依存ファイルを含めるには、build-essentialsを指定します。 CentOS 7の場合も同様に、"Development Tools "を指定します。
  • ウェブサーバ - L(A | E)MPスタックのバックボーンとしてApacheまたはNginxを選択します。
  • 言語 - PHP、Ruby、node.js、Python。
  • データベース - このアプローチの最も魅力的な特徴の一つは、利用可能な様々なデータベースを扱うための仮想マシンを構築できることでしょう。MySQLがデフォルトですが、MariaDBのような新しいバージョンを使用することもできます。
  • 残りのオプションはややエキゾチックなもので、分からなければ後でインストールすることができます。結局のところ、あなたが持っているのは本格的なオペレーティングシステムなのです。

PuPHPetは設定処理の最後にアーカイブを生成し、新しいサーバパラメータを設定する前に作成されたディレクトリに展開されます。

ここで、以下の操作を行います。

$ vagrant up

観察結果

ローカルカタログに基本的なボックスがないため、vagrantはあらかじめ設定されたvagrantボックスのリポジトリであるAtlasからイメージを取得することになります。

(技術的には、以下のコマンドを発行することで、どれでもローカルコンピュータに追加することができます。

$ vagrant box add USER/BOX

)

概要

この時点で、仮想マシンが起動し、実質的にオンラインになりました。

$ vagrant ssh

適切なSSHセッションに入り、(ヘッドレスの)VMをLAMPサーバとして動作させます。

詳細はこちら

ここからはレンジャーズでの言動が多くなり、ご存知の通り、自分の開発遊び場を利用して、仕事をスームズにこなすこと。公式のGetting Started Guideで確認してください。

皆さんは、ご自身の開発環境で仮想マシンを使用したことがありますか?この設定を使っているのか、それとも別の方法を取っているのか。以下のコメント欄でご意見をお聞かせください。

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ