VDS veya dedicated sunucu aldın, web siteni kurmaya hazırsın ama domain bağlamayı bilmiyorsun? Bu rehberde Ubuntu sunucuya domain bağlama işlemini DNS ayarlarından Nginx/Apache yapılandırmasına kadar adım adım anlatacağız.
Başlamadan Önce
- Bir domain adı (örn: orneksite.com)
- Sunucu IP adresi (örn: 185.123.45.67)
- Domain yönetim paneli erişimi
- Sunucu root/sudo erişimi
Adım 1: DNS Ayarları
İlk olarak domainin DNS kayıtlarını sunucu IP'sine yönlendirmen gerekiyor. Domain yönetim paneline gir ve şu kayıtları ekle:
# A Kaydı (IPv4)
Tip: A
Ad: @
Değer: 185.123.45.67
TTL: 3600
# www alt domaini
Tip: A
Ad: www
Değer: 185.123.45.67
TTL: 3600
# AAAA Kaydı (IPv6 varsa)
Tip: AAAA
Ad: @
Değer: 2a06:xxxx::1
TTL: 3600
Adım 2A: Nginx ile Domain Yapılandırması
# Nginx kur (kurulu değilse)
sudo apt update && sudo apt install nginx
# Site yapılandırma dosyası oluştur
sudo nano /etc/nginx/sites-available/orneksite.com
server {
listen 80;
listen [::]:80;
server_name orneksite.com www.orneksite.com;
root /var/www/orneksite.com/html;
index index.html index.php;
location / {
try_files $uri $uri/ =404;
}
# PHP desteği (opsiyonel)
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
}
}
# Web dizinini oluştur
sudo mkdir -p /var/www/orneksite.com/html
echo "<h1>orneksite.com çalışıyor!</h1>" | sudo tee /var/www/orneksite.com/html/index.html
# Yetkileri ayarla
sudo chown -R www-data:www-data /var/www/orneksite.com
sudo chmod -R 755 /var/www/orneksite.com
# Siteyi aktifleştir
sudo ln -s /etc/nginx/sites-available/orneksite.com /etc/nginx/sites-enabled/
# Yapılandırmayı test et
sudo nginx -t
# Nginx'i yeniden başlat
sudo systemctl reload nginx
Adım 2B: Apache ile Domain Yapılandırması
# Apache kur (kurulu değilse)
sudo apt update && sudo apt install apache2
# Virtual host dosyası oluştur
sudo nano /etc/apache2/sites-available/orneksite.com.conf
<VirtualHost *:80>
ServerName orneksite.com
ServerAlias www.orneksite.com
DocumentRoot /var/www/orneksite.com/html
<Directory /var/www/orneksite.com/html>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/orneksite-error.log
CustomLog ${APACHE_LOG_DIR}/orneksite-access.log combined
</VirtualHost>
# Siteyi aktifleştir
sudo a2ensite orneksite.com.conf
sudo a2dissite 000-default.conf
# Yapılandırmayı test et
sudo apache2ctl configtest
# Apache'yi yeniden başlat
sudo systemctl reload apache2
Adım 3: Ücretsiz SSL Sertifikası (Let's Encrypt)
# Certbot kur
sudo apt install certbot python3-certbot-nginx # Nginx için
# veya
sudo apt install certbot python3-certbot-apache # Apache için
# SSL sertifikası al ve otomatik yapılandır
sudo certbot --nginx -d orneksite.com -d www.orneksite.com
# veya
sudo certbot --apache -d orneksite.com -d www.orneksite.com
# Otomatik yenileme testi
sudo certbot renew --dry-run
💡 Türkiye Lokasyonlu VDS ile Düşük Ping
Domain bağlama işlemi sonrası web sitenin hızı doğrudan sunucu lokasyonuna bağlıdır. HazalHost'un Türkiye lokasyonlu VDS sunucuları ile ziyaretçilerine en düşük ping süresini sunabilirsin.
Adım 4: Doğrulama
# DNS kontrolü
dig orneksite.com +short
nslookup orneksite.com
# HTTP testi
curl -I http://orneksite.com
curl -I https://orneksite.com
# SSL testi
openssl s_client -connect orneksite.com:443 -servername orneksite.com
Sık Karşılaşılan Sorunlar
❌ "Server not found" hatası
Çözüm: DNS propagasyonu tamamlanmamış olabilir. 1-2 saat bekle veya dig orneksite.com ile DNS kaydını kontrol et.
❌ "403 Forbidden" hatası
Çözüm: Dosya izinlerini kontrol et: sudo chown -R www-data:www-data /var/www/orneksite.com
❌ SSL sertifikası alınamıyor
Çözüm: 80 ve 443 portlarının açık olduğundan emin ol: sudo ufw allow 'Nginx Full'
🚀 Domain Bağlama İşlemiyle Uğraşmak İstemiyorsan
cPanel veya Plesk panelli hosting ile domain bağlama işlemini tek tıkla yapabilirsin. Ama tam kontrol istiyorsan — HazalHost VDS tam senlik.
Sonuç
Ubuntu sunucuya domain bağlamak 4 adımda tamamlanır: DNS kayıtlarını ayarla, web sunucusunu yapılandır, SSL sertifikası al ve doğrulamayı yap. Nginx veya Apache fark etmez, temel mantık aynıdır.
Sık Sorulan Sorular (FAQ)
DNS propagasyonu ne kadar sürer?
Genelde 1-2 saat içinde yayılır ancak bazı durumlarda 48 saate kadar sürebilir. TTL değerini düşük tutmak propagasyonu hızlandırır.
Aynı sunucuya birden fazla domain bağlayabilir miyim?
Evet, Virtual Host (Apache) veya Server Block (Nginx) yapılandırarak aynı sunucuya onlarca domain bağlayabilirsin.
SSL sertifikası ücretsiz mi?
Evet, Let's Encrypt tamamen ücretsiz SSL sertifikaları sunar. Certbot ile otomatik kurulum ve yenileme yapabilirsin.