Sans-serif

Aa

Serif

Aa

Font büyüklüğü

+ -

Satır yüksekliği

+ -
Gündüz
Gece
Gün Batımı

Kendi Ev Sunucunuzu Kurun: NAS Sistemi Nedir, Nasıl Kurulur?

Uzun süredir notlarım arasında olan ve kullanmadığım bilgisayarım üzerinde evde bir nas sistemi sunucu kurmak istiyordum. Elimde hem bir notebook, hem de Intel Compute Stick serisi mini bir pc vardı. İlk etapta mini pc üzerinden kurulumları test ettim ve sistemi kurdum. Ancak cihazın ram belleği 2 gb ile sınırlı olduğu için uygulama sayısı arttıkça verimliliğin düştüğünü fark ettim ve sunucuyu bu cihaza kurmaktan vazgeçtim. Eğer evinde kıyıda köşeye mini pc olupta kurmayı düşünen varsa sadece 3 uygulama ile sınırlı olarak kullanmak istiyorsa uzun vadeli sorun yaşatacağını ve verimliliğin bir hayli düşeceğini belirtmek isterim. Bu yüzden sunucu kurarken planlamanızı minimum 8 gb ram belleği olan bir cihaz üzerinden planlayın.

Sistemden de kısaca bahsetmek istiyorum. Ben Ubuntu Server içerisine açık kaynaklı ev sunucusu işletim sistemi olan CasaOS kurdum. Self-hosting için geliştirilmiş, Docker tabanlı bir sunucu yönetim platformu. Kullanım kolaylığı ve stabil çalışması muazzam. Ev internet hızınız yüksek ise yerelde çok hızlı çalıştığını söyleyebilirim.

Docker altyapısından da bahsedecek olursam eğer, docker en basit haliyle uygulama sanallaştırma teknolojisidir. Normalde bir yazılımı kurarken bağımlılıklar, kütüphaneler, sürümler (ör: Python 3.11 mi, 3.8 mi?) sorun çıkarabilir. Docker ile uygulamalar container (kapsayıcı) denilen küçük, izole ortamlarda çalışır. Yani her uygulama kendi kutusunda yaşar.

Örneğin;

  • Nextcloud kendi PHP, Apache, MySQL sürümüyle gelir.
  • Jellyfin kendi kütüphaneleriyle.

Bu sayede “çakışma” olmaz, sistemi bozmaz.

Mantığını oturtabilmek adına bir benzetme yapacak olursam eğer;

Docker = kargo konteynerleri

Limanda gemiye yüklenen konteynerlerin içinde yiyecek, elektronik, mobilya olabilir.

Konteynerin içindekiler birbirini bozmaz.

CasaOS ise limandaki vinç operatörü gibi, bu konteynerleri düzenlemeni kolaylaştırır.

Peki Neden CasaOS + Docker Tercih ettim?

  • Kolaylık: Komut bilmeden uygulama kurabiliyorsun.
  • Taşınabilirlik: İstediğinde uygulamaları yedekleyip başka sunucuya taşıyabilirsin.
  • İzolasyon: Bir uygulama çökse bile diğerine zarar vermez.
  • Topluluk desteği: Popüler tüm self-host uygulamaları Docker’da var.

CasaOS’un Docker ile İlişkisi

  • CasaOS aslında arka planda Docker komutları çalıştırır.
  • Sen “Uygulama Yükle” dediğinde, CasaOS Docker Hub’dan veya özel repodan o uygulamanın Docker image’ını indirir.
  • Sonra bunu bir container olarak başlatır.
  • Web arayüzünden “durdur, başlat, sil” dediğinde aslında Docker container yönetmiş oluyorsun.

Sistem Özeti

  • CasaOS: Görsel yönetim paneli.
  • Docker: Uygulamaları izole çalıştıran motor.
  • Senin işin: CasaOS üzerinden tıklayarak uygulama kurmak.
  • İleri seviye: Docker komutlarını öğrenirsen, CasaOS’un yapamadığı ince ayarları yapabilirsin.

Sistemin mantığını aktarabildiğimi düşünüyorum. Şimdi gelin sistemin kurulumu gerçekleştirelim. Öncelikle CasaOS altyapısını Linux tabanlı bir işletim sistemine kurabiliriz. Bunun için Ubuntu, Debian, CentOS gibi platform altyapılarına ihtiyacımız var. Ben tercihimi daha pratik ve kullanılan cihaza yük bindirmeyeceği için Ubuntu’dan yana kullandım ve sunucuyu Ubuntu üzerinde inşa etmeye karar verdim. Şimdi gelin adım adım Ubuntu Server kurulumunu gerçekleştirelim.

Ubuntu Server Kurulumu

Ubuntu kurulumu için Ubuntu Server tercih etmemiz gerekiyor. Şu an güncel Ubuntu Server sürümü “24.04.3 LTS” sitesine giderek güncel ISO dosyasını indirelim.

Güncel ISO Dosyası İndir

Minimum 8 gb bir usb belleğe Rufus yardımı ile ISO seçtikten sonra herhangi bir seçimi değiştirmeden boot diskini yazdırıp oluşturuyoruz.

Devamında flash belleğe oluşturduğunuz diski sunucu kuracağınız bilgisayara takın. BIOS ayarlarında boot seçeneklerinde oluşturduğunuz Ubuntu diskinin yazılı olan flash belleği açılışta çalışması için öne çıkarıyoruz.

Flash diski bilgisayara takıp açtığınızda boot tercihleri ve oluşturduğunuz disk karşınıza çıkacaktır. Devamında oluşturduğunuz diski seçip devam ediyorsunuz. Komut ekranı üzerinden kurulum işlemleri ve ön yükleme başlıyor. Ön yükleme işlemi sonrası aşamalı kurulum ekranı karşınıza çıkacak. Bu ekranda aşağıda belirttiğim adımları tercih ederek ilerleyin.

Ubuntu Server Kurulum Adımları

Server Seçimi

Try or Install Ubuntu Server (Bunu seçmemiz gerekiyor.)

Ubuntu server with the HWE kernel

Boot from next volume

UEFI firmware settings


Dil Seçimi (Welcome! Us UP, DOWN end ENTER keys to select your language)

Kurulum ekranı geldiğinde Dil ekranı bizi karşılayacak. Burada “English” seçerek devam ediyoruz.


Klavye Seçimi (Keyboard configuration)

Layout: Turkish

Variant: Turkish

Seçimleri yaparak “Done” diyerek ilerleyin.


**Ubuntu Tip Seçimi (**Chose the type of installation)


(x) Ubuntu Server (Bunu seçmemiz gerekiyor.)

(o) Ubuntu Server (Minimazed)

Additional options

(x) Search for third-party drivers (Cihazınızın donadımına ait driverları kurması ile seçiniz. “Done” diyerek ilerleyin.


Network configuration

“Done” diyerek ilerleyin.


Proxy configuration

Proxy istiyor musunuz diye soruyor. Burada tercih yapmayacağız bu yüzden “Done” diyerek ilerliyoruz.


Ubuntu archive mirror configuration

Mirror adress ekranında paketleri indireceğimiz sunucuyu test edecek. Sonrasında “Done” diyerek ilerliyoruz.


Guided storage configuration (Disk alanı seçimi)

Use an entire disk

Altında yer alan disk alanlarından kurulum yapmak istediğiniz diski seçim yaparak ilerleyin.


Storage configuration

Kurulum tercihlerinin özetini sunuyor. Bu ekranda da “Done” diyerek ilerliyoruz. Burada diskten veriler silineceğini için uyarıyor. Uyarıya “Continue” diyerek onay veriyoruz.


Karşınıza çıkan ekranda server kullanıcı bilgilerini oluşturacağız. Aşağıdaki gibi bir ekran karşınıza çıkacaktır.

Profile configuration (Server profili oluştur.)

Your name:

Server name:

Pick a username:

Chose a password:

Confirm your password:

Profil alanlarını doldurarak ilerliyoruz.


Sonraki ekranda size server tercihiniz için Pro versiyonu istiyor musunuz diye soracaktır, “Skip for now” seçerek “Continue” diyerek ilerliyoruz.


SSH Configuration

Install Open SSH Server (SSH ihtiyaç duyacağımız için seçim yaparak ilerliyoruz.)


Third-party drivers

Bu ekranda eğer ihtiyaç duyulan bir donanım driverı varsa kurulum tercihinizi seçebilirsiniz.


Featured server snaps

Bu ekranda herhangi bir tercih yapmadan ilerliyoruz. Aslında Docker kurulumu yapmamız gerekiyor ancak snap üzerinden kurulum yaptığımızda CasaOS sürekli olarak kopuyor ve bağlanmakta sorun yaşıyoruz. Denedim test ettim o yüzden CasaOS kaldırıp tekrar komut ekranında imajları çekerek kurmak zorunda kaldım. Bu yüzden tercih yapmadan “Done” diyerek ilerleyelim.


Installing system

Bu ekranda kurulum işlemini gerçekleştiriyor. Kurulum işlemi tamamlandığında, siyah bir ekran bir hata mesajı alabilirsiniz. Devamında size USB belleği çıkarıp ENTER basın uyarısı verecektir uyguluyoruz.


Bilgisayar yeniden başlatıldığı zaman aşağıdaki ekran çıkıyorsa sunucu kurulumu başarıyla gerçekleşmiş demektir.

Ubuntu 24.04.2 LTS [server adı] tty1

[server adı] login:


Bu ekranda profil bilgilerinizi doldururken girdiğiniz bilgileri giriş yaparak servera bağlanabilirsiniz.

Bilgisayarınız üzerinden SSH bağlantısı ile servera bağlanma.

Öncelikle server cihazınızın hangi ip üzerinde bağlandığını öğrenmek için “ip address” komutunu girerek ip adresinizi öğrenin.

inet: 192.168.1.- (inet başlığı yanında yer alan ip adresi adresi sizin serverınızın bağlı olduğu ip adresidir.)

Bilgisayarınız üzerinde tüm işletim sistemlerinde yer alan Terminal’e giriş yapıyoruz.

Devamında “ssh [kullanici adi]@[ip adresiniz]” girerek “Enter” basın.

-Bu adımda ilk defa bağlanıyorsun bu parmak izine güveniyor musun? diye bağlantı öncesi soru soracaktır. Evet diyerek ilerleyelim.

Sonrasında ise şifrenizi soracaktır. Profil ekranında oluşturduğunuz server şifrenizi giriş yaparak serverınıza kendi bilgisayarınızın terminali üzerinden bağlantı kurun.

Servera bağlandığınızda yukarıdaki gibi bir terminal görüntüsü almanız bağlanmış olmanız gerekiyor.Bu aşamada kendi bilgisayarınız üzerinden sunucunuza artık işlem yapma yetkisine sahipsiniz. Bundan sonraki aşamada CasaOS kurulumunu gerçekleştireceğiz.

CasaOS Kurulumu

Öncelikle aşağıdaki bağlantıdan server üzerinden kurulumunu gerçekleştirmek için sudo komutunu alıyoruz.

CasaOS

Kurulum İmajı

curl -fsSL https://get.casaos.io | sudo bash

Komutu girdikten sonra servera kurulum için şifre isteyecektir. Server şifrenizi giriş yaptıktan sonra kurulum başlayacaktır.

Sudo komutunu girdikten sonra otomatik olarak kurulum işlemine başlayacaktır. Burada önemli olan cihazınızın ethernet portuna bağlı olması gerekir. Komut ile dataları internetten çekecek ve kurulum işlemini gerçekleştirecektir.

CasaOS kurulumu tamamlandıktan sonra size yerelde CasaOS arayüzüne erişebileceğiniz ip bilgileri gelecektir. Kurulum sonrası tarayıcınızda belirtilen ip adresi ile giriş sağlayarak CasaOS arayüzüne giriş yapıp panel kaydını gerçekleştirebilirsiniz.

Docker Kurulumu

Ubuntu server kurulumunu yaparken snapsler üzerinden kurulum yapmadığımız için Docker manuel olarak kurmamız gerekiyor. Docker kurulumu için aşağıda linkten belirteceğim adımları takip edin. Öncelikle buradan Docker komutlarına ulaşacağımız siteye giriş yapın.

Biz Ubuntu Server kurulumu yaptığımız için “Ubuntu” tercih ederek ubuntu sayfasına giriş yapıyoruz.

Kurulum dökümanlarının yer aldığı sayfada “Install using the apt repository” başlığını bulalım.

1. Adım Kurulum komutları

Add Docker’s official GPG key:

sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

Add the repository to Apt sources:

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

2. Adım Kurulum Komutu

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Ben komut kodlarını yukarıda yine de paylaştım. Kodları çalıştırarak Docker kurulum işlemini de gerçekleştiriyoruz.

Sunucumda Kullandığım Uygulamalar

Nextcloud

Yıllardır Google Drive kullanıcısıyım. Şimdiye kadar verilerimi paylaşmam konusunda hep soru işaretleri vardı. Nextcloud Google Drive gibi dosyalarınızı klasörlemenize yerel sunucunuzu dışarı açtığınızda her yerden tıpkı Google Drive gibi ulaşmanıza imkan tanıyor.

Sadece dosya saklamak içinde değil inceledikçe içerisinde yüzlerce uygulama olduğunu farkettim. Şimdilik Dosyalama, Takvim, Mail, To-Do list, Kişisel gibi uygulamaları yükledim. Belirttiğim bu uygulamaları tek ekran üzerinden kullanım imkanına sahipsiniz.

Immich

Google Fotoğraflar muadili olan bu uygulama Google’ın çözümlerine yakın çözümler sunarken aynı zamanda mobil uygulaması sayesinde telefondaki fotoğrafları da sunucuya yedeklemenize imkan tanıyor. Ben CasaOS mağazasından Immich’in kurulumunu yapmıştım ancak sunucudaki versiyonu ile telefon versiyonu farklılık gösterdiği için telefondan yedeklediğim fotoğraflar sunucuya yansırken, sunucuda yani bilgisayardan yükleyerek yedeklediğim fotoğraflar telefondaki uygulamasında görünmüyordu.

Sorun CasaOS mağazasındaki eski versiyonundaydı ve Immich dosyaları ile birlikte kaldırıp Docker Compose ile temiz güncel versiyonu ile kurulum yaptım.

Immich kurulumu için Docker Compose buradan ulaşabilirsiniz.

Jellyfin

Jellyfin film arşivinizi tıpkı bir Netflix gibi uygulamaya belirleyeceğiniz alanda saklarken aynı zamanda filme ait tüm dataları filmi yüklediğiniz anda çeken ve size Netflix gibi bir film platform arayüzü sunan bir medya uygulamasıdır.

Ben serisi olan sevdiğim filmleri saklıyorum ben genel olarak arayüzünü ve kullanımını beğendim. Tavsiye ederim.

Tüm adımları uyguladıysanız ihtiyaçlarınıza göre istediğiniz uygulamaları kullanabilirsiniz. Tüm datalarım Google üzerinde yedeklendiği için kademeli bir şekilde kişisel ev sunucuma taşıma işlemlerini gerçekleştiriyorum. Sizde self hosting yani ev sunucusu kurmak istiyorsanız ve kurulum yaparken takıldığınız bir nokta olursa benimle iletişime geçebilirsiniz.

Bir yanıt yazın


This site uses Akismet to reduce spam. Learn how your comment data is processed.

We Digital - Ram Dijital