VPS Kurulumuna Başlamadan Önce
VPS sunucunuzu kurmaya başlamadan önce hangi işletim sistemi ve yazılımları kullanacağınızı planlayın. Bu rehber Ubuntu 22.04 LTS üzerinden anlatılmıştır ancak diğer Linux dağıtımları için de benzer adımlar geçerlidir.
⚠️ Önemli: Bu işlemler root yetkisi gerektirir. Komutları dikkatli bir şekilde uygulayın.
1. İlk Bağlantı ve Sistem Güncellemesi
VPS'inize SSH ile bağlanın ve sistemi güncelleyin:
# SSH ile bağlantı
ssh root@your-server-ip
# Sistem güncellemesi
apt update && apt upgrade -y
# Temel paketleri yükle
apt install curl wget vim htop unzip -y
2. Güvenlik Duvarı Yapılandırması
Sunucunuzun güvenliği için UFW (Uncomplicated Firewall) kurun ve yapılandırın:
# UFW kurulumu
apt install ufw -y
# Temel kurallar
ufw default deny incoming
ufw default allow outgoing
# SSH portunu aç
ufw allow ssh
ufw allow 22
# HTTP ve HTTPS portları
ufw allow 80
ufw allow 443
# UFW'yi aktifleştir
ufw enable
3. SSH Güvenlik Ayarları
SSH bağlantınızı güvenli hale getirmek için aşağıdaki ayarları yapın:
# SSH yapılandırma dosyasını düzenle
nano /etc/ssh/sshd_config
# Aşağıdaki satırları değiştirin:
Port 2222 # Varsayılan port değiştir
PermitRootLogin no # Root girişini kapat
PasswordAuthentication no # Şifre girişini kapat
PubkeyAuthentication yes # Anahtar girişini aç
# SSH servisini yeniden başlat
systemctl restart ssh
🔑 SSH Anahtar Oluşturma
Yerel bilgisayarınızda SSH anahtarı oluşturun:
# Yerel bilgisayarınızda
# Anahtarı sunucuya kopyala
ssh-copy-id -i ~/.ssh/id_rsa.pub user@your-server-ip -p 2222
4. Yeni Kullanıcı Oluşturma
Root kullanıcısı yerine sudo yetkili yeni bir kullanıcı oluşturun:
# Yeni kullanıcı oluştur
adduser newuser
# Sudo yetkisi ver
usermod -aG sudo newuser
# Kullanıcı dizinini oluştur
mkdir -p /home/newuser/.ssh
cp /root/.ssh/authorized_keys /home/newuser/.ssh/
chown -R newuser:newuser /home/newuser/.ssh
chmod 700 /home/newuser/.ssh
chmod 600 /home/newuser/.ssh/authorized_keys
5. Web Sunucu Kurulumu (Nginx)
Web sitelerinizi barındırmak için Nginx web sunucusunu kurun:
# Nginx kurulumu
apt install nginx -y
# Nginx'i başlat ve otomatik başlatmayı etkinleştir
systemctl start nginx
systemctl enable nginx
# Durum kontrolü
systemctl status nginx
6. PHP Kurulumu
Dinamik web siteleri için PHP ve gerekli modülleri kurun:
# PHP 8.1 kurulumu
apt install php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-xml php8.1-mbstring php8.1-zip -y
# PHP-FPM'i başlat
systemctl start php8.1-fpm
systemctl enable php8.1-fpm
7. MySQL/MariaDB Kurulumu
Veritabanı sunucusu olarak MariaDB kurun:
# MariaDB kurulumu
apt install mariadb-server -y
# Güvenlik yapılandırması
mysql_secure_installation
# MariaDB'yi başlat
systemctl start mariadb
systemctl enable mariadb
8. SSL Sertifikası (Let's Encrypt)
Web siteniz için ücretsiz SSL sertifikası kurun:
# Certbot kurulumu
apt install certbot python3-certbot-nginx -y
# SSL sertifikası al
certbot --nginx -d yourdomain.com -d www.yourdomain.com
# Otomatik yenileme testi
certbot renew --dry-run
9. Temel Nginx Yapılandırması
Web siteniz için Nginx sanal host oluşturun:
# Site yapılandırma dosyası oluştur
nano /etc/nginx/sites-available/yourdomain.com
📄 Nginx Yapılandırma Örneği
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
root /var/www/yourdomain.com;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
}
}
# Site yapılandırmasını etkinleştir
ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
# Nginx yapılandırmasını test et
nginx -t
# Nginx'i yeniden başlat
systemctl reload nginx
10. Sistem İzleme Araçları
Sunucunuzun performansını izlemek için gerekli araçları kurun:
# İzleme araçları
apt install htop iotop nethogs nload -y
# Log rotasyon
apt install logrotate -y
# Fail2ban (brute force koruması)
apt install fail2ban -y
systemctl enable fail2ban
systemctl start fail2ban
Kurulum Sonrası Kontrol Listesi
✅ Tamamlanması Gerekenler
- ☐ Sistem güncellemeleri yapıldı
- ☐ Güvenlik duvarı yapılandırıldı
- ☐ SSH güvenlik ayarları yapıldı
- ☐ Yeni kullanıcı oluşturuldu
- ☐ Root girişi kapatıldı
- ☐ Web sunucu kuruldu
- ☐ PHP yapılandırıldı
- ☐ Veritabanı kuruldu
- ☐ SSL sertifikası alındı
- ☐ İzleme araçları kuruldu
Yaygın Sorunlar ve Çözümleri
🚫 SSH Bağlantı Sorunu
Sorun: SSH ile bağlanamıyorum
Çözüm: Port numarasını kontrol edin, güvenlik duvarında port açık olduğundan emin olun
⚠️ Nginx Başlamıyor
Sorun: Nginx servisi başlamıyor
Çözüm: `nginx -t` ile yapılandırmayı kontrol edin, port çakışması olup olmadığına bakın
Sonuç
VPS kurulumu tamamlandı! Artık güvenli, optimize edilmiş bir web sunucunuz var. Düzenli güncellemeler yapmayı ve sistem loglarını takip etmeyi unutmayın. İhtiyacınıza göre ek yazılımlar kurabilir ve yapılandırmaları özelleştirebilirsiniz.