Mastodon
3 dk okuma süresi

Tarayıcıdan Açılan Bilgisayar: Kurulum Adımları

Başlamadan önce: Bir VPS, VPS’in IP adresi ve DNS kayıtlarını yönetebildiğin bir alan adı gerekli. Aşağıdaki SUNUCU_IP, masa.ornek.com, kasm.ornek.com ve şifre örneklerini kendi bilgilerinle değiştir. İki alt alan adını da aynı VPS’e yönlendireceğiz.

1. VPS’e bağlan

VPS panelinden SSH bağlantı bilgisini kopyala veya terminalde şu komutu kullan:

ssh root@SUNUCU_IP

İlk bağlantıda sunucunun parmak izini onayla. SSH anahtarı eklemediysen VPS kurulurken belirlediğin şifreyi gir.

2. Sistemi güncelle ve güvenlik duvarını aç

apt update && apt upgrade -y

Güncelleme yeniden başlatma gerektiriyorsa sunucuyu yeniden başlat, ardından SSH ile tekrar bağlan.

reboot

Önce SSH ve web erişimine izin ver, sonra güvenlik duvarını etkinleştir:

ufw allow OpenSSH
ufw allow 80,443/tcp
ufw enable

3. Docker’ı kontrol et

VPS kurulurken Docker Manager seçtiysen Docker zaten kurulu olabilir:

docker --version

Komut bir sürüm göstermiyorsa Docker’ı kur:

curl -fsSL https://get.docker.com | sh
docker --version

Bu kurulum komutunu yalnızca Docker’ın resmî adresinden aldığını doğrulayarak kullan.

4. Kalıcı masaüstünü Webtop ile kur

Önce Webtop ve Caddy’nin kullanacağı Docker ağını oluştur:

docker network create web

GUCLU_SIFRE yerine kendi şifreni yaz. Videodaki kurulumda özel karakter içeren şifre komutta sorun çıkardı; bu örneği uygularken güçlü, uzun bir harf ve rakam dizisi kullan. TZ değerini bulunduğun saat dilimine göre değiştirebilirsin.

docker run -d \
  --name webtop \
  --security-opt seccomp=unconfined \
  --shm-size 4g \
  -p 127.0.0.1:3000:3000 \
  -e TZ=Europe/Istanbul \
  -e CUSTOM_USER=kullanici \
  -e PASSWORD=GUCLU_SIFRE \
  -v /opt/webtop/config:/config \
  --restart unless-stopped \
  lscr.io/linuxserver/webtop:ubuntu-kde

docker network connect web webtop

Webtop’un dosyaları ve ayarları /opt/webtop/config altında tutulur. 127.0.0.1 bağlantısı, Webtop’un 3000 numaralı portunu doğrudan internete açmaz.

5. Masaüstü için alan adını ayarla

Alan adının DNS yönetiminde bir A kaydı oluştur:

  • Ad: masa (kullanacağın alt alan adına göre değiştir)
  • IPv4 adresi: VPS’in IP adresi

Cloudflare kullanıyorsan videodaki gibi Proxy status seçeneğini bu kurulum sırasında kapat. Alan adının VPS IP’sine yönlenmesini bekle.

Ardından sunucuda Caddy yapılandırmasını oluştur. masa.ornek.com yerine kendi alt alan adını yaz:

mkdir -p /opt/caddy

cat > /opt/caddy/Caddyfile <<'EOF'
masa.ornek.com {
    reverse_proxy webtop:3000
}
EOF

Caddy’yi başlat:

docker run -d \
  --name caddy \
  --network web \
  -p 80:80 \
  -p 443:443 \
  -v /opt/caddy:/etc/caddy \
  -v caddy_data:/data \
  --restart unless-stopped \
  caddy:2

Tarayıcıda https://masa.ornek.com adresini aç. Webtop kullanıcı adı ve şifrenle giriş yap. Alan adın henüz VPS’e yönlenmiyorsa HTTPS sertifikasının hazırlanması da gecikebilir.

6. Geçici oturumlar için Kasm’ı kur

Kasm’ı aynı Docker ağına ekleyeceğiz. İlk kurulum ekranının 3100 numaralı portu yalnızca sunucunun kendi içinden erişilebilir olacak:

docker run -d \
  --name kasm \
  --network web \
  --privileged \
  --shm-size 512m \
  -p 127.0.0.1:3100:3000 \
  -v /opt/kasm/storage:/opt \
  --restart unless-stopped \
  kasmweb/workspaces:1.19.0

Kasm, geçici masaüstlerini çalıştırmak için kendi içinde Docker kullanır; bu kurulumdaki --privileged yetkisi bu nedenle gereklidir. Kasm verileri /opt/kasm/storage altında tutulur.

DNS yönetiminde ikinci bir A kaydı oluştur:

  • Ad: kasm
  • IPv4 adresi: Aynı VPS’in IP adresi

Caddy yapılandırma dosyasına aşağıdaki bloğu ekle. Burada da kendi alt alan adını kullan:

kasm.ornek.com {
    reverse_proxy https://kasm:443 {
        transport http {
            tls_insecure_skip_verify
        }
    }
}

Dosyayı nano /opt/caddy/Caddyfile komutuyla açabilirsin. Mevcut masaüstü bloğunu silmeden Kasm bloğunu altına ekle, kaydet ve Caddy’yi yenile:

docker exec caddy caddy reload --config /etc/caddy/Caddyfile

7. Kasm’ın ilk kurulumunu tamamla

Kendi bilgisayarında yeni bir terminal aç ve aşağıdaki SSH tünelini kur. SUNUCU_IP değerini değiştir. Bu terminali kurulum bitene kadar açık tut:

ssh -L 3100:127.0.0.1:3100 root@SUNUCU_IP

Kendi bilgisayarındaki tarayıcıda şu adresi aç:

https://127.0.0.1:3100

İlk kurulum ekranı kendinden imzalı bir sertifika kullandığı için tarayıcı uyarı gösterebilir. Adresin 127.0.0.1:3100 olduğunu kontrol edip ilerle. Sözleşmeyi kabul et; yönetici ve normal kullanıcı hesapları için farklı, güçlü şifreler belirle. Kullanmak istediğin çalışma ortamını seç. Videoda Ubuntu Noble seçtim. Install ile kurulumu başlat; tamamlanınca Stop Install Wizard seçeneğini kullan.

Artık https://kasm.ornek.com adresinden [email protected] ve belirlediğin yönetici şifresiyle giriş yapabilirsin.

8. Kasm alan adı ayarlarını tamamla

Kasm yönetim panelinde şu iki ayarı yap:

  1. Infrastructure → Deployment Zones → default → Edit: Proxy Hostname alanına kasm.ornek.com, Proxy Port alanına 443 yaz.
  2. Settings → Global → Authentication: Kasm Auth Domain alanına yalnızca kasm.ornek.com yaz. Başına https:// ekleme.

Ayarları kaydettikten sonra çıkış yapıp yeniden giriş yap. Önceden açılmış bir oturum varsa sonlandır ve yenisini aç. Workspaces bölümünden Ubuntu Noble oturumunu başlatabilirsin. İşin bittiğinde oturumu silersen o oturumun içindeki dosyalar da silinir; saklamak istediğin dosyaları silmeden önce dışarı aktar.

Not: Videoda bir noktada alan adındaki Türkçe ı karakteri bağlantıyı bozdu. Alt alan adında kasm gibi standart Latin harfleri kullan ve DNS, Caddy ile Kasm ayarlarının üçünde de aynı adı yaz.