ホヌムステッドに぀いおの詳现

Laravelの公匏ドキュメントにはHomesteadに぀いおの党ペヌゞが曞かれおいたすが、問題は、これがなぜ必芁なのかに぀いおほずんど説明がないこずです。 このドキュメントは、VirtualBoxずVagrantおよびLinuxUbuntuの䞡方にすでに粟通しおいる人向けの説明です。 あなたがこれらのいずれかである堎合、蚘事は新しいものを開きたせんが、ドキュメントでホヌムステッドに぀いお読んで、なぜそれが必芁なのかたったく理解しなかった堎合、たたは指瀺に埓っお䜕かがうたくいかなかった堎合、すべおがこの蚘事で詳现にかみ砕かれたす。

PHPは、゚ントリのしきい倀が䜎いこずで垞に有名であり、その結果、倚くの初心者がこのプロセスを敎理する方法を理解せずにフレヌムワヌクを研究し始めおいたす。 OSで䜿甚されおいるテクノロゞヌのスタック党䜓をむンストヌルしお、䜜成ず実隓を開始するこずがありたす。 誀っお、圌らはこれがPHPで曞き始めるか、他の技術フレヌムワヌクを孊ぶ最も簡単な方法であるず瀺唆しおいたす。

残念ながら、ほずんどの教科曞は開発プロセスを敎理する方法を教えおいたせん。 同様に、LaravelはVagrantの「ボックス」が必芁な理由を説明せず、その䜿甚方法に぀いおほずんど説明したせん。 その結果、孊生はホヌムステッドセクションをスキップしお、OSを習慣から倖し、テクノロゞヌ、圹割、サヌビス、悪魔の動物園に倉えたす。

指で


ホヌムステッドは、Ubuntu Serverオペレヌティングシステムがむンストヌルされおいる仮想コンピュヌタヌ独自のメモリ、プロセッサヌ、ハヌドドラむブなどである公匏のプリむンストヌルされたVagrant「ボックス」仮想マシンVirtualBoxです理論的には、任意のOSをむンストヌルできたす。 このUbuntuサヌバヌぞのアクセスは、SSHコン゜ヌルを介しお行われたす。 仮想マシンの巚倧なむメヌゞギガバむトを占有する可胜性がありたすをドラッグしないようにするために、OSむメヌゞをダりンロヌドし、必芁な゜フトりェアWebサヌバヌ、デヌタベヌスなどをむンストヌルし、準備ができお動䜜する仮想マシンを起動できるVagrantツヌルを開発したした開発 。 HomesteadはVagrant甚の蚭定ずスクリプトのセットであり、Homesteadで曞かれおおり、むンストヌルするバヌゞョン、䜜成する蚭定など、Vagrantはすべお仮想システム䞊で実行したす。 VagrantはVirtualBoxだけでなく、他の仮想化システムでも機胜したす。

なぜこれが必芁なのですか


これは、PHP䜜成甚の䜜業環境を䜜成するプロセスを促進するために必芁です。 PHPで蚘述を開始した堎合、すべおが機胜するためには、Webサヌバヌ、デヌタベヌス、PHP自䜓などをむンストヌルする必芁があるこずを既に知っおいたす。 問題は、䞡方のWebサヌバヌ、デヌタベヌス、膚倧な数のバヌゞョン、構成オプションなどが非垞に倚いこずです。 ぀たり、メむンのむンストヌル手順コンポヌザヌむンストヌルを実行する前、たたはCMSのむンストヌラヌを開始する前に、これが発生するコンピュヌタヌサヌバヌを慎重に慎重に構成する必芁がありたす。 次に、あるスクリプトが1぀のバヌゞョンのphp、Webサヌバヌ、デヌタベヌスを必芁ずし、別のスクリプトが動䜜を拒吊し、他のバヌゞョンを必芁ずする堎合の競合に぀いお考えたす。 もちろん、同じPHP、nginx'a、MySQLの耇数のバヌゞョンを1぀のサヌバヌにプッシュするこずもできたすが、遅かれ早かれこの動物園は制埡䞍胜になりたす。

別のシナリオプロゞェクトでチヌムワヌクに遭遇したか、カスタムプロゞェクトを開発する䌚瀟で働くこずを詊みた可胜性がありたす。 あなたがプロゞェクトに新しい人を぀なぐずき、圌らは圌が䜕をどのように構成するかを説明するこずを気にせず、ただプロゞェクトを始めたす。 プロゞェクト党䜓がデプロむされる既補のサヌバヌにアクセスできるようになるこずを期埅しないでください。そこに倉曎を加えるこずができたす。 䌚瀟の芳点からは、これは珟圚の゜ヌスず開発が単玔に合䜵されるリスクです。 ほずんどの堎合、Vagrant configが正確に䞎えられたす。これは、この䟋ではLaravelのHomesteadです。 必芁な゜フトりェアを構成し、䜜業するプロゞェクトの最小郚分を匕き出したす。

ずころで、私はこれがすべおシステムに負荷をかけおいるのではないかずいう恐れをすぐに払拭したす。 たったくありたせん。 VirtualBoxにUbuntuを搭茉したHomesteadは、Atom z8500 \ 4GB RAMを搭茉した私の䞭囜語タブレットで簡単に飛ぶこずができたす。

すべおの蚭定は数分で完了したす。OpenServerをむンストヌルするのず同じくらい簡単です。

ホヌムステッドの展開プロセスは、ロシアのドキュメントで実際によく説明されおいたす。 たた、開発環境での展開ず䜜業に関するいく぀かのポむントに぀いおも説明したす。

VirtualBoxずVagrantをコンピュヌタヌにむンストヌルしたら、その䞭にHomesteadフォルダヌを䜜成し、 そこにあるリポゞトリからすべおのファむルをダりンロヌドしたす。 zipアヌカむブをダりンロヌドする堎合は、忘れずに解凍しおください。



䜜業環境の実行準備はほが敎いたした。仮想システムに転送するフォルダヌを指定する必芁がありたす-原則ずしお、これはプロゞェクトコヌド自䜓のあるフォルダヌです。

そのため、ホストコンピュヌタヌ䞊に別のフォルダヌlaravelなどを䜜成したす。埌で、フレヌムワヌク自䜓の゜ヌスコヌドが䜜成され、プロゞェクトがその䞭に配眮されたす。 Homestead.yamlファむルを修正し、いく぀かの蚭定がそこに登録されたす。 Homestead.yamlの䟋をコメントずずもに瀺したす

--- ip: "192.168.10.10" memory: 1024 cpus: 1 provider: virtualbox #Generated SSH public key authorize: C:\Users\Admin\Documents\homestead\ssh\public.pub #Generated SSH private key keys: - C:\Users\Admin\Documents\homestead\ssh\private.ppk #Sync folder folders: - map: C:\Users\Admin\Documents\laravel #on host PC to: /home/vagrant/laravel #on virtual PC #Nginx on virtual PC sites: - map: laratest.dev #server_name for nginx on virtual PC to: /home/vagrant/laravel/public #document_root for nginx on virtual PC #Create MySQL Database on virtual PC databases: - homestead 

ずころで、SSHキヌpublic.pubおよびprivate.ppkを生成たたは指定するこずはできたせん。 次に、Puttyたたは他のSSHクラむアントを介しお仮想サヌバヌに接続する堎合、ナヌザヌ名\パスワヌドvagrant \ vagrantを䜿甚したす。

たた、構成を眮き換えるこずをお勧めしたす

 sites: - map: homestead.app 

に

 sites: - map: laratest.dev 

ドキュメントのようにデフォルトのhomestead.appアドレスのたたにするず、私のクロムは蚀った
組織たたは孊校のむントラネット䞊のこのサむトには、むンタヌネット䞊のサむトず同じURLがありたす。

以䞋のHomestead.yamlには、コメント化されたポヌトのセクションがあるこずに泚意しおください。 これは、仮想システムずの間でポヌトを転送するのが簡単なこずです。 このセクションはコメント化されおいたすが、Homesteadはデフォルトでいく぀かのポヌトを実際に転送したす。 runコマンドを実行するず、これに関するメッセヌゞが衚瀺されたす。

開始するには、Homesteadフォルダヌに移動し、Shiftキヌを抌しながらマりスの右ボタンを抌し、[コマンドりィンドりを開く]オプションを遞択するず、Homesteadディレクトリに既に「移動」したコン゜ヌルが衚瀺されたす。 指瀺に埓っお浮浪者を䜜成したす。 Vagrantが突然゚ラヌを出しおも心配しないでください。VirtualBoxたたはVagrantの最新バヌゞョンをお持ちでない可胜性がありたす。 いずれにせよ、゚ラヌの説明をグヌグルで怜玢しおください。原則ずしお、解決策はVagrant'aの* .rbファむルを線集するか、再むンストヌルするこずです。 たずえば、最新のバグの1぀である「server_version.rb54in` readpartial '確立された接続...」はここで解決されたす 。

すべおが正しく行われた堎合、Homesteadディレクトリからvagrant upコマンドを実行するず、VagrantはUbuntaを䜿甚しお仮想システムのむメヌゞをダりンロヌドし、そこに゜フトりェアの党リストをむンストヌルし、Homestead.yamlファむルに登録したものを忘れずに構成を修正したす。 最終的に、「Machine booted and ready」ず、どのポヌトが転送されるかに満足したす。


次に、OS、お気に入りのブラりザヌ、゚ディタヌで通垞どおり䜜業したす。 原則ずしお、マシンに他の゜フトりェアを保持する必芁はありたせん。 必芁なものはすべお、すでに仮想環境にありたす。 Puttyを䜿甚しお接続したす䞊蚘のスクリヌンショットのように、接続127.0.0.1、ポヌト2222のアドレスを指定したす。

cdコマンドを䜿甚しお、プロゞェクトフォルダヌHomestead.yamlで指定されたに移動したす。



ここには既にファむルがありたすが、このフォルダヌは空になりたす。 それを埋める時間です。 ホストのWindowsマシン䞊のフォルダヌは、Ubuntuのある仮想フォルダヌず自動的か぀瞬時に同期されたす。 ファむルは、りィンドりずubuntuの䞡方で読み曞きできたす。぀たり、双方向の同期です。

Windowsで䜜曲家やgitコン゜ヌルをむンストヌルしようずしないでください:) 、たた、 Windowsでは OpenServer、xamp、denverなどのビルドを䜿甚しないこずを匷くお勧めしたす 。

仮想サヌバヌ䞊の目的のフォルダヌに移動し、 ドキュメントの指瀺に埓っおください。 仮想環境では、すでにgitずcomposerがむンストヌルされおいたす。

ただやっお、぀かんで䜿っおください

おそらく将来、Webプロゞェクトの開発プロセスを適切に敎理する方法PHP、Laravelを考慮に入れる、Laravelで䜜業するためのIDEを準備する方法、Gitで䜜業を敎理する方法、gitからプロゞェクトの展開を自動化する方法に぀いおお話したす既存のツヌルを䜿甚しおサヌバヌを開発したす。 開発サヌバヌからのプロゞェクトずしおの別のトピックは、運甚サヌバヌにスムヌズに展開されたす。

これらはすべお広倧で興味深いトピックですが、最初に開発環境を仮想化し、最埌にWindowsぞのPHPのむンストヌルを停止したす。

Source: https://habr.com/ru/post/J328880/


All Articles