Bloglara Dön

VPS Kurulumu: Adım Adım Rehber (2026)

Bir VPS, kendi sunucunuza sahip olmanın en ekonomik yoludur. Shared hosting’in performans ve kontrol sınırlamalarını aşar, bulut sağlayıcılarının kompleks fiyatlandırmasından uzak durur. Aylık 5-15 USD ile Docker konteynerleri çalıştırabilir, birden fazla siteyi yönetebilir ve VPN gibi ek servisler kurabilirsiniz.

Bu rehberde Ubuntu 22.04 üzerinde Nginx + PHP-FPM + MySQL yığınıyla ilk Laravel/WordPress sitesini yayına almanız için gereken tüm adımları sırasıyla ele alacağız.

1. Sağlayıcı Seçimi

  • DigitalOcean: temiz arayüz, iyi dokümantasyon.
  • Hetzner: fiyat/performans lideri.
  • Contabo: uygun fiyat, yüksek RAM/CPU.
  • Vultr: lokasyon çeşitliliği.
  • Türkiye: Turhost, Natro, Netinternet.

Başlangıç için 2 vCPU + 4 GB RAM + 60 GB SSD ideal.

2. İlk Bağlantı

ssh root@sunucu_ip
apt update && apt upgrade -y

3. Kullanıcı Oluşturma

adduser deploy
usermod -aG sudo deploy
mkdir -p /home/deploy/.ssh
cp ~/.ssh/authorized_keys /home/deploy/.ssh/
chown -R deploy:deploy /home/deploy/.ssh
chmod 700 /home/deploy/.ssh
chmod 600 /home/deploy/.ssh/authorized_keys

4. SSH Sertleştirme

/etc/ssh/sshd_config içinde:

  • Password auth kapatın: PasswordAuthentication no.
  • SSH key ile giriş.
  • SSH portunu değiştirin: Port 2222.
  • Root login kapatın: PermitRootLogin no.

Sonrasında: systemctl restart ssh.

5. Firewall

ufw allow 2222
ufw allow 80
ufw allow 443
ufw enable

6. Fail2Ban

apt install fail2ban
systemctl enable fail2ban

Brute-force denemelerini otomatik banlar. /etc/fail2ban/jail.local ile eşiği ayarlayın.

7. Nginx + PHP-FPM Kurulumu

apt install nginx php8.3-fpm php8.3-mysql php8.3-mbstring php8.3-xml php8.3-curl php8.3-bcmath php8.3-gd php8.3-zip php8.3-redis unzip

Composer kurulumu: curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer

8. MySQL

apt install mysql-server
mysql_secure_installation

Root parolası, remote login kapatma, test veritabanı silme adımları. Uygulama için ayrı kullanıcı oluşturun.

9. Domain ve SSL

Domain’i A kaydıyla sunucuya yönlendirin. Certbot ile Let's Encrypt sertifikası kurun:

apt install certbot python3-certbot-nginx
certbot --nginx -d ornek.com -d www.ornek.com

10. Nginx Virtual Host

/etc/nginx/sites-available/ornek.com dosyası ile Laravel için ayrı server block oluşturun. root: /var/www/ornek.com/public, index: index.php, try_files: $uri $uri/ /index.php?$query_string.

11. Deploy

cd /var/www
git clone [email protected]:kullanici/proje.git ornek.com
cd ornek.com
composer install --no-dev --optimize-autoloader
npm install && npm run build
cp .env.example .env
php artisan key:generate
php artisan migrate --force
php artisan config:cache
php artisan route:cache
php artisan view:cache
chown -R www-data:www-data storage bootstrap/cache

12. Monitoring ve Yedekleme

  • Netdata veya Uptime Kuma ile takip.
  • Restic veya Borg ile günlük yedekleme.
  • MySQL için mysqldump + S3 offsite backup.
  • Log rotation kontrolü.

Sıkça Sorulan Sorular

Panel (cPanel/Plesk) kurmalı mıyım?

Tek proje için gereksiz. Çoklu müşteri barındırıyorsanız Cloudpanel ücretsiz alternatif.

Docker ile deploy daha kolay mı?

Ekip küçükse Docker Compose deploy sürecini standartlaştırır.

Aylık 5 USD yeterli mi?

2-3 küçük site için evet. Yoğun trafik için 20-40 USD bandına çıkın.

Sonuç

Bu 12 adımla ilk projenizi yayına alabilirsiniz. Sonraki adım: log/monitör, yedekleme ve CI/CD entegrasyonu. Ölçek büyüdüğünde Cloudflare + read replica + managed veritabanı ile stack’i sağlamlaştırın.