VDS sunucu kurulumu, kiralanan sanal özel sunucuya (Virtual Dedicated Server) işletim sistemi yükleyip, güvenlik, web sunucusu ve veritabanı gibi temel hizmetleri yapılandırarak sunucuyu yayına hazır hale getirme sürecidir. Temel adımlar sırasıyla şunlardır: işletim sistemi seçimi, SSH ile ilk bağlantı, root şifresi ve yetkili kullanıcı oluşturma, sistem güncellemeleri, güvenlik duvarı (firewall) yapılandırması, SSH güvenliği, kontrol paneli kurulumu, web sunucusu ve veritabanı kurulumu, domain/DNS yönlendirme ve düzenli yedekleme.
Bu rehberde, yıllardır onlarca sunucu kurmuş bir sistem yöneticisinin pratik deneyimleriyle, sıfırdan bir VDS sunucusunu adım adım nasıl kuracağınızı anlatıyoruz. İster bir web sitesi yayınlamak, ister bir uygulama çalıştırmak isteyin, aşağıdaki adımları takip ederek güvenli, hızlı ve sorunsuz çalışan bir sunucuya sahip olabilirsiniz. Komutları kopyalamadan önce ne işe yaradıklarını da açıkladığımız için, teknik bilginiz sınırlı olsa bile süreci rahatça tamamlayabilirsiniz.
İşletim Sistemi Seçimi (Linux mu Windows mu?)
Sunucu kurulumunun ilk ve en kritik kararı işletim sistemi seçimidir. Bu seçim, kullanacağınız yazılımları, kaynak tüketimini ve maliyetleri doğrudan etkiler. Genel olarak iki ana yol vardır: Linux dağıtımları ve Windows Server.
Linux mu Windows Server mı?
Linux dağıtımları (Ubuntu, Debian, CentOS/AlmaLinux gibi) ücretsizdir, daha az kaynak (RAM/CPU) tüketir ve web hosting, PHP, Node.js, Python tabanlı projeler için endüstri standardıdır. Windows Server ise lisans ücreti gerektirir; ancak .NET, ASP, MSSQL gibi Microsoft teknolojileri veya Remote Desktop (uzak masaüstü) ihtiyacı olan projeler için tercih edilir.
Eğer bir web sitesi, e-ticaret altyapısı veya genel amaçlı bir vds sunucu kuruyorsanız, çoğu durumda Linux en mantıklı seçimdir. Bu rehberin komut örneklerinin büyük kısmı Ubuntu/Debian temellidir.
Linux Dağıtımları Karşılaştırması
| Dağıtım | Paket Yöneticisi | Güçlü Yönü | Önerilen Kullanım |
|---|---|---|---|
| Ubuntu Server LTS | apt | Geniş topluluk, güncel paketler, kolay kullanım | Yeni başlayanlar, web projeleri |
| Debian | apt | Çok kararlı, hafif, uzun destek | Üretim sunucuları, stabilite önceliği |
| AlmaLinux / Rocky Linux | dnf/yum | RHEL uyumlu, cPanel desteği | cPanel, kurumsal hosting |
| CentOS Stream | dnf/yum | RHEL'e yakın, geliştirici odaklı | Test, geliştirme ortamları |
| Windows Server | — | .NET, MSSQL, RDP desteği | Microsoft tabanlı projeler |
Çoğu sağlayıcı, kontrol panelinden işletim sistemini tek tıkla yeniden kurma (reinstall) imkanı sunar. Kuruluma başlamadan önce panelden istediğiniz dağıtımı seçip kurulumu başlatın; birkaç dakika içinde temiz bir sistem hazır olur. Linux tarafında daha fazla içerik için Linux sunucu kategorimizi inceleyebilirsiniz.
SSH ile İlk Bağlantı
İşletim sistemi kurulduktan sonra sunucunuza uzaktan erişmek için SSH (Secure Shell) protokolünü kullanırsınız. SSH, sunucu ile bilgisayarınız arasında şifreli bir bağlantı kurarak komut satırı üzerinden sunucuyu yönetmenizi sağlar.
Bağlantı İçin Gerekenler
- Sunucunuzun IP adresi (sağlayıcının panelinden veya e-postasından alınır).
- Root şifresi (kurulum sonrası size iletilir).
- Bir SSH istemcisi: Linux/macOS'ta terminal yeterlidir, Windows'ta PuTTY veya yerleşik PowerShell kullanılabilir.
İlk Bağlantıyı Yapma
Terminal veya PowerShell açıp aşağıdaki yapıyı kullanın. ssh root@SUNUCU_IP komutunu girip Enter'a basın; ardından şifrenizi yazın (yazarken ekranda görünmemesi normaldir). İlk bağlantıda parmak izi (fingerprint) onayı istenir, yes yazarak devam edin. Bağlantı başarılı olduğunda sunucunun komut satırına düşmüş olursunuz.
Güvenlik Uyarısı: İlk bağlantıdan sonra root şifresini hemen değiştirin ve mümkünse root ile uzaktan girişi tamamen kapatıp SSH anahtarı kullanın. Zayıf veya varsayılan root şifreleri, internete açık sunuculara yönelik otomatik saldırıların (brute-force) en sık hedefidir.
Root Şifresi ve Yetkili Kullanıcı Oluşturma
Root, Linux'ta sınırsız yetkiye sahip ana yönetici hesabıdır. Doğrudan root ile çalışmak risklidir; küçük bir hata tüm sistemi etkileyebilir. Bu yüzden günlük işler için sudo yetkisine sahip ayrı bir kullanıcı oluşturmak en iyi pratiktir. sudo, normal bir kullanıcının gerektiğinde yönetici yetkisiyle komut çalıştırmasını sağlar.
Root Şifresini Değiştirme
Root olarak passwd komutunu çalıştırın ve güçlü, en az 16 karakterlik, harf-rakam-sembol içeren yeni bir şifre belirleyin.
Yeni Kullanıcı Oluşturma Adımları
- Kullanıcıyı oluşturun: adduser kadir (istediğiniz kullanıcı adıyla) ve sorulan bilgileri doldurun.
- Bu kullanıcıya yönetici yetkisi verin. Ubuntu/Debian'da usermod -aG sudo kadir, AlmaLinux/CentOS'ta usermod -aG wheel kadir komutunu kullanın.
- Yeni kullanıcıya geçiş yapıp test edin: su - kadir ardından sudo whoami komutu root dönerse yetkilendirme başarılıdır.
Artık günlük yönetimi bu kullanıcı üzerinden, yönetici gerektiren işleri ise komutun başına sudo ekleyerek yapabilirsiniz.
Sistem Güncellemeleri
Yeni kurulan bir sistemde, güvenlik açıklarını kapatmak ve en güncel paketlere sahip olmak için ilk yapılacak iş güncellemedir. Paket yöneticisi, yazılımları indirip kuran ve güncelleyen araçtır (Ubuntu/Debian'da apt, AlmaLinux'ta dnf).
Ubuntu / Debian İçin
- Paket listesini yenileyin: sudo apt update
- Yüklü paketleri yükseltin: sudo apt upgrade -y
- Gereksiz paketleri temizleyin: sudo apt autoremove -y
AlmaLinux / CentOS İçin
- Tüm paketleri güncelleyin: sudo dnf update -y
Çekirdek (kernel) güncellemesi yapıldıysa sunucuyu sudo reboot ile yeniden başlatmanız gerekebilir. Düzenli güncelleme, sunucu güvenliğinin en temel ve en çok ihmal edilen adımıdır. Mümkünse otomatik güvenlik güncellemelerini de etkinleştirin (Ubuntu'da unattended-upgrades paketi).
Deneyimlerime göre, birçok kullanıcı sunucuyu kurar kurmaz web sitesini yüklemeye odaklanıp güncellemeleri atlar. Oysa internete açık ve güncellenmemiş bir sistem, yayınlanmış bir güvenlik açığı (CVE) üzerinden saatler içinde taranıp ele geçirilebilir. İlk kurulumda tüm paketleri güncellemek ve ardından otomatik güvenlik güncellemelerini açmak, ileride yaşanacak birçok sorunu daha baştan engeller. Ayrıca sudo apt list --upgradable komutuyla hangi paketlerin güncellenebileceğini önceden görebilirsiniz.
Güvenlik Duvarı (Firewall) Yapılandırması
Firewall (güvenlik duvarı), sunucuya gelen ve giden ağ trafiğini kontrol eden bir filtredir. Bir port, belirli bir hizmetin iletişim kurduğu numaralandırılmış kapı gibidir (örneğin web için 80/443, SSH için 22). İyi yapılandırılmış bir firewall, yalnızca ihtiyaç duyduğunuz portları açık tutarak saldırı yüzeyini küçültür.
UFW ile Kurulum (Ubuntu/Debian)
UFW (Uncomplicated Firewall), Ubuntu'da firewall yönetimini kolaylaştıran bir araçtır.
- UFW'yi kurun (genelde yüklü gelir): sudo apt install ufw -y
- Önce SSH'a izin verin (kilitlenmemek için kritik): sudo ufw allow OpenSSH veya sudo ufw allow 22/tcp
- Web trafiğine izin verin: sudo ufw allow 80/tcp ve sudo ufw allow 443/tcp
- Güvenlik duvarını etkinleştirin: sudo ufw enable
- Durumu kontrol edin: sudo ufw status verbose
AlmaLinux/CentOS tarafında ise firewalld kullanılır; örneğin sudo firewall-cmd --permanent --add-service=http ardından sudo firewall-cmd --reload komutlarıyla port açabilirsiniz.
SSH Güvenliği (Port ve Anahtar)
SSH, sunucunuza açılan ana kapı olduğu için en çok hedef alınan servistir. Birkaç basit ayarla bu kapıyı çok daha güvenli hale getirebilirsiniz. Yapılandırma dosyası /etc/ssh/sshd_config içinde bulunur.
SSH Anahtarı Oluşturma ve Kullanma
Şifre yerine SSH anahtarı kullanmak, hem daha güvenli hem de daha pratiktir. Anahtar çifti bir açık (public) ve bir gizli (private) anahtardan oluşur.
- Kendi bilgisayarınızda anahtar üretin: ssh-keygen -t ed25519
- Açık anahtarı sunucuya kopyalayın: ssh-copy-id kadir@SUNUCU_IP
- Artık şifresiz, anahtarla giriş yapabildiğinizi test edin.
Önerilen SSH Güvenlik Ayarları
- Root ile doğrudan girişi kapatın: PermitRootLogin no
- Şifre ile girişi devre dışı bırakın (anahtar kurulduktan sonra): PasswordAuthentication no
- Varsayılan 22 portunu değiştirin (örneğin 2222) ve firewall'da yeni portu açmayı unutmayın.
- Değişiklikten sonra servisi yeniden başlatın: sudo systemctl restart ssh
Önemli: Port değiştirir veya şifre girişini kapatırken mevcut SSH oturumunuzu kapatmadan yeni bir oturumla giriş yapabildiğinizi test edin. Aksi halde kendinizi sunucudan kilitleyebilirsiniz.
Kontrol Paneli Kurulumu (Plesk / cPanel)
Komut satırıyla uğraşmak istemiyorsanız, bir kontrol paneli web sitelerini, e-postaları, veritabanlarını ve SSL sertifikalarını grafik arayüzden yönetmenizi sağlar. En yaygın iki seçenek Plesk ve cPanel'dir. Detaylı karşılaştırmalar için kontrol panelleri kategorimize göz atabilirsiniz.
Plesk Kurulumu
Plesk hem Linux hem Windows üzerinde çalışır ve kuruluma yeni başlayanlar için kullanıcı dostudur.
- Temiz bir sunucuda kurulum betiğini indirip çalıştırın: sh <(curl https://autoinstall.plesk.com/one-click-installer || wget -O - https://autoinstall.plesk.com/one-click-installer)
- Kurulum tamamlanınca tarayıcıdan https://SUNUCU_IP:8443 adresine gidin.
- Lisans anahtarınızı girin ve yönetici hesabını oluşturun.
cPanel Kurulumu
cPanel/WHM özellikle AlmaLinux, Rocky Linux veya CloudLinux üzerinde çalışır ve hosting sektörünün standardıdır.
- Root olarak betiği çalıştırın: cd /home && curl -o latest -L https://securedownloads.cpanel.net/latest && sh latest
- Kurulum (donanıma göre) bir saate kadar sürebilir.
- Tamamlanınca https://SUNUCU_IP:2087 adresinden WHM paneline giriş yapın.
Kontrol paneli kuracaksanız, paneli her zaman temiz, yeni kurulmuş bir sistem üzerine kurun; üzerinde başka servisler bulunan bir sunucuya kurulum çakışmalara yol açabilir.
Web Sunucusu (Nginx / Apache / LiteSpeed)
Web sunucusu, tarayıcıdan gelen istekleri karşılayıp web sayfalarını sunan yazılımdır. Kontrol paneli kullanmıyorsanız manuel olarak kurmanız gerekir. En popüler seçenekler Nginx, Apache ve LiteSpeed'dir.
Nginx Kurulumu (Ubuntu)
- Kurun: sudo apt install nginx -y
- Servisi başlatın ve açılışta otomatik başlamasını sağlayın: sudo systemctl enable --now nginx
- Tarayıcıdan sunucu IP'sine girip "Welcome to nginx" sayfasını görerek test edin.
Apache Kurulumu (Ubuntu)
- Kurun: sudo apt install apache2 -y
- Etkinleştirin: sudo systemctl enable --now apache2
Nginx yüksek trafikte düşük kaynak tüketimiyle öne çıkarken, Apache esnek yapılandırması ve .htaccess desteğiyle bilinir. LiteSpeed ise özellikle WordPress'te LSCache ile yüksek performans sunar. Aynı sunucuda 80 ve 443 portunu yalnızca bir web sunucusunun dinlemesine dikkat edin; aksi halde port çakışması yaşarsınız.
Veritabanı Kurulumu
Dinamik web siteleri ve uygulamalar verilerini bir veritabanında saklar. En yaygın açık kaynak seçenek MySQL veya onun türevi MariaDB'dir.
MariaDB Kurulumu ve Güvenliği
- Kurun: sudo apt install mariadb-server -y
- Güvenlik sihirbazını çalıştırın: sudo mysql_secure_installation — root şifresi belirleyin, anonim kullanıcıları ve test veritabanını silin.
- Veritabanı oluşturun: oturum açıp (sudo mysql -u root -p) CREATE DATABASE proje_db; komutunu çalıştırın.
- Uygulamaya özel bir kullanıcı oluşturup yalnızca o veritabanına yetki verin; root'u uygulamalarda kullanmayın.
Veritabanını mümkünse yalnızca yerel bağlantılara (localhost) açık tutun. Uzaktan veritabanı erişimi gerekiyorsa firewall'da kaynağı IP bazında sınırlandırın. Pratikte gördüğüm en büyük güvenlik zaafiyetlerinden biri, veritabanının 3306 portuyla tüm internete açık bırakılması ve zayıf bir root şifresiyle korunmasıdır; bu kombinasyon, verilerinizin ele geçirilmesi için adeta davetiye niteliğindedir. Bu nedenle uygulama ile veritabanı aynı sunucudaysa uzaktan erişimi tamamen kapatmanızı öneririm.
Performans açısından, yüksek trafikli sitelerde veritabanı en sık darboğaz oluşturan bileşendir. Yeterli RAM ayırmak, sorgu önbelleğini doğru yapılandırmak ve sık sorgulanan sütunlara indeks eklemek, sunucunuzun genel hızını doğrudan etkiler. Büyük projelerde veritabanını ayrı bir sunucuya taşımak ölçeklenebilirlik açısından mantıklı bir adımdır.
Domain ve DNS Yönlendirme
Sunucunuzu bir alan adıyla (domain) erişilebilir yapmak için DNS yönlendirmesi yapmanız gerekir. DNS, alan adlarını sunucu IP adreslerine çeviren sistemdir.
Temel DNS Kayıtları
- Domain sağlayıcınızın panelinden DNS yönetimine girin.
- Bir A kaydı ekleyin: ana domaini (örneğin @) sunucunuzun IP adresine yönlendirin.
- www için ayrı bir A kaydı veya CNAME kaydı ekleyin.
- Değişikliklerin yayılması (propagation) birkaç dakika ile birkaç saat sürebilir.
Hostname ve SSL
Hostname, sunucunuza verilen tam alan adı niteliğindeki isimdir (örneğin sunucu1.alanadi.com) ve hostnamectl set-hostname ile ayarlanır. DNS yayıldıktan sonra Let's Encrypt ile ücretsiz SSL sertifikası kurarak sitenizi HTTPS üzerinden güvenli sunabilirsiniz (örn. certbot aracı).
Yedekleme (Backup)
Hiçbir kurulum, düzenli yedekleme stratejisi olmadan tamamlanmış sayılmaz. Donanım arızası, hatalı komut veya siber saldırı durumunda verilerinizi kurtarmanın tek yolu yedektir.
Yedekleme Stratejisi
- 3-2-1 kuralı: Verinin 3 kopyası, 2 farklı ortamda, 1'i sunucu dışında (off-site) bulunsun.
- Dosyaları sıkıştırarak yedekleyin: tar -czvf yedek.tar.gz /var/www
- Veritabanını dışa aktarın: mysqldump -u root -p proje_db > proje_db.sql
- Yedekleri uzak bir depoya kopyalayın (rsync, S3 uyumlu depolama veya sağlayıcının snapshot özelliği).
- Cron ile otomatikleştirin ve geri yükleme (restore) işlemini ara ara test edin.
Kontrol paneli kullanıyorsanız (Plesk/cPanel), panelin yerleşik zamanlanmış yedekleme özelliğini etkinleştirmek en pratik yöntemdir.
Kurulum Kontrol Listesi (Checklist)
Aşağıdaki tablo, baştan sona sağlıklı bir VDS sunucu kurulumunun özet kontrol listesidir. Yayına almadan önce her maddeyi gözden geçirin.
| Adım | Yapılacak İş | Durum |
|---|---|---|
| 1 | İşletim sistemi kuruldu ve seçildi | Zorunlu |
| 2 | SSH ile bağlantı sağlandı | Zorunlu |
| 3 | Root şifresi değiştirildi, sudo kullanıcı açıldı | Zorunlu |
| 4 | Sistem güncellemeleri yapıldı | Zorunlu |
| 5 | Güvenlik duvarı yapılandırıldı | Zorunlu |
| 6 | SSH anahtarı ve port güvenliği ayarlandı | Önerilen |
| 7 | Kontrol paneli kuruldu (opsiyonel) | Opsiyonel |
| 8 | Web sunucusu kuruldu ve test edildi | Zorunlu |
| 9 | Veritabanı kuruldu ve güvenliği sağlandı | Zorunlu |
| 10 | Domain/DNS ve SSL yapılandırıldı | Önerilen |
| 11 | Otomatik yedekleme kuruldu | Zorunlu |
Kurulumda Yardıma mı İhtiyacınız Var?
VDS sunucu kurulumu ve yapılandırması hakkında rehberlerimizi inceleyin veya bize danışın.
Bize UlaşınSıkça Sorulan Sorular
VDS sunucu kurulumu ne kadar sürer?
Temiz bir işletim sistemi kurulumu birkaç dakika sürer. Güvenlik, web sunucusu ve veritabanı gibi temel yapılandırmalarla birlikte deneyimli bir kullanıcı için süreç ortalama 30-60 dakikadır. cPanel gibi panel kurulumları tek başına bir saate kadar uzayabilir.
VDS için hangi işletim sistemi en iyisidir?
Web projeleri için Ubuntu Server LTS veya Debian en yaygın ve güvenli tercihlerdir. cPanel kullanacaksanız AlmaLinux/Rocky Linux gerekir. Microsoft tabanlı (.NET, MSSQL) projeler içinse Windows Server uygundur.
SSH ile bağlanamıyorum, ne yapmalıyım?
Önce IP adresini ve portu doğru girdiğinizden emin olun. Firewall'da SSH portunun açık olduğunu, sunucunun çalıştığını ve şifrenin doğru olduğunu kontrol edin. Port değiştirdiyseniz yeni portu belirtmeyi unutmayın: ssh -p 2222 kullanici@IP.
Kontrol paneli kurmak zorunda mıyım?
Hayır. Komut satırıyla rahatsanız Nginx, veritabanı ve diğer servisleri manuel kurabilirsiniz. Ancak Plesk veya cPanel, çoklu site ve e-posta yönetimini büyük ölçüde kolaylaştırır ve teknik bilgi gerekliliğini azaltır.
Sunucu güvenliği için en kritik adımlar nelerdir?
Güçlü root şifresi, sudo kullanıcısı kullanımı, güvenlik duvarı yapılandırması, SSH anahtarıyla giriş, root ile uzaktan girişin kapatılması ve düzenli güncellemeler en kritik adımlardır. Bunlara düzenli yedekleme de eklenmelidir.
Yedekleme ne sıklıkla yapılmalı?
Bu, verinin değişim hızına bağlıdır. Aktif bir web sitesi veya e-ticaret için günlük otomatik yedek önerilir. Daha az güncellenen projeler için haftalık yedek yeterli olabilir. Önemli olan yedeklerin sunucu dışında saklanması ve geri yüklemenin test edilmesidir.