Linux'ta SQL Server kurulumu: Ubuntu 24.04 ve RHEL/Rocky Linux'ta SQL Server 2025 adım adım
SQL Server 2025'i Ubuntu 24.04 ve RHEL 10 üzerine kurmak için güncel adımlar: sistem gereksinimleri, keyrings ile depo ekleme, mssql-conf ile sürüm seçimi, mssql-tools18 ve şifreli sqlcmd bağlantısı, ufw ve FirewallD ayarı, SELinux paketi, sa hesabını kapatma ve Rocky Linux için destek durumu.
Batuhan ÇelikelGüncellendi: 9 dk okuma
Bu yazının ilk sürümünde Ubuntu 18.04 üzerine SQL Server 2019 önizleme deposundan kurulum anlatılıyordu. O adımlar artık geçerli değil: önizleme deposu, apt-key komutu ve eski mssql-tools paketi yerini yenilerine bıraktı. Ayrı bir yazıda anlattığımız CentOS kurulumunu da bu rehberde topladık. Aşağıda SQL Server 2025'i (17.x) önce Ubuntu 24.04'e, sonra RHEL'e kuruyoruz. Rocky Linux için de ayrı bir bölüm var, ama önce destek durumunu okumanız gerekiyor.
Her bölümün sonunda, bir sonraki adıma geçmeden önce neyi kontrol etmeniz gerektiğini yazdık.
Kurulumdan önce: desteklenen sistemler ve gereksinimler
Microsoft'un kurulum kılavuzuna göre SQL Server 2025, Linux'ta yalnızca şu platformlarda destekleniyor:
- Red Hat Enterprise Linux 9.x ve 10.x
- Ubuntu 22.04 ve 24.04
- Docker Engine 1.8 ve üzeri (konteyner olarak)
SLES desteği SQL Server 2025 ile kaldırıldı. Ubuntu 24.04 ve RHEL 10 desteği SQL Server 2025 CU 1 ile başlıyor. RHEL 9 ise SQL Server 2022 CU 10'dan beri destekleniyor.
En düşük donanım gereksinimleri:
- 2 GB bellek
- 6 GB boş disk alanı
- 2 GHz işlemci, en az 2 çekirdek
- Yalnız x64 uyumlu işlemci
- XFS ya da ext4 dosya sistemi (BTRFS gibi dosya sistemleri desteklenmiyor)
Bunlar yalnızca alt sınır. Gerçek bir uygulama veritabanında, özellikle muhasebe ya da ERP yazılımı kullanıyorsanız, bellek ihtiyacı veritabanı boyutuna ve eşzamanlı kullanıcı sayısına göre hızla artar.
Kurulumdan önce sunucunuzu şu komutlarla kontrol edin:
uname -m # x86_64 görmelisiniz
nproc # çekirdek sayısı, en az 2
free -h # toplam bellek, en az 2 GB
df -Th /var # dosya sistemi türü xfs ya da ext4 olmalı, boş alan en az 6 GB
cat /etc/os-release
Kontrol noktası: df -Th çıktısında btrfs görüyorsanız SQL Server veri dizinini (/var/opt/mssql) XFS ya da ext4 biçimli ayrı bir diske almayı planlayın. Disk yetersizse önce diski büyütün. Bulut sunucuda disk büyütme adımları Linux LVM yapısına göre değişir.
Ubuntu 24.04'te SQL Server 2025 kurulumu
Adım 1: Microsoft anahtarını ve depoyu ekleyin
Eski kılavuzlarda geçen apt-key add artık kullanılmıyor. Anahtar gpg --dearmor ile ikili biçime çevrilip /usr/share/keyrings altına yazılıyor. Depo da SQL Server 2025'e özel mssql-server-2025.list dosyasıyla tanımlanıyor.
sudo apt-get update
sudo apt-get install -y curl gnupg
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc \
| sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
curl -fsSL https://packages.microsoft.com/config/ubuntu/24.04/mssql-server-2025.list \
| sudo tee /etc/apt/sources.list.d/mssql-server-2025.list
Ubuntu 22.04 kullanıyorsanız adresteki 24.04 kısmını 22.04 yapın. Depo adreslerini kurulumdan önce Microsoft'un güncel Ubuntu kılavuzuyla karşılaştırmanızı öneririz, çünkü sürüm değiştikçe dosya adları da değişebiliyor.
Kontrol noktası: cat /etc/apt/sources.list.d/mssql-server-2025.list komutu tek satırlık bir depo tanımı göstermeli. Dosya boşsa ya da HTML içeriyorsa adres yanlıştır.
Adım 2: Paketi kurun
sudo apt-get update
sudo apt-get install -y mssql-server
apt-get update çıktısında packages.microsoft.com için bir imza hatası görürseniz anahtar dosyası eksik ya da yanlış yerdedir. Önceki adımı tekrarlayın.
Adım 3: mssql-conf ile yapılandırın
sudo /opt/mssql/bin/mssql-conf setup
Bu komut sizden üç şey ister: sürüm seçimi, lisans koşullarının kabulü ve sa (sistem yöneticisi) parolası. Parola SQL Server'ın karmaşıklık kuralına uymazsa kurulum yarıda kalır. Büyük harf, küçük harf, rakam ve sembol içeren uzun bir parola seçin.
Sürüm seçerken dikkat edilecekler:
- Evaluation, Developer ve Express ücretsiz lisanslıdır. Evaluation ve Developer üretimde kullanılamaz. Express üretimde kullanılabilir ama sınırları vardır. Logo ya da Mikro gibi programlarda bu sınırların ne anlama geldiğini SQL Express 10 GB sınırı yazımızda ayrıntılı anlattık.
- Enterprise Developer ve Standard Developer, SQL Server 2025 ile gelen yeni geliştirme sürümleridir. Üretimde hangi sürümü kullanacaksanız geliştirme ve test ortamında onun Developer karşılığını seçerseniz özellik farkından doğan sürprizleri önlersiniz.
- Ücretli sürümler (Standard, Enterprise) için geçerli lisansa sahip olmanız gerekir.
Adım 4: Servisi doğrulayın
systemctl status mssql-server --no-pager
sudo ss -ltnp | grep 1433
Kontrol noktası: Active: active (running) satırını ve sqlservr sürecinin 1433 portunu dinlediğini görmelisiniz. Servis başlamıyorsa günlüğe bakın:
sudo journalctl -u mssql-server --no-pager -n 50
Adım 5: Komut satırı araçlarını (mssql-tools18) kurun
Eski mssql-tools paketinin yerinde artık mssql-tools18 var. Araçlar /opt/mssql-tools18/bin dizinine kuruluyor.
curl -fsSL https://packages.microsoft.com/config/ubuntu/24.04/prod.list \
| sudo tee /etc/apt/sources.list.d/mssql-release.list
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools18 unixodbc-dev
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
Adım 6: Yerel bağlantıyı test edin
sqlcmd -S localhost -U sa
Yeni sqlcmd sürümleri bağlantıyı varsayılan olarak şifreli kurmaya çalışır. Sertifika ya da şifreleme nedeniyle bağlanamıyorsanız şifrelemeyi isteğe bağlı yapan -No seçeneğini ekleyin:
sqlcmd -S localhost -U sa -No
Bağlantı açıldığında 1> istemi gelir. Aşağıdaki sorgu sürümü gösterir:
SELECT @@VERSION;
GO
RHEL 9 ve 10'da SQL Server 2025 kurulumu
Microsoft'un RHEL kılavuzu SQL Server 2025'i RHEL 10.x üzerine kurmayı anlatıyor. Adımlar RHEL 9 için de aynı mantıkla işler, yalnız depo adresindeki sürüm numarası değişir.
Adım 1: Depoyu ekleyin ve paketi kurun
sudo curl -o /etc/yum.repos.d/mssql-server.repo \
https://packages.microsoft.com/config/rhel/10/mssql-server-2025.repo
sudo dnf install -y mssql-server
RHEL 9 için adresteki 10 değerini 9 yapın.
Adım 2: SELinux kipi seçimi
RHEL 9'dan itibaren SQL Server, SELinux enforcing kipinde kısıtlı (confined) bir uygulama olarak çalıştırılabiliyor. Bunun için mssql-server paketinin ardından mssql-server-selinux paketini kurmanız yeterli:
getenforce # Enforcing, Permissive ya da Disabled
sudo dnf install -y mssql-server-selinux
Bu paket isteğe bağlıdır. Kurmazsanız SQL Server kısıtlamasız olarak çalışmaya devam eder. Güvenlik açısından, SELinux enforcing kipindeyse kısıtlı çalıştırma daha iyi bir tercihtir. SELinux'u kapatmak kısa yoldur ama sunucunun genel korumasını da zayıflatır, bu yüzden önermiyoruz.
Adım 3: Yapılandırma ve doğrulama
sudo /opt/mssql/bin/mssql-conf setup
systemctl status mssql-server --no-pager
Sürüm seçimi ve parola kuralları Ubuntu bölümündekiyle aynıdır. SQL Server 2025'te TLS 1.3 varsayılan olarak etkin geliyor. Eski istemci sürücüleri bağlanırken sorun çıkarırsa önce istemci tarafındaki sürücüyü güncelleyin.
Adım 4: Araçları kurun
sudo curl -o /etc/yum.repos.d/mssql-release.repo \
https://packages.microsoft.com/config/rhel/10/prod.repo
sudo ACCEPT_EULA=Y dnf install -y mssql-tools18 unixODBC-devel
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
sqlcmd -S localhost -U sa -No
Rocky Linux ve AlmaLinux: destek durumu
Rocky Linux, Microsoft'un SQL Server için desteklenen platform listesinde yer almıyor. Microsoft resmi olarak yalnızca RHEL, Ubuntu ve konteyneri sayıyor. Desteklenmeyen bir işletim sistemine kurulum yapanlara da SQL Server teknik destek politikasını incelemelerini öneriyor.
Pratikte Rocky Linux, RHEL ile paket uyumluluğu hedeflediği için yukarıdaki RHEL adımları (depo, dnf install, mssql-server-selinux, FirewallD) aynı sırayla uygulanabilir. Rocky 9 için RHEL 9 deposunu, Rocky 10 için RHEL 10 deposunu kullanın. Yine de şunları göz önünde tutun:
- Bir sorun yaşadığınızda Microsoft desteği, platform desteklenmediği gerekçesiyle sınırlı kalabilir.
- Üretim veritabanı için resmi destek gerekiyorsa RHEL ya da Ubuntu tercih edin.
- Geliştirme, test ve eğitim ortamları için Rocky Linux kullanmak daha az risklidir.
Aynı durum AlmaLinux için de geçerlidir. Rocky ya da AlmaLinux'ta ek paketlere ihtiyacınız varsa EPEL deposunu etkinleştirmeniz gerekebilir, ancak SQL Server kurulumu için EPEL gerekmez.
CentOS kullananlar için not
Bu sitede daha önce yayımlanan CentOS 7 kurulum yazısı artık bu rehbere yönlendiriliyor. CentOS Linux, SQL Server 2025'in desteklenen platformları arasında yok ve güncel kurulumlar için hedef olmamalı. CentOS üzerinde eski bir SQL Server çalıştırıyorsanız en temiz yol, RHEL ya da Ubuntu 24.04 üzerinde yeni bir sunucu kurup veritabanını yedekten geri yüklemektir. Yerinde dağıtım değiştirmeye çalışmak yerine yan yana kurulum, geri dönüş imkânını da korur.
Uzaktan bağlantı için güvenlik duvarı
SQL Server varsayılan olarak TCP 1433 portunu dinler. Uygulamanız aynı sunucudaysa bu portu dışarı açmanıza gerek yoktur. Uzaktan bağlanmanız gerekiyorsa portu yalnız belirli IP adreslerine açın.
Kendinizi kilitlemeyin: Güvenlik duvarını etkinleştirmeden önce SSH erişimine izin verin. Aksi halde oturumunuz kapanır ve sunucuya yalnız konsoldan erişebilirsiniz. SSH portunu değiştirdiyseniz kuralı o porta göre yazın.
Ubuntu'da ufw
sudo ufw allow OpenSSH
sudo ufw allow from 203.0.113.10 to any port 1433 proto tcp
sudo ufw enable
sudo ufw status numbered
203.0.113.10 yerine bağlanacak ofis ya da uygulama sunucusunun IP adresini yazın. Aynı sunucuda Docker çalışıyorsa, konteyner portlarının ufw kurallarını atlayabildiğini unutmayın. SQL Server'ı konteynerde çalıştırıyorsanız bu davranışı ayrıca kontrol edin.
RHEL ve Rocky'de FirewallD
Microsoft'un kılavuzu 1433 portunu public bölgesinde kalıcı olarak açıp güvenlik duvarını yeniden yüklemeyi öneriyor:
sudo firewall-cmd --zone=public --list-services # ssh listede olmalı
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
Erişimi tek bir IP adresiyle sınırlamak isterseniz port kuralı yerine kaynak adresli bir kural kullanın:
sudo firewall-cmd --zone=public --permanent \
--add-rich-rule='rule family="ipv4" source address="203.0.113.10" port port="1433" protocol="tcp" accept'
sudo firewall-cmd --reload
Kontrol noktası: İzin verdiğiniz makineden sqlcmd -S sunucu_ip -U kullanici -No ile bağlanabiliyor, izin vermediğiniz bir ağdan bağlanamıyor olmalısınız.
Kurulum sonrası güvenlik: sa hesabını kapatın
Microsoft, kurulumdan sonra sa ile ilk kez bağlandığınızda sysadmin rolünde yeni bir oturum açma hesabı oluşturmanızı ve sa hesabını hemen devre dışı bırakmanızı öneriyor. sa adı herkesçe bilindiği için parola deneme saldırılarının ilk hedefidir.
CREATE LOGIN dbyonetici WITH PASSWORD = 'Uzun-Ve-Karmasik-Bir-Parola!2026';
ALTER SERVER ROLE sysadmin ADD MEMBER dbyonetici;
GO
Ayrı bir oturumda yeni hesapla bağlanabildiğinizi doğrulayın:
sqlcmd -S localhost -U dbyonetici -No
Bağlantı başarılıysa sa hesabını kapatın:
ALTER LOGIN sa DISABLE;
GO
Sırayı bozmayın: yeni hesabı test etmeden sa hesabını kapatırsanız yönetici erişimini kaybedebilirsiniz. Uygulamalar için de sysadmin yetkili hesap kullanmayın, her uygulamaya yalnız kendi veritabanında yetkili ayrı bir hesap açın.
Gözetimsiz (otomatik) kurulum
Birden fazla sunucuya aynı kurulumu yapıyorsanız ya da kurulumu bir betikle otomatikleştirmek istiyorsanız mssql-conf soru sormadan çalıştırılabilir. Bunun için -n seçeneği ve üç ortam değişkeni kullanılır:
sudo MSSQL_PID='Developer' \
ACCEPT_EULA='Y' \
MSSQL_SA_PASSWORD='Uzun-Ve-Karmasik-Bir-Parola!2026' \
/opt/mssql/bin/mssql-conf -n setup
MSSQL_PID: kurulacak sürüm (ör. Developer, Express ya da ücretli sürüm için ürün anahtarı)ACCEPT_EULA: lisans koşullarının kabulüMSSQL_SA_PASSWORD:saparolası
Parolayı betiğin içine düz metin olarak yazmayın. Bir gizli bilgi deposundan ya da yalnız root'un okuyabildiği bir dosyadan okuyun, kurulumdan sonra da kabuk geçmişini kontrol edin.
Sık yapılan hatalar
- Eski kılavuzlardaki depo adresini kullanmak:
ubuntu/16.04ya damssql-server-preview.listiçeren adresler eski sürümleri getirir. Dağıtım sürümünüzle ve SQL Server 2025 ile eşleşen depo dosyasını kullanın. - apt-key ile anahtar eklemek: Güncel Ubuntu sürümlerinde bu yöntem kullanımdan kaldırıldı. Anahtarı
/usr/share/keyringsaltına yazın. - PATH'e eski dizini eklemek: Araçlar artık
/opt/mssql-tools18/binaltında./opt/mssql-tools/bineklersenizsqlcmd: command not foundhatası alırsınız. - Şifreleme hatasını yanlış yorumlamak: Yeni
sqlcmdvarsayılan olarak şifreli bağlandığı için sertifika hatası görebilirsiniz. Bu, sunucunun çalışmadığı anlamına gelmez. Test için-Noekleyin, üretimde güvenilir bir sertifika yapılandırın. - BTRFS üzerine kurmak: Desteklenmeyen dosya sistemi, ileride açıklaması zor hatalara yol açar.
- 1433 portunu herkese açmak: Portu yalnız gerekli IP adreslerine açın.
- Yedeksiz çalışmak: Kurulumdan sonraki ilk iş, düzenli veritabanı yedeği ve bu yedeğin sunucu dışına kopyalanmasıdır. Yedekleri ayrı bir depoya almak için bulut yedekleme seçeneklerine bakabilirsiniz.
Hazır SQL Server ortamı
Kurulumu ve bakımı kendiniz yapmak istemiyorsanız, İstanbul'daki SQL Server veritabanı sunucusu hizmetimizde NVMe SSD disk, taşıma ve yedek seçeneği hazır geliyor. Linux üzerinde kendi kurulumunuzu yapmak isterseniz İstanbul ya da Fransa lokasyonlu bir bulut sunucu açıp bu rehberdeki adımları uygulayabilirsiniz.
Sık sorulan sorular
SQL Server 2025 hangi Linux dağıtımlarında destekleniyor?
RHEL 9.x ve 10.x, Ubuntu 22.04 ve 24.04 ile Docker Engine 1.8 ve üzerinde konteyner olarak destekleniyor. Ubuntu 24.04 ve RHEL 10 desteği CU 1 ile başlıyor. SLES desteği SQL Server 2025 ile kaldırıldı.
Rocky Linux'a SQL Server kurabilir miyim?
RHEL adımlarıyla kurulum yapılabilir, ancak Rocky Linux Microsoft'un desteklenen platform listesinde yok. Sorun yaşadığınızda resmi destek sınırlı kalabilir. Üretim ortamı için RHEL ya da Ubuntu daha güvenli bir tercihtir.
sqlcmd bağlanırken sertifika ya da şifreleme hatası veriyor, ne yapmalıyım?
mssql-tools18 ile gelen sqlcmd varsayılan olarak şifreli bağlanır. Test sırasında -No seçeneğini ekleyerek şifrelemeyi isteğe bağlı yapabilirsiniz. Üretimde ise sunucuya güvenilir bir TLS sertifikası tanımlamanız daha doğru olur.
Ücretsiz olarak hangi sürümü seçmeliyim?
Geliştirme ve test için Developer sürümlerinden birini, üretimde küçük veritabanları için Express sürümünü seçebilirsiniz. Evaluation sürümü de ücretsizdir ama süreli ve yalnız deneme amaçlıdır. SQL Server 2025, üretimdeki sürümünüzle eşleşmesi için Enterprise Developer ve Standard Developer seçeneklerini de sunuyor.
Kurulumdan sonra sa hesabını kapatmak gerekli mi?
Microsoft bunu öneriyor. Önce sysadmin yetkili yeni bir hesap açın, bu hesapla bağlanabildiğinizi doğrulayın, ardından ALTER LOGIN sa DISABLE ile sa hesabını kapatın.
Yazar
Kurucu, sunucu.com.tr · Bulut altyapısı ve yapay zeka otomasyonları
sunucu.com.tr ve Sunucu UK'in kurucusu. Bulut altyapısı, sanallaştırma ve sunucu yönetimi üzerine çalışıyor; şirketlerin iş yazılımlarını, web sitelerini ve yapay zeka iş yüklerini güvenli sunuculara taşıyor. Blogdaki rehberler sahada karşılaşılan kurulum, güvenlik ve taşıma işlerinden derlenir; yazılar yapay zeka desteğiyle hazırlanır ve kaynaklarla doğrulanır.