Apache Sanal Hostları (Virtual Hosts) Ubuntu 18.04 Üzerinde Nasıl Kurulur [Hızlı Başlangıç]
Apache web sunucusu, internetteki en popüler ve güçlü sunuculardan biridir. Esnek yapısı sayesinde, tek bir sunucu üzerinde birden fazla web sitesini barındırmanıza olanak tanır. Bu yetenek, “Sanal Hostlar” (Virtual Hosts) olarak bilinir. Sanal hostlar, web geliştiricileri ve sistem yöneticileri için vazgeçilmez bir araçtır, çünkü maliyetleri düşürür, kaynakları optimize eder ve yönetimi kolaylaştırır. Bu kapsamlı rehberde, Ubuntu 18.04 işletim sistemi üzerinde Apache sanal hostlarını nasıl kuracağınızı ve yapılandıracağınızı adım adım, hızlı bir başlangıç formatında öğreneceksiniz.
Giriş: Sanal Hostlar Neden Önemlidir?
Sanal hostlar, Apache’nin temel özelliklerinden biridir ve bir sunucunun aynı IP adresi ve portu kullanarak birden fazla alan adına (domain) hizmet vermesini sağlar. Basitçe ifade etmek gerekirse, tek bir fiziksel sunucu üzerinde alanadiniz1.com, alanadiniz2.net ve blog.alanadiniz1.com gibi farklı web sitelerini çalıştırabilirsiniz. Her bir web sitesi, sanki kendine ait özel bir sunucusu varmış gibi davranır.
Bu yaklaşımın başlıca avantajları şunlardır:
* Maliyet Verimliliği: Her web sitesi için ayrı bir fiziksel sunucuya veya IP adresine ihtiyaç duymazsınız. Bu, donanım ve IP adresi maliyetlerinden tasarruf etmenizi sağlar.
* Kaynak Optimizasyonu: Sunucunun işlem gücü, belleği ve disk alanı gibi kaynakları, birden fazla site arasında paylaşılabilir ve daha verimli kullanılabilir.
* Kolay Yönetim: Tüm web sitelerinizi tek bir merkezi konumdan yönetebilirsiniz, bu da bakım ve güncellemeleri basitleştirir.
* Esneklik: Her sanal host için farklı yapılandırmalar (örneğin, PHP sürümleri, SSL sertifikaları, erişim izinleri) belirleyebilirsiniz.
Bu rehber, Ubuntu 18.04 üzerinde Apache’nin kurulu olduğunu ve temel sunucu yönetimi bilgisine sahip olduğunuzu varsaymaktadır. Eğer Apache kurulu değilse veya temel sunucu kurulumu hakkında bilgiye ihtiyacınız varsa, ilk adımla başlayabilirsiniz.
Ön Koşullar
Bu rehbere başlamadan önce aşağıdaki maddelerin hazır olduğundan emin olun:
* Ubuntu 18.04 Sunucusu: SSH erişimi olan bir Ubuntu 18.04 sunucusu (VPS, fiziksel sunucu veya sanal makine).
* Root veya Sudo Yetkileri: Komutları çalıştırmak için sudo yetkilerine sahip bir kullanıcı veya root erişimi.
* Alan Adı (Domain Name): Test etmek için bir alan adına sahip olmanız veya yerel /etc/hosts dosyanızı düzenleyerek alan adı simülasyonu yapabilmeniz gerekmektedir. Eğer gerçek bir alan adınız varsa, DNS kayıtlarınızın sunucunuzun IP adresini işaret ettiğinden emin olun.
* Apache Web Sunucusu: Apache’nin sunucunuzda kurulu ve çalışır durumda olması. Eğer kurulu değilse, ilk adımda kurulumu gerçekleştireceğiz.
Adım 1: Apache Web Sunucusunu Kurma
Eğer sunucunuzda Apache kurulu değilse, bu adımı uygulayarak kurulumu gerçekleştirebilirsiniz. Zaten kuruluysa, bu adımı atlayabilirsiniz.
Paket Listesini Güncelleme
İlk olarak, sunucunuzdaki paket listesini güncelleyelim:
sudo apt update
Apache Kurulumu
Şimdi Apache web sunucusunu kuralım:
sudo apt install apache2
Kurulum tamamlandıktan sonra, Apache servisi otomatik olarak başlayacaktır. Servisin durumunu kontrol edebilirsiniz:
sudo systemctl status apache2
Çıktıda active (running) ifadesini görmelisiniz.
Güvenlik Duvarını Yapılandırma (UFW)
Eğer sunucunuzda UFW (Uncomplicated Firewall) etkinse, Apache’nin gelen HTTP (port 80) ve HTTPS (port 443) isteklerini almasına izin vermeniz gerekir.
Mevcut UFW uygulamalarını listeleyin:
sudo ufw app list
Çıktıda Apache Full, Apache ve Apache Secure seçeneklerini göreceksiniz.
* Apache: Sadece HTTP (port 80) trafiğine izin verir.
* Apache Secure: Sadece HTTPS (port 443) trafiğine izin verir.
* Apache Full: Hem HTTP hem de HTTPS trafiğine izin verir.
Sanal hostlar genellikle hem HTTP hem de HTTPS üzerinden erişilebilir olduğu için Apache Full profilini etkinleştirmek en uygunudur:
sudo ufw allow 'Apache Full'
UFW’nin durumunu kontrol ederek kuralın eklendiğinden emin olun:
sudo ufw status
Apache Kurulumunu Doğrulama
Web tarayıcınızdan sunucunuzun IP adresini ziyaret ederek Apache’nin varsayılan karşılama sayfasını görmelisiniz. Bu, Apache’nin başarıyla kurulduğunu ve çalıştığını gösterir.
Adım 2: Dizin Yapısını Oluşturma
Her sanal host için ayrı bir belge kökü (DocumentRoot) dizini oluşturmanız önerilir. Bu, web sitelerinin dosyalarını birbirinden ayrı tutar ve yönetimi kolaylaştırır. Tipik olarak, bu dizinler /var/www/ altında oluşturulur.
Örnek olarak alanadiniz.com adında bir alan adı için dizin yapısını oluşturalım:
sudo mkdir -p /var/www/alanadiniz.com/public_html
Bu komut, /var/www/alanadiniz.com/ dizinini ve içinde public_html dizinini oluşturacaktır. public_html genellikle web sitesinin ana dosyalarının (HTML, CSS, JS vb.) bulunduğu yerdir.
Dizin Sahipliğini ve İzinlerini Ayarlama
Oluşturduğunuz dizinlerin sahipliğini ve izinlerini ayarlamak önemlidir, böylece web sunucusu (Apache) bu dosyalara erişebilir ve siz de bu dizinlerde dosya oluşturabilirsiniz.
Dizin sahipliğini mevcut kullanıcınıza verin (genellikle sudo kullanıcınız):
sudo chown -R $USER:$USER /var/www/alanadiniz.com
Burada $USER, o anki oturum açmış kullanıcı adınızı temsil eder. Bu, size dosyalar üzerinde tam kontrol sağlar. Apache’nin de dosyalara erişebilmesi için uygun izinleri ayarlayalım:
sudo chmod -R 755 /var/www/alanadiniz.com
Bu komut, dizinlere ve altındaki dosyalara okuma ve yürütme izni verirken, sahibine yazma izni de verir.
Adım 3: Örnek İçerik Oluşturma
Her sanal host için farklı bir sayfa görüntülediğinizden emin olmak için, her bir alan adının public_html dizinine basit bir index.html dosyası oluşturalım.
alanadiniz.com için:
sudo nano /var/www/alanadiniz.com/public_html/index.html
İçine aşağıdaki HTML içeriğini ekleyin:
alanadiniz.com - Hoş Geldiniz!
Bu, alanadiniz.com için özel bir sayfadır.
Kaydedip kapatın (CTRL+X, Y, Enter).
Eğer birden fazla sanal host kuracaksanız (örneğin alanadiniz2.com), bu adımları tekrarlayarak ikinci bir dizin ve index.html dosyası oluşturmalısınız:
sudo mkdir -p /var/www/alanadiniz2.com/public_html
sudo chown -R $USER:$USER /var/www/alanadiniz2.com
sudo chmod -R 755 /var/www/alanadiniz2.com
sudo nano /var/www/alanadiniz2.com/public_html/index.html
Ve alanadiniz2.com için farklı bir içerik ekleyin:
alanadiniz2.com - Hoş Geldiniz!
Bu, alanadiniz2.com için özel bir sayfadır.
Adım 4: Sanal Host Dosyalarını Oluşturma
Apache, sanal host yapılandırma dosyalarını /etc/apache2/sites-available/ dizininde saklar. Bu dizindeki dosyalar, etkinleştirilmedikçe Apache tarafından kullanılmaz. Etkinleştirilen sanal hostlar ise /etc/apache2/sites-enabled/ dizinine sembolik bağlantılar (symlinks) olarak eklenir.
Varsayılan yapılandırma dosyası 000-default.conf dosyasını kopyalayarak yeni bir sanal host dosyası oluşturalım:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/alanadiniz.com.conf
Şimdi bu dosyayı düzenleyelim:
sudo nano /etc/apache2/sites-available/alanadiniz.com.conf
Dosyanın içeriğini aşağıdaki gibi güncelleyin. Mevcut DocumentRoot ve ServerName gibi direktifleri kendi alan adınıza göre değiştirin ve ServerAdmin ile ServerAlias direktiflerini ekleyin:
ServerAdmin webmaster@alanadiniz.com
ServerName alanadiniz.com
ServerAlias www.alanadiniz.com
DocumentRoot /var/www/alanadiniz.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
Açıklamalar:
: Bu blok, HTTP (port 80) üzerinden gelen istekleri dinleyecek bir sanal host tanımlar. * tüm IP adreslerini dinlemesi anlamına gelir.
* ServerAdmin: Web sitesi yöneticisinin e-posta adresi. Hata durumunda bu e-posta adresi kullanılabilir.
* ServerName: Bu sanal hostun hizmet vereceği birincil alan adı.
* ServerAlias: Bu sanal hostun hizmet vereceği diğer alan adları veya alt alan adları (örneğin, www.alanadiniz.com).
* DocumentRoot: Web sitesinin dosyalarının bulunduğu kök dizin.
* ErrorLog ve CustomLog: Hata ve erişim günlüklerinin kaydedileceği yerler. Apache’nin varsayılan günlük dizini /var/log/apache2/ altındadır.
* : Bu blok, belirli bir dizin için özel yapılandırma ayarları tanımlar.
* Options Indexes FollowSymLinks: Dizindeki dosyaların listelenmesine (Indexes) ve sembolik bağlantıların takip edilmesine (FollowSymLinks) izin verir. Güvenlik nedeniyle Indexes kapatılabilir.
* AllowOverride All: .htaccess dosyalarının bu dizinde Apache ayarlarını geçersiz kılmasına izin verir. Bu, WordPress gibi CMS’ler için genellikle gereklidir.
* Require all granted: Bu dizine tüm isteklerin erişimine izin verir.
Dosyayı kaydedip kapatın. Eğer ikinci bir sanal host kuruyorsanız (alanadiniz2.com), aynı adımları takip ederek ikinci bir yapılandırma dosyası oluşturun (alanadiniz2.com.conf) ve ilgili alan adı ve dizin bilgilerini güncelleyin.
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/alanadiniz2.com.conf
sudo nano /etc/apache2/sites-available/alanadiniz2.com.conf
İkinci dosya içeriği:
ServerAdmin webmaster@alanadiniz2.com
ServerName alanadiniz2.com
ServerAlias www.alanadiniz2.com
DocumentRoot /var/www/alanadiniz2.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
Adım 5: Sanal Hostları Etkinleştirme
Yeni oluşturduğunuz sanal host yapılandırma dosyalarını etkinleştirmek için Apache’nin a2ensite yardımcı programını kullanmanız gerekir.
alanadiniz.com sanal hostunu etkinleştirin:
sudo a2ensite alanadiniz.com.conf
Eğer alanadiniz2.com gibi başka sanal hostlarınız varsa, onları da etkinleştirin:
sudo a2ensite alanadiniz2.com.conf
Varsayılan Apache sayfasını görmek istemiyorsanız, 000-default.conf sanal hostunu devre dışı bırakabilirsiniz:
sudo a2dissite 000-default.conf
Yapılandırma Söz Dizimini Kontrol Etme
Herhangi bir hata olup olmadığını kontrol etmek için Apache yapılandırma dosyalarınızın söz dizimini test edin:
sudo apache2ctl configtest
Eğer her şey yolundaysa, Syntax OK çıktısını görmelisiniz. Herhangi bir hata varsa, hatayı düzelttikten sonra tekrar test edin.
Apache Servisini Yeniden Başlatma
Yeni yapılandırmaların etkili olması için Apache servisini yeniden yüklemeniz veya yeniden başlatmanız gerekir:
sudo systemctl reload apache2
Veya:
sudo systemctl restart apache2
reload komutu, servisi kesintiye uğratmadan yapılandırmaları yüklerken, restart komutu servisi tamamen durdurup yeniden başlatır. Genellikle reload yeterlidir.
Adım 6: Yerel DNS Ayarlarını Yapılandırma (Test İçin)
Eğer gerçek bir alan adı kullanmıyorsanız ve sadece yerel olarak test ediyorsanız, bilgisayarınızın hosts dosyasını düzenleyerek alan adlarınızı sunucunuzun IP adresine yönlendirebilirsiniz. Bu, tarayıcınızın alan adını sunucunuzun IP adresine çözümlemesini sağlar.
Bu adımı, sadece test amacıyla yerel bilgisayarınızda yapmanız gerekmektedir, sunucunuzda değil.
Windows, macOS veya Linux işletim sistemlerinde hosts dosyasının konumu farklılık gösterebilir:
* Linux/macOS: /etc/hosts
* Windows: C:\Windows\System32\drivers\etc\hosts
Dosyayı düzenlemek için sudo yetkilerine sahip bir metin düzenleyici kullanın. Örneğin, Linux veya macOS’ta:
sudo nano /etc/hosts
Dosyanın sonuna aşağıdaki satırları ekleyin (sunucunuzun IP adresini kendi IP adresinizle değiştirin):
SUNUCU_IP_ADRESİ alanadiniz.com
SUNUCU_IP_ADRESİ www.alanadiniz.com
SUNUCU_IP_ADRESİ alanadiniz2.com
SUNUCU_IP_ADRESİ www.alanadiniz2.com
Örneğin, sunucunuzun IP adresi 203.0.113.10 ise:
203.0.113.10 alanadiniz.com
203.0.113.10 www.alanadiniz.com
203.0.113.10 alanadiniz2.com
203.0.113.10 www.alanadiniz2.com
Kaydedip kapatın. Şimdi web tarayıcınızda http://alanadiniz.com veya http://alanadiniz2.com adreslerini ziyaret ettiğinizde, her bir alan adının kendi özel index.html sayfasını görmelisiniz.
Eğer gerçek bir alan adı kullanıyorsanız, bu adımı atlayabilirsiniz. DNS kayıtlarınızın (A kaydı) sunucunuzun IP adresini doğru bir şekilde işaret ettiğinden emin olun. DNS değişikliklerinin internet genelinde yayılması (propagation) biraz zaman alabilir (birkaç dakika ila 48 saate kadar).
Adım 7: Gelişmiş Sanal Host Yapılandırmaları
Sanal hostlar, temel kurulumun ötesinde birçok gelişmiş yapılandırma seçeneği sunar. İşte bazı önemli olanlar:
SSL/TLS (HTTPS) ile Sanal Hostlar
Günümüzde web siteleri için HTTPS kullanımı bir standart haline gelmiştir. Let’s Encrypt gibi ücretsiz SSL sertifikası sağlayıcıları sayesinde HTTPS kurulumu oldukça kolaydır.
1. SSL Modülünü Etkinleştirme:
sudo a2enmod ssl
2. Sertifika ve Anahtar Dosyalarını Alma: Genellikle Certbot gibi araçlarla otomatik olarak yapılır.
3. Sanal Host Yapılandırmasını Güncelleme: Mevcut .conf dosyanızı kopyalayarak veya düzenleyerek HTTPS için yeni bir bloğu oluşturun:
ServerAdmin webmaster@alanadiniz.com
ServerName alanadiniz.com
ServerAlias www.alanadiniz.com
DocumentRoot /var/www/alanadiniz.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/alanadiniz.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/alanadiniz.com/privkey.pem
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
SSLCertificateFile ve SSLCertificateKeyFile yollarını kendi sertifika dosyalarınızın yollarıyla değiştirmeniz gerekmektedir. Certbot kullanıyorsanız, bu yollar genellikle /etc/letsencrypt/live/your_domain/ altında bulunur.
4. HTTP’den HTTPS’e Yönlendirme: Çoğu zaman, kullanıcıların her zaman HTTPS sürümüne yönlendirilmesini istersiniz. Bunu HTTP sanal host bloğunuza ekleyerek yapabilirsiniz:
ServerName alanadiniz.com
ServerAlias www.alanadiniz.com
Redirect permanent / https://alanadiniz.com/
Bu, HTTP üzerinden gelen tüm istekleri kalıcı olarak HTTPS’e yönlendirecektir.
5. Apache’yi Yeniden Başlatma:
sudo systemctl restart apache2
Birden Fazla Alan Adı İçin Sanal Hostlar
Bu rehberde zaten iki alan adı (alanadiniz.com ve alanadiniz2.com) için örnekler verdik. Temel prensip, her alan adı için ayrı bir dizin yapısı, ayrı bir index.html (veya web sitesi içeriği) ve ayrı bir .conf dosyası oluşturmaktır. Her .conf dosyasında ServerName ve DocumentRoot direktiflerini ilgili alan adına göre ayarlamanız yeterlidir.
Yeniden Yönlendirmeler (Redirects)
Apache, Redirect ve mod_rewrite modülleri aracılığıyla güçlü yeniden yönlendirme yetenekleri sunar.
* Basit Yeniden Yönlendirme (Redirect): Bir URL’yi başka bir URL’ye yönlendirmek için kullanılır.
Redirect permanent /eski-sayfa.html http://alanadiniz.com/yeni-sayfa.html
* Gelişmiş Yeniden Yönlendirme (mod_rewrite): Daha karmaşık desen eşleştirme ve koşullu yönlendirmeler için kullanılır. mod_rewrite modülünü etkinleştirmeniz gerekir:
sudo a2enmod rewrite
sudo systemctl reload apache2
Daha sonra .htaccess dosyanızda veya bloğunuzda kullanabilirsiniz:
RewriteEngine On
RewriteRule ^eski-dizin/(.*)$ /yeni-dizin/$1 [R=301,L]
Dizin İzinleri ve Güvenlik
blokları, belirli dizinler için güvenlik ve erişim ayarlarını yapılandırmak için kritik öneme sahiptir.
* Options Direktifi:
* Indexes: Dizinlerin içeriğinin listelenmesine izin verir (genellikle kapatılmalıdır).
* FollowSymLinks: Sembolik bağlantıların takip edilmesine izin verir (genellikle gereklidir).
* MultiViews: İçerik anlaşmasını etkinleştirir.
* AllowOverride Direktifi:
* None: .htaccess dosyalarının Apache yapılandırmasını geçersiz kılmasına izin vermez (daha güvenli).
* All: .htaccess dosyalarının tüm direktifleri geçersiz kılmasına izin verir (CMS’ler için yaygın).
* Require Direktifi:
* Require all granted: Tüm isteklere izin verir.
* Require all denied: Tüm istekleri reddeder.
* Require ip 192.168.1.0/24: Belirli bir IP aralığından gelen isteklere izin verir.
Güvenlik açısından, AllowOverride None kullanmak ve tüm yapılandırmayı ana sanal host dosyalarında yapmak daha iyidir, ancak bu, .htaccess dosyalarına dayanan uygulamalar için mümkün olmayabilir.
Sık Karşılaşılan Sorunlar ve Çözümleri
Sanal host kurulumu sırasında veya sonrasında bazı yaygın sorunlarla karşılaşabilirsiniz. İşte bazıları ve olası çözümleri:
1. “Syntax OK” Hatası Yok:
* Sorun: sudo apache2ctl configtest komutu Syntax OK dışında bir hata veriyor.
* Çözüm: Hata mesajını dikkatlice okuyun. Genellikle hata, yapılandırma dosyasındaki bir yazım hatası, eksik bir direktif veya yanlış bir yoldan kaynaklanır. Hata mesajında belirtilen dosya ve satır numarasını kontrol edin ve düzeltin.
2. 403 Forbidden Hatası:
* Sorun: Web sitesine erişmeye çalışırken “403 Forbidden” hatası alıyorsunuz.
* Çözüm: Bu genellikle dizin izinleri veya Apache’nin dizine erişim yetkisiyle ilgilidir.
* DocumentRoot dizininin ve altındaki dosyaların Apache kullanıcısı (www-data) tarafından okunabilir olduğundan emin olun. sudo chmod -R 755 /var/www/alanadiniz.com komutunu tekrar çalıştırın.
* bloğunuzda Require all granted direktifinin olduğundan emin olun.
* SELinux veya AppArmor gibi ek güvenlik önlemleri etkinse, bunların Apache’nin dizinlere erişimini engellemediğinden emin olun.
3. Apache Varsayılan Sayfası Görünüyor:
* Sorun: Kendi alan adınızı ziyaret ettiğinizde hala Apache’nin varsayılan “It works!” sayfasını görüyorsunuz.
* Çözüm:
* sudo a2ensite your_domain.conf komutuyla sanal hostunuzu etkinleştirdiğinizden emin olun.
* sudo a2dissite 000-default.conf ile varsayılan sanal hostu devre dışı bırakmayı deneyin.
* sudo systemctl reload apache2 veya sudo systemctl restart apache2 komutunu çalıştırdığınızdan emin olun.
* ServerName ve ServerAlias direktiflerinin doğru yazıldığından emin olun.
4. DNS Çözümleme Sorunları:
* Sorun: Alan adınızı tarayıcınızda açtığınızda “Siteye ulaşılamıyor” veya benzeri bir hata alıyorsunuz.
* Çözüm:
* Eğer gerçek bir alan adı kullanıyorsanız, DNS kayıtlarınızın (A kaydı) sunucunuzun IP adresini doğru bir şekilde işaret ettiğinden emin olun. DNS yayılımı biraz zaman alabilir. ping your_domain.com veya dig your_domain.com komutlarıyla kontrol edebilirsiniz.
* Eğer yerel hosts dosyanızı kullanıyorsanız, IP adresi ve alan adı eşleşmesinin doğru olduğundan ve dosyanın kaydedildiğinden emin olun. Tarayıcı önbelleğini temizlemeyi deneyin.
5. Yanlış Sanal Host Açılıyor:
* Sorun: Birden fazla sanal host kurdunuz, ancak yanlış olanı açılıyor veya her ikisi de aynı içeriği gösteriyor.
* Çözüm:
* Her sanal host dosyasındaki ServerName ve ServerAlias direktiflerinin benzersiz ve doğru olduğundan emin olun.
* DocumentRoot direktiflerinin her sanal host için doğru dizini gösterdiğinden emin olun.
* sudo apache2ctl configtest komutunu çalıştırarak söz dizimi hatalarını kontrol edin.
* Apache, ilk eşleşen sanal hostu kullanır. Eğer birden fazla sanal host aynı ServerName veya ServerAlias değerine sahipse, bu bir çakışmaya neden olabilir.
6. Apache Yeniden Başlamıyor:
* Sorun: sudo systemctl restart apache2 komutu hata veriyor.
* Çözüm: Genellikle bu, yapılandırma dosyasındaki bir hatadan kaynaklanır. sudo apache2ctl configtest komutunu çalıştırarak hatayı bulun ve düzeltin. Ayrıca Apache günlük dosyalarını (/var/log/apache2/error.log) kontrol ederek daha detaylı bilgi edinebilirsiniz.
Bu sorun giderme adımları, çoğu yaygın Apache sanal host sorununu çözmenize yardımcı olacaktır. Unutmayın, sabır ve dikkatli günlük kontrolü, sorun gidermenin anahtarıdır.
Sonuç
Bu rehberde, Ubuntu 18.04 sunucunuzda Apache sanal hostlarını nasıl kuracağınızı ve yapılandıracağınızı öğrendiniz. Sanal hostlar, tek bir sunucu üzerinde birden fazla web sitesini barındırmak için güçlü ve esnek bir yöntem sunar. Adım adım ilerleyerek Apache’yi kurduk, dizin yapısını oluşturduk, örnek içerik ekledik, sanal host yapılandırma dosyalarını oluşturup etkinleştirdik ve son olarak yerel DNS ayarlarımızı yaparak kurulumu test ettik. Ayrıca, SSL/TLS entegrasyonu, yeniden yönlendirmeler ve güvenlik gibi gelişmiş konulara da değindik ve sık karşılaşılan sorunlara çözüm yolları sunduk.
Artık kendi web sitelerinizi veya müşterilerinizin sitelerini tek bir sunucu üzerinde kolayca barındırabilir ve yönetebilirsiniz. Bu bilgi, web geliştirme ve sunucu yönetimi becerilerinizi önemli ölçüde geliştirecektir. İleri düzey yapılandırmalar ve güvenlik iyileştirmeleri için Apache belgelerini incelemeye devam etmeniz önerilir.