Sobes.tech
Intern

Apache HTTP Server ile çalıştınız mı?

sobes.tech yapay zeka

AI'dan gelen yanıt

Evet, çalıştım. Çeşitli altyapılarda Apache HTTP Server'ın yapılandırılması, optimizasyonu ve desteği konusunda deneyimim var.

Ana çalışma alanları:

  • Kurulum ve temel yapılandırma:
    • Kaynaktan derleme ve paketlerden kurulum (apt, yum).
    • Ana yapılandırma dosyasını düzenleme httpd.conf (veya apache2.conf).
    • Dinleme portlarının yapılandırılması (Listen).
  • Sanal ana makineler (Virtual Hosts):
    • Birden fazla siteyi barındırmak için sanal ana makinelerin oluşturulması ve yapılandırılması.
    • İsim tabanlı (Name-based Virtual Hosts) ve IP tabanlı (IP-based Virtual Hosts) yapılandırma.
    • ServerName, ServerAlias, DocumentRoot direktiflerinin kullanımı.
  • Apache Modülleri (Modules):
    • Modüllerin etkinleştirilmesi ve devre dışı bırakılması (örneğin, mod_rewrite, mod_ssl, mod_proxy).
    • URL yeniden yazma kuralları gibi belirli modüllerin yapılandırılması (mod_rewrite).
    • MPM (Multi-Processing Modules) ile çalışma — prefork, worker, event.
  • Güvenlik:
    • mod_ssl ve Let's Encrypt veya diğer sertifikalar kullanılarak SSL/TLS yapılandırması.
    • IP üzerinden erişim kısıtlaması (Order, Deny, Allow).
    • .htaccess veya yapılandırma dosyaları kullanılarak kimlik doğrulama (Basic, Digest) yapılandırması.
    • Yaygın saldırılardan korunma (örneğin, DDoS, SQL Injection - WAF ile birlikte).
  • Performans ve ölçeklenebilirlik:
    • MPM ayarlarının optimize edilmesi (MaxRequestWorkers, StartServers, MinSpareServers, MaxSpareServers).
    • Önbellekleme kullanımı (mod_cache, mod_disk_cache).
    • FastCGI (PHP-FPM) ile entegrasyon ve istekleri proxy etme (mod_proxy, mod_proxy_http, mod_proxy_fcgi).
    • Sıkıştırma ayarları (mod_deflate).
  • Günlük kaydı ve izleme:
    • Erişim günlükleri formatlarının yapılandırılması (LogFormat, CustomLog).
    • Hata günlüklerinin analizi (ErrorLog).
    • İzleme sistemleri ile entegrasyon (örneğin, Prometheus Exporter, Nagios eklentileri).
    • Sunucu durumu ve isteklerin izlenmesi için mod_status kullanımı.
  • Otomasyon ve dağıtım:
    • Apache kurulumu ve yapılandırması için Ansible playbook'larının yazılması.
    • Apache ile Docker konteynerlerinin kullanımı.

Bir sanal ana makine yapılandırması örneği:

# Sanal ana makine yapılandırması örneği
<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    <Directory /var/www/example.com/public_html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    # HTTPS'ye yönlendirme
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>

<VirtualHost *:443>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/ssl_error.log
    CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined

    <Directory /var/www/example.com/public_html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/example.com.crt
    SSLCertificateKeyFile /etc/ssl/private/example.com.key
    SSLCertificateChainFile /etc/ssl/certs/example.com.ca-bundle # Varsa

    # SSL güvenlik ayarları önerilir
    SSLProtocol all -SSLv2 -SSLv3
    SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA
    SSLHonorCipherOrder on
    SSLSessionTickets off
    SSLCompression off

</VirtualHost>

Nginx ile karşılaştırmalı deneyim de mevcuttur, bu da belirli görevler için en uygun çözümün seçilmesine veya entegrasyonlarına olanak tanır (örneğin, Nginx arkasında Apache gibi).