Apache Nedir – Detaylı Apache Web Server İncelemesi

Apache Nedir – Detaylı Apache Web Server İncelemesi

Apache nedir? Apache, dünyadaki web sitelerinin %46’sına gücünü veren açık kaynak kodlu, ücretsiz bir web sunucusu yazılımıdır. Resmi ismi Apache HTTP Server’dır ve Apache Software Foundation tarafından geliştirilmiştir.

Web sitesi sahiplerine içeriklerini internet üzerinde yayınlama olanağı sağlar ve ismi “web server” de buradan gelir. En eski ve güvenilir web sunucularından birisidir, ilk sürümü 20 yılı aşkın süre önce yayınlanmıştır.

Herhangi biri bir web sitesine girmek istediğinde domain adını tarayıcının araç çubuğuna girer. Ardından web sunucusu talep edilen dosyaları sanal bir kurye edasıyla ulaştırır.

Hostinger’da web hosting alt yapımızda bir başka web sunucusu yazılımı olan NGINX ile paralel olarak Apache kullanılmaktadır. Bu özel kurulum sayesinde iki dünyanın da avantajlarından yararlanabiliyoruz. İki yazılımında güçlü yanlarını alarak, zayıf kısımlarını kapatıyor ve bu sayede daha güçlü sunucu performansı sağlıyoruz.

Web Server Nedir?

Dosya sunucuları, veritabanı sunucuları, eposta sunucuları ve web sunucuları farklı sunucu yazılımları kullanır. Bu uygulamaların her biri fiziksel bir sunucuda depolanan dosyalara erişim sağlayabilir ve bu dosyaları farklı amaçlar için kullanabilir.

Web sunucusunun görevi web siteleri internette yayınlamaktır. Bunu başarabilmek için, sunucu ile istemci makineleri arasında bir aracı olarak çalışır. Her bir kullanıcı talebi doğrultusunda sunucudan içeriği çekerek internete ulaştırır.

Web sunucularının en büyük görevlerinden birisi birçok farklı web kullanıcısına aynı anda hizmet vermektir ve bu kullanıcıların her biri farklı bir sayfa talep etmektedir. Web sunucuları, PHP, Python, Java ve diğer yazılım dillerinde yazılan dosyaları işlerler.

Bu dosyaları static HTML dosyalarına dönüştürerek, web kullanıcılarının tarayıcılarına ulaştırır. Web sunucusu kelimesini duyduğunuzda, düzgün bir sunucu-istemci iletişimini sağlamak üzere bir araç aklınıza gelsin.

Apache Web Server Nasıl Çalışır?

Apache’ye web sunucusu desek de, fiziksel bir sunucu değildir sadece sunucuda çalışan bir yazılımdır. Görevi ise sunucu ile web sitesi kullanıcıları (Firefox, Chrome, Safari, vs) arasında bir köprü oluşturarak dosyaları ileri geri taşır. Apache çapraz platform bir yazılımdır, bu sebeple hem Unix hem Windows sunucularda çalışabilir.

Bir ziyaretçi web sitenizdeki bir sayfayı yüklemeye çalıştığında, örneğin anasayfa veya hakkımda sayfası gibi, tarayıcı sunucunuza bir talep gönderir ve Apache bütün talep edilen dosyalarla (metin, görsel vs) bir yanıt gönderir. Sunucu ve istemci HTTP protokolü aracılığıyla haberleşir ve Apache akıcı ve güvenli iletişimden sorumludur.

Apache oldukça özelleştirilebilir bir yapıya sahiptir çünkü modül tabanlı bir yapısı vardır. Bu modüller sunucu yöneticilerine bazı farklı işlevleri kapatıp açma şansı tanır. Apache’nin güvenlik, önbellek, URL yazma, şifre yetkilendirme gibi modülleri bulunur.  Dilerseniz, bütün Hostinger planlarında desteklenen Apache yapılandırma dosyası olan .htaccess dosyası ile kendi sunucu yapılandırmanızı oluşturabilirsiniz.

Apache vs Diğer Web Sunucuları

Apache haricinde farklı web sunucuları da mevcuttur. Her bir web sunucusu uygulaması farklı bir amaç doğrultusunda yaratışmıştır. Apache yaygın olarak kullanılsa da bazı alternatifleri ve rakipleri bulunuyor.

Apache vs NGINX

Apache vs NGINX

Nginx, yani Engine-X ilk olarak 2004 yılında yayınlanan bir web sunucusu uygulamasıdır. Günümüz itibariyle, web sitesi sahipleri arasında oldukça popular olmuştur. Nginx c10k problemine çözüm olarak oluşturulmuştur. C10k probleminin anlamı, kullanıcı taleplerini karşılamak için thread kullanan bir web sunucusu eş zamanlı olarak 10,000’in üzerinde bağlantının altından kalkamama durumudur.

  1. Apache thread-tabanlı bir altyapı kullandığından, trafiği fazla olan web sitesi sahipleri performans sorunlarıyla karşılaşabilir. Nginx c10k problemine çözüm getiren ve bu konuda başarılı olan web sunucularından birisidir.
  2. Nginx, her bir talep için yeni bir süreç oluşturmayan, durum bazlı bir altyapıya sahiptir. Bunun yerine, gelen her bir talebi tek bir başlıkta yönetir. Bu süreç sayesinde, tek bir thread içinde gelen her bir talebi yönetir. Bu durum tabanlı Nginx altyapısı, kullanıcı taleplerini etkili bir şekilde işleyen bir sürece dağıtır. Bu sebeple daha yüksek stabilite sağlar.
  3. Eğer yüksek trafiğe sahip bir web sitesi yönetiyorsanız, Nginx harika bir seçimdir çünkü tüm talepleri minimum kaynak kullanarak karşılar. Netflix, Hulu, Pinterest ve Airbnb gibi popular web siteleri tarafından kullanılmasına şaşmamak lazım.
  4. Ancak, eğer küçük veya orta ölçekli web sitesi sahipleri Nginx’e nazaran Apache’den daha fazla verim alabilir çünkü çok daha kolay kuruluma, modüllere ve yeni başlayanlar için kolay bir ortama sahiptir.

Apache vs Tomcat

Apache vs Tomcat

Tomcat yine Apache Software Foundation tarafından geliştirilen bir web sunucusudur ve resmi ismi Apache Tomcat olarak geçer. Aynı zamanda HTTP sunucusudur ancak static web siteleri yerine Java uygulamalarına destek verir. Tomcat Java Servlet, JavaServer Pages (JSP), Java EL ve WebSocket gibi farklı Java spesifikasyonları çalıştırabilir.

  1. Tomcat özel olarak Java uygulamaları için, Apache ise genel amaçlı HTTP sunucuları için oluşturulmuştur. Apache’yi, uygun Apache modüllerinin (mod_php, mod_python, mod_perl, vs) yardımıyla farklı yazılım dilleriyle birlikte (PHP, Python, Perl, vs) kullanabilirsiniz.
  2. Statik web sayfaları sunmak için Tomcat sunucusu kullanabilirsiniz ancak bu amaç için Apache’den daha verimli değildir. Örneğin, Tomcat Java Virtual Machine ve diğer Java ile ilgili kütüphaneleri önceden yükler.
  3. Tomcat diğer web sunucularıyla karşılaştırıldığında yapılandırma açısından zayıftır. Örneğin WordPress çalıştırmak için en iyi seçim Apache veya NGINX gibi genel amaçlı bir HTTP sunucusudur.

Apache Artıları ve Eksileri

Apache web sunucusu web sitenizi stabil ve çok amaçlı bir platformda çalıştırmak için harika bir seçimdir. Ancak dikkat etmeniz gereken bazı dezavantajlara da sahiptir.

Artılar:

  1. Açık kaynak kodlu ve ücretsiz, ticari kullanımlar için dahil.
  2. Güvenilir, stabil yazılım.
  3. Sıklıkla güncellenir, düzenli güvenlik yamaları yayınlanır.
  4. Modül tabanlı yapısı sayesinde esneklik.
  5. Kolaylıkla yapılandırılabilir, yeni başlayanlar için kolaydır.
  6. Çarpraz platformdur (hem Unix hem de Windows sunucularda çalışır).
  7. WordPress sitelerinde varsayılan olarak çalışabilir.
  8. Devasa topluluğa sahiptir ve herhangi bir sorunda kolaylıkla destek bulabilirsiniz.

Eksileri:

  1. Yüksek trafiğe sahip web sitelerinde performans problemleri.
  2. Çok fazla yapılandırma seçeneği yüzünden güvenlik açıkları oluşabilir.

Daha Fazla Bilgi

Web site hosting ve geliştirme konusunda daha fazla bilgi mi arıyorsunuz? Aşağıdaki rehberlere gözatın:

Yani, Apache Nedir?

Apache, çok fazla baş ağrısı çekmeden güvenli bir web sitesi kurmanıza yardımcı olan en popular web sunucularından birisidir. Online farkındalık isteyen küçük ve orta çaplı işletmelerin sıklıkla tercih ettiği seçimdir.

Bir Apache web sunucusunda herhangi ayar yapmadan kolaylıkla WordPress sitesi kurabilirsiniz. Ayrıca Apache diğer içerik yönetim sistemleriyle (Joomla, Drupal vs), web framework’leriyle (Django, Laravel vs) ve yazılım dilleriyle oldukça uyumlu şekilde çalışabilir. Bu sebeple VPS veya paylaşımlı sınırsız hosting gibi bütün web hosting platformları için oldukça iyi bir seçimdir.

Author
Yazar

Gürkan M.

Gürkan, Amerikan Kültürü ve Edebiyatı mezunu ve Hostinger’da pazarlama asistanı olarak içerik yönetimi, dijital pazarlama ve çevirilerden sorumlu. Küçük yaşta tanışıp o günden bu yana hayatının büyük bir parçası olan internette web geliştirme ve özel olarak WordPress konularıyla yakından ilgileniyor. Ayrıca, pervasız bir gamer.