15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın
30.10.2024

Apache Web Server Nedir? Geliştiriciler ve Sistem Yöneticileri için Eksiksiz Bir Kılavuz

Apache HTTP Server, internetteki en yaygın kullanılan web sunucularından biridir — ve bunun iyi bir nedeni vardır. 1995’teki ilk sürümünden bu yana kişisel bloglardan kurumsal düzeyde web uygulamalarına kadar her şeye güç sağlamıştır. İster bir geliştirici, ister bir sistem yöneticisi, ister hosting seçeneklerini değerlendiren bir işletme sahibi olun, Apache’yi anlamak bilinçli altyapı kararları vermek için temel bir gerekliliktir.

Bu kılavuz, bilmeniz gereken her şeyi kapsamaktadır: Apache’nin arka planda nasıl çalıştığı, öne çıkan özellikleri, rakip web sunucularıyla karşılaştırması, gerçek dünya kullanım senaryoları ve adım adım kurulum rehberi.

1. Apache HTTP Server Nedir?

Apache HTTP Server — yaygın olarak yalnızca "Apache" olarak anılır — Apache Software Foundation tarafından geliştirilen ve sürdürülen ücretsiz, açık kaynaklı bir web sunucusu yazılım projesidir. Web içeriği dağıtımının omurgası olarak işlev görür; istemcilerden (genellikle web tarayıcıları) gelen HTTP/HTTPS isteklerini alır ve uygun kaynakları yanıt olarak gönderir: HTML sayfaları, görseller, betikler, stil sayfaları veya uygulama verileri.

Apache, tasarım gereği çapraz platformdur ve şu sistemlerde yerel olarak çalışır:

  • Linux (en yaygın üretim ortamı)
  • Windows Server
  • macOS
  • FreeBSD ve diğer Unix benzeri sistemler

Uzun ömürlülüğü — neredeyse otuz yıllık aktif geliştirme — mimari sağlamlığının ve açık kaynak topluluğunun gücünün bir kanıtıdır.

2. Apache Nasıl Çalışır? İstek-Yanıt Döngüsü Açıklandı

Apache, klasik istemci-sunucu modeli üzerinde çalışır. Bir kullanıcı Apache tarafından desteklenen bir web sitesini her ziyaret ettiğinde yaşananların ayrıntılı bir dökümü şu şekildedir:

Adım 1 — İstemci Bir İstek Başlatır

Bir kullanıcı tarayıcısına bir URL yazar veya bir bağlantıya tıklar. Tarayıcı, alan adını DNS aracılığıyla çözer ve sunucunun IP adresine bir TCP bağlantısı kurar.

Adım 2 — Apache İsteği Alır

Apache, belirlenen ağ portlarını dinler:

  • Port 80 — standart HTTP trafiği
  • Port 443 — şifrelenmiş HTTPS trafiği (SSL/TLS sertifikası gerektirir)

Adım 3 — İstek İşleme

Apache, gelen HTTP isteğini ayrıştırır, yapılandırılmış kuralları (sanal hostlar, .htaccess yönergeleri, yüklü modüller) değerlendirir ve nasıl yanıt vereceğini belirler.

Adım 4 — İçerik Dağıtımı

Apache, uygun kaynağı — statik bir HTML dosyası, PHP tarafından oluşturulan bir sayfa, bir uygulama sunucusundan proxy’lenmiş bir yanıt — alır ve doğru HTTP başlıklarıyla birlikte istemciye geri gönderir.

Çok İşlemli Modüller (MPM’ler)

Apache’nin mimarisinin kritik ancak çoğu zaman göz ardı edilen bir yönü, Apache’nin eş zamanlı bağlantıları nasıl yönettiğini kontrol eden Çok İşlemli Modül sistemidir:

MPMAçıklamaEn Uygun Olduğu Durum
preforkBağlantı başına bir işlem; iş parçacığı yokİş parçacığı güvenli olmayan kütüphanelerle uyumluluk
workerHibrit çok işlemli/çok iş parçacıklıVerimlilik gerektiren yüksek trafikli siteler
eventGeliştirilmiş worker modeli; keep-alive bağlantılarını eş zamansız olarak yönetirModern, yüksek eş zamanlılık ortamları

Doğru MPM’yi seçmek, üretim sunucularında performans ayarı için kritik öneme sahiptir.

3. Apache’nin Temel Özellikleri

Apache’nin özellik seti, onun onlarca yıllık hızlı teknolojik değişim boyunca güncel kalmasını sağlayan şeydir. İşte en önemli yetenekleri:

Açık Kaynak ve Ücretsiz Kullanım

Apache, Apache Lisansı 2.0 kapsamında yayınlanmaktadır; bu, ticari ortamlar dahil olmak üzere tamamen ücretsiz kullanılabileceği, değiştirilebileceği ve yeniden dağıtılabileceği anlamına gelir. Bu, herhangi bir hosting altyapısı için son derece uygun maliyetli bir temel oluşturur.

Modüler Mimari

Apache’nin en büyük teknik gücü modüler tasarımıdır. İşlevsellik, sunucuyu yalın ve amaca yönelik tutan, çalışma zamanında etkinleştirilebilen veya devre dışı bırakılabilen modüllere bölünmüştür. Temel modüller şunlardır:

  • mod_rewrite — Güçlü URL yeniden yazma ve yönlendirme kuralları
  • mod_ssl — HTTPS için yerel SSL/TLS desteği
  • mod_security — Web Uygulama Güvenlik Duvarı (WAF) yetenekleri
  • mod_cache — Arka uç yükünü azaltmak için çıktı önbellekleme
  • mod_proxy — Ters proxy ve yük dengeleme
  • mod_deflate — Daha hızlı içerik dağıtımı için Gzip sıkıştırma
  • mod_headers — Ayrıntılı HTTP başlık yönetimi

.htaccess Desteği

Apache, .htaccess dosyaları aracılığıyla dizin başına yapılandırmayı destekler; bu sayede geliştiriciler ve site sahipleri, ana sunucu yapılandırmasına dokunmadan yönlendirmeleri, kimlik doğrulamayı, erişim kısıtlamalarını ve önbelleklemeyi kontrol edebilir. Bu özellik özellikle paylaşımlı hosting ortamlarında son derece değerlidir.

Sanal Hosting

Apache, ad tabanlı veya IP tabanlı sanal hostlar kullanarak tek bir sunucudan birden fazla web sitesi sunabilir. Bu, paylaşımlı web hostingi ekonomik açıdan uygulanabilir kılan teknolojidir.

Çapraz Platform Uyumluluğu

Apache, temel işletim sisteminden bağımsız olarak geliştirme, hazırlık ve üretim ortamları arasında taşınabilir olmasını sağlayarak neredeyse tüm büyük işletim sistemlerinde çalışır.

Güvenlik

Apache, düzenli güvenlik yamaları alır ve aşağıdakiler dahil kapsamlı güvenlik yapılandırmalarını destekler:

  • mod_ssl aracılığıyla TLS 1.2/1.3 zorunluluğu
  • IP tabanlı erişim kontrolü
  • Hız sınırlama
  • WAF kuralları için mod_security entegrasyonu

4. Apache Neden Bu Kadar Popüler?

Apache’nin hakimiyeti tesadüf değildir. Süregelen popülaritesini açıklayan birkaç birleşik faktör vardır:

Ekosistem olgunluğu: Apache, milyonlarca üretim dağıtımında savaş testinden geçirilmiştir. Davranışı iyi belgelenmiş, hataları iyi bilinmekte ve tuhaflıkları iyi anlaşılmaktadır.

CMS uyumluluğu: Büyük içerik yönetim sistemleri — WordPress, Drupal, Joomla ve Magento — Apache göz önünde bulundurularak geliştirilmiştir. .htaccess tabanlı URL yeniden yazma gibi özellikler bu platformlara derinden entegre edilmiştir.

Tam yığın entegrasyonu: Apache, dünyanın en yaygın kullanılan web uygulama yığınlarından biri olmaya devam eden klasik LAMP yığını (Linux, Apache, MySQL, PHP/Python/Perl) ile sorunsuz bir şekilde eşleşir.

Topluluk ve dokümantasyon: Apache Software Foundation kapsamlı resmi dokümantasyon sağlamakta olup daha geniş topluluk binlerce eğitim, Stack Overflow yanıtı ve yapılandırma kılavuzu üretmiştir.

Hosting sağlayıcı desteği: VPS Hosting ve Paylaşımlı Web Hosting sunanlar dahil olmak üzere web hosting sağlayıcılarının büyük çoğunluğu, genellikle önceden yapılandırılmış ortamlarla Apache’yi kutudan çıkar çıkmaz destekler.

5. Apache ve Diğer Web Sunucuları: Ayrıntılı Karşılaştırma

Apache, mevcut tek web sunucusu değildir ve rekabet ortamını anlamak, iş yükünüz için doğru aracı seçmenize yardımcı olur.

Apache ve Nginx

KriterApacheNginx
Mimariİşlem/iş parçacığı tabanlıOlay güdümlü, eş zamansız
Statik içerikİyiMükemmel
Dinamik içerikMükemmel (mod_php aracılığıyla yerel PHP)İyi (PHP-FPM gerektirir)
YapılandırmaDizin başına (.htaccess)Yalnızca merkezi
Bellek kullanımıYük altında daha yüksekDaha düşük
Öğrenme eğrisiOrtaOrta

Karar: Nginx, statik varlıkları sunmada ve minimum bellekle büyük eş zamanlı bağlantıları yönetmede üstündür. Apache ise dinamik içerik, esnek dizin başına yapılandırma ve eski uygulamalarla uyumluluk konusunda üstündür.

Apache ve Microsoft IIS

Microsoft Internet Information Services (IIS), Windows ekosistemi ve Active Directory ile sıkı sıkıya entegre edilmiştir. ASP.NET uygulamaları için doğal seçimdir. Ancak Apache’nin çapraz platform yapısı, sıfır lisans maliyeti ve daha geniş topluluk desteği, onu Microsoft merkezli ortamların dışında tercih edilen seçenek haline getirir.

Apache ve LiteSpeed

LiteSpeed Web Server, ağır yük altında önemli ölçüde daha iyi performans, yerel HTTP/3 desteği ve yerleşik önbellekleme sunan ticari, bırak-çalıştır Apache alternatifidir. Apache yapılandırma dosyaları ve .htaccess kurallarıyla tam uyumludur. Ödünleşim maliyettir — LiteSpeed ticari bir lisans gerektirirken Apache tamamen ücretsizdir.

Apache ve Caddy

Caddy, Let’s Encrypt aracılığıyla SSL sertifikalarını otomatik olarak sağlayan modern, Go tabanlı bir web sunucusudur. Apache’ye kıyasla yapılandırması daha basittir ancak Apache’nin özellik derinliğinden ve ekosistem olgunluğundan yoksundur.

6. Apache için Gerçek Dünya Kullanım Senaryoları

Apache, geniş bir kullanım senaryosu yelpazesine hizmet edecek kadar çok yönlüdür:

Kişisel ve Profesyonel Bloglar

Apache, çoğu WordPress kurulumu için varsayılan web sunucusudur. .htaccess desteği, WordPress kalıcı bağlantı yapılarının ve eklenti tabanlı yönlendirmelerin sorunsuz çalışmasını sağlar.

İşletme ve E-Ticaret Web Siteleri

Magento, WooCommerce veya özel PHP uygulamaları çalıştıran işletmeler, Apache’nin dinamik içerik, oturum yönetimi ve güvenlik modülleri için güçlü desteğinden yararlanır.

Web Uygulama Hosting

PHP, Python (mod_wsgi aracılığıyla) veya Ruby uygulamaları dağıtan geliştiriciler, Apache’yi genellikle Gunicorn veya Passenger gibi uygulama sunucularıyla birlikte ön uç web sunucusu olarak kullanır.

Ters Proxy ve Yük Dengeleme

mod_proxy ve mod_proxy_balancer kullanarak Apache, gelen trafiği birden fazla arka uç uygulama sunucusuna dağıtabilir; bu da kullanılabilirliği ve ölçeklenebilirliği artırır.

Geliştirme ve Yerel Test

Apache, XAMPP, WAMP ve MAMP gibi yerel geliştirme ortamlarının temel bir bileşenidir; geliştiricilerin canlıya geçmeden önce yerel makinelerinde üretim sunucusu koşullarını yeniden oluşturmasına olanak tanır.

API Ağ Geçitleri

Apache, mikro hizmet mimarileri için kimlik doğrulama, hız sınırlama ve istek yönlendirmeyi yöneten bir API ağ geçidi olarak yapılandırılabilir.

7. Linux’ta Apache Nasıl Kurulur ve Yapılandırılır

Aşağıdaki rehber, VPS dağıtımları için en yaygın ortam olan Debian/Ubuntu tabanlı bir Linux sisteminde eksiksiz bir Apache kurulumunu ve temel güvenlik sertleştirmesini kapsamaktadır.

Ön Koşullar

  • Bir Linux sunucusu (Ubuntu 22.04 LTS önerilir)
  • Root veya sudo erişimi
  • Sunucunuzun IP adresine yönlendirilmiş bir alan adı

Adım 1 — Sistem Paketlerini Güncelleyin

sudo apt update && sudo apt upgrade -y

Adım 2 — Apache’yi Kurun

sudo apt install apache2 -y

Adım 3 — Apache’yi Başlatın ve Etkinleştirin

sudo systemctl start apache2
sudo systemctl enable apache2

Servisin çalıştığını doğrulayın:

sudo systemctl status apache2

Adım 4 — Güvenlik Duvarını Yapılandırın

UFW aracılığıyla HTTP ve HTTPS trafiğine izin verin:

sudo ufw allow 'Apache Full'
sudo ufw enable

Adım 5 — Sanal Host Oluşturun

yourdomain.com kısmını gerçek alan adınızla değiştirin:

sudo mkdir -p /var/www/yourdomain.com/public_html
sudo chown -R $USER:$USER /var/www/yourdomain.com/public_html
sudo nano /etc/apache2/sites-available/yourdomain.com.conf

Aşağıdaki yapılandırmayı yapıştırın:

<VirtualHost *:80>
    ServerName yourdomain.com
    ServerAlias www.yourdomain.com
    DocumentRoot /var/www/yourdomain.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/yourdomain_error.log
    CustomLog ${APACHE_LOG_DIR}/yourdomain_access.log combined
</VirtualHost>

Siteyi etkinleştirin ve Apache’yi yeniden yükleyin:

sudo a2ensite yourdomain.com.conf
sudo systemctl reload apache2

Adım 6 — Temel Modülleri Etkinleştirin

sudo a2enmod rewrite
sudo a2enmod ssl
sudo a2enmod headers
sudo a2enmod deflate
sudo systemctl restart apache2

Adım 7 — Apache’yi SSL ile Güvenli Hale Getirin

Üretim ortamları için trafiği her zaman HTTPS üzerinden sunun. Let’s Encrypt aracılığıyla ücretsiz bir SSL sertifikası edinebilirsiniz:

sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com

Certbot, HTTP’yi HTTPS’ye yönlendirmek ve sertifikayı yüklemek için Apache yapılandırmanızı otomatik olarak değiştirecektir. Yönetilen SSL çözümleri için AlexHost ayrıca Apache yapılandırmanızla birlikte dağıtılabilen SSL Sertifikaları sunmaktadır.

Adım 8 — Temel Güvenlik Sertleştirmesi

Bilgi ifşasını azaltmak ve güvenlik duruşunu iyileştirmek için Apache yapılandırmanıza aşağıdaki yönergeleri ekleyin:

ServerTokens Prod
ServerSignature Off
TraceEnable Off
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-XSS-Protection "1; mode=block"

8. Apache Performans Ayarlama İpuçları

Apache’yi kurmak savaşın yalnızca yarısıdır. Üretim iş yükleri için şu optimizasyon stratejilerini göz önünde bulundurun:

Doğru MPM’yi seçin: Modern donanımda daha iyi eş zamanlılık yönetimi için prefork‘dan event MPM’ye geçin.

Önbelleklemeyi etkinleştirin: Statik ve yarı dinamik içeriği önbelleğe almak, yanıt sürelerini önemli ölçüde azaltmak için mod_cache‘ı mod_cache_disk ile birlikte kullanın.

Sıkıştırmayı etkinleştirin: mod_deflate, metin tabanlı yanıtları (HTML, CSS, JavaScript) iletimden önce sıkıştırarak bant genişliği tüketimini %60–80 oranında azaltır.

KeepAlive ayarlarını yapılandırın: KeepAlive‘ı etkinleştirmek, tek bir TCP bağlantısı üzerinden birden fazla isteğe olanak tanıyarak geri dönen ziyaretçiler için bağlantı yükünü azaltır.

MaxRequestWorkers‘ı optimize edin: Bu değeri, sunucunuzun kullanılabilir RAM’ini tek bir Apache işleminin ortalama bellek ayak izine bölerek belirleyin.

CDN kullanın: Statik varlık dağıtımını bir İçerik Dağıtım Ağına aktararak Apache sunucunuzdaki yükü azaltın.

Maksimum performans gerektiren kaynak yoğun uygulamalar için, Apache ayarlama parametreleri ve donanım kaynakları üzerinde tam kontrole sahip olduğunuz bir Dedicated Server‘a yükseltmeyi düşünün.

9. Apache ve Kontrol Panelleri

Birçok sistem yöneticisi Apache’yi komut satırı yerine grafik kontrol panelleri aracılığıyla yönetir. En popüler seçenek, doğrudan komut satırı erişimi olmadan sanal hostları, SSL sertifikalarını, PHP sürümlerini ve .htaccess kurallarını yönetmek için web tabanlı bir arayüz sağlayan cPanel‘dir.

Yönetilen bir ortamı tercih ediyorsanız AlexHost, Apache yönetimini önemli ölçüde basitleştiren cPanel’li VPS ve çeşitli VPS Kontrol Panelleri sunmaktadır — manuel sunucu yönetiminin tüm karmaşıklığı olmadan VPS’in gücünü isteyen ekipler için idealdir.

10. Apache Hakkında Sıkça Sorulan Sorular

Apache 2024’te hâlâ geçerli mi?

Evet. Nginx ve bulut tabanlı çözümlerin artan benimsenmesine rağmen Apache, özellikle PHP tabanlı uygulamalar ve paylaşımlı hosting ortamları için küresel olarak en yaygın kullanılan web sunucularından biri olmaya devam etmektedir.

Apache ve Nginx birlikte çalışabilir mi?

Evet. Yaygın bir mimari, Nginx’i Apache’nin önünde ters proxy olarak kullanır; bu sayede Nginx’in statik içerik sunma ve eş zamanlı bağlantıları yönetmedeki verimliliği ile Apache’nin dinamik içerik işlemedeki gücü birleştirilir.

Apache yüksek trafikli web siteleri için uygun mudur?

Evet, doğru ayarlamayla. event MPM’ye geçmek, önbelleklemeyi etkinleştirmek ve Apache’yi bir yük dengeleyicinin arkasına dağıtmak, çok yüksek trafik hacimlerini kaldırabilmesini sağlar.

Apache ve Apache Tomcat arasındaki fark nedir?

Apache HTTP Server, HTTP aracılığıyla statik ve dinamik web içeriği sunar. Apache Tomcat ise Java tabanlı web uygulamalarını çalıştırmak için tasarlanmış bir Java Servlet kapsayıcısıdır. Bunlar ayrı projelerdir ve çoğunlukla birlikte kullanılır.

Apache HTTP/2’yi destekliyor mu?

Evet. sudo a2enmod http2 ile HTTP/2 desteğini etkinleştirin ve sanal host yapılandırmanıza Protocols h2 http/1.1 ekleyin.

Sonuç

Apache HTTP Server, modern webin köşe taşı olarak yerini hak etmiştir. Modüler mimarisi, derin ekosistem entegrasyonu, güçlü güvenlik modeli ve eşsiz esnekliği, onu basit bir kişisel blogdan karmaşık, çok katmanlı kurumsal uygulamalara kadar geniş bir hosting senaryosu yelpazesi için doğru seçim haline getirmektedir.

Apache’yi bütçe dostu bir Paylaşımlı Web Hosting planında dağıtıyor, bir VPS‘te ölçeklendiriyor veya bir Dedicated Server ile bare metal üzerinde çalıştırıyor olun, Apache’nin nasıl çalıştığını anlamak size daha hızlı, daha güvenli ve daha güvenilir web altyapısı oluşturmanın temelini sağlar.

Apache’nin yapılandırma modelini öğrenmek, modül ekosistemini keşfetmek ve performans ayarlama en iyi uygulamalarını hayata geçirmek için zaman ayırın — ve üzerine koyduğunuz neredeyse her talebi karşılayabilecek bir web sunucusuna sahip olacaksınız.

15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın