Online hosting hizmetine geçtikten sonra, büyük ihtimalle tek bir sunucuda birden fazla web sitesi barındırmak isteyeceksiniz. İlk bakışta karmaşık görünse de, konuya daha fazla hakim oldukça teknik rehberlerin yardımıyla bunu rahatlıkla yapabileceğinizi göreceksiniz.
Pek çok web sunucusu ücretsiz, açık kaynaklı ve dünya genelinde yaygın biçimde kullanılan hizmetler sunar. Ancak tek bir sunucuda birden fazla web sitesinin nasıl barındırılacağını açıklamadan önce, web sunucusunun ne olduğunu ve nasıl çalıştığını bilmemiz gerekiyor.
Web Sunucusu Nedir?
Bir web sunucusu; metin, görsel, video ve uygulama verileri gibi içerikleri depolayarak bir web sitesi için kullanıma sunar. Başka bir deyişle, bu içeriklere ihtiyaç duyan istemciler web sunucuları aracılığıyla bunlara erişebilir. En yaygın istemci türü, bir kullanıcı bağlantıya tıkladığında veya dosya indirdiğinde web sitenizden veri isteyen tarayıcı programlarıdır.
Bir web sunucusu iletişimi şu protokol üzerinden kurar: Hipermetin Transfer Protokolü (HTTP) bir web tarayıcısıyla. Çoğu web sayfasının içeriği Hypertext Markup Language (HTML) ile kodlanır. İçerikler; metin ve resim gibi statik ya da bir müşterinin satın almak için işaretlediği ürünler listesi gibi dinamik olabilir. Çoğu web sunucusu sunucu taraflı betik dilleri destekler ve bu diller aracılığıyla iş mantığı iletişime eklenerek dinamik içerik sunulur. Genellikle Active Server Pages (ASP), JavaScript, PHP, Python ve Ruby gibi diller desteklenir.
Web Sunucusu Nasıl Çalışır?
Web sunucuları istemci-sunucu modeline göre çalışır. Bu standart yapıda, müşteri bir kaynağı veya hizmeti sunucudan talep eder. sunucu.
Web sunucuları, istemcilerin isteklerini işlemek için birkaç adımdan geçer:
- Kullanıcı web sitesine içerik yüklemek istediğinde, tarayıcı internet üzerinden erişim talep eder (HTTP isteği).
- Web tarayıcısı, istenen sitenin IP adresini arar. Web sayfalarının URL adresini Alan Adı Sistemi (DNS) aracılığıyla çözümler ya da önbelleğinde arar. Bu işlem, site dosyalarının barındırıldığı web sunucusunu bulmaya yarar.
- Bu noktada web sunucusu HTTP isteğini alır ve HTTP sunucusu.
- üzerinden işler. HTTP sunucusu isteği kabul ettikten sonra ilgili verileri bulmak için sunucu dosyalarını tarar.
- Web sunucusu, isteği gönderen tarayıcıya site dosyalarını döndürür. Ardından kullanıcı web sitesinin içeriğini görür.
Ancak HTTP sunucusu istenen dosyaları bulamazsa veya işleyemezse tarayıcıda bir hata mesajı görürsünüz. Web sunucularının temel kavramlarına artık aşinasınız; bu sayede tek bir sunucuda birden fazla web sunucusunun nasıl barındırılacağını da kolayca öğrenebilirsiniz.
Tek sunucuda birden fazla web sitesi barındırma: Apache
Bir sunucuda birden fazla site barındırmak istiyorsanız, hangi alan adının kullanılacağını belirtmek için Apache'nin sanal host dosyalarından yararlanmalısınız. Site isteklerini çözümlemek için kullanılan yöntemlerden biri Ada dayalı sanal hostlarolarak adlandırılır. Birisi sitenizi ziyaret ettiğinde istek sunucuya ulaşır ve sunucu, alan adına göre hangi sitenin dosyalarını sunacağını belirler. Bu yöntem, aynı IP üzerindeki tek bir sunucuda birden fazla site barındırmanızı sağlar. Bu kılavuz, her alan adınız için sanal host dosyasının nasıl yapılandırılacağını açıklar. Ayrıntılara geçmeden önce, sisteme root hesabıyla giriş yapmanız gerektiğini unutmayın.
Ayrıca Okuyun: “Linux vs Windows hosting: Hangisi size daha uygun?”
Adım 1: Her Site için Dizin Oluşturma
Önce aşağıdaki komutu kullanarak apache2'yi yükleyin
Debian tabanlı sistemler için
apt install apache2 -y
CentOS tabanlı sistemler için
yum install apache2 -y
Barındıracağınız her site için ayrı bir dizin oluşturmanız gerekir (/var/www klasörü içinde). Alan adları için domain.com ve domain2.com kullanabilirsiniz.
mkdir -p /var/www/domain.com/public_html
mkdir -p /var/www/domain2.com/public_html
Adım 2: Klasör İzinlerini Ayarlama
chmod -R 755 /var/www
Adım 3: Index Sayfası Oluşturma
Ana sayfayı görebilmek için index.html dosyasının her alan adı için oluşturulduğundan emin olun. Şuna benzer basit bir içerik ekleyebilirsiniz: domain.com için test bu dosyada.
vim /var/www/domain.com/public_html/index.html
domain.com için test
Şimdi kaydetmek ve çıkmak için Kaçış tuşuna basıp şunu yazın:: wq
İkinci alan adınız için de aynı adımları tekrarlamak üzere aşağıdaki komutu kullanabilirsiniz.
vim /var/www/domain2.com/public_html/index.html
Adım 4: Her Site için Yapılandırma Dosyasını Kopyalama
Her site için varsayılan yapılandırma dosyasını kopyalamanız gerekir. Böylece ileride yeni site oluştururken her zaman başvurabileceğiniz bir kopyaya sahip olursunuz.
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain.com.conf
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain2.com.conf
Adım 5: Her Site için Yapılandırma Dosyasını Düzenleme
En azından <VirtualHost *:80> ve </VirtualHost> etiketleri.
Dikkat edin ki ServerAlias alan adınızın alternatif adıdır. Çoğu durumda olduğu gibi bu durumda da alan adının önüne www ekleyerek ziyaretçilerin siteye hem www'lu hem de www'suz adresten erişmesini sağlarsınız (ServerName).
vim /etc/apache2/sites-available/domain.com.conf

Yine kaydetmek ve çıkmak için wqkullanın. Bu işlemi domain2.com.conf dosyası için de tekrarlamanız gerekir; ServerName, ServerAliasve DocumentRoot değerini ikinci alan adınıza göre güncellemeyi unutmayın.
Ayrıca Okuyun: “Apache vs NGINX”
Adım 6: Yapılandırma Dosyanızı Etkinleştirme
Sunucunuz varsayılan olarak 000-default.conf dosyasını okur. Ancak önceki adımda her alan adı için yeni bir yapılandırma dosyası oluşturduk. Bu nedenle varsayılan dosyayı devre dışı bırakıp yeni yapılandırma dosyalarını etkinleştirmemiz gerekiyor.
a2dissite 000-default.conf
Yeni oluşturduğunuz .conf dosyalarını etkinleştirerek sunucunuzu alan adlarınıza yönlendirebilirsiniz.
a2ensite domain.com.conf
a2ensite domain2.com.conf
Şimdi yapılan değişiklikleri uygulamak için Apache'yi yeniden başlatalım.
systemctl restart apache2
Adım 7: Apache Yapılandırmalarını Doğrulama
Apache başlatıldıktan sonra yapılandırmaların düzgün çalışıp çalışmadığını /etc/host dosyanızı bilgisayarınızda veya alan adınızın DNS değerini.
Her ayar tamamlandıktan sonra, 3. Adımda oluşturulan index.html sayfalarını görmek için alan adınızı tarayıcınızda açabilirsiniz.
Ayrıca oku: Şirket İçi ve Bulut Karşılaştırması
Tek sunucuda birden fazla web sitesi barındırma: IIS
IIS (Internet Information Services) web sunucusuyla onlarca hatta yüzlerce web sitesi barındırabilirsiniz. Aynı TCP portuüzerinden dinleyip yanıt veren birden fazla web sitesini aynı sunucuda çalıştırabilirsiniz. IIS Manager arayüzü başka bir web sitesi barındırabileceğinizi gösterse de bunu 8080 gibi farklı bir porta bağlamak zorunda değilsiniz. Bu bölümde, birden fazla web sitesini aynı IIS sunucusunda barındırarak aynı port ve IP adresine ya da farklı IP adreslerine nasıl bağlayabileceğinizi ele alacağız.
Windows sunucusuna IIS nasıl kurulur?
IIS'i Windows üzerine kurduğunuzda boş bir Varsayılan Web Sitesi oluşturulur ve şu adresi dinler: standart web HTTP portu – TCP 80. Teknik olarak ifade etmek gerekirse, sitemiz TCP/80 portuna bağlıdır. Bu siteyi açmak için tarayıcınıza IIS sunucusunun adını ("http://web-srv1") ya da IP adresini ("http://192.168.1.100") girmeniz gerekir.
Adım 1: IIS Web Sitesi Bağlama
Windows Server üzerinde çalışan bir IIS web sunucusu, birden fazla web sitesi barındırmanıza olanak tanır. Ancak IIS, HTTP isteklerini yalnızca her web sitesi benzersiz bir değerle tanımlandığında doğru şekilde yönlendirebilir. Bir IIS web sitesi, her site için eşsiz bir kombinasyon oluşturan üç özelliğe sahiptir. Bu özellikler şunlardır:
- bir TCP port numarası
- bir IP adresi
- bir host header (hostname)
Barındırılan web sitelerine ait bilgiler ServerBindings IIS Metabase özelliğinde saklanır ve biçimi şu şekildedir: IP:Port:Hostname. Dolayısıyla, aynı sunucuda (aynı port ve IP adresiyle) birden fazla web sitesi barındırmak istiyorsanız, benzersiz bir Host header.
Host header nedir diye sorabilirsiniz. Host header, sunucuya gönderilen HTTP isteğinin hangi web sitesine yönlendirildiğini belirten bir bileşenidir. Bu nedenle, web sunucusu tarafında bu host header'ın tanımlanmış olması gerekir. DNS'nin hostname ile IIS web sunucusunun IP adresini eşleştiren doğru kayda sahip olduğundan emin olun.
Şimdi, IIS sunucusunda çalışan ve 80. portu dinleyen bir web siteniz olduğunu varsayalım. Aynı porta ikinci bir web sitesi bağlamak istediğinizde ne yapmalısınız?
Adım 2: İkinci IIS Web Sitesini Bağlama
Internet Information Service (IIS) Manager'da, Web Sitesi Ekle penceresini kullanarak TestSite adında yeni bir site oluşturmanız gerekir. Bu site C:\inetpub\TestSite konumunda yer alacaktır. Bu aşamada hostname belirtmemenize dikkat edin.
Site içeriğini C:\inetpub\TestSite klasörüne kopyaladıktan sonra Internet Information Service (IIS) Manager'ı açın ve sunucunun hostname bölümünden siteyi ekleyerek sihirbazı başlatın.


Tamam'a tıkladıktan sonra, her iki web sitesi için de binding *:80 kullanamazsınız şeklinde bir uyarı mesajı görürsünüz.


Bu uyarıyı onayladıktan sonra, 80. porta bağlı ikinci bir siteniz olacaktır. Ancak birinci siteyi durdurmadan bu siteyi başlatamazsınız. Aşağıdaki görsele bakarak durumu daha iyi anlayabilirsiniz.

Windows VPS Barındırması
Güçlü donanım, düşük gecikme süresi ve ücretsiz bir Windows içeren uygun fiyatlı Windows VPS planlarımıza göz atın!
Ücretsiz Windows'nizi Talep EdinIIS Sunucusunda Host Header Kullanarak Birden Fazla Web Sitesi Barındırma
İkinci IIS web sitesi için benzersiz bir bağlama oluşturmak amacıyla farklı bir isim (Host Name) seçmeniz gerekir. Bunun için sağ tıklayın TestSite ve seç Düzenle Bindings. İhtiyacınız olan bağlamayı seçin ve tıklayın Düzenle.
Aşağıdaki görselde görüldüğü gibi, kullanıcının erişeceği benzersiz ana bilgisayar adını belirtmemiz gerekiyor. Bu öğreticide TestSite kullanıyoruz; bu nedenle Hostname alanına TestSite yazın.

IIS site bağlamasını yapılandırmak için komut istemini kullanabilirsiniz. IIS 7 veya daha yeni bir sürüm kullanıyorsanız, IIS site bağlamasını yapılandıran komutu çalıştırdıktan sonra şuna benzer bir çıktı görürsünüz:
C:\Windows\System32\inetsrv\appcmd.exe set site /site.name:testsite /+bindings.[protocol='http',bindingInformation='*:80:testsite']
İlk web sitesinde olduğu gibi, ikinci siteyi de başlatabilirsiniz.

Bu noktada, sunucunuz için IIS web sunucusunun IP adresi veya ana bilgisayar adına işaret eden bir DNS takma adı (A veya CNAME kaydı) eklemeniz gerekiyor. Active Directory etki alanı kullanıyorsanız, DNS kayıtlarını etki alanı denetleyicisinde oluşturmanız gerekir. IIS, aşağıdaki işlemi yapmanıza olanak tanır: CNAME DNS konsolunda TestSite adı için kayıt oluşturma (dnsmgmt.msc) ve IIS sunucunuzun etki alanı adını FQDN hedef ana bilgisayarı olarak ayarlama.

Bu DNS kaydını PowerShell üzerinden aşağıdaki komutla da oluşturabilirsiniz:
Add-DnsServerResourceRecordCName -HostNameAlias web-srv1.woshub.com -Name testsite -ZoneName woshub.com
Tarayıcıda şunu açmayı deneyelim: http://TestSite Her şey doğru yapıldıysa, sayfa sorunsuz açılacaktır.

Linux Hosting, Kolaylaştırıldı
Web sitelerinizi ve web uygulamalarınızı daha iyi bir ortamda barındırmak mı istiyorsunuz? Yeni bir şeyler mi geliştiriyorsunuz? Ya da Windows'den memnun değil misiniz? İşte bunun için Linux VPS sunuyoruz.
Linux VPS'nizi EdininIIS Sunucusunda Farklı IP Adresleriyle Birden Fazla Site Çalıştırma
Şimdi IIS web sunucusunda farklı IP adresleriyle iki site çalıştırmaktan bahsedelim. Öncelikle Windows Sunucusuna ayrı bir VLAN arabirimi eklemeniz veya NIC'e ek bir IP adresi (takma ad) atamanız gerekir.
Bu öğreticide sunucunun birincil IP adresi 192.168.13.100'dür; aynı ağ bağdaştırıcısına 192.168.13.101 IP takma adını ekleyeceğiz:
Get-NetIPAddress | ft IPAddress, InterfaceAlias, SkipAsSource
New-NetIPAddress –IPAddress 192.168.13.101 –PrefixLength 24 –InterfaceAlias “Ethernet” –SkipAsSource $True
Şimdi DNS sunucusunda yeni siteniz için bir A kaydı oluşturmanız gerekiyor:
Add-DnsServerResourceRecordA -Name NewSite3 -IPv4Address 192.168.13.101 -ZoneName woshub.com -TimeToLive 01:00:00 –CreatePtr
Kalan adım, Site Bağlama ayarlarını açmak ve siteyi ana bilgisayarınızın ek IP adresiyle ilişkilendirmektir. IIS sunucusundaki site bağlamalarını PowerShell ile yönetebilirsiniz. Bunun için WebAdministration modülü kullanılır:
Import-Module WebAdministration
Mevcut tüm IIS sitelerini ve bunların bağlamalarını görüntülemek için:
Get-IISSite
Ya da yalnızca tek bir site için:
(Get-Website -Name NewSite).bindings.Collection

Bu sitenin bağlamasını değiştirmek için aşağıdaki komutu kullanın; bu komutla IP adresini, portu veya adı değiştirebilirsiniz:
Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:80:NewSite1" -PropertyName 'Port' -Value '8080'
Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:8080:NewSite1" -PropertyName 'IPAddress' -Value '192.168.13.100'
Belirli bir IIS sitesine yeni bir bağlama eklemek için şu komutu çalıştırın:
New-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:" -Protocol http
Bir bağlamayı kaldırmak için aşağıdaki komutu kullanın:
Remove-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:"
Gördüğünüz gibi, IIS web sunucusunda hem farklı IP adresleri hem de aynı IP adresi ve TCP port numarası üzerinden birden fazla web sitesi çalıştırabilirsiniz.
Son söz: Tek sunucuda birden fazla web sitesi barındırma
Bu makale ağırlıklı olarak sunucuların temel kavramlarını ele aldı ve tek bir sunucuda birden fazla web sitesini nasıl barındırabileceğinizi anlattı. Ayrıca birden fazla Linux VPS barındırma çözümü sunuyoruz; bu çözümlerle tek bir sunucuda farklı web siteleri çalıştırabilirsiniz. Cloudzy planları, birden fazla sunucu kullanmanın maliyetini düşürür ve hizmetlerimizi en verimli şekilde kullanmanıza olanak tanır. Üstelik RAM, depolama, işlemci ve bant genişliği dahil olmak üzere sunucu kaynaklarınızı kolayca yükseltebilirsiniz.
SSS
Tek bir web sunucusu hosting üzerinde birden fazla web sitesi barındırabilir misiniz?
Yeterli HDD alanı, RAM ve CPU gücü gibi geniş kaynaklara sahip bir sunucunuz varsa, sanal barındırma yöntemiyle birden fazla web sitesi barındırabilirsiniz. Web sunucunuzda sınırsız sayıda web sitesi barındırmanız mümkündür.
Tek sunucuda iki web sitesi nasıl çalıştırılır?
Tek bir web sunucusunda birden fazla web sitesi barındırmak Sanal Sunucu olarak adlandırılır. Seçtiğiniz sunucunun trafik ve disk alanı gereksinimlerini karşılayacak yeterli kaynağa sahip olduğundan emin olmalısınız.
VPS sunucusu ne işe yarar?
VPS, bir sunucu üzerinde size özel (ayrılmış) kaynaklar sağlayan bir barındırma hizmetidir. VPS kullanımının, size ayrılmış bir sunucu alanı sunmayan paylaşımlı barındırmaya kıyasla çok daha güvenli ve kararlı bir çözüm olduğunu unutmayın.
İnsanlar neden VPS kullanır?
VPS barındırma, adanmış barındırmadan genellikle daha düşük maliyetli olması ve paylaşımlı barındırmaya göre daha iyi güvenilirlik, güvenlik ve performans sunması nedeniyle yaygın bir tercih haline gelmiştir.