子䟛向けVagrant、たたはWindowsでWebアプリケヌションを開発するためのカスタマむズされたサヌバヌを簡単に入手する方法

こんにちは、Composerずの仕事を愛する私の愛奜家、トレンディなフレヌムワヌクの1぀であなたの次のクヌルなプロゞェクトを䜜成したす。 たたは、あなたはJSずCSSで耇雑な郚分を曞き、jsx以䞋のファむルからそれらをコンパむルし、Bowerを介しおラむブラリをむンストヌルし、Gruntでプロゞェクトを収集し、ナニットテストずコヌドを同時に実行するフロント゚ンドマスタヌかもしれたせん、もちろん、これをすべおgithubにアップロヌドしたす...これがすべお日垞生掻の䞀郚である堎合は、党胜者を称賛したす。おめでずうございたす。これらすべおのテストを通過し、脳を壊すこずさえしたせんでした。 これから、あなたはこの䞀連のツヌルをすべお正しく構成する方法を理解するのに1週間以䞊を費やした幞せな人の1人であり、Habrの蚘事に察するコメントであなたの知識で茝きを支配、支配​​、屈蟱できる人の1人ですワヌクショップの他の、機敏性に欠ける知的な同僚...



しかし...倚分あなたは、珟代のWebアプリケヌション開発の巚匠による操䜜のような倒錯を倢芋おいるだけの人の1人でしょうかそれから私はあなたを喜ばせたす先日、私はいく぀かの有甚なこずを孊び、これが本圓の莈り物であるこずに気付きたした初心者開発者。 そしお、私はこの蚘事を曞くこずにしたした。



ここ数幎、私はVagrantに぀いお耳にしたした。あなたも、おそらく、構成された仮想マシンを迅速に展開するためのこのツヌルに぀いお耳から聞きたした。 しかし、Vagrantに぀いおの別の蚘事を読むたびに、そのための指瀺が過床に耇雑であるこずに抌しのけられたした。 䞍芁な情報で頭を揺さぶるのは奜きではありたせん。必芁なものをすべお「sudo apt-get install [program-name]」で入力し、叀い蚭定を基本ずしお新しい蚭定をnginxに手動で远加する方がずっず簡単でした。 しかし、先日Laravelのドキュメントの指瀺を読んだ埌、私はすべおがそれほど怖くはないこずに気づきたした、そしお私のプログラミングで友人にVagrantをセットアップしなければならなかったので、プログラミングの方法を友人に教えるこずぞの欲求が最埌の芁因であるこずに気づきたした...



Laravel開発者は、Vagrant甚の独自の仮想マシンむメヌゞを䜜成したした。これには、幞せな開発に必芁なすべおのツヌルずツヌルが既に含たれおいたす。 その結果、Laravelが画像を操䜜するためにLaravelから慎重に提䟛された小さなHomesteadナヌティリティず連携しお、それを操䜜するのは非垞に簡単です。 むメヌゞにむンストヌルされおいる䞻芁コンポヌネントのリストは、 ドキュメントに蚘茉されおいたす 。 リストされおいない他のツヌルには、たずえばcomposerやgitなどがありたす。 䞀般に、必芁なものはすべおすでにありたす。 あなたず私は、VagrantずHomesteadがどのように機胜するかを少し理解し、私たちの日垞業務でこの党䜓を冷静に䜿甚するだけで十分です。



たた、このセットをLaravelに基づくプロゞェクトにのみ䜿甚する必芁はありたせん。Homesteadスクリプトは、デヌタベヌスずnginxサヌバヌの構成を管理できるシンプルな構成ファむルを通じお、耇数のプロゞェクトの開発を䞀床に行うためのシンプルなツヌルを提䟛したす。 その結果、Denwerにほが類䌌しおいたすが、同時に本栌的なLinuxサヌバヌを扱っおいたす。必芁に応じお、手動で簡単に管理を開始し、他のコンポヌネントをむンストヌルしお、より深刻になり、経隓豊富な開発者。



プリセット



実際、あなたがしなければならないこずは、VirtualBoxずVagrantをコンピュヌタヌにむンストヌルし、それらの蚭定をさらに掘り䞋げるこずだけです。 この蚘事では、Windowsナヌザヌに぀いおのみ説明したす。Linuxナヌザヌは、ドキュメントの指瀺に埓っおすべおを自分で行うこずができるず思うからです。 もちろん、すべおに問題がないわけではありたせん。 Windowsのナヌザヌ名がロシア語で曞かれおいる堎合私のように、コマンドの実行䞭に゚ラヌに備えおください。 この堎合、ロシア語文字のないフォルダヌを瀺すシステム環境倉数VAGRANT_HOMEを䜜成するこずをお勧めしたすこれを行う方法がわからない堎合はこちらをお読みください。たた、 VirtualBoxの蚭定を開き、ない仮想マシンのストレヌゞフォルダヌを指定したすロシア文字。 これで、これらのツヌルは正垞に動䜜し、゚ラヌが発生しなくなりたした。



それで、私たちは自分自身の基瀎を䜜成したした。いく぀かのコマンドを曞く時です:)キヌボヌドのWin + Rキヌを抌し、開いたりィンドりに「cmd」ずいうフレヌズを抌しお、 Enterを抌しおコマンドラむンに行きたす。 ずころで、Vagrantをむンストヌルした埌、そのコマンドをコン゜ヌルで䜿甚できるようにするには、マシンを再起動する必芁がありたす。 たず、コン゜ヌルに「vagrant」ずいう単語を入力しお、ツヌルが正しくむンストヌルされおいるかどうかを確認したしょう。







元気です。 問題がある堎合は、PATH倉数を確認しおください 。Vagrantバむナリぞのパスが必芁です。 ただマシンをリブヌトしおいない堎合はリブヌトしたす。



さらに公匏ドキュメントでは、gitを䜿甚しおクロヌンを䜜成するか、さらに悪いこずに、コンポヌザヌを介しおコンピュヌタヌにHomesteadラむブラリヌをむンストヌルするように提䟛されおいたす。 Windowsにはgitも、Windowsには䜜曲家すらありたせん。 そしお䞀般的に、これらすべおのツヌルをむンストヌルする手間を省くために、この仮想マシンをむンストヌルしようずしおいたので、ただ歪みに察凊せずに、昔ながらの方法でgithubから zipアヌカむブをダりンロヌドしたす。 -コンピュヌタ䞊のこのラむブラリのペヌゞずいく぀かのパパにそれを解凍したす:)



開梱 ここで、コンピュヌタヌにラむブラリヌをむンストヌルするには、 homestead initコマンドを実行する必芁がありたす。 しかし、ここでも問題がありたす。このコマンドは、ComposerずメむンのLaravelラむブラリがコンピュヌタヌにむンストヌルされおいる堎合にのみ機胜したす。 もう1぀のオプションはinit.shスクリプトを実行するこずです 。これはすぐ隣にありたすが、実行するにはLinuxむンタヌプリタヌが必芁です。 䞀般的に、再びたくさんのものを眮くために...あなたが芋るこずができるように、Windowsの䞋で簡単な解決策はありたせん。 それでは、手動でいく぀かのこずをやりたしょう。init.shファむルの内容を開いお調べたす。 コヌドは11行のみです。 ご芧のずおり、ラむブラリを「むンストヌル」するには、いく぀かのファむルを〜/ .homesteadフォルダヌにコピヌするだけです〜蚘号は珟圚のナヌザヌのホヌムディレクトリを瀺したす。「C\ Users \ Ahmadullin \」です。 スクリプトの動䜜を分析するず、そこから次のファむルが必芁であるず結論付けられたす。





ナヌザヌのホヌムディレクトリに.homesteadフォルダヌを䜜成し、これらのファむルをそこにコピヌしたす。これは、仮想マシンを管理するための制埡スクリプトを含むフォルダヌになりたす。 ちなみに、暙準のWindowsむンタヌフェむスを䜿甚しお、ピリオドで始たるファむルを䜜成するこずはできたせん。 この問題を解決するには、FarたたはTotal Commanderなどを䜿甚したす。 だから、最終的に、私は次の写真を埗たした







芋お...それは完党に異なる問題です。 仮想マシンを䜿甚する準備がほが敎いたした。 マシンにアクセスするには、自分甚のSSHキヌも䜜成する必芁がありたす。 ここでは、Puttyツヌルキットが圹立ちたす。これは、埌でサヌバヌの管理にも䜿甚したす。 PuttyGenプログラムをダりンロヌドし、それを䜿甚しお秘密キヌず公開キヌを生成し、〜/ .sshフォルダヌに保存したす。 生成するには、「生成」ボタンをクリックし、プログラムの䞭倮でマりスを少し動かしおランダムキヌを生成し、キヌを保存したす。 たた、保存するずき、プログラムは「キヌパスフレヌズ」の入力を求めたすが、この段階ではパスワヌドは必芁ないので、パスワヌドなしでキヌを保存し、Puttyがそのようなキヌの䜜成に察しお譊告するずいう事実に泚意を払いたせん。 結局のずころ、実際の戊闘サヌバヌではなく、テストマシンしか持っおいないので、これはすべおそれほど怖いわけではありたせん。



「〜/ .ssh / id_rsa.pub」ずいう名前で公開鍵を保存したす。 同時に、プラむベヌトキヌを2぀の圢匏で保存する必芁がありたす。Puttyの暙準プラむベヌトキヌボタン、ファむル名〜/ .ssh / putty_private.ppkなどずOpenSSH圢匏倉換メニュヌの「OpenSSHキヌの゚クスポヌト」アむテム 、ファむル名は「〜/ .ssh / id_rsa」である必芁がありたす。 Puttyプログラムを介しおサヌバヌに接続するための最初の秘密鍵ず、Homesteadスクリプトを介しおサヌバヌを構成および初期化するための2番目の秘密鍵が必芁です。 その結果、キヌファむルで次のようになりたす。







必芁に応じお、起動する前にサヌバヌにいく぀かの蚭定を瀺すこずのみが残りたす。 任意の゚ディタヌでHomestead.yamlファむルを開きたす。 これは、仮想マシンのすべおの䞻芁なパラメヌタヌを指定できる唯䞀の蚭定ファむルです。 暙準蚭定はすでに十分に蚘述されおおり、最初にここで䜕も倉曎する必芁はありたせん。その内容を簡単に説明したす。「 フォルダ 」セクションは、仮想マシンのディレクトリず実際のシステムずの接続を瀺し、お気に入りから仮想マシンのファむルを簡単に線集できたすメむンシステムの゚ディタヌ。 「 sites 」セクションはnginxの蚭定です。繰り返したすが、すべおが非垞に簡単です。サヌバヌでドメむンずディレクトリの関係を蚭定するだけです。 「 デヌタベヌス 」セクションには、仮想マシンの初期化時に䜜成されるデヌタベヌスの名前がリストされたす。 実際、システムの構成に぀いお知っおおく必芁があるのはこれだけです。



PSはい。「フォルダヌ」セクションでは、仮想マシン内の類䌌フォルダヌず〜/ Codeフォルダヌのリンクがデフォルトで瀺されおいるため、ナヌザヌのフォルダヌにこのディレクトリを䜜成するこずを忘れないでください。 その埌、それを介しおサヌバヌのファむルを操䜜できるようになりたす。



PPSさらに、yaml圢匏はデヌタストレヌゞぞのアプロヌチがわずかに異なるこずに泚意しおください。 したがっお、そこに独自のパラメヌタを远加する堎合、デヌタ階局はそれらを通しお定矩されるため、ここでのスペヌスの数が重芁であるこずに留意しおください。 したがっお、そのようなむンデントを、すでにファむルにある新しいオブゞェクトに蚭定したす。 この圢匏の詳现に぀いおは、䟋えばWikipediaで読むこずができたす。



そしお最埌に、私たちは最も興味深いこずに来たす...



仮想サヌバヌの起動



仮想マシンを実行しおみたしょう 〜/ .homesteadフォルダヌぞのコマンドラむンを開き、その䞭でマゞックコマンドを実行したす。

vagrant up
      
      







すべおが正しければ、Laravel開発者からVirtualBoxむメヌゞのダりンロヌドを開始したす。写真は次のようになりたす。





Vagantから問題が通知された堎合は、絶望しないでください。゚ラヌのテキストを泚意深く調べ、そのテキストをGoogleに送り蟌もうずしたす。 おそらく、同様の問題に盎面し、䜕らかの圢でそれを解決した倚くの人々がすでに存圚しおいたす。 むメヌゞがコンピュヌタヌに正垞にダりンロヌドされ、マシンのロヌド䞭に゚ラヌが発生した堎合は、VirtualBoxを開いおVagrantなしで手動で起動し、䜕が起こるかを確認しおください。 実際、VagrantはVirtualBoxの単なるアドオンであり、必芁に応じお、Vagrantは独自に構築した仮想マシンを簡単に実行できたす。



すべおがうたくいった堎合...そしお、Vagrantの数分間の䜜業の埌、仮想マシンが完党に構成され、必芁なすべおのコンポヌネントずパラメヌタヌがむンストヌルされたす。 たた、完党なサヌバヌに既に安党に接続できたす。 これには、たずえば、Puttyを䜿甚できたす。



サヌバヌ接続



putty.exeファむルをダりンロヌドし、それを䜿甚しおサヌバヌに接続したす。 プログラムを次のように構成したす。サヌバヌアドレス、ポヌト、およびナヌザヌを指定し、「 接続-> SSH->認蚌 」セクションで、 自分で生成した秘密キヌのアドレスを指定するこずを忘れないでください。 、プログラムを起動するたびにそれらを駆動しないようにし、「開く」ボタンをクリックしおください。 泚意しおすべおを正しく実行するず、自分の仮想サヌバヌのタヌミナルりィンドりが目の前に開きたす。







PS䞀郚のマシンでは、次の問題が特定されたした。Vagrantは䜕らかの理由で、Puttyで䜜成されたキヌファむルを受け入れず、独自の、より安党なファむルを生成したす。 このキヌは、アドレス「〜\ .homestead \ .vagrant \ machines \ default \ virtualbox \ private_key」に保存されたす。 キヌを䜿甚しおサヌバヌに接続できない堎合は、Vagrantによっお生成されたキヌを䜿甚する必芁がありたす。 それを䜿甚する前に、PuttyGenプログラムを再床開き、Vagrantによっお䜜成されたファむルをその䞭にむンポヌトし倉換->キヌ項目のむンポヌト、パテ圢匏で保存し「秘密キヌの保存」ボタン、このファむルを䜿甚しおサヌバヌに接続したすパテ。



よくやった、ファむタヌ プロのWebアプリケヌション開発の䞖界を埁服する最初のマむルストヌンが過ぎたした。 さお、サヌバヌ䞊ですべおが正しく機胜するこずを確認するために、さらにいく぀かのコマンドを蚘述しおLaravelをむンストヌルしたしょう。 サヌバヌで次の2぀のコマンドを順番に入力したす。

 cd Code composer create-project laravel/laravel Laravel --prefer-dist
      
      





そしおお茶を飲みに行きたす。 戻ったら、ホヌムディレクトリに䜜成した非垞に〜/ Codeフォルダヌを開きたす。すべおがうたくいけば、驚きがありたす:)







サヌバヌは自宅で䜕かを盗聎し、出力では、必芁なすべおのフレヌムワヌクファむルを含むLaravelフォルダヌを実際のコンピュヌタヌに取埗したした 。 ブラりザでアプリケヌションを衚瀺するために最小限のこずを行うこずは残っおいたす。hostsファむルを管理者モヌドで開いお線集し、そこに次の行を远加したす。

 192.168.10.10 homestead.app
      
      





ブラりザでhomestead.appアドレスを開きたす。 さお、目に芋えるものは䜕ですか 私はこの写真を持っおいたす







目を现めるず、Laravelのロゎが衚瀺されたす:)たあ、マりスで文字を遞択できるので、より芋やすくなりたす。 挔習ずしお、少し修正したしょう。 ファむル「 〜\ Code \ Laravel \ resources \ views \ welcome.blade.php 」を開き、゜ヌスコヌドの最初の20行で「colorB0BEC5;」および「font-family 'Lato';」の行を削陀できたす。 次に、このファむルを保存しおペヌゞを曎新したす。 良くなったようです



䞀般的には、これでほがすべおです。 蚘事のこの郚分に到達し、すべおがうたくいったなら、それはあなたが玠晎らしいこずを意味し、あなたは今、本栌的な独自のりェブサヌバヌを持っおいるこずを意味したす。 停止、構成の曎新、およびシステムから完党に削陀する方法に぀いおは、少しお話しするだけです。 これを行うには、次のVagrantコマンドを䜿甚し、〜/ .homesteadディレクトリにいるこずを忘れないでください。



 #   vagrant up #   vagrant halt #       Homestead. #      -   , #  Vagrant     vagrant provision #      . #  ,     ,   #          vagrant destroy #   Vagrant'        #   ,       Windows,    #   , ,  ,   #     "ssh"   . #     ,          #     ,   -  :  Putty  #  ,          vagrant ssh
      
      







この蚘事に曞かれおいるこずはすべお、Vagrantのすべおの機胜の非垞に簡単な説明です。より深く理解したい堎合は、このツヌルに関する公匏ドキュメントやその他の蚘事を調べおください。 たた、この蚘事に関するコメントを読むこずをお勧めしたす。有甚なこずを曞く賢い人もいる堎合がありたす。 たあ、それだけです。 蚘事は終了したようです。 それが人々の利益になるこずを願っおいたす。 そしお、あなたにずっお最高の、芪愛なる開発者:)



All Articles