{"id":30972,"date":"2025-10-04T05:40:56","date_gmt":"2025-10-04T02:40:56","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=30972"},"modified":"2025-10-04T05:40:56","modified_gmt":"2025-10-04T02:40:56","slug":"ubuntu-14-04-uzerine-lamp-linux-apache-mysql-php-yigini-kurulumu","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerine-lamp-linux-apache-mysql-php-yigini-kurulumu\/","title":{"rendered":"Ubuntu 14.04 \u00dczerine LAMP (Linux, Apache, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu 14.04 \u00dczerine LAMP (Linux, Apache, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu<\/h2>\n<p>LAMP y\u0131\u011f\u0131n\u0131, dinamik web uygulamalar\u0131 geli\u015ftirmek ve bar\u0131nd\u0131rmak i\u00e7in d\u00fcnya genelinde en pop\u00fcler ve g\u00fc\u00e7l\u00fc a\u00e7\u0131k kaynakl\u0131 yaz\u0131l\u0131m koleksiyonlar\u0131ndan biridir. &#8220;LAMP&#8221; k\u0131saltmas\u0131, her biri belirli bir rol\u00fc \u00fcstlenen d\u00f6rt temel bile\u015feni temsil eder: <strong>L<\/strong>inux (i\u015fletim sistemi), <strong>A<\/strong>pache (web sunucusu), <strong>M<\/strong>ySQL (ili\u015fkisel veritaban\u0131 y\u00f6netim sistemi) ve <strong>P<\/strong>HP (sunucu taraf\u0131 betik dili). Bu makale, Ubuntu 14.04 sunucu i\u015fletim sistemi \u00fczerine bu bile\u015fenlerin ad\u0131m ad\u0131m nas\u0131l kurulaca\u011f\u0131n\u0131 ve yap\u0131land\u0131r\u0131laca\u011f\u0131n\u0131 detayl\u0131 bir \u015fekilde a\u00e7\u0131klayacakt\u0131r. Ubuntu 14.04, uzun s\u00fcreli destek (LTS) sunan stabil bir s\u00fcr\u00fcm olup, bir\u00e7ok sunucu ortam\u0131nda hala yayg\u0131n olarak kullan\u0131lmaktad\u0131r.<\/p>\n<h3>Giri\u015f<\/h3>\n<p>LAMP y\u0131\u011f\u0131n\u0131, web geli\u015ftiricileri ve sistem y\u00f6neticileri i\u00e7in \u00e7ok y\u00f6nl\u00fc ve maliyet etkin bir \u00e7\u00f6z\u00fcmd\u00fcr. Linux&#8217;un sa\u011flaml\u0131\u011f\u0131, Apache&#8217;nin esnekli\u011fi, MySQL&#8217;in g\u00fc\u00e7l\u00fc veritaban\u0131 yetenekleri ve PHP&#8217;nin dinamik i\u00e7erik olu\u015fturma kabiliyeti bir araya geldi\u011finde, k\u00fc\u00e7\u00fck ki\u015fisel bloglardan b\u00fcy\u00fck \u00f6l\u00e7ekli kurumsal uygulamalara kadar geni\u015f bir yelpazede projeleri destekleyebilir. Bu makalede, her bir bile\u015fenin kurulumu ve temel yap\u0131land\u0131rmas\u0131 ayr\u0131nt\u0131l\u0131 bir \u015fekilde ele al\u0131nacak, b\u00f6ylece kurulum sonras\u0131 web uygulaman\u0131z\u0131 \u00e7al\u0131\u015ft\u0131rmaya haz\u0131r bir ortam elde edeceksiniz.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>Kuruluma ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki \u00f6n gereksinimlerin kar\u015f\u0131land\u0131\u011f\u0131ndan emin olman\u0131z \u00f6nemlidir:<\/p>\n<p>*   <strong>Ubuntu 14.04 Y\u00fckl\u00fc Bir Sunucu veya Sanal Makine:<\/strong> Bu kurulum rehberi, temiz bir Ubuntu 14.04 LTS kurulumu varsaymaktad\u0131r. Fiziksel bir sunucu, bir sanal makine (\u00f6rne\u011fin VirtualBox, VMware) veya bir bulut sunucusu (\u00f6rne\u011fin AWS EC2, DigitalOcean Droplet) olabilir.<br \/>\n*   <strong>Sudo Yetkilerine Sahip Bir Kullan\u0131c\u0131 Hesab\u0131:<\/strong> Kurulum ad\u0131mlar\u0131n\u0131n \u00e7o\u011fu root ayr\u0131cal\u0131klar\u0131 gerektirecektir. G\u00fcvenlik nedeniyle do\u011frudan root kullan\u0131c\u0131s\u0131 yerine <code>sudo<\/code> yetkilerine sahip standart bir kullan\u0131c\u0131 kullan\u0131lmas\u0131 \u00f6nerilir.<br \/>\n*   <strong>\u0130nternet Ba\u011flant\u0131s\u0131:<\/strong> Paketleri indirmek ve sistem g\u00fcncellemelerini yapmak i\u00e7in sunucunuzun aktif bir internet ba\u011flant\u0131s\u0131na sahip olmas\u0131 gerekmektedir.<br \/>\n*   <strong>SSH Eri\u015fimi (\u0130ste\u011fe Ba\u011fl\u0131 ama \u00d6nerilir):<\/strong> Sunucuya SSH \u00fczerinden ba\u011flanmak, komutlar\u0131 kopyalay\u0131p yap\u0131\u015ft\u0131rmay\u0131 kolayla\u015ft\u0131r\u0131r ve daha g\u00fcvenli bir y\u00f6netim sa\u011flar.<\/p>\n<h3>Ad\u0131m 1: Ubuntu Sistemini G\u00fcncelleme<\/h3>\n<p>Herhangi bir yaz\u0131l\u0131m kurulumuna ba\u015flamadan \u00f6nce, sisteminizin g\u00fcncel oldu\u011fundan emin olmak iyi bir pratiktir. Bu, olas\u0131 ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131n\u0131 \u00f6nler ve en son g\u00fcvenlik yamalar\u0131n\u0131 alman\u0131z\u0131 sa\u011flar.<\/p>\n<p>Komut sat\u0131r\u0131n\u0131z\u0131 a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get update\nsudo apt-get upgrade<\/code><\/pre>\n<p>*   <code>sudo apt-get update<\/code>: Bu komut, yerel paket indeksinizi g\u00fcnceller. Bu indeks, depolarda bulunan en son paket s\u00fcr\u00fcmlerinin ve ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131n bir listesidir.<br \/>\n*   <code>sudo apt-get upgrade<\/code>: Bu komut, <code>update<\/code> komutuyla al\u0131nan bilgilere dayanarak sisteminizdeki t\u00fcm y\u00fckl\u00fc paketleri en son s\u00fcr\u00fcmlerine y\u00fckseltir.<\/p>\n<p>G\u00fcncelleme i\u015flemi biraz zaman alabilir. \u0130\u015flem tamamland\u0131\u011f\u0131nda, sisteminizin en g\u00fcncel durumda oldu\u011fundan emin olabilirsiniz.<\/p>\n<h3>Ad\u0131m 2: Apache Web Sunucusunu Kurma<\/h3>\n<p>Apache HTTP Sunucusu, d\u00fcnya genelinde en yayg\u0131n kullan\u0131lan web sunucular\u0131ndan biridir. Esnekli\u011fi, kararl\u0131l\u0131\u011f\u0131 ve geni\u015f mod\u00fcl deste\u011fi sayesinde bir\u00e7ok web sitesi ve uygulama i\u00e7in tercih edilen bir \u00e7\u00f6z\u00fcmd\u00fcr.<\/p>\n<h4>Apache Kurulumu<\/h4>\n<p>Apache&#8217;yi kurmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install apache2<\/code><\/pre>\n<p>Bu komut, Apache web sunucusunu ve gerekli t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 y\u00fckleyecektir. Kurulum s\u0131ras\u0131nda sizden onay istenebilir; <code>Y<\/code> tu\u015funa bas\u0131p <code>Enter<\/code> ile devam edin.<\/p>\n<h4>G\u00fcvenlik Duvar\u0131 Yap\u0131land\u0131rmas\u0131 (UFW)<\/h4>\n<p>Ubuntu 14.04 genellikle Uncomplicated Firewall (UFW) ile birlikte gelir. E\u011fer UFW etkinse, web sunucusunun d\u0131\u015far\u0131dan eri\u015filebilir olmas\u0131 i\u00e7in HTTP (port 80) trafi\u011fine izin vermeniz gerekir.<\/p>\n<p>\u00d6ncelikle, UFW&#8217;nin durumunu kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo ufw status<\/code><\/pre>\n<p>E\u011fer UFW etkinse ve Apache profili mevcutsa, a\u015fa\u011f\u0131daki komutla Apache&#8217;ye izin verin:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 'Apache'<\/code><\/pre>\n<p>Bu komut, hem HTTP (port 80) hem de HTTPS (port 443) trafi\u011fine izin veren &#8220;Apache Full&#8221; profilini kullan\u0131r. E\u011fer sadece HTTP&#8217;ye izin vermek isterseniz <code>sudo ufw allow 'Apache'<\/code> yerine <code>sudo ufw allow 'Apache'<\/code> kullanabilirsiniz. Genellikle <code>Apache Full<\/code> \u00f6nerilir.<\/p>\n<p>Ard\u0131ndan, UFW&#8217;yi yeniden etkinle\u015ftirmeniz veya yap\u0131land\u0131rmay\u0131 uygulaman\u0131z gerekebilir:<\/p>\n<pre><code class=\"language-bash\">sudo ufw enable<\/code><\/pre>\n<h4>Apache Durumunu Kontrol Etme<\/h4>\n<p>Apache&#8217;nin d\u00fczg\u00fcn bir \u015fekilde \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo service apache2 status<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>apache2 is running<\/code> veya benzeri bir ifade g\u00f6rmelisiniz.<\/p>\n<h4>Varsay\u0131lan Apache Sayfas\u0131n\u0131 Kontrol Etme<\/h4>\n<p>Kurulumun ba\u015far\u0131l\u0131 olup olmad\u0131\u011f\u0131n\u0131 g\u00f6rsel olarak do\u011frulamak i\u00e7in web taray\u0131c\u0131n\u0131z\u0131 a\u00e7\u0131n ve sunucunuzun IP adresini girin:<\/p>\n<p><code>http:\/\/sunucu_ip_adresi<\/code><\/p>\n<p>E\u011fer her \u015fey yolundaysa, &#8220;It works!&#8221; yazan Ubuntu&#8217;nun varsay\u0131lan Apache kar\u015f\u0131lama sayfas\u0131n\u0131 g\u00f6rmelisiniz. Sunucunuzun IP adresini bilmiyorsan\u0131z, a\u015fa\u011f\u0131daki komutla \u00f6\u011frenebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's\/\\\/.*$\/\/'<\/code><\/pre>\n<p>veya daha basit\u00e7e:<\/p>\n<pre><code class=\"language-bash\">curl -4 icanhazip.com<\/code><\/pre>\n<h3>Ad\u0131m 3: MySQL Veritaban\u0131 Sunucusunu Kurma<\/h3>\n<p>MySQL, LAMP y\u0131\u011f\u0131n\u0131n\u0131n veritaban\u0131 y\u00f6netim sistemidir. Web uygulamalar\u0131n\u0131z\u0131n verilerini depolamak ve y\u00f6netmek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<h4>MySQL Kurulumu<\/h4>\n<p>MySQL sunucusunu ve istemcisini kurmak i\u00e7in a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install mysql-server mysql-client<\/code><\/pre>\n<p>Kurulum s\u0131ras\u0131nda, MySQL <code>root<\/code> kullan\u0131c\u0131s\u0131 i\u00e7in bir parola belirlemeniz istenecektir. Bu parola, veritaban\u0131 sunucusunun y\u00f6netiminde kullan\u0131lacak kritik bir parolad\u0131r, bu y\u00fczden g\u00fc\u00e7l\u00fc ve hat\u0131rlayabilece\u011finiz bir parola se\u00e7ti\u011finizden emin olun. Parolay\u0131 iki kez girerek onaylaman\u0131z gerekecektir.<\/p>\n<h4>MySQL G\u00fcvenli Kurulumu<\/h4>\n<p>MySQL kurulumunu tamamlad\u0131ktan sonra, veritaban\u0131 sunucunuzun g\u00fcvenli\u011fini art\u0131rmak i\u00e7in baz\u0131 ad\u0131mlar atman\u0131z \u00f6nerilir. MySQL, bu ama\u00e7la kullan\u0131\u015fl\u0131 bir betik sa\u011flar:<\/p>\n<pre><code class=\"language-bash\">sudo mysql_secure_installation<\/code><\/pre>\n<p>Bu betik size a\u015fa\u011f\u0131daki sorular\u0131 soracakt\u0131r:<\/p>\n<p>1.  <strong>Enter current password for root (enter for none):<\/strong> MySQL <code>root<\/code> kullan\u0131c\u0131s\u0131 i\u00e7in az \u00f6nce belirledi\u011finiz parolay\u0131 girin.<br \/>\n2.  <strong>Change the root password? [Y\/n]:<\/strong> Genellikle <code>n<\/code> (hay\u0131r) se\u00e7ene\u011fini se\u00e7melisiniz, \u00e7\u00fcnk\u00fc kurulum s\u0131ras\u0131nda zaten bir parola belirlediniz.<br \/>\n3.  <strong>Remove anonymous users? [Y\/n]:<\/strong> <code>Y<\/code> (evet) se\u00e7ene\u011fini se\u00e7mek iyi bir g\u00fcvenlik uygulamas\u0131d\u0131r. Bu, herkesin oturum a\u00e7mas\u0131n\u0131 engelleyerek yetkisiz eri\u015fimi \u00f6nler.<br \/>\n4.  <strong>Disallow root login remotely? [Y\/n]:<\/strong> <code>Y<\/code> (evet) se\u00e7ene\u011fini se\u00e7meniz \u00f6nerilir. Bu, <code>root<\/code> kullan\u0131c\u0131s\u0131n\u0131n yaln\u0131zca yerel makineden (sunucunun kendisi) veritaban\u0131na eri\u015fmesine izin verir. Uzaktan eri\u015fime izin vermek isterseniz daha sonra \u00f6zel bir kullan\u0131c\u0131 olu\u015fturman\u0131z daha g\u00fcvenlidir.<br \/>\n5.  <strong>Remove test database and access to it? [Y\/n]:<\/strong> <code>Y<\/code> (evet) se\u00e7ene\u011fini se\u00e7in. Test veritaban\u0131 herkes taraf\u0131ndan eri\u015filebilir ve g\u00fcvenlik a\u00e7\u0131\u011f\u0131 olu\u015fturabilir.<br \/>\n6.  <strong>Reload privilege tables now? [Y\/n]:<\/strong> <code>Y<\/code> (evet) se\u00e7ene\u011fini se\u00e7in. Bu, yapt\u0131\u011f\u0131n\u0131z de\u011fi\u015fikliklerin hemen etkili olmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra MySQL kurulumunuzun g\u00fcvenli\u011fi \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131lm\u0131\u015f olacakt\u0131r.<\/p>\n<h4>MySQL Hizmetini Kontrol Etme<\/h4>\n<p>MySQL sunucusunun \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo service mysql status<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>mysql start\/running<\/code> veya benzeri bir ifade g\u00f6rmelisiniz.<\/p>\n<h3>Ad\u0131m 4: PHP Kurulumu ve Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>PHP, dinamik web i\u00e7eri\u011fi olu\u015fturmak i\u00e7in kullan\u0131lan sunucu taraf\u0131 bir betik dilidir. LAMP y\u0131\u011f\u0131n\u0131n\u0131n &#8220;P&#8221; harfini temsil eder ve web sitenizin kullan\u0131c\u0131larla etkile\u015fim kurmas\u0131n\u0131 sa\u011flar.<\/p>\n<h4>PHP ve Gerekli Mod\u00fcllerin Kurulumu<\/h4>\n<p>Ubuntu 14.04 i\u00e7in PHP 5.x s\u00fcr\u00fcm\u00fc mevcuttur. PHP&#8217;yi ve Apache ile MySQL ile ileti\u015fim kurmak i\u00e7in gerekli mod\u00fclleri kural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install php5 libapache2-mod-php5 php5-mysql php5-cli php5-gd php5-curl php5-mcrypt<\/code><\/pre>\n<p>Bu komut a\u015fa\u011f\u0131daki paketleri y\u00fckleyecektir:<\/p>\n<p>*   <code>php5<\/code>: Temel PHP paketi.<br \/>\n*   <code>libapache2-mod-php5<\/code>: PHP&#8217;nin Apache ile bir mod\u00fcl olarak \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flayan paket. Bu, PHP kodlar\u0131n\u0131n Apache taraf\u0131ndan i\u015flenmesini sa\u011flar.<br \/>\n*   <code>php5-mysql<\/code>: PHP&#8217;nin MySQL veritabanlar\u0131 ile etkile\u015fim kurmas\u0131n\u0131 sa\u011flayan mod\u00fcl.<br \/>\n*   <code>php5-cli<\/code>: Komut sat\u0131r\u0131ndan PHP betiklerini \u00e7al\u0131\u015ft\u0131rmak i\u00e7in kullan\u0131lan PHP CLI (Command Line Interface) yorumlay\u0131c\u0131s\u0131.<br \/>\n*   <code>php5-gd<\/code>: G\u00f6r\u00fcnt\u00fc i\u015fleme fonksiyonlar\u0131 (\u00f6rne\u011fin, k\u00fc\u00e7\u00fck resimler olu\u015fturma, captcha&#8217;lar) i\u00e7in GD k\u00fct\u00fcphanesi.<br \/>\n*   <code>php5-curl<\/code>: Uzak sunucularla HTTP istekleri yapmak i\u00e7in cURL k\u00fct\u00fcphanesi.<br \/>\n*   <code>php5-mcrypt<\/code>: \u015eifreleme fonksiyonlar\u0131 i\u00e7in mcrypt k\u00fct\u00fcphanesi.<\/p>\n<p>\u0130htiya\u00e7lar\u0131n\u0131za g\u00f6re ba\u015fka PHP mod\u00fclleri de kurman\u0131z gerekebilir (\u00f6rne\u011fin, <code>php5-intl<\/code>, <code>php5-json<\/code>, <code>php5-xml<\/code>). Bunlar\u0131 daha sonra da kurabilirsiniz.<\/p>\n<h4>Apache&#8217;nin PHP Mod\u00fcl\u00fcn\u00fc Etkinle\u015ftirme<\/h4>\n<p><code>libapache2-mod-php5<\/code> paketi kuruldu\u011funda, Apache genellikle PHP mod\u00fcl\u00fcn\u00fc otomatik olarak etkinle\u015ftirir. Ancak, de\u011fi\u015fikliklerin etkili olmas\u0131 i\u00e7in Apache web sunucusunu yeniden ba\u015flatman\u0131z gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo service apache2 restart<\/code><\/pre>\n<h3>Ad\u0131m 5: LAMP Y\u0131\u011f\u0131n\u0131n\u0131 Test Etme<\/h3>\n<p>Art\u0131k LAMP y\u0131\u011f\u0131n\u0131n\u0131n t\u00fcm bile\u015fenlerini kurmu\u015f durumday\u0131z. Kurulumun d\u00fczg\u00fcn bir \u015fekilde \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 ve PHP&#8217;nin Apache ile do\u011fru bir \u015fekilde entegre oldu\u011funu do\u011frulamak i\u00e7in basit bir PHP beti\u011fi olu\u015ftural\u0131m.<\/p>\n<h4><code>phpinfo()<\/code> Dosyas\u0131 Olu\u015fturma<\/h4>\n<p>Web sunucunuzun varsay\u0131lan belge k\u00f6k\u00fc genellikle <code>\/var\/www\/html<\/code> dizinidir. Bu dizinde <code>info.php<\/code> ad\u0131nda yeni bir dosya olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/var\/www\/html\/info.php<\/code><\/pre>\n<p>Dosyan\u0131n i\u00e7ine a\u015fa\u011f\u0131daki i\u00e7eri\u011fi yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-php\"><?php\nphpinfo();\n?><\/code><\/pre>\n<p>Kaydedin ve d\u00fczenleyiciden \u00e7\u0131k\u0131n (Nano&#8217;da <code>Ctrl+X<\/code>, ard\u0131ndan <code>Y<\/code> ve <code>Enter<\/code>).<\/p>\n<h4>Taray\u0131c\u0131dan Kontrol Etme<\/h4>\n<p>Web taray\u0131c\u0131n\u0131z\u0131 a\u00e7\u0131n ve a\u015fa\u011f\u0131daki adresi girerek <code>info.php<\/code> dosyas\u0131na eri\u015fin:<\/p>\n<p><code>http:\/\/sunucu_ip_adresi\/info.php<\/code><\/p>\n<p>E\u011fer her \u015fey yolundaysa, PHP s\u00fcr\u00fcm\u00fcn\u00fcz, yap\u0131land\u0131rma ayarlar\u0131n\u0131z ve y\u00fckl\u00fc mod\u00fclleriniz hakk\u0131nda ayr\u0131nt\u0131l\u0131 bilgi i\u00e7eren bir PHP bilgi sayfas\u0131 g\u00f6rmelisiniz. Bu sayfa, Apache&#8217;nin PHP&#8217;yi do\u011fru bir \u015fekilde i\u015fledi\u011fini ve PHP&#8217;nin \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frular.<\/p>\n<h4>Test Dosyas\u0131n\u0131 Silme (G\u00fcvenlik \u0130\u00e7in)<\/h4>\n<p><code>phpinfo()<\/code> sayfas\u0131, sunucunuz hakk\u0131nda hassas bilgiler i\u00e7erir. G\u00fcvenlik nedeniyle, bu sayfay\u0131 testten sonra kald\u0131rman\u0131z veya ad\u0131n\u0131 de\u011fi\u015ftirmeniz \u015fiddetle tavsiye edilir:<\/p>\n<pre><code class=\"language-bash\">sudo rm \/var\/www\/html\/info.php<\/code><\/pre>\n<p>Bu, potansiyel sald\u0131rganlar\u0131n sunucunuz hakk\u0131nda bilgi toplamas\u0131n\u0131 engeller.<\/p>\n<h3>Ek Apache Yap\u0131land\u0131rmalar\u0131<\/h3>\n<p>LAMP y\u0131\u011f\u0131n\u0131 kurulumunuz art\u0131k temel olarak tamamlanm\u0131\u015ft\u0131r. Ancak, \u00e7o\u011fu ger\u00e7ek d\u00fcnya senaryosu i\u00e7in baz\u0131 ek Apache yap\u0131land\u0131rmalar\u0131 gerekebilir.<\/p>\n<h4>Sanal Hostlar (Virtual Hosts)<\/h4>\n<p>Tek bir sunucu \u00fczerinde birden fazla web sitesi bar\u0131nd\u0131rmak istiyorsan\u0131z, Apache sanal hostlar\u0131 kullanman\u0131z gerekir. Her sanal host, kendi belge k\u00f6k\u00fcne (DocumentRoot), log dosyalar\u0131na ve di\u011fer yap\u0131land\u0131rmalara sahip ayr\u0131 bir web sitesini temsil eder.<\/p>\n<h5>Yeni Bir Sanal Host Olu\u015fturma<\/h5>\n<p>1.  <strong>Dizin Yap\u0131s\u0131 Olu\u015fturma:<\/strong> Yeni web siteniz i\u00e7in bir dizin olu\u015fturun. \u00d6rne\u011fin, <code>ornekalanadi.com<\/code> i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/var\/www\/ornekalanadi.com\/public_html<\/code><\/pre>\n<p>2.  <strong>Dizin \u0130zinlerini Ayarlama:<\/strong> Apache&#8217;nin bu dizine yazma ve okuma izinlerine sahip oldu\u011fundan emin olun:<\/p>\n<pre><code class=\"language-bash\">sudo chown -R www-data:www-data \/var\/www\/ornekalanadi.com\n    sudo chmod -R 755 \/var\/www\/ornekalanadi.com<\/code><\/pre>\n<p>3.  <strong>Test HTML Sayfas\u0131 Olu\u015fturma:<\/strong> Sanal hostunuzun \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 test etmek i\u00e7in basit bir <code>index.html<\/code> dosyas\u0131 olu\u015fturun:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/var\/www\/ornekalanadi.com\/public_html\/index.html<\/code><\/pre>\n<p>    \u0130\u00e7ine a\u015fa\u011f\u0131daki i\u00e7eri\u011fi ekleyin:<\/p>\n<pre><code class=\"language-html\"><!DOCTYPE html>\n    <html>\n    <head>\n        <title>Ho\u015f Geldiniz!<\/title>\n    <\/head>\n    <body>\n        \n        <p>Bu, \u00f6zel sanal host sayfan\u0131zd\u0131r.<\/p>\n    <\/body>\n    <\/html><\/code><\/pre>\n<p>4.  <strong>Sanal Host Yap\u0131land\u0131rma Dosyas\u0131 Olu\u015fturma:<\/strong> Apache&#8217;nin sanal host yap\u0131land\u0131rma dosyalar\u0131 <code>\/etc\/apache2\/sites-available\/<\/code> dizininde bulunur. Varsay\u0131lan yap\u0131land\u0131rma dosyas\u0131 <code>000-default.conf<\/code>&#8216;tur. Yeni bir dosya olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/apache2\/sites-available\/ornekalanadi.com.conf<\/code><\/pre>\n<p>    \u0130\u00e7ine a\u015fa\u011f\u0131daki i\u00e7eri\u011fi ekleyin (alan ad\u0131n\u0131z\u0131 ve e-posta adresinizi de\u011fi\u015ftirmeyi unutmay\u0131n):<\/p>\n<pre><code class=\"language-apache\"><VirtualHost *:80>\n        ServerAdmin webmaster@localhost\n        ServerName ornekalanadi.com\n        ServerAlias www.ornekalanadi.com\n        DocumentRoot \/var\/www\/ornekalanadi.com\/public_html\n        ErrorLog ${APACHE_LOG_DIR}\/error.log\n        CustomLog ${APACHE_LOG_DIR}\/access.log combined\n\n        <Directory \/var\/www\/ornekalanadi.com\/public_html>\n            Options Indexes FollowSymLinks MultiViews\n            AllowOverride All\n            Order allow,deny\n            allow from all\n        <\/Directory>\n    <\/VirtualHost><\/code><\/pre>\n<p>    *   <code>ServerAdmin<\/code>: Y\u00f6neticinin e-posta adresi.<br \/>\n    *   <code>ServerName<\/code>: Web sitenizin ana alan ad\u0131.<br \/>\n    *   <code>ServerAlias<\/code>: Web sitenizin alternatif alan adlar\u0131 (\u00f6rne\u011fin, <code>www<\/code> \u00f6n eki ile).<br \/>\n    *   <code>DocumentRoot<\/code>: Web sitenizin dosyalar\u0131n\u0131n bulundu\u011fu dizin.<br \/>\n    *   <code><Directory><\/code> blo\u011fu, belirli dizinler i\u00e7in \u00f6zel ayarlar yapman\u0131z\u0131 sa\u011flar. <code>AllowOverride All<\/code>, <code>.htaccess<\/code> dosyalar\u0131n\u0131n kullan\u0131lmas\u0131na izin verir.<\/p>\n<p>5.  <strong>Sanal Hostu Etkinle\u015ftirme:<\/strong> Yeni sanal hostunuzu etkinle\u015ftirmek i\u00e7in <code>a2ensite<\/code> komutunu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo a2ensite ornekalanadi.com.conf<\/code><\/pre>\n<p>6.  <strong>Varsay\u0131lan Sanal Hostu Devre D\u0131\u015f\u0131 B\u0131rakma (\u0130ste\u011fe Ba\u011fl\u0131):<\/strong> E\u011fer sadece kendi sanal hostunuzu kullanmak istiyorsan\u0131z, varsay\u0131lan sanal hostu devre d\u0131\u015f\u0131 b\u0131rakabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo a2dissite 000-default.conf<\/code><\/pre>\n<p>7.  <strong>Apache Yap\u0131land\u0131rmas\u0131n\u0131 Test Etme:<\/strong> Yap\u0131land\u0131rma dosyalar\u0131n\u0131zda bir hata olup olmad\u0131\u011f\u0131n\u0131 kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo apache2ctl configtest<\/code><\/pre>\n<p>    E\u011fer <code>Syntax OK<\/code> \u00e7\u0131kt\u0131s\u0131n\u0131 g\u00f6r\u00fcrseniz, her \u015fey yolundad\u0131r.<\/p>\n<p>8.  <strong>Apache&#8217;yi Yeniden Ba\u015flatma:<\/strong> De\u011fi\u015fikliklerin etkili olmas\u0131 i\u00e7in Apache&#8217;yi yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo service apache2 restart<\/code><\/pre>\n<p>Art\u0131k web taray\u0131c\u0131n\u0131zdan <code>http:\/\/ornekalanadi.com<\/code> adresine (veya <code>hosts<\/code> dosyan\u0131z\u0131 d\u00fczenleyerek sunucu IP&#8217;nize y\u00f6nlendirerek) eri\u015fti\u011finizde kendi test sayfan\u0131z\u0131 g\u00f6rmelisiniz.<\/p>\n<h4><code>mod_rewrite<\/code> Etkinle\u015ftirme<\/h4>\n<p>Bir\u00e7ok modern web uygulamas\u0131 ve i\u00e7erik y\u00f6netim sistemi (WordPress, Joomla, Drupal vb.) URL&#8217;leri yeniden yazmak i\u00e7in Apache&#8217;nin <code>mod_rewrite<\/code> mod\u00fcl\u00fcn\u00fc kullan\u0131r. Bu mod\u00fcl\u00fc etkinle\u015ftirmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo a2enmod rewrite\nsudo service apache2 restart<\/code><\/pre>\n<p>Daha sonra sanal host yap\u0131land\u0131rma dosyan\u0131zdaki <code><Directory><\/code> blo\u011funda <code>AllowOverride All<\/code> ayar\u0131n\u0131n oldu\u011fundan emin olun (yukar\u0131daki \u00f6rnekte zaten mevcuttur).<\/p>\n<h3>Ek PHP Yap\u0131land\u0131rmalar\u0131<\/h3>\n<p>PHP&#8217;nin varsay\u0131lan ayarlar\u0131 \u00e7o\u011fu durumda yeterli olsa da, belirli uygulamalar veya kullan\u0131m senaryolar\u0131 i\u00e7in <code>php.ini<\/code> dosyas\u0131nda de\u011fi\u015fiklik yapman\u0131z gerekebilir.<\/p>\n<h4><code>php.ini<\/code> Dosyas\u0131n\u0131 D\u00fczenleme<\/h4>\n<p>PHP&#8217;nin ana yap\u0131land\u0131rma dosyas\u0131 genellikle <code>\/etc\/php5\/apache2\/php.ini<\/code> konumundad\u0131r. Bu dosyay\u0131 d\u00fczenlemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/php5\/apache2\/php.ini<\/code><\/pre>\n<p>De\u011fi\u015ftirmek isteyebilece\u011finiz baz\u0131 yayg\u0131n ayarlar \u015funlard\u0131r:<\/p>\n<p>*   <strong><code>upload_max_filesize<\/code><\/strong>: Bir HTTP POST iste\u011fiyle y\u00fcklenebilecek maksimum dosya boyutu. \u00d6rne\u011fin, 64MB i\u00e7in:<\/p>\n<pre><code class=\"language-ini\">upload_max_filesize = 64M<\/code><\/pre>\n<p>*   <strong><code>post_max_size<\/code><\/strong>: Bir HTTP POST iste\u011fiyle g\u00f6nderilebilecek maksimum veri boyutu. Bu de\u011fer <code>upload_max_filesize<\/code> de\u011ferinden b\u00fcy\u00fck veya e\u015fit olmal\u0131d\u0131r.<\/p>\n<pre><code class=\"language-ini\">post_max_size = 64M<\/code><\/pre>\n<p>*   <strong><code>memory_limit<\/code><\/strong>: Bir beti\u011fin kullanabilece\u011fi maksimum bellek miktar\u0131. B\u00fcy\u00fck uygulamalar veya yo\u011fun i\u015flemler i\u00e7in art\u0131r\u0131lmas\u0131 gerekebilir.<\/p>\n<pre><code class=\"language-ini\">memory_limit = 256M<\/code><\/pre>\n<p>*   <strong><code>max_execution_time<\/code><\/strong>: Bir beti\u011fin \u00e7al\u0131\u015fmas\u0131na izin verilen maksimum s\u00fcre (saniye cinsinden). Uzun s\u00fcren i\u015flemler i\u00e7in art\u0131r\u0131lmas\u0131 gerekebilir.<\/p>\n<pre><code class=\"language-ini\">max_execution_time = 300<\/code><\/pre>\n<p>*   <strong><code>display_errors<\/code><\/strong>: PHP hatalar\u0131n\u0131n taray\u0131c\u0131da g\u00f6sterilip g\u00f6sterilmeyece\u011fini belirler. Geli\u015ftirme ortam\u0131nda <code>On<\/code> iken, \u00fcretim ortam\u0131nda g\u00fcvenlik nedeniyle <code>Off<\/code> olmas\u0131 \u00f6nerilir.<\/p>\n<pre><code class=\"language-ini\">display_errors = Off<\/code><\/pre>\n<p>De\u011fi\u015fiklikleri yapt\u0131ktan sonra dosyay\u0131 kaydedin ve Apache&#8217;yi yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo service apache2 restart<\/code><\/pre>\n<h3>Ek MySQL Yap\u0131land\u0131rmalar\u0131<\/h3>\n<p>MySQL i\u00e7in de baz\u0131 ek yap\u0131land\u0131rmalar ve y\u00f6netim g\u00f6revleri vard\u0131r.<\/p>\n<h4>MySQL Kullan\u0131c\u0131s\u0131 Olu\u015fturma ve Yetkilendirme<\/h4>\n<p>Uygulamalar\u0131n\u0131z\u0131n MySQL <code>root<\/code> kullan\u0131c\u0131s\u0131 ile de\u011fil, kendi \u00f6zel kullan\u0131c\u0131 hesaplar\u0131yla veritaban\u0131na eri\u015fmesi daha g\u00fcvenlidir.<\/p>\n<p>1.  <strong>MySQL Komut Sat\u0131r\u0131na Giri\u015f Yapma:<\/strong><\/p>\n<pre><code class=\"language-bash\">mysql -u root -p<\/code><\/pre>\n<p>    Kurulum s\u0131ras\u0131nda belirledi\u011finiz <code>root<\/code> parolas\u0131n\u0131 girin.<\/p>\n<p>2.  <strong>Yeni Kullan\u0131c\u0131 Olu\u015fturma ve Yetkilendirme:<\/strong><\/p>\n<pre><code class=\"language-sql\">CREATE USER 'kullaniciadi'@'localhost' IDENTIFIED BY 'guclupassword';\n    GRANT ALL PRIVILEGES ON veritabani_adi.* TO 'kullaniciadi'@'localhost';\n    FLUSH PRIVILEGES;\n    EXIT;<\/code><\/pre>\n<p>    *   <code>kullaniciadi<\/code>: Yeni kullan\u0131c\u0131 ad\u0131n\u0131z.<br \/>\n    *   <code>guclupassword<\/code>: Bu kullan\u0131c\u0131 i\u00e7in g\u00fc\u00e7l\u00fc bir parola.<br \/>\n    <em>   <code>veritabani_adi<\/code>: Kullan\u0131c\u0131n\u0131n eri\u015fim sa\u011flayaca\u011f\u0131 veritaban\u0131n\u0131n ad\u0131. T\u00fcm veritabanlar\u0131na eri\u015fim vermek i\u00e7in <code><\/em>.*<\/code> kullanabilirsiniz, ancak bu \u00f6nerilmez.<br \/>\n    *   <code>localhost<\/code>: Kullan\u0131c\u0131n\u0131n yaln\u0131zca yerel makineden ba\u011flanmas\u0131na izin verir. Uzak ba\u011flant\u0131ya izin vermek isterseniz <code>localhost<\/code> yerine <code>%<\/code> kullanabilirsiniz (ancak g\u00fcvenlik riski ta\u015f\u0131r).<\/p>\n<h4>Veritaban\u0131 Yedekleme ve Geri Y\u00fckleme<\/h4>\n<p>Verilerinizi d\u00fczenli olarak yedeklemek kritik \u00f6neme sahiptir.<\/p>\n<p>*   <strong>Yedekleme:<\/strong><\/p>\n<pre><code class=\"language-bash\">mysqldump -u kullaniciadi -p veritabani_adi > yedek.sql<\/code><\/pre>\n<p>*   <strong>Geri Y\u00fckleme:<\/strong><\/p>\n<pre><code class=\"language-bash\">mysql -u kullaniciadi -p veritabani_adi < yedek.sql<\/code><\/pre>\n<h3>G\u00fcvenlik \u0130pu\u00e7lar\u0131<\/h3>\n<p>LAMP y\u0131\u011f\u0131n\u0131 kurulumunuzu tamamlad\u0131ktan sonra, sunucunuzun ve uygulamalar\u0131n\u0131z\u0131n g\u00fcvenli\u011fini sa\u011flamak i\u00e7in ek \u00f6nlemler alman\u0131z \u00f6nemlidir.<\/p>\n<h4>Apache G\u00fcvenli\u011fi<\/h4>\n<p>*   <strong>Sunucu \u0130mzalar\u0131n\u0131 Kapatma:<\/strong> Apache'nin hata sayfalar\u0131nda veya HTTP ba\u015fl\u0131klar\u0131nda s\u00fcr\u00fcm bilgisini g\u00f6stermesini engelleyin. Bu, potansiyel sald\u0131rganlar\u0131n zafiyetleri tespit etmesini zorla\u015ft\u0131r\u0131r.<br \/>\n    <code>\/etc\/apache2\/conf-enabled\/security.conf<\/code> dosyas\u0131n\u0131 d\u00fczenleyin ve a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyin veya de\u011fi\u015ftirin:<\/p>\n<pre><code class=\"language-apache\">ServerTokens Prod\n    ServerSignature Off<\/code><\/pre>\n<p>    Ard\u0131ndan Apache'yi yeniden ba\u015flat\u0131n.<br \/>\n*   <strong>Gereksiz Mod\u00fclleri Devre D\u0131\u015f\u0131 B\u0131rakma:<\/strong> Kullanmad\u0131\u011f\u0131n\u0131z Apache mod\u00fcllerini devre d\u0131\u015f\u0131 b\u0131rak\u0131n. \u00d6rne\u011fin, <code>sudo a2dismod autoindex<\/code>.<br \/>\n*   <strong>ModSecurity Kullan\u0131m\u0131:<\/strong> ModSecurity gibi bir web uygulama g\u00fcvenlik duvar\u0131 (WAF) kurarak yayg\u0131n web sald\u0131r\u0131lar\u0131na (SQL enjeksiyonu, XSS vb.) kar\u015f\u0131 koruma sa\u011flay\u0131n.<\/p>\n<h4>MySQL G\u00fcvenli\u011fi<\/h4>\n<p>*   <strong>G\u00fc\u00e7l\u00fc Parolalar:<\/strong> T\u00fcm MySQL kullan\u0131c\u0131lar\u0131 i\u00e7in g\u00fc\u00e7l\u00fc ve karma\u015f\u0131k parolalar kullan\u0131n.<br \/>\n*   <strong>Gereksiz Kullan\u0131c\u0131lar\u0131 Silme:<\/strong> Kullan\u0131lmayan veya test ama\u00e7l\u0131 olu\u015fturulmu\u015f t\u00fcm MySQL kullan\u0131c\u0131lar\u0131n\u0131 silin.<br \/>\n*   <strong>Uzak Eri\u015fimi K\u0131s\u0131tlama:<\/strong> MySQL <code>root<\/code> kullan\u0131c\u0131s\u0131n\u0131n uzaktan eri\u015fimini engelleyin. Uygulamalar\u0131n\u0131z i\u00e7in \u00f6zel kullan\u0131c\u0131lar olu\u015fturun ve yaln\u0131zca ihtiya\u00e7 duyduklar\u0131 veritabanlar\u0131na eri\u015fim izni verin. Uzak ba\u011flant\u0131 gerekiyorsa, yaln\u0131zca belirli IP adreslerinden veya VPN \u00fczerinden eri\u015fime izin verin.<br \/>\n*   <strong><code>bind-address<\/code> Ayar\u0131:<\/strong> <code>\/etc\/mysql\/my.cnf<\/code> dosyas\u0131ndaki <code>bind-address<\/code> ayar\u0131n\u0131 <code>127.0.0.1<\/code> olarak ayarlayarak MySQL'in yaln\u0131zca yerel ba\u011flant\u0131lar\u0131 dinlemesini sa\u011flay\u0131n. Uzak ba\u011flant\u0131 gerekiyorsa, bu ayar\u0131 sunucunuzun IP adresine veya <code>0.0.0.0<\/code>'a de\u011fi\u015ftirebilirsiniz, ancak bu durumda g\u00fcvenlik duvar\u0131n\u0131z\u0131 do\u011fru yap\u0131land\u0131rd\u0131\u011f\u0131n\u0131zdan emin olun.<\/p>\n<h4>PHP G\u00fcvenli\u011fi<\/h4>\n<p>*   <strong><code>php.ini<\/code> Ayarlar\u0131:<\/strong> \u00dcretim ortam\u0131nda <code>display_errors = Off<\/code> ve <code>log_errors = On<\/code> olarak ayarlay\u0131n. Hata g\u00fcnl\u00fcklerini d\u00fczenli olarak kontrol edin.<br \/>\n*   <strong><code>open_basedir<\/code> K\u0131s\u0131tlamas\u0131:<\/strong> <code>open_basedir<\/code> y\u00f6nergesi ile PHP betiklerinin eri\u015febilece\u011fi dizinleri k\u0131s\u0131tlay\u0131n. Bu, bir beti\u011fin kendi web sitesinin dizininin d\u0131\u015f\u0131ndaki dosyalara eri\u015fmesini engeller.<br \/>\n*   <strong>Gereksiz Fonksiyonlar\u0131 Devre D\u0131\u015f\u0131 B\u0131rakma:<\/strong> <code>disable_functions<\/code> y\u00f6nergesi ile <code>exec()<\/code>, <code>shell_exec()<\/code>, <code>system()<\/code>, <code>passthru()<\/code> gibi tehlikeli PHP fonksiyonlar\u0131n\u0131 devre d\u0131\u015f\u0131 b\u0131rak\u0131n.<br \/>\n*   <strong>G\u00fcvenli Kodlama Pratikleri:<\/strong> Uygulama geli\u015ftirirken SQL enjeksiyonu, XSS ve CSRF gibi yayg\u0131n g\u00fcvenlik a\u00e7\u0131klar\u0131na kar\u015f\u0131 koruma sa\u011flayan g\u00fcvenli kodlama pratikleri kullan\u0131n.<\/p>\n<h4>Sistem G\u00fcncellemeleri<\/h4>\n<p>\u0130\u015fletim sisteminizi ve t\u00fcm y\u00fckl\u00fc paketleri d\u00fczenli olarak g\u00fcncel tutun. <code>sudo apt-get update && sudo apt-get upgrade<\/code> komutlar\u0131n\u0131 periyodik olarak \u00e7al\u0131\u015ft\u0131r\u0131n.<\/p>\n<h4>G\u00fcvenlik Duvar\u0131 (UFW)<\/h4>\n<p>Yaln\u0131zca gerekli portlar\u0131 (HTTP i\u00e7in 80, HTTPS i\u00e7in 443, SSH i\u00e7in 22) a\u00e7arak sunucunuzu d\u0131\u015f sald\u0131r\u0131lara kar\u015f\u0131 koruyun. Di\u011fer t\u00fcm portlar\u0131 kapal\u0131 tutun.<\/p>\n<h4>SSL\/TLS Kurulumu (HTTPS)<\/h4>\n<p>Web sitenizin g\u00fcvenli\u011fini art\u0131rmak ve kullan\u0131c\u0131 verilerini \u015fifrelemek i\u00e7in Let's Encrypt gibi \u00fccretsiz bir sertifika yetkilisinden SSL\/TLS sertifikas\u0131 alarak HTTPS'yi etkinle\u015ftirin. Bu, \u00f6zellikle hassas bilgi al\u0131\u015fveri\u015fi yapan siteler i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu makalede, Ubuntu 14.04 i\u015fletim sistemi \u00fczerine LAMP (Linux, Apache, MySQL, PHP) y\u0131\u011f\u0131n\u0131n\u0131n temel kurulumu ve yap\u0131land\u0131rmas\u0131 ayr\u0131nt\u0131l\u0131 bir \u015fekilde ele al\u0131nm\u0131\u015ft\u0131r. Ad\u0131m ad\u0131m y\u00f6nergelerle, Apache web sunucusunu, MySQL veritaban\u0131 sunucusunu ve PHP betik dilini ba\u015far\u0131l\u0131 bir \u015fekilde kurdunuz ve temel bir web uygulamas\u0131 \u00e7al\u0131\u015ft\u0131rmaya haz\u0131r bir ortam olu\u015fturdunuz.<\/p>\n<p>LAMP y\u0131\u011f\u0131n\u0131, web geli\u015ftiricileri ve sistem y\u00f6neticileri i\u00e7in inan\u0131lmaz derecede esnek ve g\u00fc\u00e7l\u00fc bir platform sunar. Bu kurulum, web projeleriniz i\u00e7in sa\u011flam bir temel olu\u015fturur. Kurulum sonras\u0131, sanal hostlar, PHP ve MySQL'in ince ayarlar\u0131 gibi ek yap\u0131land\u0131rmalarla sisteminizi ihtiya\u00e7lar\u0131n\u0131za g\u00f6re daha da \u00f6zelle\u015ftirebilirsiniz.<\/p>\n<p>Unutulmamal\u0131d\u0131r ki, bir sunucu kurmak sadece ilk ad\u0131md\u0131r. G\u00fcvenlik, performans optimizasyonu ve d\u00fczenli bak\u0131m, bir web sunucusunu uzun vadede ba\u015far\u0131l\u0131 bir \u015fekilde \u00e7al\u0131\u015ft\u0131rmak i\u00e7in hayati \u00f6neme sahiptir. Bu makalede belirtilen g\u00fcvenlik ipu\u00e7lar\u0131n\u0131 uygulayarak ve sisteminizi d\u00fczenli olarak g\u00fcncelleyerek sunucunuzun g\u00fcvenli\u011fini ve kararl\u0131l\u0131\u011f\u0131n\u0131 sa\u011flayabilirsiniz. Art\u0131k dinamik web uygulamalar\u0131n\u0131z\u0131 geli\u015ftirmeye ve da\u011f\u0131tmaya haz\u0131rs\u0131n\u0131z!<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu 14.04 \u00dczerine LAMP (Linux, Apache, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu\nLAMP y\u0131\u011f\u0131n\u0131, dinamik web uygulamalar\u0131 geli\u015ftirmek ve bar\u0131nd\u0131rmak i","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[241],"tags":[],"class_list":{"0":"post-30972","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-linux","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ubuntu 14.04 \u00dczerine LAMP (Linux, Apache, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerine-lamp-linux-apache-mysql-php-yigini-kurulumu\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu 14.04 \u00dczerine LAMP (Linux, Apache, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu\" \/>\n<meta property=\"og:description\" content=\"Ubuntu 14.04 \u00dczerine LAMP (Linux, Apache, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu LAMP y\u0131\u011f\u0131n\u0131, dinamik web uygulamalar\u0131 geli\u015ftirmek ve bar\u0131nd\u0131rmak i\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerine-lamp-linux-apache-mysql-php-yigini-kurulumu\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-04T02:40:56+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"18 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerine-lamp-linux-apache-mysql-php-yigini-kurulumu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerine-lamp-linux-apache-mysql-php-yigini-kurulumu\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu 14.04 \u00dczerine LAMP (Linux, Apache, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu\",\"datePublished\":\"2025-10-04T02:40:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerine-lamp-linux-apache-mysql-php-yigini-kurulumu\/\"},\"wordCount\":3092,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Linux\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerine-lamp-linux-apache-mysql-php-yigini-kurulumu\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerine-lamp-linux-apache-mysql-php-yigini-kurulumu\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerine-lamp-linux-apache-mysql-php-yigini-kurulumu\/\",\"name\":\"Ubuntu 14.04 \u00dczerine LAMP (Linux, Apache, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-04T02:40:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerine-lamp-linux-apache-mysql-php-yigini-kurulumu\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerine-lamp-linux-apache-mysql-php-yigini-kurulumu\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerine-lamp-linux-apache-mysql-php-yigini-kurulumu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu 14.04 \u00dczerine LAMP (Linux, Apache, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ubuntu 14.04 \u00dczerine LAMP (Linux, Apache, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerine-lamp-linux-apache-mysql-php-yigini-kurulumu\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu 14.04 \u00dczerine LAMP (Linux, Apache, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu","og_description":"Ubuntu 14.04 \u00dczerine LAMP (Linux, Apache, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu LAMP y\u0131\u011f\u0131n\u0131, dinamik web uygulamalar\u0131 geli\u015ftirmek ve bar\u0131nd\u0131rmak i","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerine-lamp-linux-apache-mysql-php-yigini-kurulumu\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-04T02:40:56+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"18 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerine-lamp-linux-apache-mysql-php-yigini-kurulumu\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerine-lamp-linux-apache-mysql-php-yigini-kurulumu\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu 14.04 \u00dczerine LAMP (Linux, Apache, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu","datePublished":"2025-10-04T02:40:56+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerine-lamp-linux-apache-mysql-php-yigini-kurulumu\/"},"wordCount":3092,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Linux"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerine-lamp-linux-apache-mysql-php-yigini-kurulumu\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerine-lamp-linux-apache-mysql-php-yigini-kurulumu\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerine-lamp-linux-apache-mysql-php-yigini-kurulumu\/","name":"Ubuntu 14.04 \u00dczerine LAMP (Linux, Apache, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-04T02:40:56+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerine-lamp-linux-apache-mysql-php-yigini-kurulumu\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerine-lamp-linux-apache-mysql-php-yigini-kurulumu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerine-lamp-linux-apache-mysql-php-yigini-kurulumu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu 14.04 \u00dczerine LAMP (Linux, Apache, MySQL, PHP) Y\u0131\u011f\u0131n\u0131 Kurulumu"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/30972","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=30972"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/30972\/revisions"}],"predecessor-version":[{"id":30973,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/30972\/revisions\/30973"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=30972"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=30972"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=30972"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}