VPS Kurulumu: Adım Adım Sunucu Kurulum Rehberi
VPS kurulumu, kiralanan sanal sunucunun (VPS) ilk erişimden itibaren güvenli ve üretime hazır hale getirilmesi için izlenen adımlar bütünüdür. Süreç; paket seçimi, işletim sistemi tercihi, uzaktan bağlantı, güncelleme ve servis yapılandırmasını kapsar. Bu rehberde kurulum öncesi gereksinimleri, numaralı adımları, doğrulama yöntemlerini ve sık karşılaşılan sorunları bulacaksınız. Amaç, yazıyı bitirdiğinizde kendi sanal sunucunuzu güvenli biçimde ayağa kaldırabilmenizdir.
VPS kurulumu nedir ve hangi aşamalardan oluşur?
VPS kurulumu, sanal sunucunun teslim alınmasından ilk servisin çalıştırılmasına kadar geçen teknik süreçtir. Sanal sunucu (VDS), fiziksel bir makinenin sanallaştırma katmanıyla bölünmesiyle oluşur; bu nedenle kurulumda işletim sistemi, sanal donanım ve ağ yapılandırması birlikte ele alınır. Süreç üç ana aşamaya ayrılır: planlama, erişim ve güvenlik, servis yapılandırması.
Planlama aşamasında iş yükünüzün CPU, RAM ve disk ihtiyacını belirlersiniz. Tek çekirdek performansı kritik olan uygulamalarda yüksek saat hızına sahip paketler, çok çekirdekli paralel işlerde ise çekirdek sayısı öne çıkar. Bu ayrımı netleştirmek için tek çekirdek performansı ölçüm yöntemlerine göz atabilirsiniz.
Erişim ve güvenlik aşamasında SSH anahtarı oluşturulur, kök (root) girişi sınırlandırılır ve güvenlik duvarı kurulur. Servis yapılandırmasında ise web sunucusu, veritabanı veya uygulama çalışma zamanı kurulur. Bu üç aşamanın sırası değiştirildiğinde, örneğin servisler güvenlik ayarlarından önce açıldığında, sunucu kısa süreliğine korumasız kalır.
| Aşama | Amaç | Tipik Süre |
|---|---|---|
| Planlama | Kaynak ve işletim sistemi seçimi | 10-20 dakika |
| Erişim ve güvenlik | SSH, kullanıcı, güvenlik duvarı | 15-30 dakika |
| Servis yapılandırması | Web, veritabanı, uygulama | 20-60 dakika |
| Doğrulama | Erişim ve servis testleri | 10-15 dakika |
Başlamadan önce hangi gereksinimler gerekir?
Kuruluma başlamadan önce elinizde bir sanal sunucu paketi, erişim bilgileri ve yerel bir SSH istemcisi bulunmalıdır. BalHost tarafında sanal sunucular Intel Xeon Platinum 8168 işlemci ve NVMe SSD üzerinde çalışır; kurulum yaklaşık 5 dakika içinde tamamlanır ve tam root erişimi verilir. Güncel paket ve fiyat bilgisi için sanal sunucu hizmet sayfasına bakabilirsiniz.
Gereksinim listesi şu şekildedir:
- Sunucu IP adresi, root parolası veya SSH anahtarı
- Yerel makinede terminal (Linux/macOS) ya da PowerShell (Windows)
- Tercih edilen işletim sistemi imajı (Ubuntu, Debian, AlmaLinux, Windows Server)
- Yedekleme ve izleme için bir plan
- Uygulamanızın dinleyeceği portların listesi
İşletim sistemi seçimi kurulumun geri kalanını etkiler. Windows tabanlı uygulamalar için Windows imajı, .NET veya IIS gerektiriyorsa Windows sanal sunucu seçenekleri değerlendirilmelidir. Linux tabanlı yığınlarda ise LTS sürümleri uzun vadeli güncelleme desteği sağladığı için genellikle daha az sürpriz üretir.
Kaynak planlamasında yalnızca bugünkü ihtiyaca bakmak yaygın bir hatadır. Disk doluluğu, veritabanı büyümesi ve log birikimi aylar içinde kaynakları tüketir; bu nedenle paket seçerken mevcut kullanımın üzerine makul bir pay bırakmak gerekir. Ayrıca yedekleme ve izleme araçlarının da CPU ve disk tükettiğini hesaba katmalısınız.
VPS kurulumu adım adım nasıl yapılır?
Aşağıdaki adımlar, yeni teslim alınmış bir Linux sanal sunucusunu üretime hazır hale getirir. Her adımda ne yapıldığı ve bunun neden gerekli olduğu açıklanmıştır.
1. Sunucuya SSH ile bağlanın
İlk bağlantı, sunucunun erişilebilir olduğunu doğrular. Parola yerine anahtar kullanmak, kaba kuvvet (brute force) denemelerini baştan etkisiz kılar.
ssh -i ~/.ssh/id_ed25519 root@SUNUCU_IP
Bağlantı kurulduktan sonra whoami ve hostname komutlarıyla doğru makinede olduğunuzu teyit edin. Yanlış sunucuda işlem yapmak, üretim ortamlarında geri dönüşü zor hatalara yol açar.
2. Sistemi güncelleyin
Güncelleme, bilinen güvenlik açıklarının kapatılmasını sağlar. Yeni kurulmuş imajlar bile teslim tarihinden sonra yayımlanan yamaları içermez.
apt update && apt upgrade -y
Debian/Ubuntu dışındaki dağıtımlarda komut dnf upgrade -y biçimindedir. Güncelleme sonrası çekirdek (kernel) yenilendiyse sunucuyu yeniden başlatın.
3. Yeni bir kullanıcı oluşturun ve yetkilendirin
Root hesabıyla sürekli çalışmak, tek bir hatalı komutun tüm sistemi etkilemesi anlamına gelir. Günlük işler için ayrı bir kullanıcı tanımlayın.
adduser deploy
usermod -aG sudo deploy
Ardından SSH anahtarınızı bu kullanıcıya kopyalayın ve ssh deploy@SUNUCU_IP ile giriş yapabildiğinizi test edin. Test başarılı olmadan root girişini kapatmayın.
4. SSH yapılandırmasını sertleştirin
SSH servisi, internete açık sunucularda en çok hedeflenen kapıdır. Parola ile girişi kapatmak ve root oturumunu sınırlamak saldırı yüzeyini belirgin biçimde daraltır.
# /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
Değişiklikten sonra systemctl restart ssh komutunu çalıştırın. Bu adımı atlayan kullanıcılar, aylar sonra loglarda binlerce başarısız giriş denemesiyle karşılaşır.
5. Güvenlik duvarını yapılandırın
Yalnızca kullanılan portların açık olması, gereksiz servislerin dışarıya görünmesini engeller. Varsayılan olarak tüm gelen trafiği kapatıp izinleri tek tek tanımlamak daha güvenlidir.
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
Veritabanı portlarını (örneğin 3306 veya 5432) internete açmayın; uygulama ile aynı sunucudaysa yerel bağlantı yeterlidir.
6. Uygulama yığınını kurun
Bu adım iş yükünüze bağlıdır. Web uygulamaları için tipik sıra; çalışma zamanı, web sunucusu ve veritabanıdır. Paket yöneticisini kullanmak, sürüm takibini ve güvenlik yamalarını kolaylaştırır.
apt install -y nginx
systemctl enable --now nginx
Kurulum sonrası servisin otomatik başlaması (enable) kritik önemdedir; aksi halde sunucu yeniden başladığında uygulama açılmaz.
7. Zamanlanmış yedeklemeyi planlayın
Yedekleme, kurulumun parçası olarak düşünülmelidir. Uygulama verisi ile yapılandırma dosyalarını ayrı ayrı yedeklemek, geri dönüş süresini kısaltır.
# /etc/cron.daily/backup
0 3 * * * tar -czf /backup/app-$(date +%F).tar.gz /var/www
Yedeği aynı sunucuda tutmak, disk arızasında işe yaramaz. Farklı bir konuma kopyalama adımını mutlaka ekleyin.
Kurulumun başarılı olduğu nasıl doğrulanır?
Doğrulama, yapılandırmanın gerçekten çalıştığını kanıtlar; varsayıma dayalı kontrol yeterli değildir. İlk kontrol, yeni kullanıcıyla SSH girişinin parolasız çalışması ve root girişinin reddedilmesidir. İkinci kontrol, güvenlik duvarı kurallarının beklediğiniz portlarla sınırlı olmasıdır.
ss -tulpn
ufw status verbose
systemctl status nginx
Servis testleri için curl -I http://localhost çıktısında HTTP 200 veya 301 görmelisiniz. Dış erişim testini tarayıcıdan veya curl -I http://SUNUCU_IP ile yapın; beklenmeyen bir port açıksa ss çıktısında hemen görünür. Son olarak yeniden başlatma sonrası servislerin kendiliğinden ayağa kalktığını systemctl is-enabled nginx ile teyit edin.
Doğrulamanın bir parçası da kaynak tüketimini ölçmektir. free -h ile bellek, df -h ile disk ve uptime ile yük ortalaması kontrol edilir. Kurulum sonrası boşta çalışan bir sunucuda bellek kullanımı beklenmedik biçimde yüksekse, gereksiz servisleri kapatmak performansı doğrudan artırır.
Sık karşılaşılan sorunlar ve pratik çözümler
En sık görülen hata, SSH sertleştirmesi yapılırken yeni kullanıcının test edilmemesidir. Bu durumda root girişi kapatıldığı anda sunucudan tamamen kilitli kalırsınız ve kurtarma için sağlayıcı panelinden konsol erişimi gerekir. Kural nettir: yeni erişim yöntemi çalıştığını doğrulamadan eski yöntemi kapatmayın.
İkinci yaygın sorun, güvenlik duvarının yanlış sırayla yapılandırılmasıdır. Örneğin SSH portuna izin verilmeden ufw enable çalıştırılırsa mevcut oturum devam eder ama yeni bağlantılar reddedilir. Böyle bir durumda sağlayıcının web konsolundan bağlanıp kuralı ekleyin.
Performans kaynaklı şikayetlerde ise neden genellikle disk veya bellek yetersizliğidir. free -h, df -h ve iostat çıktıları ilk bakılacak yerlerdir. Uygulama beklenenden yavaş çalışıyorsa, sanal sunucu ile fiziksel sunucu arasındaki farkı sanal sunucu mu fiziksel sunucu mu karşılaştırması üzerinden değerlendirebilirsiniz.
Sanal sunucu ile VPS terimlerinin karıştırılması da planlama hatalarına yol açar. Kaynakların tamamen izole edildiği yapılar ile paylaşımlı yapılar arasındaki ayrımı VDS ve VPS arasındaki fark yazısı açıklıyor. Kurulumdan önce bu ayrımı netleştirmek, gereksiz yükseltme maliyetini önler.
Bir başka pratik örnek, port çakışmasıdır. Nginx 80 numaralı portu dinlerken Apache de aynı portu kullanmaya çalışırsa servis başlamaz ve systemctl status çıktısında "address already in use" hatası görünür. Çözüm, kullanılmayan web sunucusunu durdurmak veya port numarasını değiştirmektir.
Sık Sorulan Sorular
VPS kurulumu ne kadar sürer?
Hazır imajla teslim edilen bir sanal sunucuda temel kurulum genellikle 10-30 dakika sürer. BalHost tarafında sunucu kurulumu yaklaşık 5 dakikada tamamlanır; ancak güvenlik ayarları, uygulama kurulumu ve doğrulama adımları bu süreye eklenir. İş yükü karmaşıksa toplam süre bir saati aşabilir.
VPS kurulumu için hangi işletim sistemi seçilmelidir?
Linux tabanlı uygulamalar için LTS sürümleri uzun vadeli güncelleme desteği nedeniyle genellikle daha uygundur. .NET, IIS veya Windows'a özel bir yazılım kullanıyorsanız Windows Server imajı seçilmelidir. Seçim, kurulum komutlarını ve yönetim araçlarını doğrudan belirler.
VPS kurulumunda en sık yapılan hata nedir?
En sık hata, yeni kullanıcı ve SSH anahtarı test edilmeden root girişinin kapatılmasıdır. Bu durumda sunucuya erişim tamamen kesilir ve kurtarma için sağlayıcı konsolu gerekir. İkinci sık hata, güvenlik duvarı kuralları eklenmeden duvarın etkinleştirilmesidir.
Kurulumdan sonra hangi kontroller yapılmalıdır?
SSH girişinin anahtarla çalıştığı, root girişinin reddedildiği ve güvenlik duvarının yalnızca gerekli portları açtığı doğrulanmalıdır. Ayrıca servislerin yeniden başlatma sonrası otomatik açıldığı ve yedekleme görevinin çalıştığı test edilmelidir. Bu kontroller üretim öncesi son adımdır.
VPS mi fiziksel sunucu mu tercih edilmelidir?
Kaynak ihtiyacı dalgalı olan ve hızlı ölçeklenmesi gereken projelerde sanal sunucu genellikle daha esnek ve ekonomiktir. Sabit, yüksek ve kesintisiz kaynak gerektiren, donanım üzerinde tam kontrol isteyen iş yüklerinde fiziksel sunucu daha uygun olur. Karar, iş yükünün tepe değerlerine göre verilmelidir.
Sonuç
VPS kurulumu, doğru planlama yapıldığında öngörülebilir bir süreçtir. Sunucuya anahtarla bağlanmak, sistemi güncellemek, ayrı bir kullanıcı tanımlamak, SSH'ı sertleştirmek ve güvenlik duvarını daraltmak; kurulumun değişmeyen çekirdeğini oluşturur. Bu adımlar tamamlandığında sunucu, uygulama kurulumuna hazır ve dış saldırılara karşı makul ölçüde korunmuş olur.
Sıradaki adım, iş yükünüze uygun paketi seçip kurulumu kendi ortamınızda uygulamaktır. Kaynak ihtiyacınızı netleştirdikten sonra sanal sunucu paketlerini inceleyerek kuruluma başlayabilirsiniz.
İlgili Yazılar
Bu konuda hizmet mi arıyorsunuz?
Yazıda anlatılan altyapıyı BalHost sunucularında hazır bulabilirsiniz.

