Sunucu kurmak her zaman pahalı donanımlar gerektirmez. Öğrenme ve küçük ölçekli kullanım senaryoları için bir masaüstü bilgisayar yeterlidir. Bu içerikte masaüstü bir sistemi sıfırdan çalışan bir Linux sunucuya dönüştüreceğiz.
Sunucu Amacı Belirleme
Masaüstü bir bilgisayar sunucuya dönüştürülmeden önce hangi işlerde kullanılacağı netleştirilmelidir. Web servisleri, dosya paylaşımı, yedekleme veya Docker kullanımı farklı gereksinimler doğurur.
Donanım Değerlendirmesi
Kullanım amacına göre donanım yeterliliği kontrol edilir. Çok çekirdekli işlemci ve 16 GB RAM çoğu senaryo için yeterlidir. İşletim sistemi SSD üzerinde olmalıdır.
İşletim Sistemi Seçimi
Sunucu sistemlerinde Linux tercih edilir. Ubuntu Server ve Debian en yaygın çözümlerdir. Windows yalnızca gerekli olduğu durumlarda seçilir.
Kurulum İçin Hazırlık
Ubuntu Server LTS ISO dosyası USB belleğe yazılarak kurulum yapılır. Grafik arayüz içermeyen server sürümü tercih edilir.
Ubuntu Server Kurulumu İçin USB Hazırlığı
Ubuntu Server ISO dosyasının USB belleğe yazılmasının ardından bilgisayar USB’den başlatılır. BIOS veya boot menüsünden USB aygıtı seçildiğinde kurulum ekranı gelir.


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.
Kurulumdan Sonra Disklerin Durumunu İnceleyelim
Sunucu ayağa kalktıktan sonra disklerin bölümlenmesini ve kullanım durumunu görmek için aşağıdaki komutlar kullanılabilir.
lsblk
df -hSunucu Adı Kullanıcı ve SSH Yapılandırması
Kurulum sırasında disk ve ağ yapılandırması tamamlandıktan sonra Identity setup ekranı gelir. Bu bölüm sunucunun adı, yönetici kullanıcısı ve SSH ayarlarının yapıldığı alandır.
Hostname Tanımı
Hostname, sunucunun ağdaki ismini ifade eder ve terminal üzerinden görülebilir.
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.
Ağ seviyesinde firewall ve SSH yapılandırması tamamlandıktan sonra sunucu temel olarak korunur. Fakat PHP tabanlı web uygulamaları barındıran sistemlerde ek önlemler alınmazsa uygulama katmanında güvenlik açıkları oluşabilir. Bu yüzden PHP ayarlarının da düzenlenmesi önemlidir.
Kurulumu Doğrulamak İçin Web Sunucusu
Sunucunun erişilebilir ve çalışır durumda olduğunu test etmek için Nginx tabanlı basit bir web sunucusu kuralım.
Nginx Kurulumu ve Servis Kontrolü
sudo apt install nginx -y
systemctl status nginxFirewall nedeniyle web trafiğine izin verilmelidir.
sudo ufw allow 'Nginx Full'
sudo ufw statusTarayıcı Testi
Tarayıcıdan http://sunucu_ip adresine gidildiğinde Nginx varsayılan sayfası açılıyorsa test başarılıdır.

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