Debian 7 Üzerinde Apache Sanal Sunucuları (Virtual Hosts) Nasıl Kurulur?
Web sunucusu yönetimi, özellikle birden fazla web sitesini tek bir fiziksel sunucu üzerinde barındırmak gerektiğinde, verimlilik ve düzen açısından kritik öneme sahiptir. Apache HTTP Sunucusu, bu tür senaryolar için güçlü ve esnek bir çözüm sunar: Sanal Sunucular (Virtual Hosts). Bu teknik makale, Debian 7 “Wheezy” işletim sistemi üzerinde Apache sanal sunucularını adım adım nasıl yapılandıracağınızı detaylı bir şekilde açıklayacaktır. Debian 7, güncel bir sürüm olmasa da, temel Apache yapılandırma prensipleri ve sanal sunucu mantığı bu sürümde de geçerlidir ve birçok eski sistemde hala aktif olarak kullanılmaktadır. Bu rehber sayesinde, tek bir sunucu IP adresi ve portu üzerinden birden fazla alan adına sahip web sitesini sorunsuz bir şekilde yayınlayabileceksiniz.
Sanal sunucular, temel olarak bir Apache sunucusunun farklı alan adlarına gelen istekleri ayrıştırmasını ve her bir alan adı için belirli bir dizinden içerik sunmasını sağlar. Bu sayede, kaynakları daha verimli kullanabilir, farklı projeler için ayrı ortamlar oluşturabilir ve yönetimsel yükü azaltabilirsiniz. İster kişisel projeleriniz olsun ister küçük işletmenizin web varlığı, sanal sunucuların doğru yapılandırılması, web altyapınızın sağlam temeller üzerine kurulmasını sağlar. Bu makalede, öncelikle Apache’nin temel kurulumunu kontrol edecek, ardından sanal sunucu dizin yapısını oluşturacak, yapılandırma dosyalarını hazırlayacak ve son olarak bu yapılandırmaları etkinleştirerek test edeceğiz.
Ön Koşullar
Apache sanal sunucularını başarıyla kurabilmek için bazı temel ön koşulların yerine getirilmiş olması gerekmektedir. Bu bölüm, kuruluma başlamadan önce sisteminizin hazır olduğundan emin olmanız için gerekli adımları ve bilgileri içermektedir.
Debian 7 İşletim Sistemi
Bu rehber, özellikle Debian 7 “Wheezy” sürümü üzerinde çalışmak üzere tasarlanmıştır. Sunucunuzda Debian 7’nin kurulu ve güncel olduğundan emin olun. Ayrıca, root erişimine veya sudo yetkilerine sahip bir kullanıcı hesabına ihtiyacınız olacaktır. Tüm komutlar root yetkisiyle veya sudo ön ekiyle çalıştırılmalıdır.
# Sistem güncellemelerini kontrol edin ve uygulayın
sudo apt-get update
sudo apt-get upgrade
Apache2 Kurulumu
Sanal sunucuları yapılandırmadan önce, Apache HTTP Sunucusunun sisteminizde kurulu olması gerekmektedir. Eğer Apache henüz kurulu değilse, aşağıdaki komutları kullanarak kolayca kurabilirsiniz:
sudo apt-get install apache2
Kurulum tamamlandıktan sonra, Apache servisinin çalışır durumda olduğunu doğrulamak için sunucunuzun IP adresini veya localhost adresini web tarayıcınızda açın. Debian’ın varsayılan Apache karşılama sayfasını görmelisiniz. Servisin durumunu kontrol etmek için aşağıdaki komutu da kullanabilirsiniz:
sudo service apache2 status
Bu komut, Apache servisinin aktif (running) olup olmadığını size bildirecektir.
Alan Adları (Domain Names) ve DNS
Sanal sunucuların düzgün çalışabilmesi için, her bir web sitesine atanmış bir alan adına (örneğin, site1.com, site2.com) ihtiyacınız olacaktır. Eğer bu alan adları internet üzerinde canlı olacaksa, DNS kayıtlarınızın (A kayıtları) sunucunuzun IP adresini işaret ettiğinden emin olmalısınız.
Yerel testler için veya henüz gerçek alan adlarına sahip değilseniz, bilgisayarınızın hosts dosyasını kullanarak alan adlarını sunucunuzun IP adresine (genellikle 127.0.0.1 veya sunucunun özel IP adresi) yönlendirebilirsiniz. Bu konuya “DNS Ayarları ve Yerel Test” bölümünde daha detaylı değineceğiz.
Temel Linux Komut Bilgisi
Bu rehberi takip edebilmek için temel Linux komutlarına (dizin oluşturma, dosya düzenleme, izinleri değiştirme vb.) aşina olmanız gerekmektedir. mkdir, cd, cp, mv, nano veya vi gibi komutları rahatlıkla kullanabilmelisiniz.
Virtual Host Kavramını Anlamak
Apache sanal sunucuları, tek bir fiziksel sunucu üzerinde birden fazla web sitesini barındırmanın anahtarıdır. Bu, özellikle maliyet etkinliği ve kaynakların verimli kullanımı açısından büyük avantajlar sunar. Apache, gelen HTTP isteklerini analiz ederek hangi web sitesine ait olduğunu belirler ve ilgili içeriği sunar. İki ana sanal sunucu türü vardır: IP tabanlı ve Ad tabanlı. Bu rehberde Ad tabanlı sanal sunuculara odaklanacağız, çünkü bunlar çok daha yaygın ve esnektir.
Ad Tabanlı Sanal Sunucular (Name-based Virtual Hosts)
Ad tabanlı sanal sunucular, aynı IP adresi ve port numarası (genellikle 80 veya 443) üzerinden birden fazla web sitesini barındırmanıza olanak tanır. Apache, gelen HTTP isteğinin “Host” başlığını inceleyerek hangi alan adına yönelik olduğunu anlar. Örneğin, www.site1.com ve www.site2.com adreslerine gelen istekler aynı IP adresine ulaşsa bile, Apache bu alan adlarına özel yapılandırılmış sanal sunucu bloklarını kullanarak doğru içeriği sunar.
Bu yapılandırma, ServerName ve ServerAlias direktifleri aracılığıyla yapılır. ServerName, sanal sunucunun birincil alan adını belirtirken, ServerAlias ise bu sanal sunucuya yönlendirilecek ek alan adlarını (örneğin, www.site1.com için site1.com) tanımlar. Bu sayede, tek bir sanal sunucu yapılandırma bloğu ile bir alan adının hem “www” hem de “www’siz” versiyonlarını yönetebilirsiniz. Ad tabanlı sanal sunucular, modern web sunucularının temelini oluşturur ve çoğu senaryoda tercih edilen yöntemdir.
IP Tabanlı Sanal Sunucular (IP-based Virtual Hosts)
IP tabanlı sanal sunucular, her bir web sitesi için farklı bir IP adresi gerektirir. Apache, gelen isteğin ulaştığı IP adresine göre hangi web sitesini sunacağını belirler. Bu yöntem, ad tabanlı sanal sunuculara kıyasla daha az esnektir ve her web sitesi için ayrı bir IP adresi tahsis etme maliyeti nedeniyle günümüzde nadiren kullanılır. Özellikle IPv4 adreslerinin sınırlı olması nedeniyle, IP tabanlı sanal sunucular sadece belirli özel durumlar (örneğin, SSL sertifikalarının eski yöntemlerle yönetilmesi gereken durumlar) için tercih edilebilir. Bu rehberde, ad tabanlı sanal sunuculara odaklanacağımız için IP tabanlı yapılandırmaya derinlemesine girmeyeceğiz.
Apache Sanal Sunucuları Yapılandırma Adımları
Şimdi, Debian 7 sisteminizde Apache sanal sunucularını adım adım nasıl yapılandıracağımıza geçelim. Bu bölüm, her bir web sitesi için gerekli dizinleri oluşturmaktan, yapılandırma dosyalarını düzenlemeye ve Apache’yi yeniden başlatmaya kadar tüm süreci kapsar.
Dizin Yapısı Oluşturma
Her web sitesi için ayrı bir kök dizin (document root) oluşturmak, dosyaların düzenli kalmasını sağlar. Genellikle bu dizinler /var/www/ altında oluşturulur. İki örnek alan adı (site1.com ve site2.com) kullanarak ilerleyeceğiz.
Öncelikle, her alan adı için ana dizini ve bu dizinin altında web dosyalarının bulunacağı public_html dizinini oluşturalım:
sudo mkdir -p /var/www/site1.com/public_html
sudo mkdir -p /var/www/site2.com/public_html
Ardından, Apache’nin (genellikle www-data kullanıcısı altında çalışır) bu dizinlere yazma ve okuma erişimi olduğundan emin olmalıyız. İzinleri ve sahiplikleri ayarlamak önemlidir:
sudo chown -R www-data:www-data /var/www/site1.com
sudo chmod -R 755 /var/www/site1.com
sudo chown -R www-data:www-data /var/www/site2.com
sudo chmod -R 755 /var/www/site2.com
chown -R www-data:www-data komutu, dizinin ve içerdiği tüm dosyaların sahipliğini www-data kullanıcısına ve grubuna verir. chmod -R 755 komutu ise dizinlere ve dosyalara okuma, yazma ve çalıştırma izinlerini ayarlar (sahip için tam, grup ve diğerleri için okuma ve çalıştırma).
Test Sayfaları Oluşturma
Sanal sunucularımızın doğru çalıştığını doğrulamak için her bir web sitesinin public_html dizinine basit bir index.html dosyası oluşturalım:
site1.com için:
sudo nano /var/www/site1.com/public_html/index.html
İçeriği aşağıdaki gibi yapıştırın ve kaydedin (Ctrl+O, Enter, Ctrl+X):
Site 1 - Apache Virtual Host
This is the default page for site1.com.
site2.com için:
sudo nano /var/www/site2.com/public_html/index.html
İçeriği aşağıdaki gibi yapıştırın ve kaydedin:
Site 2 - Apache Virtual Host
This is the default page for site2.com.
Bu test sayfaları, her bir alan adına eriştiğinizde doğru içeriğin sunulup sunulmadığını anlamamızı sağlayacaktır.
Sanal Sunucu Yapılandırma Dosyalarını Oluşturma
Apache, sanal sunucu yapılandırma dosyalarını /etc/apache2/sites-available/ dizininde saklar. Bu dosyalar, etkinleştirilene kadar pasif kalır. Etkinleştirilen sanal sunucular için /etc/apache2/sites-enabled/ dizinine sembolik bağlantılar oluşturulur.
Varsayılan yapılandırma dosyasını kopyalayarak yeni sanal sunucu dosyalarını oluşturmak en kolay yoldur:
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/site1.com.conf
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/site2.com.conf
Şimdi bu dosyaları düzenleyelim.
site1.com için yapılandırma dosyası (/etc/apache2/sites-available/site1.com.conf):
sudo nano /etc/apache2/sites-available/site1.com.conf
Dosyanın içeriğini aşağıdaki gibi düzenleyin. Varolan VirtualHost bloğunu tamamen değiştirebilirsiniz:
ServerAdmin webmaster@site1.com
ServerName site1.com
ServerAlias www.site1.com
DocumentRoot /var/www/site1.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Açıklamalar:
:80>: Bu blok, port 80 üzerinden gelen tüm isteklere yanıt verecek bir sanal sunucu tanımlar. * tüm IP adreslerini temsil eder.
* ServerAdmin: Web sitesi yöneticisinin e-posta adresi. Hata mesajlarında görünebilir.
* ServerName: Bu sanal sunucunun birincil alan adı. Apache, gelen isteğin “Host” başlığını bu değerle eşleştirir.
* ServerAlias: Bu sanal sunucu için alternatif alan adları. www.site1.com gibi varyasyonları buraya ekleyebilirsiniz.
* DocumentRoot: Web sitesi dosyalarının bulunduğu dizin.
* ErrorLog ve CustomLog: Hata ve erişim günlüklerinin kaydedileceği dosyaları belirtir. ${APACHE_LOG_DIR} değişkeni /var/log/apache2 dizinini temsil eder.
* : Bu blok, belirli bir dizin için özel yapılandırma seçeneklerini ayarlar.
* Options Indexes FollowSymLinks MultiViews: Dizinin içeriğini listeleme (Indexes), sembolik bağlantıları takip etme (FollowSymLinks) ve içerik anlaşması (MultiViews) gibi özellikleri etkinleştirir.
* AllowOverride All: .htaccess dosyalarının bu dizinde Apache ayarlarını geçersiz kılmasına izin verir. Bu, genellikle WordPress gibi CMS’ler için gereklidir.
* Order allow,deny ve allow from all: Bu eski Apache 2.2 tarzı direktifler, tüm IP adreslerinden erişime izin verir. Debian 7’de hala geçerlidir. (Apache 2.4+ sürümlerinde Require all granted kullanılır.)
site2.com için yapılandırma dosyası (/etc/apache2/sites-available/site2.com.conf):
sudo nano /etc/apache2/sites-available/site2.com.conf
Aynı şekilde, içeriği site2.com bilgilerine göre düzenleyin:
ServerAdmin webmaster@site2.com
ServerName site2.com
ServerAlias www.site2.com
DocumentRoot /var/www/site2.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Her iki dosyayı da kaydettiğinizden emin olun.
Sanal Sunucuları Etkinleştirme
Yapılandırma dosyalarını oluşturduktan sonra, bunları Apache için etkinleştirmemiz gerekir. Debian/Ubuntu tabanlı sistemlerde a2ensite (Apache 2 Enable Site) komutu bu işi kolaylaştırır. Bu komut, /etc/apache2/sites-available/ dizinindeki yapılandırma dosyasına /etc/apache2/sites-enabled/ dizininde bir sembolik bağlantı oluşturur.
sudo a2ensite site1.com.conf
sudo a2ensite site2.com.conf
Başarılı bir şekilde etkinleştirildiğini bildiren mesajlar görmelisiniz. Eğer bir sanal sunucuyu devre dışı bırakmak isterseniz, a2dissite komutunu kullanabilirsiniz: sudo a2dissite site1.com.conf.
Apache Yapılandırmasını Test Etme
Herhangi bir Apache servisi yeniden başlatmasından önce, yapılandırma dosyalarınızda bir hata olup olmadığını kontrol etmek iyi bir uygulamadır. Bu, sunucunuzun çökmesini veya beklendiği gibi çalışmamasını önler.
sudo apache2ctl configtest
Veya alternatif olarak:
sudo apachectl configtest
Eğer her şey yolundaysa, Syntax OK mesajını görmelisiniz. Herhangi bir hata varsa, Apache size hatanın nerede olduğunu belirten bir mesaj gösterecektir. Hataları düzeltmeden Apache’yi yeniden başlatmayın.
Apache Servisini Yeniden Başlatma
Yeni sanal sunucu yapılandırmalarının etkili olması için Apache servisini yeniden başlatmanız gerekmektedir:
sudo service apache2 restart
Veya:
sudo /etc/init.d/apache2 restart
Bu komut, Apache’yi durduracak ve yeni yapılandırmalarla tekrar başlatacaktır.
DNS Ayarları ve Yerel Test
Sanal sunucularınızı yapılandırdıktan ve Apache’yi yeniden başlattıktan sonra, web tarayıcınızdan bu sitelere erişebilmeniz gerekir. Bunun için alan adlarınızın sunucunuzun IP adresini işaret etmesi önemlidir.
Gerçek Alan Adları İçin DNS Ayarları
Eğer site1.com ve site2.com gibi gerçek alan adlarına sahipseniz ve bunları internet üzerinde yayınlamak istiyorsanız, alan adı kayıt sağlayıcınızın (domain registrar) veya DNS yönetim panelinizin arayüzünü kullanarak her bir alan adı için bir A kaydı oluşturmanız gerekecektir. Bu A kaydı, alan adınızı Apache sunucunuzun genel IP adresine yönlendirmelidir. Örneğin:
* site1.com -> Sunucunuzun IP Adresi
* www.site1.com -> Sunucunuzun IP Adresi
* site2.com -> Sunucunuzun IP Adresi
* www.site2.com -> Sunucunuzun IP Adresi
DNS değişikliklerinin internet üzerinde yayılması (propagation) biraz zaman alabilir (genellikle birkaç dakika ila birkaç saat).
Yerel Test İçin /etc/hosts Dosyası
Henüz gerçek alan adlarınız yoksa veya sadece yerel olarak test etmek istiyorsanız, kendi bilgisayarınızın hosts dosyasını düzenleyerek bu alan adlarını sunucunuzun IP adresine yönlendirebilirsiniz. Bu, DNS sorgularını atlayarak doğrudan belirli bir IP adresine gitmenizi sağlar.
Kendi Bilgisayarınızda (Debian/Linux, macOS):
sudo nano /etc/hosts
Windows’ta:
C:\Windows\System32\drivers\etc\hosts dosyasını yönetici olarak açtığınız bir metin düzenleyiciyle düzenleyin.
Dosyanın sonuna aşağıdaki satırları ekleyin (eğer testleri sunucunun kendisi üzerinden yapıyorsanız, 127.0.0.1 kullanın; başka bir bilgisayardan yapıyorsanız, sunucunuzun gerçek IP adresini yazın):
127.0.0.1 site1.com
127.0.0.1 www.site1.com
127.0.0.1 site2.com
127.0.0.1 www.site2.com
Bu değişiklikleri kaydettikten sonra, web tarayıcınızı açıp http://site1.com ve http://site2.com adreslerine giderek her iki sitenin de doğru index.html dosyasını gösterdiğini doğrulayabilirsiniz. Eğer site1.com adresine gittiğinizde “Welcome to Site 1!” ve site2.com adresine gittiğinizde “Welcome to Site 2!” mesajını görüyorsanız, sanal sunucularınız başarıyla yapılandırılmış demektir.
Sık Karşılaşılan Sorunlar ve Çözümler
Apache sanal sunucuları yapılandırırken bazı yaygın sorunlarla karşılaşabilirsiniz. İşte bu sorunların bazıları ve olası çözümleri:
İzinler (Permissions)
* Sorun: Web sitesine erişmeye çalıştığınızda “403 Forbidden” hatası alıyorsunuz.
* Çözüm: Apache’nin web sitesi dizinlerine ve dosyalarına erişim izinleri yetersiz olabilir. DocumentRoot dizininin ve altındaki tüm dosyaların www-data kullanıcısına ait olduğundan ve doğru okuma/yürütme izinlerine sahip olduğundan emin olun.
sudo chown -R www-data:www-data /var/www/site1.com
sudo chmod -R 755 /var/www/site1.com
Ayrıca, bloğundaki AllowOverride All ve allow from all (veya Apache 2.4+ için Require all granted) direktiflerinin doğru olduğundan emin olun.
Söz Dizimi Hataları (Syntax Errors)
* Sorun: Apache servisi yeniden başlatılamıyor veya configtest komutu hata veriyor.
* Çözüm: Sanal sunucu yapılandırma dosyalarınızda söz dizimi hatası olabilir. sudo apache2ctl configtest komutunu kullanarak hatanın yerini ve türünü belirleyin. Genellikle eksik bir kapanış etiketi (), yanlış yazılmış bir direktif veya eksik bir tırnak işareti hataya neden olur.
Port Çakışmaları
* Sorun: Apache servisi başlamıyor ve port 80’in zaten kullanımda olduğuna dair bir hata alıyorsunuz.
* Çözüm: Başka bir servis (örneğin Nginx veya başka bir web sunucusu) port 80’i kullanıyor olabilir. Hangi servisin port 80’i kullandığını kontrol etmek için:
sudo netstat -tulpn | grep :80
Eğer başka bir servis tespit ederseniz, onu durdurmanız veya Apache’yi farklı bir portta dinleyecek şekilde yapılandırmanız gerekebilir (ancak bu, ad tabanlı sanal sunucular için pratik değildir).
ServerName ve ServerAlias Yanlış Yapılandırması
* Sorun: Belirli bir alan adına eriştiğinizde yanlış web sitesi içeriği görünüyor veya varsayılan Apache sayfası açılıyor.
* Çözüm: ServerName ve ServerAlias direktiflerinin sanal sunucu yapılandırma dosyalarınızda doğru olduğundan emin olun. Apache, gelen isteğin “Host” başlığını bu direktiflerle eşleştirmeye çalışır. Eğer bir eşleşme bulunamazsa, genellikle ilk yüklenen veya varsayılan sanal sunucuya yönlendirir.
Mod_rewrite veya Diğer Modüller
* Sorun: .htaccess kuralları çalışmıyor veya belirli bir web uygulaması (örneğin WordPress permalinkleri) hatalar veriyor.
* Çözüm: mod_rewrite gibi gerekli Apache modülleri etkinleştirilmemiş olabilir. Bir modülü etkinleştirmek için a2enmod komutunu kullanın:
sudo a2enmod rewrite
sudo service apache2 restart
Ayrıca, .htaccess dosyalarının çalışması için ilgili bloğunda AllowOverride All direktifinin ayarlı olduğundan emin olun.
Log Dosyaları
* Sorun: Ne olduğunu anlamıyorsunuz, hiçbir şey çalışmıyor veya hata mesajları yetersiz.
* Çözüm: Apache’nin hata günlüklerini (/var/log/apache2/error.log) ve erişim günlüklerini (/var/log/apache2/access.log) kontrol edin. Bu dosyalar, sorun giderme için en değerli bilgi kaynaklarıdır. Hata günlükleri, genellikle karşılaşılan sorun hakkında net ipuçları verir.
Gelişmiş Yapılandırma İpuçları
Sanal sunucuların temel kurulumunu tamamladıktan sonra, Apache’nin yeteneklerini daha da genişletmek ve web sitelerinizin performansını, güvenliğini ve işlevselliğini artırmak için bazı gelişmiş yapılandırma ipuçlarını göz önünde bulundurabilirsiniz.
SSL/TLS (HTTPS) Kurulumu
Günümüzde HTTPS, web siteleri için bir standart haline gelmiştir. Sanal sunucularınızı güvenli hale getirmek için Let’s Encrypt gibi ücretsiz sertifika sağlayıcılarından SSL/TLS sertifikaları alıp Apache’ye kurabilirsiniz. Bu, genellikle her bir sanal sunucu için ayrı bir bloğu oluşturmayı ve SSLEngine on, SSLCertificateFile, SSLCertificateKeyFile gibi direktifleri kullanmayı gerektirir. Debian 7’de Certbot kurulumu biraz daha karmaşık olabilir, ancak manuel kurulum veya eski letsencrypt istemcisi ile mümkündür.
Mod_rewrite Kullanımı
mod_rewrite modülü, URL’leri yeniden yazmak için inanılmaz derecede güçlü bir araçtır. Bu, kullanıcı dostu URL’ler oluşturmak, eski URL’leri yenilerine yönlendirmek, HTTPS’ye zorlamak veya belirli koşullara göre içeriği dinamik olarak değiştirmek için kullanılabilir. .htaccess dosyaları veya sanal sunucu yapılandırma dosyaları içinde RewriteEngine On ve RewriteRule direktiflerini kullanarak karmaşık yeniden yazma kuralları oluşturabilirsiniz.
Log Yönetimi
Varsayılan günlükler genellikle yeterli olsa da, daha detaylı analizler için özel günlük formatları tanımlayabilirsiniz. LogFormat direktifi ile istediğiniz bilgileri içeren kendi günlük formatınızı oluşturabilir ve ardından CustomLog direktifini kullanarak bu formatı belirli sanal sunuculara uygulayabilirsiniz. Bu, web sitelerinizin trafiğini ve davranışını daha iyi anlamanıza yardımcı olur.
Performans Optimizasyonu
Apache’nin performansını artırmak için birkaç ayar yapılabilir:
* MPM (Multi-Processing Modules): Apache, farklı MPM’lerle çalışabilir (prefork, worker, event). Debian 7’de genellikle prefork varsayılan olarak gelir. prefork modülü her bağlantı için yeni bir süreç başlatır ve daha fazla bellek tüketebilir. Yüksek trafikli siteler için worker veya event gibi daha modern MPM’ler daha verimli olabilir, ancak PHP gibi modüllerin nasıl çalıştığına bağlı olarak ek yapılandırma gerektirebilirler.
* KeepAlive: KeepAlive On ayarı, istemcinin bir bağlantıyı birden fazla istek için açık tutmasına izin vererek bağlantı kurulumu maliyetini azaltır. KeepAliveTimeout ve MaxKeepAliveRequests değerlerini optimize etmek, performansı artırabilir.
* Mod_deflate ve Mod_expires: mod_deflate ile sunulan içeriği sıkıştırarak bant genişliğini azaltabilir, mod_expires ile ise tarayıcıların statik dosyaları (CSS, JS, resimler) önbelleğe almasını sağlayarak tekrar tekrar indirme ihtiyacını ortadan kaldırabilirsiniz.
Bu gelişmiş ipuçları, Apache sanal sunucularınızın daha verimli, güvenli ve esnek olmasını sağlayarak web altyapınızı daha profesyonel bir seviyeye taşımanıza yardımcı olacaktır. Ancak, her değişiklikten sonra Apache yapılandırmasını test etmeyi ve servisi yeniden başlatmayı unutmayın.
Sonuç
Debian 7 üzerinde Apache sanal sunucularını kurmak ve yapılandırmak, tek bir fiziksel sunucu üzerinde birden fazla web sitesini barındırmanın temel ve güçlü bir yoludur. Bu rehberde, gerekli ön koşullardan başlayarak, her bir web sitesi için dizin yapısını oluşturmayı, sanal sunucu yapılandırma dosyalarını hazırlamayı, bunları etkinleştirmeyi ve son olarak Apache servisini yeniden başlatarak değişiklikleri uygulamayı adım adım inceledik. Ayrıca, yerel test için hosts dosyasını nasıl kullanacağınızı ve sık karşılaşılan sorunları nasıl gidereceğinizi de öğrendiniz.
Sanal sunucuların doğru yapılandırılması, web projelerinizin düzenini, ölçeklenebilirliğini ve yönetimini büyük ölçüde kolaylaştırır. İster küçük kişisel projeleriniz olsun ister büyüyen bir işletmenin web varlığı, Apache’nin esnekliği sayesinde ihtiyaçlarınıza uygun bir barındırma çözümü oluşturabilirsiniz. Unutmayın, her zaman yapılandırma değişikliklerinden sonra apache2ctl configtest komutuyla hataları kontrol etmek ve error.log dosyasını düzenli olarak incelemek iyi bir alışkanlıktır. Bu temel bilgiyle, Debian 7 sisteminizde birden fazla web sitesini başarıyla yayınlayabilir ve web sunucusu yönetimi becerilerinizi geliştirebilirsiniz.
