Heroku ay isa sa pinakasikat na cloud platform bilang isang serbisyo (PAAS). Isa ito sa mga unang cloud platform, at umiral mula noong 2007. Ito ay sikat dahil sa suporta nito para sa iba't ibang wika, kabilang ang Ruby, Python, Java, Node.js, Scala at PHP. At dahil din ito ay nagpapahintulot sa iyo na magbayad lamang para sa mga mapagkukunan na iyong ginagamit at nag-aalok ng database bilang isang serbisyo kasama ng ilang mga advanced na addon para sa flexibility.
Sa tutorial na ito, magde-deploy kami ng simpleng PHP app, na ide-deploy namin sa Heroku gamit ang toolbelt. Upang makapagsimula dito, kakailanganin mong gumawa ng account sa Heroku. Huwag mag-alala, libre itong gumawa ng account sa Heroku dito.
Sa sandaling nakapag-sign up ka, matagumpay, kakailanganin mong i-install ang Heroku Toolbelt. (Mahusay na naidokumento ni Heroku ang pamamaraan ng pag-install para sa toolbelt sa parehong pahina). Kapag na-install na ang toolbelt, kailangan mong mag-log in gamit ang iyong email at password (ibig sabihin, ang iyong Heroku log in credentials).
Sa tutorial na ito, ginamit namin ang Ubuntu OS, kasama ang Terminal. Ngunit maaari mong i-install ang Heroku toolbelt sa Windows pati na rin ang Mac OS X. Mag-login gamit ang command na ito:
[html]
$ Heroku sa pag-login
[/ html]
Ipo-prompt ka nitong ipasok ang iyong email at password.
Kapag matagumpay kang naka-log in. Makakatanggap ka ng mensaheng "Authentication successful".
Ngayon ay kailangan mong i-upload ang iyong SSH mga susi sa Heroku. Kung sakaling hindi mo pa nagagawa ang mga SSH key, mangyaring i-refer ito.
Para sa pagbuo ng mga SSH key gumamit ng command:
[html]
$ ssh-keygen -t rsa
[/ html]
Dapat itong bumuo ng pampubliko/pribadong keypair ng SSH. Ngayon idinadagdag ang iyong mga SSH key sa Heroku:
[html]
$ heroku keys: idagdag
[/ html]
Ngayon ay matagumpay mong na-setup ang Heroku toolbelt sa iyong makina.
Demo: Pag-deploy ng PHP app sa Heroku
Sa demo na ito, gagawa kami ng simpleng PHP app, na magpi-print ng phpinfo(); narito ang code para sa index.php
[Php]
<?php
echo "kumusta mundo";
phpinfo();
?>
[/ Php]
I-save ang file na ito sa isang bagong folder na 'myapp'. Gamit ang cmd, `cd` sa bagong folder.
[html]
$ mkdir myapp
$ cd myapp
[/ html]
Pakitiyak, naidagdag mo ang 'index.php' sa 'myapp' na folder..
Ngayon ay kailangan mong simulan ang git sa bagong folder na ito, gamit ang:
[html]
$ git init
[/ html]
Ngayon isang beses, ang folder sa nasimulan, kailangan mong gawin ang repo:
[html]
$ git add .
$ git commit -m “Initial”
[/ html]
Ngayon ay kailangan mong gumawa ng Heroku app, at i-upload ang iyong app sa Heroku gamit ang mga command na ito:
[html]
$ heroku lumikha
[/ html]
Gagawa ito ng Heroku app at maglalabas ng URL ng iyong bagong Heroku app.
Maaari mo na ngayong i-upload ang iyong app sa Heroku gamit ang:
[html]
$ git push heroku master
[/ html]
Matutukoy nito ang 'index.php' na file na ginawa at gagawa ng isang instance na kasama ng Apache server. Ilalabas nito ang URL ng app. At matagumpay mong nai-deploy ang iyong PHP app sa Heroku. Ang demo app, na ginawa sa tutorial na ito ay naa-access sa http://agile-garden-9901.herokuapp.com/.
Maaari kang mag-host ng ganap na mga website sa Heroku. Kasama ng mga Database app, na gagawin namin sa part 2 ng tutorial na ito. Para sa anumang mga katanungan o pagdududa, mangyaring huwag mag-atubiling gamitin ang form ng komento na ibinigay sa ibaba.
Maraming salamat para sa detalyado at malinaw na paliwanag na ito….heroku ay maaaring mai-install sa anumang OS……… Gumagamit ako ng windows 7…
Oo, nabanggit namin na maaari mong gamitin ang Windows, Linux o Mac OS X :)
Sinunod ko ang mga hakbang na ibinigay mo. ngunit patuloy akong nakakakuha ng error na walang nakitang app na sinusuportahan ng cedar. maaari mo ba akong tulungan wid dat pls? thanx in advance
Hi Geethu,
Sa palagay ko ang isyu ay sa iyong .git na direktoryo. Maaari mo bang subukang tanggalin ang .git na direktoryo at muling likhain ito sa pamamagitan ng `git init`.
Mangyaring ipaalam sa akin kung paano ito nagtrabaho para sa iyo.
Salamat,
Virendra Rajput
Magandang ipinaliwanag na tutorial. Ngunit mayroon akong tanong na gumagamit ako ng Windows 8 at hindi tugma sa maraming iba pang mga application. Magiging tugma ba ito kay Heroku?
Dapat itong gumana sa Windows 8 - subukan. I-install Heroku Toolbelt at ipaalam sa amin kung nahaharap ka sa anumang problema.
@Sajesh @Rajesh Namase..Yeah..ito ay gumagana sa windows 8..salamat sa [protektado ng email] Ang tool sa itaas ay matagumpay na gumagana sa windows 8 platform at tiyak na gagana rin sa windows 7. Salamat
Kumusta,
Ang artikulo mo ay talagang mahusay. Ngunit nagkakaroon ako ng problema noong sinubukan kong itulak gamit ang git push heroku master. Hindi ito gumana at nananatili nang mahabang panahon.
Maaari mo bang ipaalam sa akin kung ano ang maaaring maging isyu
salamat
M.Sridevi
Nakakakuha ka ba ng error? Maaari mo bang ibahagi ang traceback para sa error.
Salamat,
Virendra Rajput
Maraming salamat. Nagulo ako sa pag-deploy ng PHP app kay Heroku sa simula. Sinunod ang tutorial na ito. At ito ay tapos na ngayon. Maraming salamat.
bilang panimula, sinunod ko ang ginawa mo. Sa huling hakbang nang i-upload ko ang aking sample na php app na may utos: $ git push heroku master
Nagkaroon ako ng error sa pagsasabing: Tinanggihan ang Pahintulot(Publickey)
nakamamatay: hindi mabasa mula sa repository :(
naging maayos ang lahat bago ito.
sa tingin ko ito ay maaaring dahil sa administrator thingie sa Windows OS. Kahit na oo, hindi ko alam kung paano gagawa ng paraan para makaalis dito.
Ps. Sinubukan ko pang patakbuhin ang terminal na 'Bilang Administrator'. Walang magandang nangyari
Tulong po
Habang sinusubukang i-deploy ang aking app na binuo sa php codeigniter nagagawa kong i-deploy ang proyekto ngunit pagkatapos ay nakuha ko ang error na ito:
Isang Error ang Nakatagpo
Hindi ma-load ang hiniling na file: helpers/asset_helper.php
Maaari bang may tumulong
Hi Abdul,
Nasuri mo na ba kung ang `asset_helper.php` na file ay naroroon sa direktoryo ng helpers, kung mayroon na ito. Suriin kung ang `require` na pahayag na iyong ginagamit, ay gumagamit ng kaugnay na landas upang i-import ang file na ito.
Regards,
Virendra Rajput
Naalis ko na ang problemang iyon, actually nawawala ang helper library. Ngunit paano ako mag-i-import ng mysql database sa heroku(libre) isa.
Hi Abdul,
Hindi mo magagamit ang mysql sa Heroku. Kailangan mong lumipat sa paggamit ng Postgresql.
Regards,
Virendra Rajput
Nagkakaproblema ako sa pag-verify ng pagsingil sa heroku, kapag ipinasok ko ang mga kredensyal ng card, nagbibigay ito sa akin ng error na "3000 Processor Network Unavailable - Try Again"
Nasuri ko na ang problema ay sa mga service provider.
mayroon ka bang ideya kung paano ito gagawin?
hindi ako sigurado kung bakit hindi ako makapag-upload ng mga file. Parang wala akong access sa pc ko
hindi ako sigurado kung bakit hindi ako makapag-upload ng mga file. Parang wala akong access sa pc ko.
Nagkaroon ako ng error na nagsasabi:
Tinanggihan ang Pahintulot(Publickey)
nakamamatay: hindi mabasa mula sa imbakan
Kailangan mong i-upload ang iyong pampublikong susi sa Heroku:
heroku keys: magdagdag ng ~/.ssh/id_rsa.pub
Kung wala kang pampublikong susi, ipo-prompt ka ni Heroku na awtomatikong magdagdag ng isa na gumagana nang walang putol. Gamitin lamang ang:
heroku keys: idagdag
ipaalam sa akin kung ito ay gumagana!
Magandang gabay, ngunit paano kung gusto kong intall ang joomla para sa aking website, paano ito makakamit?
Hi…. Nagtatrabaho ako sa Windows, at nalaman kong gumana nang maayos ang lahat hanggang sa huling hakbang git push heroku master
C:\Users\Larry\myapp>git push heroku master
Ilagay ang passphrase para sa key na '/c/Users/Larry/.ssh/id_rsa':
Sinisimulan ang repositoryo, tapos na.
error: walang tugma ang src refspec master.
error: nabigong itulak ang ilang ref sa '[protektado ng email]:morning-plains-5813.git'
Sinunod ko ang iyong tutorial sa lahat ng paraan at matagumpay na na-deploy ang app. Gayunpaman, kailangan kong i-restart ang aking computer ngayon lang at nang buksan ko ang terminal ay hindi na ito nakatakda sa proseso ng heroku. Paano ako babalik sa katayuan ng pagiging ale para i-deploy?
Alam kong mukhang pipi ito, ngunit talagang mahirap para sa akin dahil hindi ako gumagamit ng command line maliban sa isang proyektong ito. Pinahahalagahan ko ang tulong. Maraming salamat
Bagama't mahusay din ang Heroku sa pag-deploy ng mga PHP app, nagamit mo na rin ba ang Cloudways PHP hosting platform? Ito ay katulad ng Heroku dahil ito ay isang solusyon sa PaaS, ngunit sa kanilang platform, maaari kang mag-host at mag-deploy ng PHP app sa mga pinamamahalaang server upang hindi mo na kailangang mag-install ng OS o mag-stack sa iyong sarili. Makakatipid ito ng malaking oras na sa halip ay ginugol sa pag-set up at pamamahala sa server.