Öne Çıkanlar
- Putty tek başına dosya yükleme aracı değil; SSH altyapısını kullanarak SFTP/SCP veya istemciler (WinSCP, pscp, psftp) ile güvenli dosya transferi yapılır.
- Büyük dosya transferleri sunucu CPU, RAM ve özellikle disk I/O’yu etkiler — transferleri düşük trafikli saatlere planlayın ve yedekleri sıkıştırarak taşıyın.
- Güvenlik için SSH portu, firewall kuralları ve SSH key kullanımı kritik; gereksiz açık portları kapatın.
- Dosyaları sunucuya aktarmak yeterli değil; doğru PHP sürümü, gerekli eklentiler ve veritabanı indeksleri gibi yazılım uyumluluğu sağlanmalı.
Putty ile Dosya Yükleme Hakkında Bilmeniz Gerekenler
| Özellik | Detay |
|---|---|
| Hizmet Türü | VDS / Cloud Sunucu / Gelişmiş Hosting |
| Hedef Kitle | Geliştirici, Sysadmin, Teknik meraklı bireysel kullanıcılar |
| Zorluk Seviyesi | Orta |
| Öne Çıkan Özellik | Hız, güvenlik ve otomasyon imkânı |
Putty ile dosya yükleme ihtiyacı genelde şu noktada ortaya çıkıyor: FTP ile uğraşmak istemiyorsun, panel yok ya da yavaş, ama elinin altında bir SSH erişimi var. İşin püf noktası şurada: Putty sadece bağlantıyı açıyor; dosya transferi için SCP, SFTP veya bir istemci (WinSCP, pscp, psftp) kullanman gerekiyor. Yani “Putty ile dosya attım” dediğimiz şey teknik olarak “SSH altyapısını kullanarak dosya aktarımı yaptım” demek.
Şöyle düşünün: SFTP/SCP, SSH tüneli içinden geçen güvenli bir kargo hattı. Putty ise o tünelin kapısını açan anahtar. Bu yüzden güvenlik ve hız açısından klasik FTP’ye göre birkaç gömlek üstün. Özellikle üretim ortamına deploy yaparken, config dosyalarını değiştirirken ya da cron job’lar üzerinden otomatik yedek atarken SSH tabanlı dosya transferi kullanmak ciddi bir alışkanlık haline gelmeli.
Bu arada sektörde sık duyduğumuz bir efsane var: “Paylaşımlı hosting kullanıyorsan SSH ile uğraşmana gerek yok, cPanel yeter.” Pek değil. Özellikle yoğun projelerde SSH erişimi kritik. cPanel’in web hosting hizmetlerinde sağladığı arayüz kullanışlı, evet, ama iş büyük veritabanı dump’ları, log analizleri, toplu dosya taşıma ve sıkıştırma gibi konulara geldiğinde SSH sana bambaşka bir dünya açıyor. Putty üzerinden dosya yönetmeyi öğrenmek de bu dünyanın giriş bileti.
Bu arada, performansınızı artırmak için Sunucu sayfamızdaki diğer çözümlere de bakabilirsiniz.
Yapılandırma ve Yönetim: Adım Adım
Kaynak Yönetimi – Limitleri Zorlamayın
Putty ile dosya yükleme yaparken çoğu kişi sadece “dosya gitti mi gitmedi mi”ye odaklanıyor. Ama arka planda sunucunun CPU, RAM ve disk I/O’su sessizce ağlayabiliyor. Özellikle büyük .zip veya .sql dosyaları atıp, sunucuda açma/restore işlemi yaptığında yük bir anda fırlıyor.
Şöyle düşünün: Yoğun trafikli bir sitede, peak saatlerde 4-5 GB’lık yedek dosyasını SCP ile atıp üstüne sunucu üzerinde unzip veya mysql import komutu çalıştırırsan, sadece dosya yüklemiyorsun, aslında sunucuyu “stress test” ediyorsun. CPU yüzde 100’e vuruyor, I/O tavan yapıyor, site yavaşlıyor, kullanıcılar hata görmeye başlıyor.
Dürüst olmak gerekirse, burada RAM’den çok disk I/O ve CPU daha kritik. Özellikle düşük I/O kotalı VDS/VPS’lerde bu çok net hissediliyor. Bu yüzden dosya transferi yaparken:
- Büyük dosyaları mümkünse trafiğin düşük olduğu saatlerde gönder.
- Yüklediğin dosyayı sunucuda açacaksan,
topveyahtopile CPU ve I/O’yu izle. - Yedek alırken mümkünse dosyayı doğrudan sıkıştırılmış formatta (örneğin
mysqldump | gzip) oluştur ki hem transfer süresi hem I/O yükü azalsın.
Aşırı kaynak kullanımı uyarısı geldiğinde panik yapmadan önce kontrol edeceğin ilk yer genelde /var/log/ altındaki log dosyaları ve büyük upload/temp klasörleridir. Bazı kullanıcılarımızda gördüğümüz klasik senaryo şu: SCP ile yedek atılmış, sonra restore edilmiş ama eski .tar.gz dosyası hala orada duruyor, 20-30 GB’ı tek başına işgal ediyor. Disk kritik seviyeye gelince de site yavaşlıyor, MySQL saçmalamaya başlıyor.
Güvenlik Duvarı ve Port Ayarları
Putty ile dosya yükleme yapacaksan ilk bilmen gereken şeylerden biri de şu: Dış dünyaya açık her port, açık bir pencere gibidir. SSH genelde 22. porttan çalışır ama brute-force saldırıların da en çok yokladığı kapı tam olarak burası.
İşin püf noktası burada: SSH portunu değiştirmek tek başına mucize değil, ama saldırganların otomatik taramalarını ciddi oranda boşa düşürür. Özellikle root ile direkt giriş kapalıysa, ekstra güvenlik katmanı kazanırsın. Özetle:
- Mümkünse SSH portunu 22 dışındaki bir değere taşı.
- Firewall üzerinden sadece ihtiyacın olan IP aralıklarından SSH erişimine izin ver.
- Şifre yerine SSH key ile giriş kullan; Putty’de bu iş için
PuTTYgenvar.
Dosya transferi tarafında da SCP/SFTP için ek bir port açmıyorsun, onlar zaten SSH tünelini kullanıyor. Yani “SFTP için bir de 21 açayım” gibi bir şeye gerek yok, o FTP’nin konusu.
Gelelim diğer servis işlerine. Eğer VDS veya cloud sunucu kullanıyorsan ve FTP’yi gerçekten kullanmıyorsan, 21. portu tamamen kapatmak akıllıca. Aynı şekilde, kullanımda olmayan eski panel portları (örneğin eski bir Plesk kurulumu sonrası kalmış portlar) gereksiz risk.
Genelde tavsiye ettiğimiz pratik yaklaşım:
- SSH açık (özel port + key auth),
- HTTP/HTTPS (80/443) açık,
- Gerekiyorsa panel portu (cPanel, Plesk vs),
- Bunların dışındaki her şey kapalı.
Unutma, Putty ile dosya yükleme yaparken bağlantı kuramıyorsan, aklına ilk gelecek şeylerden biri de firewall olmalı. “Bağlantı zaman aşımı” hataları çoğu zaman yanlış firewall kuralı veya security group ayarından kaynaklanıyor.
Yazılım Uyumluluğu ve PHP/Veritabanı Seçimi
Şimdi biraz daha uygulama katmanına çıkalım. Putty ile dosya yükleme yapıp sunucuya script attın, PHP dosyalarını, Laravel veya WordPress projesini SCP ile taşıdın. İş burada bitmiyor. Yüklediğin dosyaların çalışacağı ortamın da düzgün ayarlanması gerekiyor.
Genelde şu yanılgıyı görüyoruz: “En güncel PHP sürümünü kurarsam en hızlı ve en güvenli ortamı sağlarım.” Kısmen doğru ama eksik. Tüm eklentilerin, framework’lerin ve hatta panelinin bu sürümle uyumlu olması şart. Yoksa dosyayı başarıyla yüklersin, site “500 Internal Server Error” ile seni karşılar.
Yapılacak şey basit:
- Önce projenin desteklediği PHP sürümlerine bak.
- Sunucuda birden fazla PHP versiyonu varsa, doğru versiyona atama yap.
- PHP eklentilerini (intl, mbstring, gd, imagick vs.) projenin ihtiyaçlarına göre kur.
Veritabanı tarafında ise altın kural şu: Önce index, sonra donanım. Yani MySQL/MariaDB tarafında doğru index’leri tanımlamadan, sorguları optimize etmeden daha güçlü VDS veya daha pahalı VDS sunucu almak, arabaya sadece daha büyük depo takmak gibi. Motor hala aynı.
Büyük SQL dump’larını Putty ile sunucuya attığında, içeri import etmeden önce:
- Tablolar üzerinde index yapısını gözden geçir.
- Gereksiz log veya geçici tabloları import etme, mümkünse yedeklemeye dahil etme.
- Import sırasında
innodb_buffer_pool_sizegibi temel parametrelerin uygun ayarlı olduğundan emin ol.
Uygulama: Kurulum ve Yayına Alma
Terminali açın, şu komutu girin demiyorum ama mantık şu: Putty ile sunucuya SSH bağlantısını kurarsın, ardından dosya transferi için ya aynı SSH bilgilerini kullanan bir istemci (WinSCP, FileZilla’nın SFTP modu) açarsın ya da komut satırı tabanlı araçlarla (pscp, rsync, scp) dosyayı gönderirsin.
Basit bir senaryo üzerinden gidelim:
- Local’de projen var; dizin hazır, config dosyaları ayarlı.
- Önce bağımlılıkları local’de çözüp, build alırsın (npm, composer vs.). Böylece sunucuda ekstra yük oluşturmazsın.
- Sonra bir SFTP/SCP istemcisi açarsın (WinSCP gibi) ve SSH bilgilerini girersin: IP, port, kullanıcı adı, key ya da şifre.
- Projenin bulunduğu klasörü sürükle-bırak ile sunucudaki hedef dizine atarsın (örneğin
/var/www/proje). - Artık Putty’ye dönüp sadece config dosyasındaki ilgili satırları düzenlersin:
nginxveyaApachevirtual host ayarları,.envveya config.php içindeki veritabanı bilgileri, cache ayarları gibi. - Gerekliyse servisleri yeniden başlatırsın (nginx, php-fpm, apache).
Genelde, temel yapı hazırsa ve DNS tarafı daha önce ayarlanmışsa, bu “dosya aktarımı + config düzenleme” süreci 5 dakikadan fazla sürmez. Tabii ilk seferde ortam hazırlığı, izin düzenlemeleri, kullanıcı oluşturma, SSH key ayarları derken süre uzar ama ikinci deploy’dan sonra her şey rayına oturur.
Sık Karşılaşılan Sorunlar ve Pratik Çözümler
| Sorun | Muhtemel Neden | Çözüm |
|---|---|---|
| Site Yavaş Açılıyor | Zayıf önbellekleme veya yüksek sorgu sayısı | Redis/Litespeed Cache kurulumu yapın |
| Bağlantı Zaman Aşımı | Firewall engeli veya hatalı DNS | Port izinlerini kontrol edin |
Putty ile dosya yükleme özelinde pratik birkaç ek not daha:
- Transfer çok yavaşsa:
- Önce local internet hızını ve sunucuya olan ping süresini kontrol et.
- Mümkünse dosyayı sıkıştır, sonra gönder (
tar.gzile fark ciddi oluyor).
- “Permission denied” hataları alıyorsan:
- Hedef klasörün sahibi ve izinlerini (
chown,chmod) gözden geçir. - Gereksiz yere her şeyi 777 yapma; kısa vadede çözüm gibi görünür ama uzun vadede güvenlik kabusu.
- Hedef klasörün sahibi ve izinlerini (
- Upload sonrası dosyalar görünmüyorsa:
- Yanlış dizine atmış olabilirsin; özellikle panel ile SSH dizinleri farklı kullanıcılara aitse sık görülür.
Sıkça Sorulan Sorular
Putty ile dosya yükleme güvenli mi?
Evet, doğru yapılandırılmış bir SSH bağlantısı üzerinden yapılan SFTP/SCP transferleri oldukça güvenli. Trafik şifrelenmiş olduğu için klasik FTP’ye göre çok daha korunaklı. Ek olarak SSH key kullanırsan, brute-force şifre denemeleri büyük ölçüde boşa düşer. Üzerine bir de doğru yapılandırılmış bir SSL sertifikası ile web trafiğini şifrelediğinde, uçtan uca gayet sağlam bir mimari kurmuş olursun.
Fiyat/Performans dengesini nasıl kurarım?
Putty ile dosya yükleme tarafında aslında yazılım ücretsiz; işin fiyat kısmı altyapıda. Eğer tek site, orta trafik, ara sıra SSH kullanımı söz konusuysa iyi optimize edilmiş bir hosting planı gayet yeterli. Düzenli deploy, git kullanımı, arka planda çalışan script’ler, arada bir yüksek trafikli kampanyalar varsa burada VDS veya cloud sunucu daha mantıklı hale geliyor. Tıpkı bir araba motoru gibi, trafiğin (istek sayısının) yoğun olduğu ortamlarda daha esnek kaynak verebilen bir altyapı çok iş görüyor.
Taşıma (Migration) işlemi zor mu?
Göründüğü kadar değil. Mantık şu: DNS, dosya yapısı ve veritabanı üçlüsünü doğru sırada taşıdığında iş bitiyor. Putty ile dosya yükleme burada devreye şu şekilde giriyor: Eski sunucudan yedekleri alıp yeni sunucuya SCP/SFTP ile aktarıyorsun, ardından config dosyalarını yeni ortama göre güncelliyorsun. Eğer “Ben bu işlerle tek tek uğraşmayayım” diyorsan, Bilhost tarafında taşıma süreçlerinde zaten aktif destek veriyoruz; özellikle web hosting veya WordPress projelerinde migration işlemlerini senin adına kolaylaştırıyoruz. Kısacası, doğru planlandığında süreç korkutucu değil, sadece birkaç dikkat noktasına sahip.
Sonuç
İşin özü şu: Putty ile dosya yükleme, ilk bakışta “terminal işi” gibi ürkütücü görünebilir ama aslında sana panelin veremeyeceği kadar esneklik ve hız kazandırır. Doğru port ayarları, mantıklı kaynak yönetimi ve uyumlu yazılım sürümleriyle birleştiğinde, sunucu üzerinde tam kontrol hissi gelir ve neyin nereden patladığını çok daha rahat görürsün. Teknoloji ne kadar karmaşık görünürse görünsün, doğru yapılandırma hayat kurtarır. Eğer bir yerde takılırsan biz buradayız, yorumlarda sorularını bekliyorum.
