{"id":891,"date":"2013-10-14T14:17:53","date_gmt":"2013-10-14T11:17:53","guid":{"rendered":"http:\/\/www.scozturk.com\/?p=5"},"modified":"2025-08-27T12:28:23","modified_gmt":"2025-08-27T12:28:23","slug":"lorem-ipsum","status":"publish","type":"post","link":"http:\/\/18.193.70.38\/?p=891&lang=tr","title":{"rendered":"Pardus\u2019a CakePHP Y\u00fcklemek"},"content":{"rendered":"<p>Merhabalar,<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/web.archive.org\/web\/20120430191926im_\/http:\/\/cakephp.org\/img\/cake-logo.png\" width=\"180\" height=\"180\" \/><\/p>\n<p>Uzun zamandan sonra yeni bir yaz\u0131yla yine kar\u015f\u0131n\u0131zday\u0131m :P. 90\u2032l\u0131 y\u0131llardan beri web teknolojilerinde geli\u015fme olmu\u015f mu diye bir ara\u015ft\u0131rma yapmak istedim. Bir bakt\u0131m etraf \u201cweb applications frameworklerle\u201d dolmu\u015f. Asl\u0131nda Django daha \u00e7ok ho\u015fuma gitti (ki bu konuya daha sonra de\u011finmeyi planl\u0131yorum) ama sunucu firmas\u0131n\u0131n sa\u011flad\u0131\u011f\u0131 web alan\u0131na CakePHP kurmam \u00e7ok daha kolay olaca\u011f\u0131 i\u00e7in CakePHP konusuna biraz bakay\u0131m dedim.<\/p>\n<p>Bu yaz\u0131mda Pardus\u2019a CakePHP y\u00fckleme konusunu sizinle payla\u015faca\u011f\u0131m \u00e7\u00fcnk\u00fc CakePHP\u2019nin sitesindeki kurulum ad\u0131mlar\u0131ndan biraz daha farkl\u0131 ad\u0131mlardan ge\u00e7mek gerekiyor. CakePHP ile ilgili detayl\u0131 bilgi, \u00e7al\u0131\u015fma mant\u0131\u011f\u0131 ve benzeri konular i\u00e7in l\u00fctfen <a href=\"http:\/\/web.archive.org\/web\/20120430191926\/http:\/\/cakephp.org\/\" target=\"_blank\">web sitesini<\/a> ziyaret ediniz.<\/p>\n<p><strong>1) Gereksinimler<\/strong><\/p>\n<p>&#8211; MySQL veritaban\u0131<\/p>\n<p>&#8211; PHP deste\u011fi<\/p>\n<p>&#8211; Apache Sunucusu<\/p>\n<p>&#8211; phpMyAdmin<\/p>\n<p>Yukar\u0131dakilerin hepsini PiSi arac\u0131l\u0131\u011f\u0131yla y\u00fckleyebilirsiniz. Tak\u0131l\u0131rsan\u0131z bunlar\u0131n kurulumlar\u0131yla ilgili yaz\u0131lar arayabilirsiniz, yeterince bilgi internette var. Mesela <a href=\"http:\/\/web.archive.org\/web\/20120430191926\/http:\/\/blog.serkanceken.com\/pardus-apache-mysql-phpmyadmin-kurulumu.html\" target=\"_blank\">http:\/\/blog.serkanceken.com\/pardus-apache-mysql-phpmyadmin-kurulumu.html<\/a> adresine bakabilirsiniz.<\/p>\n<p><strong>2) CakePHP Edinelim<\/strong><\/p>\n<p>Evet t\u00fcm gereksinimleri kar\u015f\u0131lad\u0131k. \u015eimdi CakePHP edinelim. <a href=\"http:\/\/web.archive.org\/web\/20120430191926\/http:\/\/cakephp.org\/\" target=\"_blank\">http:\/\/cakephp.org\/<\/a> adresinden son s\u00fcr\u00fcm\u00fc indirip bilgisayar\u0131m\u0131zda <em>\/var\/www\/localhost\/htdocs<\/em> klas\u00f6r\u00fcne a\u00e7al\u0131m.<\/p>\n<p>Bu klas\u00f6re koydu\u011funuz verileri web taray\u0131c\u0131n\u0131z ile g\u00f6r\u00fcnt\u00fclemeniz m\u00fcmk\u00fcn olacak. Yani web taray\u0131c\u0131n\u0131zla <em>localhost<\/em> adresine giderseniz ula\u015faca\u011f\u0131n\u0131z klas\u00f6r asl\u0131nda buras\u0131. Tabi t\u00fcm bunlar\u0131 yapmadan \u00f6nce Apache sunucunuzu etkinle\u015ftirmeniz gerekiyor (MySQL\u2019i de haz\u0131r yeri gelmi\u015fken etkinle\u015ftirseniz fena olmaz). Tasma\u2019y\u0131 kullanabilirsiniz bu i\u015f i\u00e7in, <em>Tasma-&gt;Sistem Se\u00e7enekleri-&gt;Servis Y\u00f6neticisi<\/em>.<\/p>\n<p><strong>3) Veritaban\u0131 Olu\u015ftural\u0131m<\/strong><\/p>\n<p>\u015eimdi de denemelerimizi yaparken kullanaca\u011f\u0131m\u0131z veritaban\u0131m\u0131z\u0131 olu\u015ftural\u0131m.Hemen phpMyAdmin\u2019imizi a\u00e7al\u0131m ( <a href=\"http:\/\/web.archive.org\/web\/20120430191926\/http:\/\/127.0.0.1\/phpmyadmin\" target=\"_blank\">http:\/\/127.0.0.1\/phpmyadmin<\/a> ). Bu ara\u00e7 ile veritabanlar\u0131n\u0131z\u0131 g\u00f6rsel bir \u015fekilde y\u00f6netebileceksiniz. Bu arac\u0131 kullanarak hemen bo\u015f bir veritaban\u0131 olu\u015ftural\u0131m ve ad\u0131n\u0131 \u201c<em>kektarifi<\/em>\u201d koyal\u0131m.<\/p>\n<p>Asl\u0131nda bu a\u015famada kullanaca\u011f\u0131m\u0131z tablolar\u0131 da olu\u015fturabiliriz ama \u015fimdilik bu ad\u0131m\u0131 ge\u00e7elim. Bir sonraki yaz\u0131da \u00f6rnek olarak CakePHP kullanarak bir kek tarifi yaz\u0131l\u0131m\u0131 yapaca\u011f\u0131m. Bu yaz\u0131n\u0131n amac\u0131 en ba\u015fta dedi\u011fim gibi sadece kurulum ve ayarlamalarla ilgili konulara de\u011finmek.<\/p>\n<p><strong>4) CakePHP Veritaban\u0131 Ba\u011flant\u0131s\u0131n\u0131 Ayarlayal\u0131m <\/strong><\/p>\n<p>Veritaban\u0131 ba\u011flant\u0131s\u0131n\u0131 ayarlayabilmek i\u00e7in \u00f6ncelikle ana CakePHP klas\u00f6r\u00fcn\u00fcn i\u00e7indeki <em>\/app\/config\/database.php.default<\/em> dosyas\u0131n\u0131n bir kopyas\u0131n\u0131 olu\u015fturup <em>\/app\/config\/database.php<\/em> olarak kaydedelim.<\/p>\n<p>Ard\u0131ndan database.php dosyas\u0131n\u0131 a\u00e7al\u0131m ve <em>$defaut<\/em> ad\u0131ndaki dizinin de\u011ferlerini ger\u00e7ek de\u011ferlerle de\u011fi\u015ftirelim.Mesela veritaban\u0131 ad\u0131, kullan\u0131c\u0131 ad\u0131, \u015fifre, veritaban\u0131 tipi ve benzeri de\u011ferleri kendi sistemimizle uyumlu olacak \u015fekilde girelim. Kullan\u0131c\u0131 ad\u0131 ve \u015fifre burada phpMyAdmin kullan\u0131rken kulland\u0131\u011f\u0131n\u0131z kullan\u0131c\u0131 ad\u0131 ve \u015fifredir.<\/p>\n<p><strong>5) mod_rewrite Sorunu<\/strong><\/p>\n<p>Ba\u015fka sistemlerden farkl\u0131 olarak Pardus\u2019da mod_rewrite\u2019\u0131 etkinle\u015ftirmek i\u00e7in fazladan bir ad\u0131mdan ge\u00e7mek gerekiyor.<\/p>\n<p>\u00d6ncelikle apache ayar dosyam\u0131zda ( <em>\/etc\/apache2\/httpd.conf<\/em> ) <em>AllowOverride<\/em> parametrelerinden do\u011fru klas\u00f6rle ilgilenenini <em>All<\/em> olarak ayarlayal\u0131m. \u015eimdilik g\u00fcvenlikle ilgilenmiyorsan\u0131z ve sadece sistemi \u00e7al\u0131\u015ft\u0131rmak istiyorsan\u0131z <em>&lt;Directory \/&gt;<\/em> i\u00e7in <em>AllowOverride<\/em>\u2018\u0131 <em>All <\/em>olarak ayarlayabilirsiniz.<\/p>\n<p>Bir de <em>\/etc\/apache2\/vhosts.d\/00_default_vhost.conf<\/em> dosyas\u0131ndaki <em>AllowOverride<\/em> de\u011ferini de <em>All<\/em>\u2018a ayarlayal\u0131m.<\/p>\n<p><strong>6) Yazma Yetkileri<\/strong><\/p>\n<p>\/app\/tmp klas\u00f6r\u00fcne yazma yetkisi vermemiz gerekiyor. Bunun i\u00e7in<\/p>\n<p><em>chmod -R 777 \/app\/tmp <\/em><\/p>\n<p>komutunu kullanabilirsiniz. Asl\u0131nda sadece web sunucusu taraf\u0131ndan kullan\u0131lan kullan\u0131c\u0131 i\u00e7in yazma yetkisi verilse daha iyi olurdu ama \u015fimdilik tamamen deneme ama\u00e7l\u0131 \u00e7al\u0131\u015ft\u0131\u011f\u0131m\u0131zdan bu t\u00fcr detaylara dikkat etmemize gerek yok.<\/p>\n<p><strong>7) Hash Ayar\u0131<\/strong><\/p>\n<p>Asl\u0131nda \u015fu an sistemimiz haz\u0131r ama <em>Security.salt<\/em> meselesini de haz\u0131r yeri gelmi\u015fken d\u00fczeltelim. Bunun i\u00e7in <em>\/app\/config\/core.php<\/em> dosyas\u0131n\u0131 a\u00e7\u0131p 153. sat\u0131ra gelelim ve <em>Security.Salt<\/em>\u2018\u0131n de\u011ferini orada yaz\u0131l\u0131 bulunan de\u011ferden farkl\u0131 bir de\u011fer atayarak de\u011fi\u015ftirelim. <em>core.php<\/em> dosyas\u0131n\u0131 kaydedip kapatal\u0131m.<\/p>\n<p><strong>8) Son<\/strong><\/p>\n<p>Kurulum i\u015flemlerini ve ayarlar\u0131 tamamlad\u0131k. \u015eimdi <em>http:\/\/127.0.0.1\/CAKEKLAS\u00d6R\u00dcN\u00dcZ<\/em> adresine giderseniz CakePHP sistemi ile kar\u015f\u0131la\u015facaks\u0131n\u0131z.<\/p>\n<p>Herhangi bir sorun yoksa:<\/p>\n<p>&#8211; tmp klas\u00f6r\u00fcn\u00fcz\u00fcn yaz\u0131labilir oldu\u011fu<\/p>\n<p>&#8211; veritaban\u0131n\u0131z\u0131n ayarl\u0131 oldu\u011fu<\/p>\n<p>&#8211; veritaban\u0131n\u0131za ba\u011flan\u0131labildi\u011fi<\/p>\n<p>size bu sayfada bildirilecektir. Ayr\u0131ca bu sayfan\u0131n, <em>mod_rewrite<\/em> konusunda s\u0131k\u0131nt\u0131 \u00e7\u0131kmad\u0131ysa, grafik \u00f6zellikleri bulunan (resim ve css) bir sayfa olmas\u0131 gerekiyor. E\u011fer de\u011filse o zaman <em>mod_rewrite<\/em> konusunda fazladan birka\u00e7 ayar yapman\u0131z gerekebilir.<\/p>\n<p>\u015eimdilik bu kadar, bir sonraki yaz\u0131da g\u00f6r\u00fc\u015fmek \u00fczere. Umar\u0131m i\u015finize yarar.<\/p>\n<p>Kolay gelsin. \u0130yi kodlamalar.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Merhabalar, Uzun zamandan sonra yeni bir yaz\u0131yla yine kar\u015f\u0131n\u0131zday\u0131m :P. 90\u2032l\u0131 y\u0131llardan beri web teknolojilerinde geli\u015fme olmu\u015f mu diye bir ara\u015ft\u0131rma yapmak istedim. Bir bakt\u0131m etraf \u201cweb applications&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[231],"tags":[],"class_list":["post-891","post","type-post","status-publish","format-standard","hentry","category-linux-tr"],"_links":{"self":[{"href":"http:\/\/18.193.70.38\/index.php?rest_route=\/wp\/v2\/posts\/891","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/18.193.70.38\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/18.193.70.38\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/18.193.70.38\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/18.193.70.38\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=891"}],"version-history":[{"count":1,"href":"http:\/\/18.193.70.38\/index.php?rest_route=\/wp\/v2\/posts\/891\/revisions"}],"predecessor-version":[{"id":1162,"href":"http:\/\/18.193.70.38\/index.php?rest_route=\/wp\/v2\/posts\/891\/revisions\/1162"}],"wp:attachment":[{"href":"http:\/\/18.193.70.38\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=891"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/18.193.70.38\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=891"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/18.193.70.38\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=891"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}