İleri Konular

kendi-barındırılan Talep Sistemi yükleme manual

SaaS vs kendi barındırılan

isimsoftware hem bulut (hosted) hem de kendi sunucunuzda (self-hosted) sürümler sunar. Bu kurulum kılavuzu, kendi sunucunuzda çalıştırılan “self-hosted” sürüm içindir.

Bu doküman isimsoftware Talep Sistemi kurulum kılavuzudur — web tabanlı bir Talep Sistemi yazılımıdır. Bu rehberde isimsoftware Talep Sistemi Talep Sistemi kurulumunun ve temel kullanımının nasıl yapılacağını öğreneceksiniz.

Bu kılavuz isimsoftware Talep Sistemi sürüm 10 ve üzeri içindir

Bu kılavuz isimsoftware Talep Sistemi sürüm 10 ve üzeri içindir. Daha eski sürümlere ait kılavuz burada bulunabilir.

Genel Bakış

isimsoftware Talep Sistemi’ni tercih ettiğiniz için teşekkür ederiz. isimsoftware Talep Sistemi, ekiplerin müşterilerine etkili destek sunmasını sağlayan web tabanlı bir Talep Sistemi yazılımıdır. isimsoftware Talep Sistemi, istemci bilgisayarlardan web tarayıcısı üzerinden erişilen .NET 10 tabanlı bir web uygulamasıdır.

Talepler ve Kategoriler

Talepler (aynı zamanda “issue”, “Destek talebi” veya “Destek vakası” olarak da bilinir), Talep Sistemi’nin temel birimleridir. Talepler kullanıcılar tarafından oluşturulur ve kolay yönetim için Kategoriler altında organize edilir.

Kullanıcı rolleri

isimsoftware Yardım Masası dört kullanıcı rolü içerir:

  • Normal kullanıcı - sisteme Destek Talepleri gönderen standart kullanıcıdır
  • Yönetici kullanıcı - ek “yönetici” yetkilerine sahip kullanıcıdır. Aynı firma içindeki diğer kullanıcıların Taleplerini görüntüleyebilir ve kapatabilir
  • Teknisyen (diğer adıyla “Talep Sistemi Temsilcisi”) - yöneticinin yetki verdiği Kategorilerde Talepleri yönetebilen kullanıcıdır. Yeni Talepler için e-posta bildirimi alır. Bir kullanıcının teknisyen olması için en az bir Kategoriye atanması gerekir
  • Yönetici (Administrator) - en yetkili kullanıcıdır. Sistem ayarlarını yönetir, kullanıcıları Kategorilere atar, Kategoriler oluşturur ve kullanıcı ekleyip siler. Varsayılan olarak yeni Talepler hakkında bildirim almaz, ancak teknisyen olarak atanırsa alabilir

Sistem gereksinimleri

Donanım

RAM: Özellikle web uygulaması ve veritabanı aynı sunucuda çalışacaksa 16 GB önerilir. Aksi halde 8 GB yeterlidir.

CPU: 4 çekirdekli çok çekirdekli bir işlemci önerilir.

Depolama: Talep sayısına bağlıdır. 5 bin Talep yaklaşık 100 MB yer kaplar (ek dosyalar hariç).

Genel olarak gereksinimler yükünüze bağlıdır. Başlangıçta çoğu VPS yeterlidir. isimsoftware oldukça optimize edilmiştir.

Platformlar

isimsoftware Talep Sistemi aşağıdaki işletim sistemlerinden birini gerektirir:

  • Microsoft Windows Server 2016 veya üzeri
  • Linux (Ubuntu, CentOS, WSL2, Debian üzerinde test edilmiştir)
  • Docker

İstemci tarafında özel bir işletim sistemi gereksinimi yoktur. Chrome, Firefox, Edge, Safari gibi modern tarayıcılar kullanılabilir.

Gerekli bilgi düzeyi

Bir web uygulamasını sunucuya kurmak temel düzeyde sistem yönetimi bilgisi gerektirir. MS SQL Server kurulumu, veritabanı oluşturma ve SQL script çalıştırma bilgisi gerekir. IIS (Windows) veya Nginx (Linux) yapılandırma bilgisi de gerekebilir.

Bu nedenle çoğu kullanıcı için bulut (hosted) sürüm önerilir.

Ön gereksinimler

Windows

  1. Microsoft .NET 10 Hosting Bundle (indirme bağlantısı)
  2. Internet Information Services (IIS) ve ASP.NET özellikleri
  3. Windows Authentication (isteğe bağlı)
  4. Microsoft SQL Server 2012 veya üzeri (Mixed Mode aktif olmalı)

.NET, IIS ve SQL Server Express ücretsizdir.

Linux

  • Modern Linux dağıtımı (Ubuntu 22.04 önerilir)
  • Microsoft SQL Server
  • .NET Runtime 10 veya üzeri
sudo apt-get update && \
    sudo apt-get install -y aspnetcore-runtime-10.0
sudo add-apt-repository ppa:dotnet/backports && \
    sudo apt-get update && \
    sudo apt-get install -y aspnetcore-runtime-10.0

Detaylı bilgi için resmi dokümana bakın.

Docker

  • Docker Engine (Docker Desktop önerilir)

isimsoftware Talep Sistemi kurulumu

Teknik olarak sistem iki bileşenden oluşur: web uygulaması ve SQL Server veritabanı. Web uygulaması sunucuya kopyalanır, veritabanı kurulur.

Windows

İsterseniz video rehberi izleyebilirsiniz:

isimsoftware Talep Sistemi iki farklı şekilde kurulabilir:

  • Kur.exe kurulum dosyasını çalıştırarak otomatik kurulum — önerilen yöntemdir. Yerel sunucuya, terminal veya fiziksel erişiminiz varsa kullanılır.
  • manuel kurulum — sistem yöneticileri veya örneğin isimsoftware Talep Sistemi’ni bir hosting ortamına yüklemek istediğiniz durumlar için kullanılır.

Kur.exe ile kurulum

  • Ön gereksinimleri kurun, özellikle .NET 10 hosting bundle
  • zip dosyasını çıkarın
  • install.bat dosyasını çalıştırın (sistemin .NET kurulumunu kontrol eder ve ardından Kur.exe’yi başlatır)
  • kurulum sihirbazını takip edin
  • veritabanı oluşturma adımında:
    1. Kur, SQL Server adını soracaktır. SQL Server Express kullanıyorsanız, bu sürüm varsayılan olarak adlandırılmış instance (SQLEXPRESS) şeklinde kurulur. Bu nedenle sunucu adı olarak (local)\SQLEXPRESS girmeniz gerekir.
    2. Kur, belirtilen sunucuda isimsoftwareTalepSistemi veritabanını oluşturur
    3. Kur, rastgele oluşturulmuş bir parola ile isimsoftwareTalepSistemiUser SQL kullanıcısını oluşturur (bu parola appsettings.json dosyasına kaydedilir)
    4. Not: Bu işlemler Windows hesabınızın SQL yönetici yetkilerine sahip olmasını gerektirir.

Manuel kurulum

1. Web uygulaması kurulumu
  • Ön gereksinimleri kurun (.NET 10 hosting bundle özellikle)
  • zip dosyasını çıkarın
  • "Talep Sistemi" klasörünün içeriğini web sunucunuzun sanal dizinine kopyalayın (ör. c:\inetpub\wwwroot\Talep Sistemi veya hosting ortamınıza yükleyin)
  • oluşturulan dizini IIS içinde uygulama olarak yapılandırın (inetmgr.exe)
2. Veritabanı kurulumu

Aşağıdaki seçeneklerden birini uygulayın

  • kurulum klasöründeki "sql" dizinine gidin (ör. c:\inetpub\wwwroot\Talep Sistemi\sql)
  • önce CreateEmptyDB.sql, ardından CreateTables.sql scriptlerini çalıştırın (SQL Server Management Studio kullanılabilir)
  • appsettings.json dosyasını bir metin editörüyle açarak bağlantı cümlesini uygun şekilde düzenleyin (örneğin (local)\\ yerine IP adresi yazılabilir). Not: ters eğik çizgiler (“\”) çift yazılmalıdır: server\\DatabaseName. Kaydetmeden önce doğrulayıcıyı kullanın.

Linux

Bu bölüm, isimsoftware Talep Sistemi’nin Linux üzerinde kurulum sürecini açıklar.

Devam etmeden önce, kendi Linux sunucunuzda bu sistemi çalıştırmak için yeterli sistem yönetimi bilgisine sahip olmanız gerektiğini unutmayın. Eğer deneyimli bir Linux yöneticiniz yoksa bulut sürümü kullanmanız önerilir.

Bu doküman Ubuntu içindir. Diğer dağıtımlarda komutlar farklı olabilir. ASP.NET Core uygulamaları için Microsoft’un resmi dokümantasyonuna da bakabilirsiniz: Linux üzerinde ASP.NET Core barındırma

1. SQL Server kurulumu

Bu örnekte SQL Server Linux üzerine kurulacaktır. Resmi kılavuza buradan ulaşabilirsiniz: Microsoft SQL Server kurulum kılavuzu

Komutlar:

  1. wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    
  2. sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"
    

    Bu komut Ubuntu 20.04 içindir. Dağıtımınıza göre değişebilir.

  3. sudo apt-get update
    
  4. sudo apt-get install -y mssql-server
    
  5. sudo /opt/mssql/bin/mssql-conf setup
    
  6. Edition seçin (bu örnekte Express kullanılmaktadır)
  7. lisans şartlarını kabul edin ve SA kullanıcı şifresini belirleyin
  8. SQL Server kurulumu tamamlanır
  9. SQL araçlarını kurun:

    curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
    
  10. sudo apt-get update
    
  11. sudo apt-get install mssql-tools unixodbc-dev
    

2. Veritabanı oluşturma

Kurulum paketini indirip açın ve içindeki sql klasörüne gidin. Aşağıdaki scriptler çalıştırılır:

  1. /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'YOUR PASSWORD' -i CreateEmptyDB.sql
    
  2. /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'YOUR PASSWORD' -i CreateTables.sql
    

Not: Scriptler varsayılan bir SQL kullanıcı oluşturur. Şifreyi değiştirmeniz önerilir.

3. Uygulamayı çalıştırma

  1. .NET Runtime 10 kurun:

    sudo apt-get update && \
        sudo apt-get install -y aspnetcore-runtime-10.0
    
  2. Kurulum doğrulama:

    dotnet --list-runtimes
    
  3. appsettings.json düzenleyin:

    "DBConnectionString": "kullanıcı id=isimsoftwareTalepSistemiUser;data source=localhost;initial catalog=isimsoftwareTalepSistemi;password=HDPassword1"
    
  4. Uygulamayı çalıştırın:

    dotnet Talep Sistemi.dll
    
  5. Tarayıcıdan açın:

    http://localhost:5000/
    

Farklı port için:

dotnet Talep Sistemi.dll --urls http://0.0.0.0:8080

4. Nginx reverse proxy yapılandırması

Bu adım isteğe bağlıdır. ASP.NET Core uygulamaları için reverse proxy kullanımı önerilir.

Resmi kılavuz: Microsoft Nginx rehberi

5. Sunucu yeniden başladığında uygulamanın otomatik başlatılması

Eğer Talep Sistemi uygulamasının sunucu yeniden başlatıldığında otomatik olarak yeniden çalışmasını istiyorsanız, onu bir "servis" olarak kaydetmeniz gerekir.

Servis dosyasını oluşturun:

sudo nano /etc/systemd/system/talepsistemi.service

Dosyanın içine şunu ekleyin:

[Unit]
Açıklama=Talep Sistemi

[Service]
WorkingDirectory=/path/to/app
ExecStart=/usr/bin/dotnet /path/to/app/TalepSistemi.dll
Restart=always
# Dotnet servisi çökerse 10 saniye sonra yeniden başlat:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=Talep Sistemi
kullanıcı=MyUsername # uygulamanın çalışacağı kullanıcıyı belirtin
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment="ASPNETCORE_URLS=http://127.0.0.1:5001" # port numarası

[Install]
WantedBy=multi-kullanıcı.target

Servisi etkinleştirin:

sudo systemctl enable Talep Sistemi.service

Servisi başlatın:

sudo systemctl start kestrel-helloapp.service

Docker

Bu bölüm, Docker kullanarak isimsoftware Talep Sistemi’nin nasıl kurulup çalıştırılacağını açıklar. Docker Desktop 4.20.1 ile test edilmiştir.

Docker üzerinde barındırma, isimsoftware Talep Sistemi sürüm 10.18 ve sonrasında resmi olarak desteklenmektedir.

Eğer Apple Silicon işlemcili bir Mac üzerinde çalıştırıyorsanız, geliştirme ayarlarından "Apple Silicon üzerinde x86/amd64 emülasyonu için Rosetta kullan" seçeneğini etkinleştirmeniz gerekir.

Kurulum

  1. isimsoftware Talep Sistemi’ni web sitemizden indirin. Bu bir deneme veya satın alınmış sürüm olabilir.
  2. İndirdiğiniz dosyayı çalıştırmak istediğiniz klasöre açın ve "Talep Sistemi" klasörüne girin
  3. Klasör içindeyken docker compose up --build komutunu çalıştırın. İsterseniz -d ekleyerek arka planda çalıştırabilirsiniz.
  4. Tüm container’lar başarılı şekilde başlatıldığında, tarayıcıdan http://localhost adresine giderek uygulamayı açabilirsiniz

Tüm isimsoftware sürümleri docker-compose.yml dosyasıyla birlikte gelir. İhtiyacınıza göre düzenleyebilirsiniz. Örneğin reverse proxy kullanacaksanız portu değiştirebilirsiniz.

İlk giriş

Kurulum tamamlandıktan sonra tarayıcınızı açın ve uygulamanın kurulu olduğu adrese gidin (örneğin Windows’ta http://myserver/TalepSistemi veya Linux’ta http://localhost:5000/).

Varsayılan ayarlarla sistem iki hazır kullanıcı ile gelir: admin (şifre: "admin") ve client (şifre: "client"). Güvenlik için bu şifreleri mutlaka değiştirin. Bu hesapları sadece ilk giriş için kullanın.

Uygulamadaki birçok sayfanın altında "Bu sayfa için Yardım Al" bağlantısı bulunur. Buna tıklayarak ilgili sayfa hakkında detaylı bilgiye ulaşabilirsiniz.

Yaygın sorunların çözümü

Tarayıcıda hata görüyorsanız, destek almadan önce şunları kontrol edin:

  • Windows’ta ASP.NET Core hosting bundle kurulu olmalı (indir) veya Linux’ta .NET 10 kurulu olmalı (kurulum)
  • IIS üzerinde Anonymous Authentication etkin olmalı (çok önemli!)
  • Kullandığınız kimlik doğrulama türüne göre Windows Authentication veya Forms Authentication doğru şekilde etkinleştirilmiş olmalı
  • Mobil uygulama sorunlarında API test aracı kullanılmalı: http://full_talepsistemi_url/api/test

isimsoftware Talep Sistemini Güncelleme

Windows

Not: Sistem otomatik güncelleme içerir. Kur.exe çalıştırarak en son sürüme yükseltebilirsiniz. Lisanslı kullanıcılar için şifre gerekebilir. Kod değişiklikleri yaptıysanız kaybolabilir.

Adım adım video:

Otomatik güncelleme başarısız olursa:

  • Güncel sürümü indirin
  • Kur.exe ile veya manuel güncelleme yapın
  • Yedek alın
  • appsettings.json hariç tüm dosyaları silin
  • Yeni dosyaları kopyalayın
  • SQL güncelleme scriptini çalıştırın

Linux

Güncelleme işlemi iki adımdır: uygulama dosyaları ve veritabanı güncellemesi.

  1. /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'YOUR PASSWORD' -i sql/UpgradeFromOlderVersions.sql -d isimsoftwareTalepSistemi
    
  2. Yeni dosyaları eski dosyaların yerine koyun (appsettings.json hariç)
  3. Uygulamayı yeniden başlatın

Docker

Güncellemek için:

  1. Yeni paketi indirin
  2. Eski dosyaları yenileriyle değiştirin
  3. docker compose stop
  4. docker compose up --build

11.17 ve öncesinden yükseltme

.NET 8’den .NET 10’a geçiş yapılmıştır. Sadece .NET 10 kurmanız yeterlidir.

10.20 ve öncesinden yükseltme

Bu sürümde .NET 5 veya 6’dan (mevcut sürümünüze bağlı olarak) .NET 8’e geçiş yapılmıştır. Windows için sadece .NET 8 Hosting Bundle kurmanız yeterlidir indir veya Linux için .NET 8 SDK kurmanız gerekir: indir. .NET 5/6’yı kaldırmanıza gerek yoktur.

9.36 ve öncesinden yükseltme

10 sürümü ile birlikte “.NET Framework”ten .NET’e (diğer adıyla “.NET Core”) geçiş yapılmıştır. Yükseltmeden önce Microsoft .NET 10 Hosting Bundle kurduğunuzdan emin olun (direkt indir). Ardından Kur.exe’yi çalıştırın; yükseltmeyi otomatik olarak yapacaktır.

Manuel yükseltme yapmak isterseniz Ayarlar’ı web.config dosyasından appsettings.json dosyasına taşımanız gerekir. Buna veritabanı bağlantı stringi, Windows authentication ve web.config içindeki diğer tüm Ayarlar dahildir.

Manuel güncelleme yerine Kur.exe kullanılması önerilir.

Gelişmiş Özellikler

appsettings.json düzenleme

Gelişmiş Talep Sistemi özelliklerinin bir kısmı uygulamanın kök dizinindeki appsettings.json dosyasında yer alır. Bu dosya herhangi bir düz metin editörü ile açılabilir. Değişikliklerin etkili olması için IIS yeniden başlatılmalıdır.

appsettings.json JSON formatındadır. Hata yapılırsa IIS yeniden başlatıldığında uygulama çalışmaz. Kaydetmeden önce doğrulama aracını kullanın.

Talep Sistemi, Talep başlıklarını, içeriklerini, yorumları ve özel alanları indeksleyen Lucene tabanlı yerleşik bir arama motoru kullanır. Ek bir SQL Server bileşeni gerekmez.

İlk çalıştırmada arama indeksi yoksa sistem tüm Talepler için arka planda yeniden indeksleme başlatır. Bu işlem kesintiye uğrarsa kaldığı yerden devam eder.

Windows’ta arama indeksi varsayılan olarak C:\ProgramData\isimsoftwareTalepsistemi\SearchIndex dizininde, Linux’ta ise ~/.local/share/isimsoftwareTalepsistemi/SearchIndex dizininde tutulur. Bu konum LuceneIndexPath ayarı ile değiştirilebilir.

Windows’ta izin hatası oluşursa:

  1. IIS application pool için “Load user profile” aktif edilmelidir.
  2. C:\ProgramData\isimsoftwareTalepsistemi klasörüne IIS kullanıcı hesabına yazma izni verilmelidir.

Otomatik giriş (Autologin)

Talep Sistemi, kullanıcıların şifre girmeden harici bir sistem üzerinden otomatik giriş yapmasını sağlar. Bu özellik geliştiriciler ve entegrasyon yapan sistemler içindir.

  1. Kullanıcı sistemde varsa da yoksa da şu format kullanılır:
    http://Talepsistemi_Url/User/AutoLogin?username=xxx&email=yyy&userHash=HASH

  2. Burada HASH şu şekilde hesaplanır:
    MD5(name + email + shared-secret + day + month)

    Shared secret admin panelinden belirlenir. En az 10 karakter önerilir. Gün ve ay iki haneli olmalıdır (örnek: 1 Ocak = 0101).

    İsteğe bağlı olarak FirstName, LastName ve CompanyName parametreleri eklenebilir.

Ayrıca kullanıcıyı yeni talep oluşturma sayfasına yönlendirmek için &new_ticket=1 eklenebilir.

Talep Sistemi URL

10.15 sürümünden itibaren bu ayar “Administration - General Ayarlar - Talep Sistemi URL” bölümünden yapılabilir.

E-posta bildirimlerinde kullanılan Talep linki, uygulama ilk çalıştığında alınan URL’ye göre belirlenir. Bu davranış override edilebilir.

AI Özellikler (isteğe bağlı ücretli eklenti)

Talep Sistemi, self-hosted Python servis ile benzer bilgi bankası önerileri ve AI destekli arama sağlar. Bu özellik ücretlidir ve v11.22+ gerektirir.

Dosyaları diskte saklama

Varsayılan olarak ekler veritabanında tutulur. İstenirse diske kaydedilecek şekilde yapılandırılabilir.

  1. Örn: C:\hdfiles klasörü oluşturun
  2. IIS üzerinden application pool identity bulun
  3. Bu kullanıcıya klasör üzerinde tam yetki verin
  4. appsettings.json içinde AttachmentsPath ayarını yapın:
"AttachmentsPath": "C:\\path\\to\\folder",// ters slash kaçışlıdır
  1. IIS yeniden başlatın

Windows tümleşik kimlik doğrulama

Active Directory ile entegrasyon desteklenir. Etkinleştirmek için appsettings.json içinde:

"Auth": "Windows"

IIS’te Windows Authentication aktif olmalıdır ve servis yeniden başlatılmalıdır.

İlk girişte domain kullanıcıları otomatik olarak veritabanına eklenir ve AD’den e-posta bilgisi çekilmeye çalışılır.

Windows kullanıcıyı admin yapma

Kur.exe kullanıldıysa kurulum sırasında sorulur. Manuel için:

"WindowsAdminUsername": "DOMAIN\\kullanıcı"

Not: Büyük/küçük harf duyarlıdır. Doğru kullanıcı adını görmek için whoami komutunu kullanın.

API ve E-posta API

Uygulama REST API içerir:

http://servername/talepsistemi/api/

API

Dokümantasyon: burada

E-posta API

E-posta API dokümantasyonu

appsettings.json doğrulayıcı

JSON hatalarını kontrol etmek için araç:

JSON Validator

Gelişmiş appsettings.json Ayarları

"WindowsAdminUsername": "DOMAIN\kullanıcı"

Windows authentication kullanıyorsanız ve admin erişimi alamıyorsanız bu alanı doldurun.

"LogErrors": true

Log Talep Sistemi hatalarını sunucu olay günlüğüne kaydedin

"EmailErrorTo": "admin-john@test.com, admin-pete@test.com" 

Hata bildirimlerini bu adreslere gönderin

"DisallowChangingAvatars": "false" 

Kullanıcıların avatar değiştirmesini kısıtla (örneğin, avatarlarınız AD üzerinden senkronize ediliyorsa)

"AttachmentsPath": "c:\hdfiles" 

Talep Sistemi eklerini veritabanı yerine diskte sakla. Gelişmiş ayar, dokunmayın.

"DisableMailChecker": "true" 

Mail içe aktarma modülünü hata ayıklama amaçlı devre dışı bırakın. Gelişmiş, dokunmayın.

"AllowedFileExtensions": ".png,.pdf" 

yükleme için izin verilen dosya uzantıları.

"ProxyIP": "192.168.1.1" 

Eğer Talep Sistemi başka bir makinede çalışan bir ters proxy arkasında çalışıyorsa, bu değeri ters proxy sunucusunun IP adresi olarak ayarlamanız gerekir. Yerel proxy IP adresi varsayılan olarak çalışır.

"MailPswEncryptKey": "" 

E-posta sunucusu şifreleri veritabanında bu anahtar kullanılarak şifrelenir (boş değilse). 8 karakter olmalı, yalnızca Latin harfleri/rakamlar içermelidir. Örnek "18d6fg81". BU ANAHTARI YEDEKLEYİN VE BİR KEZ AYARLADIKTAN SONRA ASLA DEĞİŞTİRMEYİN. Aksi halde veritabanındaki posta kutusu şifreleri kaybolur ve uygulamada yeniden oluşturmanız gerekir.