Bir masaüstü bilgisayarı Linux sunucu olarak kullanmak, öğrenme ve test ortamları için pratik bir yaklaşımdır. Sunucular genellikle pahalı sistemlerle özdeşleştirilir ancak doğru yapılandırma ile bu şart değildir. Bu yazıda masaüstü bir sistemi baştan sona Linux sunucu haline getireceğiz.
Sunucu Kullanımı
Bir masaüstü bilgisayarın sunucu olarak hangi işi yapacağı baştan belirlenmelidir. Web barındırma, dosya paylaşımı, yedekleme, test sistemleri veya Docker tabanlı servisler farklı yapılandırmalar gerektirir.
Donanım Yeterliliği
Belirlenen senaryoya göre donanım değerlendirilir. Çok çekirdekli bir CPU çoğu durumda yeterlidir. 16 GB RAM önerilir. İşletim sistemi SSD üzerinde çalışmalı, veri diskleri ayrı tutulmalıdır.
Uygun İşletim Sistemi Tercihi
Sunucu tarafında stabilite ve düşük kaynak kullanımı nedeniyle Linux ön plandadır. Ubuntu Server ve Debian en sık tercih edilen sistemlerdir. Windows ise yalnızca özel ihtiyaçlar varsa kullanılmalıdır.
Kurulum İçin Gerekli Yazılımlar
Kurulum için Ubuntu Server LTS ISO dosyası ve USB yazma aracı yeterlidir. Masaüstü sürüm yerine server sürümü kullanılmalıdır.
Ubuntu Server İçin USB Kurulum Medyası Hazırlama
Ubuntu Server ISO dosyasını USB belleğe yazdırdıktan sonra sistemi USB’den başlatalım. BIOS ya da boot menüsünde USB aygıtı seçildiğinde Ubuntu Server kurulum ekranı görüntülenir.


Ubuntu Server Kurulumu
Kurulum başladığında dil ve klavye ayarları yapılır. Ardından ağ yapılandırma ekranına geçilir. Ethernet bağlantısı varsa sistem otomatik IP alabilir. Ancak sunucu kurulumu yapıldığı için statik IP tanımlanmalıdır.

Disk Yapılandırması Nasıl Yapılır?
Ubuntu Server kurulumunda disk işlemleri Storage configuration ekranında yapılır. Bu ekrana geldiğinizde sistemde takılı olan tüm diskler listelenir.
Masaüstü bilgisayarı sunucuya dönüştürdüğümüz için, işletim sistemini kuracağımız ana diski seçmemiz gerekir. Bu disk genellikle sda ya da NVMe sistemlerde nvme0n1 olarak görünür. Doğru diskin üzerine gelelim ve Enter tuşuna basalım.

Daha sonra ekranda yükleyici diski nasıl kullanmak istediğinizi sorar. Burada Use an entire disk seçeneğini seçelim ve devam edelim.

İşlemleri tamamladığımızda Set up this disk as an LVM group? sorusu gelir. Burada evet seçeneği ile devam edelim.

Son adımda Done seçeneğine basalım. Diskteki tüm verilerin silineceğini belirten bir uyarı görebilirsiniz. Doğru diski seçtiğinizden eminsek Continue diyerek onaylayalım.
Disk Yapısını Kurulumdan Sonra Doğrulama
Sunucu ilk kez açıldıktan sonra disklerin ve bölümlerin durumunu görmek için terminal üzerinden aşağıdaki komutlar çalıştırılabilir.
lsblk
df -hSunucu Kimlik ve SSH Yapılandırması
Disk ve network ayarları tamamlandıktan sonra Ubuntu Server kurulumunda Identity setup ekranı açılır. Bu bölümde sunucu adı, yönetici kullanıcı ve SSH erişimi ayarlanır.
Hostname Ayarı
Hostname, sunucunun ağ üzerinde tanınmasını sağlayan isimdir ve terminal çıktılarında kullanılır.
hostname: homeserverBu isim daha sonra SSH bağlantılarında ve sistem loglarında kullanılır.

Yönetici Kullanıcı Oluşturma
Aynı ekranda bir yönetici kullanıcı oluşturalım. Ubuntu Server’da root hesabı doğrudan kullanılmaz. Bunun yerine bu kullanıcı sudo yetkileri ile sistemi yönetir.
- SSH ile bağlanmak
- Paket kurmak
- Sistem ayarlarını değiştirmek
whoami
hostnameOpenSSH Server Kurulumunu Aktif Edelim
Bir sonraki ekranda SSH Setup bölümü gelir. Burada Install OpenSSH Server seçeneği mutlaka işaretlenmeliyiz. Böylelikle, SSH servisi kurulur ve sunucu uzaktan erişime açılır.

Kurulum Sonrası Sunucuya Bağlanalım
Kurulum tamamlandıktan sonra sistem yeniden başlar. Bu noktadan sonra sunucuya fiziksel erişim gerekmez. Yönetim işlemleri başka bir bilgisayardan SSH üzerinden yapılır.
Sunucuya bağlanmak için aşağıdaki komut kullanılır. Buradaki kullanici_adi, kurulum sırasında oluşturulan kullanıcıdır. sunucu_ip ise sunucunun ağ üzerindeki IP adresidir.
ssh kullanici_adi@sunucu_ipBağlantı sağlandıktan sonra ilk iş sistem güncellemesi yapılır.
sudo apt update
sudo apt upgrade -yTemel Güvenlik Yapılandırması
Sunucuya internetten erişim olduğu için yapılandırılması gereken önemli noktalardan biri de firewall yapılandırmasıdır.
Ubuntu Server’da bu işlem iki ana adımdan oluşur, firewall yapılandırması ve SSH erişiminin sıkılaştırılması.
Firewall’ı Aktif Edelim
Ubuntu Server, varsayılan olarak gelen bağlantılara kapalıdır. Ancak bu duruma yalnızca izin verdiğimiz servislerin erişilebilir olmasını sağlamak için firewall aktif edilmelidir.
Öncelikle yalnızca SSH erişimine izin verelim.
sudo ufw allow OpenSSHBu komut, SSH servisinin kullandığı 22 portunu firewall üzerinden erişime açar. Böylece firewall aktif edildiğinde SSH bağlantımız kesilmez.
Ardından firewall’ı aktif edelim.
sudo ufw enableRoot Kullanıcı ile SSH Erişimini Kapatalım
Ubuntu Server’da root hesabı varsayılan olarak pasiftir. Ancak ekstra güvenlik için root kullanıcı ile SSH üzerinden giriş tamamen kapatılmalıdır.
Bunun için SSH yapılandırma dosyasını düzeltelim.
sudo nano /etc/ssh/sshd_configDosya içinde aşağıdaki satırı bulup,
#PermitRootLogin prohibit-passwordbu satırı şu şekilde değiştirelim.
PermitRootLogin noYapılan değişikliğin aktif olması için SSH servisini yeniden başlatalım. Böylelikle root kullanıcı ile SSH bağlantısı denendiğinde erişim reddedilecektir.
Firewall ve SSH ayarları sunucunun dış erişime karşı korunmasını sağlar. Buna rağmen PHP tabanlı uygulamalar kullanılıyorsa, yalnızca ağ seviyesindeki önlemler yeterli olmaz. Güvenliği tamamlamak için PHP tarafında ek yapılandırmalar yapılmalıdır.
Web Sunucusu ile Kurulum Testi
Kurulumun başarılı olduğunu görmek için basit bir web servisi ayağa kaldıralım. Test amacıyla Nginx kullanılacaktır.
Nginx Paketinin Kurulması
Nginx’i sisteme yükleyelim.
sudo apt install nginx -yServisin çalıştığını doğrulamak için durum kontrolü yapalım.
systemctl status nginxFirewall açık olduğu için HTTP ve HTTPS trafiğine izin verilmelidir.
sudo ufw allow 'Nginx Full'
sudo ufw statusWeb Arayüzü Kontrolü
Tarayıcıdan http://sunucu_ip adresine gidildiğinde Nginx varsayılan sayfası görüntülenmelidir.

Tüm bu adımlar tamamlandığında masaüstü bilgisayarımız bir Linux Server gibi çalışmaya başlar. Sistem uzaktan yönetilebilir.