Apache HTTP Sunucusu (genellikle Apache olarak bilinir), dünya çapında en yaygın kullanılan açık kaynaklı web sunucusudur. Web sayfalarını sunmak, uygulama sunucusu olarak çalışmak ve dinamik içerik oluşturmak için yaygın olarak kullanılır. Apache’nin açık kaynak kodu, onu her türden web sitesi için ideal bir seçenek haline getirirken, esnek yapılandırma ve genişletilebilirlik özellikleri de geliştiricilerin ihtiyaçlarına cevap verir. Bu makalede, Apache Web Sunucusunun kurulumunu ve temel yapılandırmasını adım adım ele alacağız.
1. Apache Nedir?
Apache HTTP Sunucusu, web içeriklerini internet kullanıcılarına iletmek için kullanılan açık kaynaklı bir yazılımdır. Apache, kullanıcılardan gelen HTTP isteklerine yanıt verir ve bu istekleri işleyerek statik veya dinamik içerikleri web tarayıcılarına gönderir. Apache, modüler yapısı sayesinde çeşitli eklentilerle işlevsellik kazandırılabilir, bu da onu küçük bloglardan büyük, trafik yoğunluğu yüksek web uygulamalarına kadar farklı kullanım senaryolarına uygun hale getirir.
Apache’nin başlıca özellikleri şunlardır:
- Modüler Yapı: Apache, farklı işlevleri yerine getirmek için modüller kullanır. Bu, özellik eklemeyi kolaylaştırır.
- Yük Dengeleme: Yüksek trafikli web sitelerinde Apache, yük dengeleme yaparak daha verimli çalışabilir.
- Geniş Topluluk ve Destek: Apache, geniş bir kullanıcı ve geliştirici topluluğuna sahiptir, bu da sıkça karşılaşılan sorunlar için hızlı çözümler ve güncellemeler anlamına gelir.
- Güvenlik: Apache, SSL/TLS desteği ve mod_security gibi güvenlik modülleriyle web uygulamaları için güvenli bir ortam sunar.
2. Apache Web Sunucusunun Kurulumu
Apache’yi kurmak, kullanmakta olduğunuz işletim sistemine bağlı olarak değişir. Aşağıda, Linux (Ubuntu), Windows ve MacOS için adım adım kurulum talimatları yer almaktadır.
a. Ubuntu (Linux) Üzerinde Apache Kurulumu
Ubuntu işletim sisteminde Apache kurulumu oldukça basittir. Aşağıdaki adımları takip ederek Apache’yi yükleyebilirsiniz:
- Paket Depolarını Güncelleme: İlk olarak, paket yöneticisini güncellemek için aşağıdaki komutu çalıştırın:bashCopy code
sudo apt update
- Apache’yi Yükleme: Apache’yi yüklemek için aşağıdaki komutu çalıştırın:bashCopy code
sudo apt install apache2
- Apache Sunucusunu Başlatma: Apache’yi yükledikten sonra, sunucuyu başlatmak için aşağıdaki komutu kullanın:bashCopy code
sudo systemctl start apache2
- Apache’nin Başlangıçta Çalışmasını Sağlama: Apache’nin her bilgisayar açıldığında otomatik olarak başlaması için şu komutu çalıştırabilirsiniz:bashCopy code
sudo systemctl enable apache2
- Apache Sunucusunu Kontrol Etme: Kurulum ve başlatma işlemi tamamlandığında, Apache’nin düzgün çalışıp çalışmadığını kontrol etmek için web tarayıcınızı açın ve
http://localhost
veyahttp://127.0.0.1
adresine gidin. Apache’nin varsayılan “It works!” sayfasını görmelisiniz.
b. Windows Üzerinde Apache Kurulumu
Windows işletim sisteminde Apache kurmak, Ubuntu’dan biraz daha farklıdır. Genellikle XAMPP veya WAMP gibi yazılım paketleri, Apache’yi kolayca kurmanızı sağlar. Ancak, sadece Apache kurmak isterseniz şu adımları takip edebilirsiniz:
- Apache İndir: Apache’yi Apache Lounge üzerinden indirmeniz gerekmektedir. Apache’nin Windows sürümünü indirdikten sonra, sıkıştırılmış dosyayı açın.
- Apache’yi Kurma: İndirilen dosyanın içinde,
httpd.exe
adlı bir dosya bulunur. Bu dosyayı çalıştırarak Apache’yi başlatabilirsiniz. Apache kurulumunun başarılı olup olmadığını kontrol etmek içinhttp://localhost
adresine gidin. - Apache’yi Hizmet Olarak Başlatma: Apache’yi Windows Hizmetleri arasında başlatmak için, terminalde aşağıdaki komutu yazabilirsiniz:bashCopy code
httpd.exe -k install
- Apache Sunucusunu Başlatma: Apache’yi başlatmak için
httpd.exe
dosyasını çalıştırabilirsiniz ya da kontrol paneli üzerinden Apache’yi başlatabilirsiniz.
c. MacOS Üzerinde Apache Kurulumu
MacOS, Apache ile birlikte gelir, ancak en güncel sürümü yüklemek ve yapılandırmak için Terminal’i kullanabilirsiniz.
- Apache’nin Durumunu Kontrol Etme: MacOS üzerinde Apache’nin önceden yüklü olduğunu varsayarsak, durumunu kontrol etmek için şu komutu çalıştırın:bashCopy code
sudo apachectl start
- Apache’nin Çalıştığını Doğrulama: Web tarayıcınızı açın ve
http://localhost
adresini girin. Apache’nin varsayılan sayfası görünmelidir.
3. Apache Web Sunucusunun Yapılandırılması
Apache’nin temel yapılandırma dosyası httpd.conf
dosyasıdır. Bu dosya genellikle /etc/apache2/httpd.conf
(Linux) veya C:\Program Files\Apache Group\Apache2\conf\httpd.conf
(Windows) yolunda bulunur. Bu dosyada yapılan değişiklikler, Apache’nin çalışma biçimini etkiler.
a. Temel Yapılandırma Ayarları
- Sunucu Adı ve Başlangıç Sayfası: Apache’nin başlangıç sayfasının görünmesini sağlamak için
DocumentRoot
veServerName
gibi temel ayarları yapılandırabilirsiniz. Örneğin:bashCopy codeDocumentRoot "/var/www/html" ServerName localhost
- Apache Modüllerini Etkinleştirme: Apache, farklı işlevler için birçok modül sunar. Modülleri etkinleştirmek için
httpd.conf
dosyasına aşağıdaki satırları ekleyebilirsiniz:bashCopy codeLoadModule rewrite_module modules/mod_rewrite.so LoadModule ssl_module modules/mod_ssl.so
- Virtual Hosts (Sanaldomains) Konfigürasyonu: Apache, birden fazla siteyi aynı anda çalıştırabilmenizi sağlayan sanal ana makineleri (Virtual Hosts) destekler.
httpd-vhosts.conf
dosyasını düzenleyerek, farklı domainler için farklı kök dizinleri ve ayarlar belirleyebilirsiniz:bashCopy code<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/var/www/dummy-host.local" ServerName dummy-host.local </VirtualHost>
b. Güvenlik ve Erişim Denetimleri
Apache’nin güvenlik özellikleri, web sunucusunun doğru şekilde yapılandırılması için kritik öneme sahiptir. Güvenlik ayarlarını yaparken, dosya izinlerini ve erişim kontrol listelerini (ACL) doğru bir şekilde ayarlamanız gerekir.
- .htaccess Dosyası ile Güvenlik:
.htaccess
dosyası, Apache’nin belirli dizinler için özel yapılandırmalar yapmasına olanak tanır. Örneğin, kullanıcı doğrulaması yapmak için şu kodu kullanabilirsiniz:bashCopy codeAuthType Basic AuthName "Restricted Area" AuthUserFile /path/to/.htpasswd Require valid-user
- SSL/TLS Desteği: HTTPS üzerinden güvenli bağlantı sağlamak için SSL sertifikalarını etkinleştirebilirsiniz. Apache, SSL modülünü etkinleştirerek HTTPS bağlantılarını yönetebilir.bashCopy code
LoadModule ssl_module modules/mod_ssl.so Listen 443 <VirtualHost *:443> SSLEngine on SSLCertificateFile "/path/to/certificate.crt" SSLCertificateKeyFile "/path/to/private.key" </VirtualHost>
4. Apache’nin Çalışma Durumunu İzleme
Apache’nin çalışma durumunu izlemek için birkaç temel komut kullanabilirsiniz:
- Apache Durumu: Apache’nin çalışıp çalışmadığını kontrol etmek için şu komutu kullanabilirsiniz:bashCopy code
sudo systemctl status apache2
- Log Dosyalarını İzleme: Apache, hata ve erişim loglarını kaydeder. Bu logları izleyerek web sunucusunun durumunu analiz edebilirsiniz:bashCopy code
tail -f /var/log/apache2/error.log tail -f /var/log/apache2/access.log
- Apache HTTP Sunucusu, web siteleri ve uygulamaları için güçlü ve esnek bir platform sunar. Kurulumu ve yapılandırılması, kullanıcıların ihtiyaçlarına göre özelleştirilebilir ve Apache, verimli, güvenli ve ölçeklenebilir bir web sunucusu çözümü sağlar. Apache’nin modüler yapısı, genişletilebilirliği ve açık kaynak özellikleri sayesinde, dünya çapında en çok tercih edilen web sunucularından biri olmuştur.