Android'de web/SSH/veritabanı sunucusu nasıl çalıştırılır: Hızlı plan

Kerem Aydın·13 Temmuz 2026·⏱3 dk

Bir Android cihazını hızlıca yerel veya genel bir sunucuya dönüştürebilirsiniz: Esneklik için Termux (nginx/php/mysql/ssh), basitlik için KSWEB veya Servers Ultimate kullanın; genel erişim için tünel (Cloudflare/ngrok) veya port yönlendirme yapın. Aşağıda kısa adımlar ve hazır komutlar bulunmaktadır.

Ne zaman ne kurulmalı ve seçim nasıl yapılmalı

  • Termux — geliştirme ve otomasyon için idealdir; paket yöneticisi ve tanıdık Linux komutlarına erişim sağlar.
  • KSWEB — "hepsi bir arada" GUI çözümü, hızlı demolar için kullanışlıdır.
  • Servers Ultimate — farklı sunucu türlerine (FTP, DLNA vb.) ihtiyaç duyulduğunda çoklu servis desteği sunar.
  • Cloudflare Tunnel/ngrok — router ayarı yapmadan genel erişim gerekiyorsa veya CGNAT varsa kullanılmalıdır.

Sadece yerel test yapılacaksa, Termux'taki veya KSWEB'teki dahili PHP sunucusu ve /storage/shared/www klasörü yeterlidir.

Termux ile hızlı başlangıç (esneklik için önerilir)

  1. Termux'u kurun (F-Droid/GitHub derlemesi). Başlatın ve paketleri güncelleyin:
pkg update && pkg upgrade -y
termux-setup-storage
  1. Sunucu paketlerini kurun:
pkg install nginx php php-fpm mariadb openssh nano -y
  1. Hızlı kontrol (dahili PHP):
mkdir -p ~/storage/shared/www
echo "<?php phpinfo();" > ~/storage/shared/www/index.php
php -S 0.0.0.0:8080 -t ~/storage/shared/www
# veya yapılandırmadan sonra php-fpm + nginx çalıştırın
  1. Minimal nginx yapılandırması: root dizinini ~/storage/shared/www olarak belirtin ve .php dosyalarını php-fpm'e (unix soketi veya port üzerinden) proxy'leyin. Ardından:
php-fpm
nginx
  1. MariaDB — başlatma ve çalıştırma (seçenekler derlemeye göre değişir):
mysqld_install_db
mysqld_safe --datadir=$PREFIX/var/lib/mysql &
mysql -u root
  1. Otomatik başlatma: Termux başladığında daemon'ların başlaması için termux-services veya termux-boot betiklerini kullanın.

Android'de arka plan işlemleri uyku moduna geçebilir. Stabil çalışma için Termux/uygulama için pil optimizasyonunu devre dışı bırakın ve sürekli güç kaynağına bağlayın.

KSWEB / Servers Ultimate — GUI seçeneği

  1. Uygulamayı kurun ve depolama izinlerini verin.
  2. Proje klasörünü (genellikle /sdcard/ksweb/www) ve portu (örneğin 8080) belirtin.
  3. Panel üzerinden PHP ve MySQL'i etkinleştirin ve servisleri başlatın. Dışarıdan erişim için tünel veya router port yönlendirmesi kullanın.

LAN ve İnternet erişimi nasıl açılır

  • LAN: Telefonun IP adresini öğrenin (ip addr show wlan0 veya ifconfig) ve http://<LAN_IP>: adresini açın. Servisin 127.0.0.1 yerine 0.0.0.0 üzerinde dinlediğinden emin olun.
  • İnternet: Daha kolay ve güvenli olan yöntem tünel kullanmaktır (Cloudflare Tunnel/ngrok). Alternatif olarak router üzerinde port yönlendirme + DDNS kullanılabilir, ancak bu sadece genel IPv4 adresi olduğunda çalışır.

Termux'ta Cloudflare Tunnel çalıştırma örneği (basitleştirilmiş):

# mimarinize uygun binary dosyasını indirin, giriş yapın ve ardından
cloudflared tunnel run --token <TOKEN>

Not: Android'de cloudflared/ngrok için bazen ek adımlar gerekebilir (proot/chroot, ARM/ARM64 için doğru binary dosyalar).

İnternete açmadan önce mini güvenlik kontrol listesi

  • Varsayılan şifreleri değiştirin ve SSH'de şifreyle girişi yasaklayın (sadece anahtar kullanın).
  • Erişimi IP ile sınırlayın veya uygulama kimlik doğrulaması kullanın.
  • TLS'yi etkinleştirin (Cloudflare tünel üzerinden TLS sağlayabilir) veya sertifikalı bir ters proxy yapılandırın.
  • Gereksiz servisleri kaldırın ve kullanılmayan portları kapatın.

Sık yapılan hatalar

  • Servis sadece localhost'ta erişilebilir — bind adresini kontrol edin (0.0.0.0 olmalı).
  • Uygulama uyku moduna geçiyor — pil optimizasyonunu devre dışı bırakın.
  • Port yönlendirme çalışmıyor — sağlayıcınızda CGNAT olup olmadığını kontrol edin; tünel kullanın.
  • /storage içindeki dosya izinleri yanlış — termux-setup-storage kullanın ve ~/storage içinde çalışın.

SSS

  • Root gerekli mi? — Hayır: Çoğu senaryo root olmadan çalışır. Root ek özellikler (düşük portları dinleme) sağlar ancak zorunlu değildir.
  • Servisler nasıl otomatik başlatılır? — Termux içinde termux-services / termux-boot veya sistem betiklerini kullanın.
  • Eski bir telefon kalıcı sunucu için uygun mudur? — Küçük görevler için uygundur, ancak pil güvenilirliğini ve uzun süreli yükü göz önünde bulundurun.