Yeni VPS Sunucuyu 30 Dakikada Hazir Hale Getirme Stratejisi
Yeni bir VPS aldiginizda geri sayim baslar. Proje sahibi yayina cikmak ister, gelistirme ekibi domaini baglamaya hazirdir, siz ise daha vps ilk kurulum asamasindasiniz. Panige gerek yok; dogru siralama ile 30 dakika icinde saglam bir temel kurmak mumkun.
Buradaki adimlar, sifirdan alinan bir Linux VPS icin pratik bir yol haritasidir. Odak noktasi; hizli ama dogru sunucu yapilandirma, minimum ama etkili sunucu guvenligi ayarlari ve en temel servislerin calisir hale getirilmesi olacak. Uzun vadeli mimariyi ayri dusunebiliriz, ama bugun amacimiz net: vps canliya alma isini saglam bir standartla tamamlamak.
Eger hala dogru kapasitede bir plan secmediyseniz, uzerinde calisacaginiz projeye gore VPS.TC Linux VPS ya da daha yuksek ihtiyaclar icin VDS sunucu seceneklerine goz atabilirsiniz. Simdi adimlara gecelim.
Sure Yonetimi: 30 Dakikanin Mantikli Dagilimi
Her adima ne kadar zaman ayiracaginizi bilmek, panik seviyesini ciddi sekilde dusurur. Yaklasik dagilim su sekilde olabilir:
| Sure | Adim |
|---|---|
| 0 – 5 dakika | SSH erisimi, root sifresi, paket guncellemeleri |
| 5 – 15 dakika | Kullanici olusturma, temel sunucu yapilandirma |
| 15 – 25 dakika | Sunucu guvenligi (firewall, SSH ayarlari, temel koruma) |
| 25 – 30 dakika | Uygulamanin ayaga kaldirilmasi ve son kontroller |
Elbette bu dagilim ortalamadir. Kullandiginiz distro, paket boyutlari ve network hizina gore 2-3 dakikalik sapmalar normaldir. Onemli olan, her seferinde tekrarlanabilir bir vps ilk kurulum standardi olusturmak.
Ilk 5 Dakika: Guvenli SSH Erisimi ve Paket Guncellemeleri
Yeni acilan bir VPS genellikle sadece temel kurulumla gelir. Sunucuya ilk baglandiginiz an, ileride yasayacaginiz sorunlari belirleyen kritik noktadir.
SSH ile baglanti ve root sifresini guvenceye alma
Once management panelden IP adresinizi, SSH portunu (genelde 22) ve gecici sifrenizi alin. Ardindan kendi makinenizden baglanin:
ssh root@SUNUCU_IP_ADRESI
Ilk is olarak root sifresini degistirin. Zayif bir sifre ile canliya cikmak, kendi elinizle acik bir kapi birakmak demek.
passwd
Urettiginiz sifrenin uzun, karmasik ve benzersiz oldugundan emin olun. Mümkünse bir sifre yoneticisi kullanin ve bu sifreyi ekip icinde paylasmayin; birazdan sudo yetkili ayri bir kullanici olusturacagiz.
Paket depolarini guncelleme
Stok imajlarda gelen paketler genellikle eski olur. Ilk rebootu beklemeden, hemen guncelleme alin. Debian/Ubuntu tabanli sistemler icin:
apt update && apt upgrade -y
RHEL/AlmaLinux/Rocky icin:
dnf update -y
Bu adimi atlamak, bilinen bir acigi hala barindiran bir sunucuyu internete acmak anlamina gelir. Sunucu guvenligi acisindan kabul edilebilir degil.
5–15 Dakika: Temel Sunucu Yapilandirma Adimlari
Artik sunucu guncel. Simdi canli ortamda ihtiyac duyacaginiz temel sunucu yapilandirma asamalarina gecelim. Amacimiz, root ile calismayan, duzenli log tutan ve bakimi kolay bir sistem elde etmek.
Sudo yetkili normal kullanici olusturma
Production ortaminda root ile direkt calismak, hem guvenlik hem de hata riski acisindan oldukca tehlikelidir. Yeni bir kullanici olusturup sudo yetkisi verin:
adduser deploy
Kullanici olustuktan sonra sudo grubuna ekleyin:
usermod -aG sudo deploy
Simdi yeni kullanici ile baglanti testini yapin:
ssh deploy@SUNUCU_IP_ADRESI
Baglandiysaniz, bir de sudo yetkisini dogrulayin:
sudo whoami
Cikti olarak root gormelisiniz. Artik gunluk operasyonlarda bu kullanici ile calisip, root erisimini minimuma indirebilirsiniz.
Hostname, saat dilimi ve temel ayarlar
Log analizi ve izleme tarafinda en cok sorun yaratan konulardan biri yanlis zaman damgalari ve anlamsiz hostname degerleridir. Bunlari erkenden duzeltmek iyi bir aliskanliktir.
Hostname icin:
hostnamectl set-hostname proje-uygulama-01
Saat dilimini Turkiye icin ayarlamak isterseniz:
timedatectl set-timezone Europe/Istanbul
Bu ayarlar, ileride log okurken “bu islem gercekten ne zaman olmus?” sorusunu daha az sormanizi saglar.
SSH anahtariyla kimlik dogrulama (mecburi olmasi gereken “opsiyonel” adim)
Parola ile giris teknik olarak calisir; ama guvenlik acisindan kabul edilebilir degildir. Ekipte en azindan sistem yoneticileri icin SSH anahtari kullanilmali. Lokal makinenizde anahtar olusturun:
ssh-keygen -t ed25519 -C "deploy@proje"
Olusan public anahtari sunucuya gonderin:
ssh-copy-id deploy@SUNUCU_IP_ADRESI
Bu adim sonrasi parola girmeden giris yapabilmelisiniz. Birazdan SSH konfiginde parola ile girisi tamamen kapatacagiz.
15–25 Dakika: Hizli ama Saglam Sunucu Guvenligi Ayarlari
Internet acik bir ortam. Ozellikle yeni acilan IP adresleri botlar tarafindan dakikalar icinde taranir. Bu nedenle sunucu guvenligi adimlarini ertelemek, canli trafiği riske atmak anlamina gelir.
Minimal firewall kural seti
Amacimiz su anda karmasik bir network topolojisi kurmak degil. Sadece isimize yarayan portlari acip, digerlerini kapali tutmak yeterli. Ubuntu/Debian icin ufw oldukca pratik:
ufw default deny incoming; ufw default allow outgoing; ufw allow 22/tcp; ufw allow 80/tcp; ufw allow 443/tcp; ufw enable
Eger SSH portunu degistirecekseniz, yeni portu da eklediginizden emin olun. Yanlis siralama ile kendinizi kilitlemek klasik bir hatadir.
SSH konfiginde temel siki lastirma
Simdi sshd_config uzerinde birkac kritik degisiklik yapalim. Once dosyayi acin:
sudo nano /etc/ssh/sshd_config
Asagidaki ayarlari kontrol edin ya da ekleyin:
PermitRootLogin noPasswordAuthentication no(SSH anahtari kurulu oldugundan emin olduktan sonra)- Varsa
Port 22satirini farkli bir porta cekebilirsiniz, ancak bu tek basina guvenlik onlemi degildir.
Degisiklikten sonra servisi yeniden baslatin:
sudo systemctl restart sshd
Bu noktada mutlaka ayri bir terminalde baglantiyi test edin. Yanlis bir ayarla kendinizi disari kilitlemek, ozellikle uzak datacenter ortamini dusundugunuzde ciddi zaman kaybi yaratir.
Brute force denemelerine karsi temel koruma
Genel internete acik her VPS, SSH brute force denemeleri alir. Loglari incelediginizde saniyeler icinde farkedersiniz. Hizi kesmek icin fail2ban kullanabilirsiniz:
sudo apt install fail2ban -y
Varsayilan ayarlar bile bir cok senaryoda yeterlidir. Ileride jail.d altinda ozellestirme yapabilirsiniz, ama ilk 30 dakika icinde amacimiz calisan bir temel koruma saglamak.
Uygulamayi Ayaga Kaldirma: Web Sunucusu ve Servisler
Artik guvenlik ve temel sunucu yapilandirma adimlari makul seviyede. Sira gercek amaca geldi: vps canliya alma ve uygulamayi ulasilir kilma. Burada kullanacaginiz teknoloji stack tamamen projeye bagli, ama yaygin bir senaryo uzerinden ilerleyelim.
Nginx ile hizli bir web katmani kurma
Statik icerik ya da basit bir backend icin Nginx iyi bir baslangic noktasi. Kurulum icin:
sudo apt install nginx -y
Kurulumdan sonra servis durumunu kontrol edin:
systemctl status nginx
Tarayicidan http://SUNUCU_IP_ADRESI acildiginda varsayilan Nginx sayfasini goruyorsaniz, web katmani ayaga kalkmis demektir.
Basit bir sanal host ornegi
Domaini bu sunucuya yonlendirdiyseniz, hizlica bir sanal host olusturabilirsiniz. Ornek bir konfigurasyon icin:
sudo nano /etc/nginx/sites-available/proje.conf
Dosyanin icine asagidaki gibi basit bir tanim yazabilirsiniz (ihtiyaca gore uyarlayin):
server { listen 80; server_name ornekdomain.com www.ornekdomain.com; root /var/www/proje/public; index index.html index.php; location / { try_files $uri $uri/ /index.php?$query_string; } }
Ardindan dizini olusturun ve ornek bir index dosyasi koyun:
sudo mkdir -p /var/www/proje/public; echo "Merhaba, VPS.TC uzerinde calisan uygulama" | sudo tee /var/www/proje/public/index.html
Siteyi etkinlestirin ve konfigurasyonu dogrulayin:
sudo ln -s /etc/nginx/sites-available/proje.conf /etc/nginx/sites-enabled/; sudo nginx -t; sudo systemctl reload nginx
Eger nginx -t hatasiz donuyorsa ve domain dogru bagliysa, artik temel anlamda vps canliya alma adimini tamamlamissiniz demektir.
Uygulama katmani: PHP, Node.js veya container yapisi
Her projenin stacki farkli, ama ilk 30 dakikalik pencerede hedefiniz tum mimariyi degil, en temel calisan hali saglamak olmali.
- PHP tabanli bir uygulama icin:
php-fpmve gerekli eklentileri kurup Nginx upstream ayarlarini yapabilirsiniz. - Node.js icin: Uygulamayi 127.0.0.1 uzerinde calistirip Nginx ile reverse proxy konfiguru ekleyebilirsiniz.
- Daha modern bir yaklasim icin: Uygulamanizi Docker imaji olarak hazirlayip, VPS uzerinde sadece container orkestrasyonunu calistirabilirsiniz.
Burada onemli olan, ilk kurulumda karma?ik bir CI/CD yerine eldeki servisi ayaga kaldirip, sonraki iterasyonlarda pipeline eklemektir.
Canliya Cikmadan Once Son 5 Dakikalik Kontrol Listesi
Her sey calisiyor gibi gorunur ama aceleyle gecilen kucuk bir detay, production ortaminda saatlerce ugrasmaniza neden olabilir. Bu nedenle, sunucu guvenligi ve islevsellik acisindan kisa bir kontrol listesi olusturmak sart.
Guvenlik odakli kontroller
- Root ile dogrudan SSH girisi kapali mi?
- Parola ile giris kapali, sadece SSH anahtari ile erisilebiliyor mu?
- Firewall yalnizca gerekli portlari mi aciyor (22, 80, 443 vb.)?
- Sunucu saat dilimi dogru mu, log zamanlari gercek zamana uyumlu mu?
Bu sorulara “evet” cevabini veremiyorsaniz, canli trafiği bekletip once bunlari duzeltmek daha dogru olur.
Islevsellik ve performans odakli kontroller
- Domain dogru IP adresine cozuluyor mu?
- HTTP ve HTTPS erisimi beklediginiz gibi calisiyor mu?
- Uygulama loglarinda belirgin hata var mi?
- Sunucuya ilk yuk altinda (ornek bir load testiyle) nasil davraniyor?
Ilk asamada ayrintili load test gerekmeyebilir, ama en azindan 10-20 es zamanli istegi sorunsuz yonetebildiginden emin olun. Daha ciddi trafik bekliyorsaniz, bulut sunucu veya sanal veri merkezi gibi daha esnek cozumlere dogru gecis planlayabilirsiniz.
Tekrar Edilebilir Bir VPS Ilk Kurulum Standardi Olusturmak
Her yeni projede bastan ayar yapmak bir yere kadar idare eder. Belirli bir noktadan sonra, ayni vps ilk kurulum adimlarini tekrar tekrar manuel yapmak hem zaman kaybi, hem de hata riski demektir.
Bu yazidaki adimlari kendi ekibiniz icin bir “baseline” haline getirebilirsiniz:
- SSH erisimi, root sifresi, paket guncellemeleri icin standart komut seti
- Sudo yetkili kullanici, hostname ve saat dilimi icin sabit bir prosedur
- Temel sunucu guvenligi (firewall, SSH siki lastirma, brute force korumasi) icin kontrol listesi
- Nginx veya tercih ettiginiz web sunucu icin hazir sanal host sablonlari
Bir adim ileri gidip bu adimlari otomatiklestirmek icin Ansible, Terraform gibi araclar kullanabilirsiniz. Ancak o noktaya gelene kadar bile, burada anlattigimiz sekilde duzenli bir sunucu yapilandirma aliskanligi edinmek, production ortamindaki kesintileri ciddi oranda azaltir.
Simdi kendi ortaminizda yeni bir VPS acip bu adimlari uygulamayi deneyin. Ilk kurulum suresini olcun, nerede zaman kaybettiginizi tespit edin ve kendi 30 dakikalik planinizi optimize edin. Bir sonraki projede, vps canliya alma artik stresli bir surec degil, rutin bir is haline gelecek.
Sıkça Sorulan Sorular
VPS ilk kurulum icin en once hangi adimi yapmaliyim?
Ilk adim her zaman guvenli SSH erisimini saglamaktir. Sunucuya baglanir baglanmaz root sifresini degistirin, paketleri guncelleyin ve mumkunse hemen SSH anahtari ile baglanti kurun. Bu temel adimlar tamamlanmadan uygulama kurulumuna gecmek risklidir.
VPS canliya alma oncesi firewall zorunlu mu?
Evet, internet acik bir ortam oldugu icin temel firewall kural seti olmadan VPS canliya alma cok risklidir. En azindan sadece ihtiyaciniz olan portlari (SSH, HTTP, HTTPS gibi) acip diger tum girisleri kapatmaniz gerekir. Ufw veya benzeri araclarla bu islem dakikalar icinde yapilabilir.
Sunucu guvenligi icin parola ile SSH girisini kapatmak sart mi?
Parola ile giris teknik olarak calisir, ancak brute force saldirilarina karsi cok zayiftir. Guvenli bir ortam icin SSH anahtariyla kimlik dogrulama kullanmaniz ve <code>PasswordAuthentication no</code> ayarini etkinlestirmeniz siddetle tavsiye edilir. Boylece yetkisiz erisim denemelerini ciddi oranda azaltirsiniz.
Yeni bir VPS sunucu yapilandirma surecini nasil standart hale getirebilirim?
Once kendi adimlarinizi netlestirip bir kontrol listesi olusturun: SSH ve sifre, guncellemeler, sudo kullanici, saat dilimi, firewall, SSH ayarlari, web sunucusu ve temel monitoring gibi. Bu listeyi her yeni kurulumda uygulayin. Sonrasinda Ansible veya benzeri araclarla bu adimlari otomatiklestirerek hem hizli hem de tekrarlanabilir bir kurulum standardi olusturabilirsiniz.