"Enter"a basıp içeriğe geçin

Bir Masaüstü Bilgisayar Linux Sunucusuna Nasıl Dönüştürülür?

Masaüstü bilgisayarı sunucuya dönüştürmek, öğrenme, test ve ev sunucusu gibi küçük çaplı ihtiyaçlar için oldukça mantıklı bir yaklaşımdır. Sunucu kavramı çoğu zaman pahalı donanımlar, rack kabinetler ve karmaşık altyapılarla ilişkilendirilir.

Bu rehberde bir masaüstü bilgisayarı, sıfırdan çalışan bir Linux sunucuya dönüştüreceğiz.

Masaüstü Sunucu Kullanım Amacı Belirlenmeli

Web sitesi barındırma, dosya paylaşımı, yedekleme, test ortamı veya Docker container çalıştırma gibi her senaryo farklı gereksinimler içerir.

Donanım Uyumluluğu

Kullanım amacından sonra donanım kontrol edilmelidir. Çok çekirdekli bir işlemci çoğu durumda yeterlidir. Ram tarafında ise 16GB tercih edilir. İşletim sistemi mutlaka SSD üzerinde çalışmalı veriler için ayrı bir disk kullanılmalıdır.

İşletim Sistemi Seçimi

Sunucu tarafında daha az kaynak tüketimi ve uzaktan erişimi kolay olduğu için genellikle Linux tercih edilir. Bu nedenle Ubuntu Server ve Debian en çok kullanılan sistemlerdir.

Yazılım tarafında Ubuntu Server LTS ISO dosyası ve bu ISO’yu USB belleğe yazmak için bir araç yeterlidir. Masaüstü Ubuntu yerine server sürümü tercih edilir çünkü grafik arayüzü sunucu için gereksiz kaynak tüketir.

Ubuntu Server Kurulum USB’sini Hazırlayalım

Ubuntu Server ISO dosyasını USB belleğe yazdırdıktan sonra bilgisayarı USB’den başlatalım. BIOS veya boot menüsünden USB aygıtı seçildiğinde Ubuntu Server kurulum ekranı açılacaktı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.

Kurulumdan Sonra Disk Yapısını Kontrol Edelim

Kurulum tamamlanıp sunucu açıldıktan sonra disk yapısını kontrol etmek için aşağıdaki komutu kullanabiliriz.

lsblk
df -h

Kullanıcı, Hostname, SSH Ayarları

Ubuntu Server kurulumunda disk ve ağ ayarlarından sonra Identity setup ekranına geçilir. Bu ekran, sunucunun adı, yönetici kullanıcısı ve uzaktan erişim ayarlarının yapıldığı bölümdür.

Hostname Belirleme

Sunucuya bir hostname verilir. Hostname, sunucunun ağ üzerindeki adıdır ve terminalde görünür.

hostname: homeserver

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
hostname

OpenSSH 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_ip

Bağlantı sağlandıktan sonra ilk iş sistem güncellemesi yapılır.

sudo apt update
sudo apt upgrade -y

Temel 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 OpenSSH

Bu 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 enable

Root 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_config

Dosya içinde aşağıdaki satırı bulup,

#PermitRootLogin prohibit-password

bu satırı şu şekilde değiştirelim.

PermitRootLogin no

Yapı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 doğru şekilde yapılandırıldıktan sonra sunucunun ağ seviyesindeki temel güvenliği sağlanmış olur. Ancak sunucu üzerinde PHP tabanlı web uygulamaları çalıştırılacaksa yalnızca bu ayarlar yeterli değildir. Uygulama katmanında oluşabilecek güvenlik açıklarını önlemek için PHP yapılandırmalarının da sıkılaştırılması gerekir.

Test Amaçlı Web Sunucusu Kurulumu

Sunucumuzun doğru şekilde kurulumunun tamamlandığını ve çalışabilir yapıda olduğu görmek için basit bir web sunucusu kuralım. Bu test için Nginx ile devam edeceğiz.

Nginx Kurulumu

Öncelikle Nginx paketini sistemimize kuralım.

sudo apt install nginx -y

Servis durumu kontrolü için aşağıdaki kodu girelim.

systemctl status nginx

Firewall aktif olduğu için web trafiğine izin vermemiz gereklidir. Aksi takdirde tarayıcıdan erişim sağlanamaz.

sudo ufw allow 'Nginx Full'<br>sudo ufw status

Bu kural HTTP 80 ve 443 portlarının erişimine izin verir. Test için yeterlidir.

Tarayıca Test Edelim

Başka bir bilgisayardan tarayıcı açalım ve bu adresi yazalım ☝️ http://sunucu_ip . Eğer her şey doğru yapılandırılmışsa Nginx karşılama sayfası görüntülenir.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir