Android'de web/SSH/veritabanı sunucusu nasıl çalıştırılır: Hızlı plan
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)
- Termux'u kurun (F-Droid/GitHub derlemesi). Başlatın ve paketleri güncelleyin:
pkg update && pkg upgrade -y
termux-setup-storage
- Sunucu paketlerini kurun:
pkg install nginx php php-fpm mariadb openssh nano -y
- 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
- 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
- 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
- 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
- Uygulamayı kurun ve depolama izinlerini verin.
- Proje klasörünü (genellikle /sdcard/ksweb/www) ve portu (örneğin 8080) belirtin.
- 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.