Masaüstü bilgisayarı sunucuya dönüştürmek, öğrenme, test ve ev kullanımı gibi küçük ihtiyaçlar için mantıklı bir çözümdür. Sunucu denildiğinde akla pahalı donanımlar ve karmaşık altyapılar gelse de bu her zaman gerekli değildir. Bu rehberde bir masaüstü bilgisayarı sıfırdan çalışan bir Linux sunucuya dönüştüreceğiz.
Kullanım Amacı Belirlenmeli
Masaüstü bilgisayar sunucuya dönüştürülmeden önce hangi amaçla kullanılacağı netleştirilmelidir. Web sitesi barındırma, dosya paylaşımı, yedekleme, test ortamı veya Docker container çalıştırma gibi her senaryo farklı ihtiyaçlar doğurur.
Donanım Kontrolü Yapılmalı
Kullanım amacına göre donanım yeterliliği kontrol edilmelidir. Çok çekirdekli bir işlemci çoğu senaryo için yeterlidir. Bellek tarafında 16 GB RAM tercih edilir. İşletim sistemi SSD üzerinde çalışmalı, veriler mümkünse ayrı bir disk üzerinde tutulmalıdır.
İşletim Sistemi Seçimi
Sunucu sistemlerinde düşük kaynak tüketimi ve uzaktan erişim kolaylığı nedeniyle genellikle Linux tercih edilir. Ubuntu Server ve Debian bu alanda en yaygın kullanılan dağıtımlardır. Windows yalnızca RDP, Active Directory veya Windows tabanlı uygulama gereksinimi varsa seçilir.
Kurulum Medyası Hazırlığı
Ubuntu Server LTS ISO dosyası ve bu ISO’yu USB belleğe yazmak için bir araç kurulum için yeterlidir. Masaüstü Ubuntu yerine server sürümü tercih edilir çünkü grafik arayüz gereksiz kaynak tüketir.
Ubuntu Server Kurulum USB’si Oluşturma
Ubuntu Server ISO dosyası USB belleğe yazıldıktan sonra masaüstü bilgisayar USB üzerinden başlatılır. BIOS veya boot menüsünden USB aygıtı seçildiğinde Ubuntu Server kurulum ekranı açılır.


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.
Kurulum Sonrası Disk Yapısını Kontrol Edelim
Kurulum tamamlanıp sunucu açıldıktan sonra disklerin doğru şekilde yapılandırıldığını kontrol etmek için aşağıdaki komutlar kullanılabilir.
lsblk
df -hKullanıcı Hostname ve SSH Ayarları
Ubuntu Server kurulumunda disk ve ağ yapılandırmasından sonra Identity setup ekranına geçilir. Bu ekranda sunucunun adı, yönetici kullanıcı bilgileri ve uzaktan erişim ayarları yapılandırılır.
Hostname Tanımlama
Sunucuya bir hostname atanır. Hostname, sunucunun ağ üzerindeki adını temsil eder ve terminal oturumlarında görünü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.
Kurulumdan sonra bu bilgileri terminalden doğrulayabiliriz.
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 erişimi yapılandırıldıktan sonra sunucunun ağ seviyesindeki temel güvenliği sağlanır. Ancak PHP tabanlı web uygulamaları çalıştırılan sistemlerde bu önlemler tek başına yeterli değildir. Uygulama katmanında oluşabilecek açıkların önüne geçmek için PHP yapılandırmalarının da güvenli hale getirilmesi gerekir.
Test Amaçlı Web Sunucusu Kurulumu
Sunucunun doğru şekilde kurulduğunu ve çalışır durumda olduğunu doğrulamak için basit bir web sunucusu kuralım. Bu test aşamasında Nginx kullanacağız.
Nginx Kurulumu
Öncelikle Nginx paketini sisteme kuralım.
sudo apt install nginx -yKurulumdan sonra servis durumunu kontrol edelim.
systemctl status nginxFirewall aktif olduğu için web trafiğine izin verilmelidir. Aksi halde tarayıcıdan erişim sağlanamaz.
sudo ufw allow 'Nginx Full'
sudo ufw statusBu kural HTTP 80 ve HTTPS 443 portlarının erişimine izin verir ve test için yeterlidir.
Tarayıcıdan Test Edelim
Başka bir bilgisayardan tarayıcı açarak http://sunucu_ip adresine gidelim. Yapılandırma doğruysa Nginx karşılama sayfası görüntülenir

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