The SIGMA

Install Laravel (Homestead)

Reading Time: 5 minutes

අපි අද කතා කරන්න යන්නේ Laravel Framework එක Homestead එක්ක Install කරන්නේ කියලා. අපි මුලින් ලිපියෙදි කතා කරා සාමාන්‍ය විදියට Laravel Framework එක Install කරගන්න විදිය. මේකෙදි අපි කරන්නේ Virtual Machine එකක් ඇතුලෙදි Laravel Install කරගෙන Run කරන එක. මේ ක්‍රමය තමයි ගොඩක් දුරට Recommend කරන්නේ. මොකද ඔයා Web Application එක මේ Virtual Machine එක ඇතුලෙන් Develop කරලා Release කරාම තවත් Platform එකකදි ඒක errors නැතිව Run වෙන්න ලොකු Chance එකක් තියෙනවා. මොකද Homestead හරහා Application එක Design කරනකොට Platform Independent වෙනවා. ඒ කියන්නේ ඔයාගෙ Develop කරන Platform එක Application එකට බලපාන්නේ නෑ.

හරි එහෙනම් අපි බලමු මේ විදියට Install කරගන්න අපිට මොනවද ඕන වෙන්නේ කියලා.

Prerequisites:

මම මුලදිම කිවුවා මේක Run කරන්න හදන්නේ Virtual Machine එකක. ඒක නිසා අපිට Virtual Box Software එකක් ඕන වෙනවා. මේ ලිපියෙදි මම භාවිතා කරන්නේ Oracle Virtual Box එක.

ඒ වගේම මේ වැඩේට ඕන වෙනවා Vagrant කියන Software එක. ඒක මෙතනින් Download කරගෙන Install කරගන්න. Vagrant කියන්නෙ, Oracle VIrtual Box එකට හදපු command line interface එකක් වගේ එකක්.

(Download කරගන්නකොට Latest version එක ගන්න එක ගොඩක් හොඳයි. ගැලපෙන Platform එකට අවශ්‍ය Setup එක අරගෙන Install කරගන්න.)

Installation

මේ Homestead Laravel virtual box එකේ මේ කියන Software Set එක Install කරලා දීලා තියෙනවා.

  • Ubuntu 16.04
  • Git
  • PHP 7.2
  • PHP 7.1
  • PHP 7.0
  • PHP 5.6
  • Nginx
  • Apache (Optional)
  • MySQL
  • MariaDB (Optional)
  • Sqlite3
  • PostgreSQL
  • Composer
  • Node (With Yarn, Bower, Grunt, and Gulp)
  • Redis
  • Memcached
  • Beanstalkd
  • Mailhog
  • Elasticsearch (Optional)
  • ngrok
  • wp-cli
  • Zend Z-Ray
  • Go

මුල්ම පියවර තමයි Vagrant Laravel Box එක Download කරගන්න එක. ඒකට Linux වලදි Terminal එකේ නැත්නම් windows වල Command Prompt එකේ මේ Command එක Type කරන්න.

vagrant box add laravel/homestead
මේක Download වෙන්න සාමාන්‍යයෙව් 2GB විතර Data ප්‍රමාණයක් යනවා. ටිකක් වෙලා යනවා Download කරගෙන Install වෙන්න. ඒක නිසා ටිකක් ඉවසීමෙන් ඉන්න.
දෙවෙනි පියවර මේකෙදි අපි කරන්නේ Homestead Install කරගන්න එක. ඒකට අපි කරන්නේ Git Repository එකකින් Source Code එක Download කරගන්නවා. මේ පහලින් තියෙන Command එක Run වෙන්න නම් ඔයාලගෙ Machine එකේ git software එක install කරලා තියෙන්න ඕන. නැත්නම් මෙතනින් Download කරගෙන Install කරගන්න. ඊට පස්සේ Git Bash එක Open කරලා ඒකෙ මේ Command එක run කරන්න.
git clone https://github.com/laravel/homestead.git ~/Homestead

තුන්වෙනි පියවර මෙතනදි කරන්න ඕන Homestead එක Install කරගන්න එක. උඩ Command එක හරියටම Run වුණා නම් දැන් git bash එක run කරපු Directory එකේ Homestead කියලා folder එකක් හැදිලා තියෙන්න ඕන. දැන් ඒ folder එක ඇතුලෙ ආපහු Git Bash එක open කරගන්න. කලින් Download කරපු gitbash එකෙන් අයින් උනේ නැත්තනම්

cd ~/Homestead

ගැහුවත් අදාල folder එක ඇතුලට යනවා.

හරි දැන් කරන්න ඕන අදාල Version එක Git එකෙන් Verify කරගන්න එක. මොකද Master Branch එකේ තියෙන්නේ හැමතිස්සේම Stable Version එකක් නෙවෙයි. ඒක කරන්නේ මෙහෙමයි. කලින් open කරලා තියෙන Git Bash එකෙන්ම පහලින් තියෙන Command run කරන්න.

git checkout v7.3.0
// Mac / Linux...
bash init.sh

// Windows...
init.bat

මම Comment කරලා තියෙන්නේ අදාල OS එක මොකද්ද කියලා කියන්න. ඒක Run කරන්න ඕන නෑ. මේක Run වුණාම Install වෙනවා.

පස්වෙනි පියවර මේකෙදි කරන්නේ අපි install කරගත්ත file ටික Config කරන එක. ඒකට තියෙනවා Homestead.yml කියලා file එකක් මුලන්ම Create වුණ Homestead folder එක ඇතුලෙ. දැන් ඒක මොකක් හරි Text Editor එකකින් open කරගන්න. දැන් ඒකෙ තියෙන්න ඕන Settings මේ විදියට..

 provider: virtualbox

මේක මේ විදියට වෙනස් කරන්න ඕන වෙන්නේ අපි Virtual Box එක Install කරගන්න භාවිතා කරෙ Oracle Virtual Box කියන Software එක. ඒක හින්දා තමයි අපි මෙතන Setting එක මේ විදියට තියන්නේ. මෙතන තියන්න පුළුවන් මෙන්න මේ කියන Set එක. තවදුරටත් මේ ගැන ඉගෙන ගන්නවා නම් ඕන වෙයි. Virtualbox, vmware_fusion, vmware_workstation, parallels, hyperv කියන set එකෙන් අපි මෙතනදි භාවිතා කරන්නේ VirtualBox කියන එක.

ඊළඟට අපිට Config කරන්න තියෙන්නේ Shared Folder එක. මොකද අපි දැන් වැඩ කරන්න යන්නේ Virtual Machine එකක් ඇතුලෙ. ඒකෙදි අපිට Files එහා මෙහා යවන්න මොකක් හරි ක්‍රමයක් ඕන. මොකද අපිට Virtual Machine එකක් ඇතුලෙ තියෙන Files නිකන්ම Explorer එකකින් open කරලා බලන්න බෑ. ඒකට අපි කරන්නේ Shared folder එකක් හදා ගන්නවා. මේකෙදි කරන්නේ අපේ ඇත්ත Machine එකටයි ඒක උඩ run වෙන Virtual Machine එකටයි පොදු එක Folder එකක් හදාගන්න එක. මේ පියවරේදි අපි ඒක කොහොමද කරන්නෙ ්කියලා බලමු.

මුලින්ම ඔයා කරන්න ඕන ඔයා Share කරන්න බලාපොරොත්තු වෙන තැන අලුත් Folder එකක් හදාගන්න එක. අපි හිතමු අපි Code කියලා අලුත් Folder එකක් හැදුවා කියලා. ඒක දැන් අපි Config file එකට ඒ කියන්නේ Homstead.yml File එකට දාන්න ඕන ඒක කරන්නේ මෙහෙමයි. කලින් open කරගත්තු yml file එක ආපහු ගන්න. ඒකෙ මේ විදියට දාන්න.

folders:
    - map: /your/path/to/code/folder
      to: /home/vagrant/code

මේකෙන් වෙන්නේ ඔයා අලුතින් හදපු Code කියන folder එක Virtual Machine එක ඇතුලෙ Code කියන folder එකට Map වෙනවා. මේකෙ මම දාලා තියෙන your path to code folder කියන එක වෙනුවට ඔයා හදපු Folder එක තියෙන තැන Path එක මෙතන්ට දෙන්න ඕන.

ඒක ඉවර වුණාම අපි කරන්න ඕන අපේ පළවෙනි Project එක හදන එක. මම මෙතනදි මගේ Project එකේ නම විදියට යොදා ගන්නේ test කියන නම. ඔයාලා කැමති එකක් භාවිතා කරන්න පුළුවන්. හැබැයි එහෙම කලොත් මේ  Command වලදි ඒවා හරියට වෙනස් කරගන්න ඕන. දැන් මම අලුතෙන් හදන්න ඕන Project එක අලුත් Site එකක් කියලා yml file එකට කියනවා ඒක තියෙන තැන මේ විදියට..

sites:
    - map: test.dev
      to: /home/vagrant/code/test/public

හරි මේක හදා ගත්ත හැටි මම පැහැදිලි කරන්නම්. මුලින්ම තියෙන map වචනෙන් පස්සේ තියෙන්න ඕන Domain එකක්. ඒක ඇත්තටම ඔයාට කැමති එකක් දාගන්න පුළුවන්. මම යොදා ගත්තේ test.dev කියන domain එක. ඒකෙන් කියන්නේ අපි Web Browser එකේ test.dev කියලා type කරලා enter කරාම අපේ Virtual Machine එක ඇතුලේ තියෙන මේ to කියලා තියෙන තැන path එක දීලා තියෙන folder එක ඇතුලෙ තියෙන Site එක load වෙනවා. සරලවම කතාව ඔච්චරයි. හරි අපි හිතමු ඔයාට මේක තියෙද්දිම තවත් අලුත් Project එකක් හදා ගන්න ඕන වුණා කියලා. දැන් ඔයාට කරන්න තියෙන්නේ තවත් අලුත් domain එකකුයි Path එකකුයි මේකට Add කරන එක. උදාහරණයක් විදියට මට ඕන වුණොත් test1 කියලා තවත් අලුත් Site එකක් හදන්න මම මේ yml file එක මේ විදියට වෙනස් කරනවා.

sites:
    - map: test.dev
      to: /home/vagrant/code/test/public
    - map: test1.dev
      to: /home/vagrant/code/test1/public

දැන් තේරෙන්න ඇති මොකක්ද වෙන්නේ කියලා. ඔයාලට ඕන තරම් මේ විදියට අලුත් project හදාගන්න පුළුවන්.

ඇයි අපි මේ path එකේ අන්තිමට public කියලා කෑල්ලක් Add කරන්නෙ. ඒකට විසඳුම ඉස්සරහ ලිපි වලින් ලැබෙයි. මොකද laravel වල folder structure එකක් තියෙනවා. ඒක ගැන වෙනම ලිපියකින් කතා කරමු. දැනට මේ විදියට config එක හදා ගන්න. ඒක save කරගන්න.

හයවෙනි පියවර දැන් අපිට කරන්න තියෙන්නේ අපි config file එකට දැම්ම Domain එක යන්න ඕන Internet එකේ තියෙන තැනක් නෙවෙයි අපේ machine එක ඇතුලෙ තියෙන site එකක්මයි කියලා Computer එකට කියන එක. ඒක කරන්න අපිට Host file එක edit කරන්න වෙනවා.

windows : “C:/windows/system32/drivers/etc/hosts

linux : “/etc/hosts”

මේ file එක text editor එකක් Administrator විදියට run කරලා Open කරගන්න ඕන. නැත්නම් මේ file එක edit කරන්න permission දෙන්නේ නෑ. ඒකෙ අන්තිමට මේ Line එක දාන්න.

127.0.0.1 test.dev

මේකෙන් අපිට කරන්නේ නිකන් local dns server එකක් හදනවා වගේ වැඩක්. Browser එකෙන් මේ Domain එක request කරද්දී අපි කියනවා මේක තියෙන්නේ අපේ Machine එක ඇතුලෙමයි ආපහු Internet එකේ හොයන්න එපා කියලා. ඒක කරලා Save කරන්න.

හත්වෙනි පියවර දැන් අපි කරන්නේ අපේ Site එක හදා ගන්න එක. ඒකට අපි මුලදිත් කතා කරපු homestead folder එක ඇතුලට Command Prompt එකෙන් ගිහින් මේ Command එක ගහන්න.

vagrant up

මේකෙන් අපි හදා ගත්ත Virtual Machine එක boot කරගන්නවා. දැන් ඔයාලට පෙනෙයි Ram එක එහෙම වැඩියෙන් Use වෙනවා. Port Forward වෙනවා වගේ වැඩ ටිකක්. ඒක ඉවර වෙන්න දෙන්න. ඉවර වුණාම මේ Command එක ගහන්න.

vagrant ssh

මේ Command එකෙන් පුළුවන් හරියට Virtual Machine එක වැඩ කරනවද කියලා බලන්න Machine එක ඇතුලට log වෙන්න.

දැන් අපි මුලින් හදපු shared folder එක මේ machine එක ඇතුලෙ තියෙනවා. ls ගැහුවොත් ඔයාලට බලන්න පුළුවන්. දැන් අපි ඒ folder එක ඇතුලට ගිහින් අපේ අලුත් project එකට අවශ්‍ය Files ටික install කරගමු.

දැන් code කියන folder එක ඇතුලට යන්න. (cd code) ගිහින් අපි මුලින් yml එකේ දැම්ම project එකේ නමින් මෙතන අලුත් project එකක් හදන්න ඕන. මම මුලින් yml එකේදි දැම්මේ මගෙ project එකේ නම test කියලා. දැන් මම test කියන project එකට අදාල files ටික මේ command එකෙන් හදා ගන්නවා.

 laravel new test

අන්තිම පියවර මේකෙදි අපි test කරලා බලමු අපේ Site එක වැඩ කරනවද කියලා. web browser එකක් open කරලා මුලදි map කරන්න දුන්නු domain එක දීලා enter කරලා බලන්න.

Error එකක් ආවොත් fix කරගන්න විදිය මම කලින් Post එකේ ලියලා තියෙනවා. ඒක ටිකක් බලන්න. ඒකත් හරි ගියේ නැත්නම් Comment එකක් දාන්න.

ඊළඟ ලිපියෙන් හම්බෙමු. ඊළඟ ලිපිය ලියන්න බලාපොරොත්තු වෙන්නේ Laravel වල Folder Structure එක ගැන.