# Arch Linux ile Sunucu Kurulumu: Baştan Sona Detaylı Rehber
Meta Açıklaması: Arch Linux ile sunucu kurulumunu adım adım öğrenin! Bu kapsamlı rehberde, yeni başlayanlardan ileri seviye kullanıcılara kadar herkes için pratik bilgiler, kod örnekleri ve performans optimizasyon ipuçları bulacaksınız. Fatih Soysal’ın hazırladığı bu makaleyle güvenli ve verimli bir Arch Linux sunucusu kurun.
Sunucu kurulumu karmaşık bir süreç gibi görünse de, doğru adımları takip ederek oldukça yönetilebilir hale gelir. Özellikle, esnekliği ve özelleştirilebilirliğiyle bilinen Arch Linux ile sunucu kurmak, size tam kontrol ve performans sağlar. Ancak, bu esneklik, yeni başlayanlar için bir öğrenme eğrisi de getirebilir. Bu rehber, Arch Linux ile sunucu kurulumunu adım adım, yeni başlayanlardan ileri seviye kullanıcılara kadar herkes için anlaşılır bir şekilde anlatmayı amaçlıyor. Fatih Soysal’ın hazırladığı bu rehberde, gerçek dünya senaryoları ve performans optimizasyonu ipuçları da bulacaksınız.
1. Temel Kavramlar: Arch Linux ve Sunucu Kurulumunun Temelleri
Arch Linux, bir “rolling release” dağıtımıdır; yani sürekli güncellenir ve son sürümlere sahip olursunuz. Bu, her zaman en son yazılımlara sahip olmanın avantajını sunarken, aynı zamanda sürekli güncellemeleri yönetmeyi gerektirir. Sunucu kurulumunda ise amacımız, güvenli, kararlı ve performanslı bir ortam oluşturmaktır. Bu, doğru paketlerin seçimi, güvenlik duvarı konfigürasyonu ve performans optimizasyonu gibi adımları içerir. Bir sunucunun temel bileşenleri arasında işletim sistemi, ağ konfigürasyonu, güvenlik duvarı, web sunucusu (Apache, Nginx gibi) ve veritabanı (MySQL, PostgreSQL gibi) yer alır. Arch Linux’un modüler yapısı, sadece ihtiyaç duyduğunuz bileşenleri kurmanıza ve böylece kaynakları daha verimli kullanmanıza olanak tanır.
Öğrenme Yol Haritası:
* Yeni Başlayan: Minimal bir kurulum yapmayı, temel paketleri yüklemeyi ve ağ bağlantısını kurmayı öğrenir. Basit bir ssh sunucusu kurulumu gerçekleştirilir.
* Orta: Güvenlik duvarı (firewall) konfigürasyonu, kullanıcı ve grup yönetimi, Apache veya Nginx gibi web sunucularının kurulumu ve konfigürasyonu yapılır. Gerçek bir web sitesi barındırma senaryosu ele alınır.
* İleri Düzey: Sistem performansının analiz edilmesi (iostat, top, htop gibi araçlar ile), bellek ve CPU kullanımının optimize edilmesi, sistem loglarının izlenmesi ve edge case’lerin (örneğin, yüksek trafik durumları) nasıl ele alınacağı gösterilir.
2. Arch Linux Sunucu Kurulumu: Adım Adım Uygulamalı Kılavuz
Bu bölümde, bir sanal makinede (VirtualBox, VMware veya KVM) Arch Linux sunucu kurulumunu adım adım inceleyeceğiz. Gerçek bir sunucuya kurulum yaparken, BIOS/UEFI ayarlarını kontrol etmeyi ve işletim sistemini USB veya ağ üzerinden yüklemeyi unutmayın.
Adım 1: İndirme ve Boot: Arch Linux ISO dosyasını resmi web sitesinden indirin. Sanal makinenize veya sunucunuza ISO dosyasını yükleyin ve boot edin.
Adım 2: Bölümlendirme: fdisk veya cfdisk gibi araçları kullanarak disk bölümlerini oluşturun. En azından / (root), /home (kullanıcı verileri) ve /boot (bootloader) bölümlerini oluşturmanız önerilir. LVM (Logical Volume Management) kullanarak daha esnek bir yapı oluşturabilirsiniz. Örneğin, / bölümüne 20GB, /home bölümüne 50GB ve /boot bölümüne 500MB ayırmanız yeterli olabilir.
Adım 3: Dosya Sistemi Oluşturma: mkfs.ext4 (ext4 dosya sistemi için) veya diğer dosya sistemleri için uygun komutları kullanarak oluşturduğunuz bölümlere dosya sistemi oluşturun. Örneğin: mkfs.ext4 /dev/sda2 (sda2 ikinci bölüm ise).
Adım 4: Mount Etme: Oluşturduğunuz bölümleri uygun dizinlere monte edin. Örneğin: mount /dev/sda2 /mnt
Adım 5: Paket Yöneticisi Kurulumu: pacstrap komutunu kullanarak temel paketleri yükleyin. Bu komut, temel sistem dosyalarını ve paket yöneticisi pacmanı yükler: pacstrap /mnt base base-devel linux linux-firmware
Adım 6: fstab Oluşturma: /etc/fstab dosyasını düzenleyerek, sisteminizin boot sırasında bölümleri otomatik olarak monte etmesini sağlayın. Bu dosya, bölümlerin mount noktalarını ve dosya sistemlerini tanımlar. Yanlış yapılandırma sisteminizin boot olmamasına sebep olabilir, bu nedenle dikkatli olun. genfstab -U /mnt >> /mnt/etc/fstab komutu ile otomatik olarak oluşturabilirsiniz.
Adım 7: Chroot Ortamı: arch-chroot /mnt komutuyla oluşturduğunuz sistem ortamına geçin.
Adım 8: Sistem Saatini Ayarlama: timedatectl set-ntp true komutu ile sistem saatini internet üzerinden otomatik olarak senkronize edin.
Adım 9: Kök Şifresi Ayarlama: passwd komutu ile root şifrenizi ayarlayın.
Adım 10: Lokal Ayarlar: locale-gen komutu ile dil ve bölge ayarlarınızı oluşturun. Daha sonra /etc/locale.gen dosyasını düzenleyerek tr_TR.UTF-8 UTF-8 satırını aktif hale getirin ve locale-gen komutunu tekrar çalıştırın.
Adım 11: Ağ Konfigürasyonu: /etc/hostname ve /etc/hosts dosyalarını düzenleyerek sunucunuzun adını ve IP adresini ayarlayın. NetworkManager’ı kullanıyorsanız, grafik arayüzü ile yapılandırabilirsiniz; aksi takdirde /etc/netctl dizinini kullanarak ağ ayarlarınızı yapılandırmanız gerekecektir. Bu adımda, statik IP adresi ataması veya DHCP kullanımı gibi seçenekler mevcuttur.
Adım 12: Bootloader Kurulumu: grub-install /dev/sda (sda ana diskiniz ise) komutuyla bootloader’ı kurun. Daha sonra grub-mkconfig -o /boot/grub/grub.cfg komutuyla grub konfigürasyonunu oluşturun.
Adım 13: Sistemi Yeniden Başlatma: exit komutuyla chroot ortamından çıkın ve reboot komutuyla sistemi yeniden başlatın.
3. Güvenlik Duvarı (Firewall) Kurulumu ve Konfigürasyonu: Nasıl Yapılır?
Arch Linux’ta firewall yönetimi için genellikle firewalld veya iptables kullanılır. firewalld daha kullanıcı dostu bir arayüze sahiptir. Bu rehberde firewalld kullanacağız.
Adım 1: Kurulum: sudo pacman -S firewalld komutu ile firewalld paketini yükleyin.
Adım 2: Başlatma: sudo systemctl start firewalld komutu ile firewalld hizmetini başlatın.
Adım 3: Güvenlik Kuralları Oluşturma: firewall-cmd komutunu kullanarak güvenlik kuralları oluşturabilirsiniz. Örneğin, SSH (22. port) ve HTTP (80. port) trafiğine izin vermek için:
sudo firewall-cmd --permanent --add-port=22/tcp
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload
Bu komutlar, ilgili portları kalıcı olarak açar ve firewall’ı yeniden yükler. Diğer portlar için de benzer komutları kullanabilirsiniz. Güvenlik açısından, sadece gerekli portları açık bırakmanız önemlidir.
4. Web Sunucusu Kurulumu (Apache): Gerçek Dünya Senaryosu
Bu bölümde, bir web sunucusu olarak Apache’i kurup yapılandıracağız.
Adım 1: Kurulum: sudo pacman -S apache komutu ile Apache’i yükleyin.
Adım 2: Başlatma: sudo systemctl start apache2 komutu ile Apache’i başlatın.
Adım 3: Web Sitesi Oluşturma: Apache’in varsayılan web doküman dizini /srv/http‘tir. Bu dizine bir HTML dosyası oluşturarak basit bir web sitesi oluşturabilirsiniz.
Adım 4: Test Etme: Sunucunuzun IP adresini tarayıcınızda yazarak web sitenizi test edin.
5. Kullanıcı ve Grup Yönetimi: Nasıl Yapılır?
Güvenlik için, root kullanıcısı yerine ayrı kullanıcılar oluşturmalısınız.
Adım 1: Kullanıcı Oluşturma: sudo useradd -m -g users yeni_kullanici komutu ile yeni bir kullanıcı oluşturun. -m seçeneği, kullanıcının ev dizinini oluşturur. -g users seçeneği, kullanıcının users grubuna eklenmesini sağlar.
Adım 2: Şifre Ayarlama: sudo passwd yeni_kullanici komutu ile kullanıcının şifresini ayarlayın.
Adım 3: sudo Yetkisi Verme: sudo visudo komutu ile /etc/sudoers dosyasını düzenleyerek, yeni kullanıcıya sudo yetkisi verebilirsiniz. Yeni bir satır ekleyerek, yeni_kullanici ALL=(ALL:ALL) ALL gibi bir giriş yapabilirsiniz. Bu, yeni kullanıcının tüm komutları root yetkisiyle çalıştırmasına izin verir. Ancak, daha kısıtlı yetkiler de tanımlayabilirsiniz.
6. Sistem Güncelleme ve Bakımı: Nasıl Yapılır?
Arch Linux’un sürekli güncellenen yapısı nedeniyle, düzenli güncellemeler yapmak önemlidir.
Adım 1: Güncelleme Kontrolü: sudo pacman -Syu komutu ile sisteminizi güncellemeleri kontrol edin ve yükleyin. -S seçeneği, paketlerin kurulumunu yapar, -y seçeneği, otomatik olarak “evet” yanıtını verir, -u seçeneği, sistem güncellemelerini kontrol eder.
Adım 2: Paketlerin Temizlenmesi: sudo pacman -Sc komutu ile artık kullanılmayan paketleri temizleyin.
7. Performans Optimizasyonu: İleri Düzey Teknikler
Arch Linux’un performansını optimize etmek için birçok yöntem vardır. Bu bölümde, birkaç önemli yöntemi inceleyeceğiz.
* swap alanı: Sisteminizin performansını etkileyebilecek swap alanını doğru şekilde boyutlandırmak önemlidir. Gereksiz yere büyük bir swap alanı, performansı düşürebilir.
* CPU frekans ölçekleme: cpufreq gibi araçları kullanarak CPU frekansını dinamik olarak ölçekleyebilirsiniz. Bu, enerji tasarrufu sağlar ve performansı artırabilir.
* Bellek yönetimi: free komutu ile bellek kullanımını izleyebilir ve gereksiz çalışan süreçleri sonlandırabilirsiniz.
* Disk IO optimizasyonu: iostat komutu ile disk IO performansını izleyebilirsiniz. Yavaş disk IO performansı, sistem genel performansını olumsuz etkiler. SSD kullanmak, performansı önemli ölçüde artırır.
* Sistem loglarının izlenmesi: journalctl komutu ile sistem loglarını izleyerek olası sorunları tespit edebilirsiniz.
8. Sıkça Sorulan Sorular (SSS)
* Arch Linux güvenli mi? Arch Linux kendisi güvenli bir işletim sistemidir ancak güvenliği sağlamak için doğru konfigürasyon ve düzenli güncellemeler gereklidir.
* Arch Linux öğrenmesi zor mu? Arch Linux diğer dağıtımlara göre daha teknik bilgi gerektirir. Ancak bu rehberdeki adımları izleyerek, kurulumu ve yönetimi kolaylaştırabilirsiniz.
* Arch Linux hangi donanımları destekler? Arch Linux, geniş bir donanım yelpazesini destekler. Ancak, bazı eski donanımlar için sürücü desteği sınırlı olabilir.
* Arch Linux’u sanal makinede çalıştırmak mümkün mü? Evet, Arch Linux’u VirtualBox, VMware veya KVM gibi sanal makine yazılımlarıyla çalıştırabilirsiniz.
* Arch Linux’ta hangi web sunucusu daha iyi? Apache ve Nginx, popüler ve güçlü web sunucularıdır. Seçiminiz, ihtiyaçlarınıza ve tercihlerinize bağlıdır.
Yazar: Fatih Soysal