VPS Sunucuda Birden Fazla Domain Nasıl Çalıştırılır?

Paylaşımlı hosting’e kıyasla VPS, kullanıcıya daha fazla kontrol alanı ve yönetim özgürlüğü tanır. Tek bir sunucu üzerinde birden fazla web sitesi barındırmak, hem maliyet avantajı hem de merkezi yönetim kolaylığı sağladığından işletmeler için ideal bir çözümdür.

VPS Kurulumuna Başlama

İlk adım olarak çalışacağımız VPS’i yapılandıralım. PenDC gibi güvenilir bir sağlayıcıdan, projenin ihtiyaçlarını karşılayacak donanıma sahip bir VPS tercih edelim. Güncel bir sistem kullanmak, performans düşüşlerini ve olası güvenlik açıklarını önleyecektir.

VPS Güncelleme Komutu

Kurulum öncesinde terminal üzerinden VPS sunucusunu güncelleyelim.

sudo apt update && sudo apt upgrade -y

Web Sunucusu Kurulumuna Başlama

Web sitelerini barındırmak için uygun bir sunucu ortamı kurmamız gerekiyor. Bu noktada Nginx, hem performansı hem de çoklu site yönetimindeki esnekliği nedeniyle en uygun tercihlerden biridir.

Nginx’in Kurulumu

Kuruluma başlamak için terminal üzerinden Nginx paketini yükleyelim.

sudo apt install nginx -y

Kurulum bittiğinde servisi aktif hale getirelim ve sunucumu yayınlayalım.

sudo systemctl enable nginx
sudo systemctl start nginx

Çoklu Site Yapılandırmasını Yapalım

Bir VPS’te birden çok web site yapılandırmamız için sanal makinemizi buna uygun hale getirmemiz gerekir. Her siteye özel dizinler oluşturalım, yapılandırma dosyalarını yazalım ve etkinleştirelim.

Her Site İçin Dizin Açalım

sudo mkdir -p /var/www/site1.com/html
sudo mkdir -p /var/www/site2.com/html

Erişim İzinlerini Ayarlayalım

sudo chown -R $USER:$USER /var/www/site1.com/html
sudo chown -R $USER:$USER /var/www/site2.com/html

Sanal Ana Bilgisayarları Tanımlayalım

Aşağıdaki terminalde Nginx tabanlı sistemi ele aldık.

sudo nano /etc/nginx/sites-available/site1.com

Ve içine şu kodu yazalım. Daha sonra aynısını site2.com için de düzenleyelim.

server {listen 80;
    server_name site1.com www.site1.com;
    root /var/www/site1.com/html;
    index index.html;
    location / {try_files $uri $uri/ =404;}}

Sanal Siteleri Aktif Edelim

sudo ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/site2.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Alan Adlarımızı Yönlendirelim

Şimdi domain’leri VPS’imize bağlayalım. DNS ayarlarını yapalım ki her site kendi adresinden erişilebilir hale gelsin.

Sunucu IP Adresini Bulalım

Bu komut VPS’in IP’sini gösterir.

hostname -I

DNS Kayıtlarını Güncelleyelim

Domain sağlayıcımızın DNS paneline gidelim ve şu kayıtları ekleyelim. Birkaç saat içinde DNS yayılımı tamamlanır ve sitelerimiz yönlenir.

  • Tür A
  • Adı example1.com
  • Değer (VPS IP)
A   site1.com   → VPS IP adresi
A   www.site1.com   → VPS IP adresi


Bu aşamada DNS kayıt türlerini doğru yapılandırmak oldukça önemlidir.
Hangi kayıt türünün ne işe yaradığını merak edenler için,
DNS kayıt türleri (NS, CNAME, TXT, AAAA ve MX) üzerine kapsamlı bir rehber bağlantısını incelemenizi öneririm.

Birkaç saat içinde DNS yayılımı tamamlanır ve sitelerimiz doğru şekilde VPS’e yönlenir.
Bu işlem tamamlandığında her domain, kendi adresi üzerinden erişilebilir hale gelir.

SSL Sertifikamızı Kurulumu

Güvenlik olmazsa olmaz. Şimdi sitelerimizi HTTPS’e taşıyalım. Bunun için Let’s Encrypt kullanacağız tamamen ücretsiz ve otomatik.

Sertifika Kurulumunu Yapalım

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d site1.com -d www.site1.com
sudo certbot --nginx -d site2.com -d www.site2.com

Kurulum tamamlandığında her iki sitemiz de artık güvenli bir HTTPS bağlantısıyla çalışacaktır.
Certbot, bu sertifikaları otomatik yeniler.

Sitelerin Yönetimi ve Takibi

Artık web sitelerimizin yayınlama sürecini tamamladık. Şimdi sırada performans, güvenlik ve yedekleme adımlarını sağlamlaştırmak var.
Böylece sitelerimiz kesintisiz çalışır, olası sorunları erkenden fark eder ve veri kaybını önlemiş oluruz.

Kaynak İzleme ve Performans Takibi

Bir VPS üzerinde birden fazla web sitesi çalışıyorsa, kaynak kullanımını düzenli olarak takip etmek kritik öneme sahiptir. CPU, RAM ve disk istatistiklerini izlemek performans kayıplarını engellemeye yardımcı olur.
Anlık işlem yükü ve bellek takibi için htop, sistem genelini ve ağ trafiğini izlemek için glances kullanılabilir. Görsel ve uzun dönemli analizlerde ise Netdata güçlü bir çözüm sunar.
Bu araçlar sayesinde sistem kaynaklarını verimli yönetebilir, aşırı yüklenme yaşanmadan müdahale ederek istikrarlı performans elde edebiliriz.

Güvenlik

Birden fazla sitenin aynı sunucuda çalışması, saldırı risklerini de artırabilir. Bu nedenle temel güvenlik önlemlerini devreye alalım. İlk olarak UFW kullanarak yalnızca gerekli portları açık bırakalım.

Ayrıca brute-force saldırılarını engellemek için Fail2Ban aracından yararlanalım. Bu araç, başarısız oturum açma girişimlerini algılayarak şüpheli IP adreslerini otomatik olarak engeller.

Bu adımların her biri, sitelerimizi siber tehditlere karşı daha dirençli hale getirir ve sunucularımızın güvenliğini uzun vadede korur.

Yedekleme Planı

Ne kadar güvenlik önlemi alınırsa alınsın, veri kaybı riskini tamamen ortadan kaldırmak mümkün değildir. Bu yüzden düzenli bir yedekleme planı oluşturmak, donanım arızaları veya siber saldırılar sonrası sistemi kısa sürede geri yüklemeye olanak tanır.
Verilerinizi güvenli şekilde kopyalamak için rsync komutunu kullanarak iki sunucu arasında dosya transferi yapabilirsiniz. Bu yöntem, otomatik ve güvenilir yedekleme senaryoları için en verimli çözümlerden biridir.

Ayrıca cron job veya snapshot sistemleriyle günlük, haftalık ya da aylık periyotlarda düzenli yedekleme görevleri oluşturabilirsiniz. Her web sitesine ait yedekleri ayrı dizinlerde tutarak karışıklığı önlemek de iyi bir pratiktir.

Bu yaklaşım sayesinde olası veri kayıplarında saniyeler içinde geri dönüş yapabilir, kesintisiz hizmet sağlamaya devam edebilirsiniz.

Sık Sorulan Sorular

Bir VPS üzerinde kaç web sitesi barındırılabilir?

Bu tamamen VPS’in sahip olduğu işlemci gücü, RAM ve disk kapasitesine bağlıdır. Donanım kaynakları yeterliyse tek IP üzerinden birden fazla siteyi aynı anda çalıştırabilirsiniz.

Farklı domainler aynı IP adresinde çalışabilir mi?

Evet. Nginx veya Apache yapılandırmalarında “virtual host” yöntemiyle birden fazla domain tek IP adresi üzerinden hizmet verebilir. Web sunucusu, gelen isteğin hangi domain’e ait olduğunu HTTP başlığıyla algılar ve doğru dizine yönlendirir.

DNS kayıtlarını VPS’e yönlendirdikten sonra site neden açılmıyor?

DNS yayılımı henüz tamamlanmamış olabilir. Bu işlem genellikle birkaç saat sürer. Ayrıca DNS kayıt türlerinde hata varsa dig veya nslookup komutlarıyla sorgulama yaparak doğru IP’ye yönlenip yönlenmediğini kontrol edebilirsiniz.

Let’s Encrypt SSL sertifikaları otomatik olarak yenilenir mi?

Certbot kurulduysa Let’s Encrypt sertifikaları 90 gün sonunda otomatik olarak yenilenir. Ancak emin olmak için aşağıdaki komutunu çalıştırarak yenileme sürecini manuel test edebilirsiniz.

sudo certbot renew --dry-run

Yorum yapın