uVersion
Türkçe
İndir →

Wiki

Windows'a kurulum

Tek satırlık PowerShell: etkinleştirme kodu, winget ile PostgreSQL, Windows hizmeti, güvenlik duvarı, TLS sertifikası.

Windows 10, 11 veya Windows Server 2019+ (x64). Tek bir PowerShell satırıyla kurulum.

Kur

1. PowerShell'i yönetici olarak açın

PowerShell simgesine sağ tıklayın → Yönetici olarak çalıştır. Aksi hâlde betik başlamayı reddeder ve bunu size bildirir.

2. Kurulum komutunu yapıştırın

Az önce açtığınız pencereye olduğu gibi yapıştıracağınız tek bir satır:

iwr https://uversion.io/downloads/server/install.ps1 -UseBasicParsing | iex

Betik ardından gözünüzün önünde şunları yapar:

  • etkinleştirme kodunun istenmesi, sorulan tek soru: bir sonraki adıma bakın
  • ikili dosyanın indirilmesi ve arşivin doğrulanması
  • yoksa PostgreSQL'in winget ile kurulması (yaklaşık 2 dakika)
  • veritabanının, rolün ve Windows hizmetinin oluşturulması ve güvenlik duvarının açılması (8443, ayrıca yedek olarak 8080)
  • Programlar ve Özellikler girdisinin kaydedilmesi
  • hizmetin başlatılması, kendinden imzalı TLS sertifikasının oluşturulması, ardından yönetici parolasının ve sertifikanın SHA-256 parmak izinin gösterilmesi

Her şey PowerShell pencerenizde gerçekleşir, her adımı görürsünüz. Linux'taki sudo apt install komutunun Windows karşılığıdır.

3. Etkinleştirme kodunu girin

Sorulan tek soru budur: diğer tüm seçimler aşağıda açıklanan parametrelerle yapılır. Alan üç biçim kabul eder: kısa kod UV-XXXX-XXXX-XXXX, tam lisans anahtarınızı içeren bir dosyanın yolu, veya bu anahtarın doğrudan yapıştırılmış hâli. Yalnızca ilk biçimde betik, kodu anahtarla değiştirmek için licence.uversion.io ile bağlantı kurar.

4. Son özeti not edin

Kurulum bir kutuyla biter: admin kullanıcı adı, geçici parola, sunucu adresi ve sertifika parmak izi. Bunları not edin.

Kurulumun sonunda gösterilen özet: admin kullanıcı adı, geçici parola ve sunucu adresi.

Pencere çok çabuk kapatıldıysa, parola değiştirilmediği sürece hâlâ disktedir:

Get-Content "C:\ProgramData\uVersion\initial-admin-password"

Bu dosya, parolayı değiştirir değiştirmez kaybolur: dolayısıyla "Cannot find path" hatası, değişikliğin çoktan gerçekleştiği anlamına gelir.

Ardından İlk giriş adımını izleyebilirsiniz.

Windows Server 2019 ve 2022: önce PostgreSQL

winget ne Windows Server 2019'da ne de Windows Server 2022'de vardır. Betik bu durumda hemen durur ve bunu size açıkça bildiren bir mesaj gösterir. Bu bir arıza değildir: önce PostgreSQL 16'yı elle kurun, ardından aynı komutu yeniden çalıştırın. Betik mevcut PostgreSQL hizmetini algılar ve bir tane kurmak yerine onu kullanır.

Etkileşimsiz varyant (CI, betikle dağıtım)

Kısa biçim iwr ... | iex hiçbir parametre alamaz: betiği ona argüman geçirmeden çalıştırır ve sona eklenen bir -DataDir sessizce yok sayılır. Bir seçenek geçirmek istediğiniz anda, açık bir betik bloğu oluşturan aşağıdaki biçimi kullanın.

& ([scriptblock]::Create((iwr https://uversion.io/downloads/server/install.ps1 -UseBasicParsing).Content)) `
    -LicenceKey "UV-XXXX-XXXX-XXXX" -DataDir "D:\uVersion" -DbOnDataDir

Kabul edilen dokuz parametre:

ParametreVarsayılanİşlev
-LicenceKey(sorulur) Etkinleştirme kodu veya tam lisans anahtarı. Soruyu atlar.
-InstallDirC:\Program Files\uVersion İkili dosyanın nereye ineceği.
-DataDirC:\ProgramData\uVersion Verilerinizin, yapılandırmanın ve gizli bilgilerin nereye ineceği. Büyüyen klasör budur, dolayısıyla büyük diskinize koymanız gereken klasördür.
-DbOnDataDirdevre dışı PostgreSQL veritabanını da veri klasörüne yerleştirir; böylece hayatta kalan tek bir disk sunucuyu yeniden kurmaya yeter. Aşağıdaki kutuya bakın.
-Port8080 Düz HTTP'de yedek bağlantı noktası; yalnızca yapılandırmada TLS'yi devre dışı bıraktığınızda kullanılır. Normal HTTPS bağlantı noktası 8443'tür.
-BindAddress0.0.0.0 Dinleme arayüzü. Varsayılan tümünü dinler.
-DownloadUrluversion.io Arşivin kaynağı. Dâhilî bir aynadan kurmak için değiştirin.
-Reconfiguredevre dışı Zaten var olsa bile config.toml'u yeniden yazar.
-Updatedevre dışı Mevcut bir kurulumun ikili dosyasını günceller ve hizmeti yeniden başlatır; PostgreSQL, lisans veya yapılandırmaya dokunmadan. Yönetim panelindeki "Güncelle" düğmesinin tetiklediği şey budur.

-DbOnDataDir, tek bir diskin sunucunuzu yeniden ayağa kaldırmaya yetip yetmeyeceğini belirler. Onsuz PostgreSQL veritabanı ayrı kalır: makine ölürse, hayatta kalan veri diski dosyalarınızın içeriğini barındırır, ama artık hiçbir revizyon, hiçbir hesap, hiçbir kilit ve hiçbir izin barındırmaz. Onunla, tek bir disk artı PostgreSQL ve bu betik sunucuyu başka bir yerde yeniden kurmaya yeter. Karşılığında: o disk o zaman lisans anahtarını ve parolaları da taşır ve veritabanı yalnızca onu oluşturan PostgreSQL'in ana sürümüyle yeniden açılabilir.

Dosyalar nereye gider

Her şey, varsayılan olarak veri klasöründe C:\ProgramData\uVersion yaşar: yapılandırma (config.toml), sürüm denetimindeki dosyalarınızın içeriği (data\chunks), TLS sertifikası ve parmak izi (data\tls) ve başlangıç yönetici parolası.

Bu klasör ayrıca üç gizli bilgiyi düz metin olarak içerir: licence-key (lisans anahtarınız), db-password (uVersion veritabanının parolası) ve postgres-superuser-password (PostgreSQL yönetici hesabınınki). Bunlar yöneticilere ayrılmış izinlerle korunur. Bu klasörü bir kasa gibi değerlendirin: açık bir ağ paylaşımına kopyalamayın ve bir disk denetiminizden çıkmadan önce bu dosyaları silin.

config.toml üzerinde her el ile değişiklikten sonra, uygulanması için hizmeti yeniden başlatın:

Restart-Service uVersionServer

Kurulumu doğrulayın

Dört bağımsız denetim. Farklı bir veri klasörü seçtiyseniz C:\ProgramData\uVersion'u onunla değiştirin.

1. Hizmet çalışıyor

Get-Service uVersionServer

Beklenen: Status: Running.

2. Sunucu 8443'te HTTPS dinliyor

Get-NetTCPConnection -LocalPort 8443 -State Listen

Bir satır görünmelidir. Hizmet çalışırken hiçbir şey çıkmaması genellikle yapılandırmada TLS'nin devre dışı bırakıldığı anlamına gelir: sunucu bu durumda düz HTTP'ye geçer ve 8443 artık dinlemez.

3. Sertifika parmak izini yeniden gösterin

Get-Content "C:\ProgramData\uVersion\data\tls\fingerprint"

Bu, her iş istasyonunun ilk bağlantısında doğruladığı parmak izidir.

4. Etkin yapılandırmayı yeniden okuyun

Get-Content "C:\ProgramData\uVersion\config.toml"

Hizmet başlamayı reddederse, nedenini görmenin en doğrudan yolu ikili dosyayı ön planda başlatmaktır: başlangıç hataları o zaman doğrudan pencerenizde görünür. Zaten bu, kurulum betiğinin başarısızlığı saptadığında kendisinin önerdiği komuttur.

$env:CONFIG_PATH = 'C:\ProgramData\uVersion\config'
& 'C:\Program Files\uVersion\uversion-server.exe'

Ardından Ctrl+C ile durdurun, sonra Start-Service uVersionServer. Hizmet bir hata üretecek kadar bile başlamıyorsa, Windows Olay Görüntüleyicisi (eventvwr.msc) bunu Sistem günlüğüne, kaynak Service Control Manager olarak kaydeder. Orada uVersion adında bir uygulama günlüğü aramayın: sunucu standart çıkışına yazar, bir Windows olay kaynağı kaydetmez; dolayısıyla Get-EventLog -Source uVersionServer gibi bir komut asla bir şey döndürmez.

Kaldır

Dikkat: Aşağıdaki komutlar depolarınızı, geçmişi, kullanıcı hesaplarını ve yapılandırmaları siler. Geri dönebilmek istiyorsanız veritabanının yedeğini alın ve veri klasörünüzü kopyalayın.

İki eşdeğer yöntem. Her ikisi de aynı betiği (uninstall.ps1) çalıştırır; bu betik hizmeti, güvenlik duvarını, makine ortam değişkenini, veri klasörünü, ikili dosyayı, Programlar ve Özellikler girdisini ve PostgreSQL veritabanını yönetir.

Yöntem 1: Programlar ve Özellikler üzerinden

  1. Win+R → appwiz.cpl → Enter
  2. Listede uVersion Server öğesini bulun
  3. Sağ tıklayın → Kaldır
  4. Bir yönetici PowerShell penceresi açılır ve betiği görünür şekilde çalıştırır

Yöntem 2: PowerShell'i yönetici olarak çalıştırarak

iwr https://uversion.io/downloads/server/uninstall.ps1 -UseBasicParsing | iex

Betik başlangıçta iki yolunuzu gösterir, sonunda bir doğrulama bloğu gösterir: hizmet, kurulum dizini, veri klasörü ve Programlar ve Özellikler girdisi için yeşil renkte "OK absent" görmelisiniz.

Ağustos 2026'dan önce yapılmış özel bir kurulum durumu. Kaldırma betiği artık gerçekten kullanılan yolları kendi başına bulur: kurulum bunları Programlar ve Özellikler girdisinin yanına yazar ve kaldırma bunları geri okur. Dolayısıyla, özel bir -DataDir seçmiş olsanız bile hiçbir şey belirtmeniz gerekmez.

Bu her zaman böyle değildi: bu düzeltmeden önceki bir kurulum yollarını yazmadı ve o durumda kaldırma varsayılan değerlere geri döner. Bu durumdaysanız ve bir yolu özelleştirmişseniz, bunları açıkça geçirin; aksi hâlde -DbOnDataDir'in korumasını amaçladığı veritabanı silinebilirken gizli bilgiler kendi yerinde kalır:

$body = (iwr "https://uversion.io/downloads/server/uninstall.ps1" -UseBasicParsing).Content
if ($body -is [byte[]]) { $body = [Text.Encoding]::UTF8.GetString($body) }
& ([scriptblock]::Create($body)) -InstallDir "D:\uVersion\bin" -DataDir "D:\uVersion"

PostgreSQL de kaldırılsın mı?

Varsayılan olarak uninstall.ps1 PostgreSQL'e dokunmaz: onu kullanan başka uygulamalarınız olabilir. Onu da kaldırmak için:

$body = (iwr "https://uversion.io/downloads/server/uninstall.ps1" -UseBasicParsing).Content
if ($body -is [byte[]]) { $body = [Text.Encoding]::UTF8.GetString($body) }
& ([scriptblock]::Create($body)) -RemovePostgreSQL

[byte[]] denetimi gereklidir: sunulan içerik türüne bağlı olarak Invoke-WebRequest -UseBasicParsing, yanıtın gövdesini bayt dizisi veya dize olarak döndürebilir. Yukarıdaki desen her iki durumda da çalışır.

Dikkat: -RemovePostgreSQL, yalnızca uVersion veritabanını değil, makinedeki tüm PostgreSQL kurulumlarını kaldırır. Yalnızca başka hiçbir şeyin onu kullanmadığından eminseniz kullanın.