15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın
31.10.2024
1 +1

Ubuntu Bileşenlerinin Kurulumu ve Yapılandırması: Tam Rehber

Ubuntu, dünyada en popüler Linux dağıtımlarından biri olmaya devam ediyor — ve bunun iyi nedenleri var. Esnekliği, güçlü paket ekosistemi ve güçlü topluluk desteği, onu geliştiriciler, sistem yöneticileri ve işletmeler için ideal bir platform haline getiriyor. İster yerel bir geliştirme makinesi kuruyor ister bulutta bir VPS Hosting ortamı sağlıyor olun, Ubuntu bileşenlerini düzgün şekilde yükleme ve yapılandırma bilgisi, altyapınızın her seviyesinde karşılığını veren temel bir beceridir.

Bu kapsamlı rehber sizi her kritik adımda yürütür: sisteminizi güncelleme, temel paketleri yükleme, güvenlik duvarlarını yapılandırma, veritabanı sunucuları kurma, performansı optimize etme ve çok daha fazlası. Sonunda, Ubuntu sisteminiz sertleştirilmiş, verimli ve üretim iş yükleri için hazır olacaktır.

İçindekiler

  1. Herhangi Bir Şey Yüklemeden Önce Ubuntu’yu Güncelleme
  2. Temel Bileşenleri Yükleme
  3. Yazılım Depolarını Yapılandırma
  4. UFW ile Güvenlik Duvarını Yükleme ve Yapılandırma
  5. Veritabanı Sunucularını Yükleme ve Yapılandırma
  6. Ek Araçlar ve Yardımcı Programları Yükleme
  7. Ubuntu Sistem Ayarlarını Özelleştirme
  8. Otomatik Yedeklemeleri Ayarlama
  9. Sistem İzleme ve Performans Optimizasyonu
  10. Üretim Hazır Ubuntu Sistemi için Son İpuçları

1. Herhangi Bir Şey Yüklemeden Önce Ubuntu’yu Güncelleme

Tek bir pakete dokunmadan önce, sisteminizi tamamen güncel hale getirin. Bu, en son güvenlik yamaları, hata düzeltmeleri ve yazılım uyumluluğu iyileştirmeleriyle çalıştığınızdan emin olur.

sudo apt update && sudo apt upgrade -y

Bunu ne yapar:

  • apt update — Yerel paket dizinini tüm yapılandırılmış depolardan yeniler.
  • apt upgrade -y — Tüm yüklü paketleri en son kullanılabilir sürümlere yükseltir, istemleri otomatik olarak onaylar.

> Pro İpucu: Yeni sağlanan bir sunucuda — özellikle Ubuntu’yu bir Dedicated Server üzerinde çalıştırıyorsanız — bu adım kaçınılmazdır. Eski paketler, güvenlik ihlallerinin en yaygın vektörlerinden biridir.

Yükseltmeden sonra, çekirdek güncellenirse yeniden başlatın:

sudo reboot

2. Temel Bileşenleri Yükleme

Ubuntu’nun gücü, genişletilebilirliğinde yatmaktadır. Aşağıdaki alt bölümler, herhangi bir ciddi Ubuntu dağıtımı için en kritik paketleri kapsar.

2.1. Build Essentials

build-essential paketi, kaynak kodundan yazılım derlemek için gereken, GCC (GNU Compiler Collection), Make ve standart C/C++ kütüphaneleri dahil olmak üzere, seçilmiş bir araç seti yükler.

sudo apt install build-essential -y

Yüklemeyi doğrulayın:

gcc --version
make --version

Bu paket, birçok diğer araç ve dil çalışma zamanı için bir ön koşuldur (örneğin, Python uzantıları, Ruby gems, Node.js yerel modülleri).

2.2. Git — Sürüm Kontrol Sistemi

Git, kaynak kodu yönetimi, işbirlikçi geliştirme ve dağıtım boru hatları için endüstri standardı aracıdır.

sudo apt install git -y

Yüklemeden sonra, global kimliğinizi yapılandırın:

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

Yapılandırmanızı doğrulayın:

git config --list

İsteğe bağlı ancak önerilen: Varsayılan dal adınızı main olarak ayarlayın, modern kurallarla uyumlu hale getirmek için:

git config --global init.defaultBranch main

2.3. Ağ Araçları: curl ve wget

Bu yardımcı programlar, dosya indirme, API’leri test etme ve ağ bağlantısını doğrudan komut satırından hata ayıklama için vazgeçilmezdir.

sudo apt install curl wget -y

Hızlı kullanım örnekleri:

# Download a file with wget
wget https://example.com/file.tar.gz

# Test an API endpoint with curl
curl -I https://example.com

Ek yararlı ağ tanılama araçları:

sudo apt install net-tools dnsutils traceroute -y
  • net-toolsifconfig, netstat ve ilgili komutları sağlar.
  • dnsutils — DNS sorun giderme için dig ve nslookup içerir.
  • traceroute — Uzak bir ana bilgisayara ağ yolunu izler.

2.4. Metin Editörleri

Her sistem yöneticisinin güvenilir bir komut satırı metin editörüne ihtiyacı vardır. Ubuntu, tercihine ve iş akışına bağlı olarak birkaç seçeneği destekler.

Nano (başlangıç dostu):

sudo apt install nano -y

Vim (güçlü, yüksek oranda yapılandırılabilir):

sudo apt install vim -y

Emacs (özellik açısından zengin, genişletilebilir):

sudo apt install emacs -y

> Tavsiye: Sunucu ortamları için Vim, en evrensel olarak kullanılabilir ve yeterli seçenektir. Temel komutlarını öğrenmeye zaman ayırın — iş akışınızı önemli ölçüde hızlandıracaktır.

2.5. Web Sunucusu Yükleme

Web sunucusu, web sitelerini, web uygulamalarını ve API’leri barındırmak için gereklidir. Ubuntu’da iki baskın seçenek Nginx ve Apache‘dir.

#### Nginx Yükleme (Yüksek Performans için Önerilen)

sudo apt install nginx -y

Nginx’i başlatın ve önyükleme sırasında otomatik olarak başlatılması için etkinleştirin:

sudo systemctl start nginx
sudo systemctl enable nginx

Çalıştığını doğrulayın:

sudo systemctl status nginx

Yeniden yüklemeden önce yapılandırmanızı test edin:

sudo nginx -t

#### Apache Yükleme

sudo apt install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2

Nginx vs. Apache — Hangisini Seçmelisiniz?

ÖzellikNginxApache
Yük altında performansMükemmel (olay tabanlı)İyi (işlem/iş parçacığı tabanlı)
Statik dosya sunmaÇok hızlıHızlı
.htaccess desteğiHayırEvet
Modül ekosistemiBüyüyorKapsamlı
Bellek kullanımıDaha düşükDaha yüksek

Çoğu modern dağıtım için — özellikle bulut VPS Hosting ortamlarında — Nginx, eşzamanlı bağlantıları üstün şekilde işlemesi ve daha düşük bellek ayak izi nedeniyle tercih edilen seçenektir.

3. Yazılım Depolarını Yapılandırma

Ubuntu’nun varsayılan yüklemesi yalnızca Main ve Restricted depolarını etkinleştirir. Önemli ölçüde daha geniş bir yazılım yelpazesine erişmek için Universe ve Multiverse depolarını etkinleştirmelisiniz.

Yöntem 1: GUI Kullanma (Masaüstü Ubuntu)

  1. Uygulama menüsünden Yazılım & Güncellemeler‘i açın.
  2. Ubuntu Yazılımı sekmesinin altında, Universe ve Multiverse için kutuları işaretleyin.
  3. Kapat‘ı tıklayın ve istendiğinde paket listesini yeniden yükleyin.

Yöntem 2: Komut Satırını Kullanma (Sunucular için Önerilen)

sudo add-apt-repository universe
sudo add-apt-repository multiverse
sudo apt update

Depo Özeti:

Depoİçerik
MainResmi olarak desteklenen, açık kaynaklı yazılım
RestrictedResmi destek ile tescilli sürücüler
UniverseTopluluk tarafından korunan, açık kaynaklı yazılım
MultiverseLisanslama kısıtlamaları olan yazılım

Üçüncü Taraf PPA’ları Ekleme

Resmi depolarda bulunmayan yazılım için, Kişisel Paket Arşivleri (PPA) ekleyebilirsiniz:

sudo add-apt-repository ppa:repository-name/ppa
sudo apt update
sudo apt install package-name

> Güvenlik Notu: PPA’ları yalnızca güvenilir, iyi bilinen kaynaklardan ekleyin. Üçüncü taraf depoları, sisteminize denetlenmeyen yazılım getirebilir.

4. UFW ile Güvenlik Duvarını Yükleme ve Yapılandırma

Ubuntu, UFW (Uncomplicated Firewall) ile birlikte gelir, bu da iptables için kullanıcı dostu bir ön yüzüdür. Güvenlik duvarınızı düzgün şekilde yapılandırmak, internet’e açık herhangi bir sunucu için en önemli güvenlik adımlarından biridir.

UFW’yi Etkinleştirme

sudo ufw enable

Temel Hizmetlere İzin Ver

Güvenlik duvarını etkinleştirmeden önce her zaman SSH’ye izin verin, kendinizi kilitlemekten kaçınmak için:

sudo ufw allow ssh

Veya bağlantı noktasını açıkça belirtin:

sudo ufw allow 22/tcp

Web sunucuları için HTTP ve HTTPS trafiğine izin verin:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Belirli uygulama profillerine izin verin:

sudo ufw allow 'Nginx Full'
# or
sudo ufw allow 'Apache Full'

Güvenlik Duvarı Durumunu Kontrol Etme

sudo ufw status verbose

Ek UFW Komutları

# Deny a specific port
sudo ufw deny 8080/tcp

# Delete a rule
sudo ufw delete allow 8080/tcp

# Reset all rules
sudo ufw reset

# Disable UFW
sudo ufw disable

> En İyi Uygulama: En az ayrıcalık ilkesini izleyin — yalnızca hizmetleriniz için açıkça gerekli olan bağlantı noktalarını açın. Her gereksiz açık bağlantı noktası, potansiyel bir saldırı yüzeyidir.

5. Veritabanı Sunucularını Yükleme ve Yapılandırma

Veritabanları, neredeyse her web uygulamasının omurgasıdır. Ubuntu, paket depoları aracılığıyla tüm ana ilişkisel ve NoSQL veritabanı sistemlerini destekler.

5.1. MySQL Yükleme

MySQL, dünyanın en yaygın olarak dağıtılan açık kaynaklı ilişkisel veritabanıdır.

sudo apt install mysql-server -y

Yüklemeden sonra, güvenlik sertleştirme komut dosyasını çalıştırın:

sudo mysql_secure_installation

Bu etkileşimli komut dosyası şunları yapacaktır:

  • Bir kök parolası ayarlayın (veya parola gücünü doğrulayın)
  • Anonim kullanıcıları kaldırın
  • Uzak kök girişini yasaklayın
  • Test veritabanını kaldırın
  • Ayrıcalık tablolarını yeniden yükleyin

MySQL’i başlatın ve etkinleştirin:

sudo systemctl start mysql
sudo systemctl enable mysql

Hizmetin çalıştığını doğrulayın:

sudo systemctl status mysql

MySQL kabuğuna bağlanın:

sudo mysql -u root -p

5.2. MariaDB Yükleme (MySQL Uyumlu Alternatif)

MariaDB, geliştirilmiş performans ve ek özellikler içeren MySQL’in topluluk tarafından geliştirilen bir çatalıdır:

sudo apt install mariadb-server mariadb-client -y
sudo mysql_secure_installation
sudo systemctl enable --now mariadb

5.3. PostgreSQL Yükleme

PostgreSQL, standartlara uygunluğu ve genişletilebilirliği ile bilinen güçlü, kurumsal sınıf bir nesne-ilişkisel veritabanı sistemidir.

sudo apt install postgresql postgresql-contrib -y

PostgreSQL’i başlatın ve etkinleştirin:

sudo systemctl start postgresql
sudo systemctl enable postgresql

PostgreSQL yönetici kullanıcısına geçin ve kabuğu açın:

sudo -i -u postgres
psql

Yeni bir veritabanı ve kullanıcı oluşturun:

CREATE DATABASE myapp_db;
CREATE USER myapp_user WITH ENCRYPTED PASSWORD 'strong_password';
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO myapp_user;
q

6. Ek Araçlar ve Yardımcı Programları Yükleme

Temel öğelerin ötesinde, aşağıdaki araçlar üretkenliğinizi, sistem görünürlüğünü ve dağıtım yeteneklerini önemli ölçüde iyileştirir.

Docker — Konteyner Çalışma Zamanı

Docker, uygulamaları ve bunların bağımlılıklarını taşınabilir kapsayıcılara paketlemenizi sağlayarak, geliştirme, hazırlama ve üretim ortamları arasında tutarlılık sağlar.

sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker

Docker komutlarını sudo olmadan çalıştırmak için kullanıcınızı Docker grubuna ekleyin:

sudo usermod -aG docker $USER
newgrp docker

Docker’ın çalıştığını doğrulayın:

docker run hello-world

Üretim dağıtımları için Docker Compose‘u da yüklemeyi düşünün:

sudo apt install docker-compose -y

htop — Etkileşimli İşlem Görüntüleyici

htop, sistem işlemlerinin, CPU kullanımının, bellek tüketiminin ve daha fazlasının gerçek zamanlı, renkli bir görünümünü sağlar — standart top komutundan çok daha üstündür.

sudo apt install htop -y
htop

Temel htop kısayolları:

  • F6 — İşlemleri sütuna göre sırala
  • F9 — Bir işlemi öldür
  • F10 — Çık
  • / — Bir işlem ara

Tmux — Terminal Çoklayıcı

Tmux, tek bir SSH bağlantısı içinde birden fazla terminal oturumu oluşturmanıza, yönetmenize ve kalıcı hale getirmenize olanak tanır — uzak sunucularda uzun süreli görevler için değerlidir.

sudo apt install tmux -y

Temel Tmux komutları:

# Start a new session
tmux new -s mysession

# Detach from session (keeps it running)
Ctrl+B, then D

# List all sessions
tmux ls

# Reattach to a session
tmux attach -t mysession

Ek Önerilen Yardımcı Programlar

# fail2ban — Intrusion prevention system
sudo apt install fail2ban -y

# unzip — Extract ZIP archives
sudo apt install unzip -y

# tree — Display directory structure
sudo apt install tree -y

# ncdu — Disk usage analyzer
sudo apt install ncdu -y

# jq — JSON processor for the command line
sudo apt install jq -y

7. Ubuntu Sistem Ayarlarını Özelleştirme

7.1. Otomatik Güvenlik Güncellemelerini Etkinleştirme

Sisteminizi yamalı tutmak kritiktir — özellikle herkese açık sunucularda. Ubuntu’nun unattended-upgrades paketi bu işlemi otomatikleştirir.

sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades

Davranışı özelleştirmek için yapılandırma dosyasını düzenleyin:

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

İncelenecek temel ayarlar:

  • Unattended-Upgrade::Allowed-Origins — Otomatik güncellemeleri tetikleyen depoları tanımlayın.
  • Unattended-Upgrade::Automatic-Reboot — Çekirdek güncellemelerinden sonra otomatik yeniden başlatmalara izin vermek için true olarak ayarlayın.
  • Unattended-Upgrade::Mail — Güncelleme etkinliği için e-posta bildirimlerini yapılandırın.

7.2. Başlangıç Uygulamalarını Yönetme (Masaüstü Ubuntu)

Oturum açmada hangi uygulamaların başlatılacağını kontrol etmek, önyükleme süresini azaltmaya ve sistem kaynaklarını korumaya yardımcı olur.

  1. GNOME uygulama menüsünde Başlangıç Uygulamaları‘nı arayın.
  2. Etkinleştirilen başlangıç programlarının listesini gözden geçirin.
  3. Oturum açmada ihtiyaç duymadığınız uygulamaları kapatın.
  4. Yeni başlangıç komut dosyalarını veya uygulamalarını kaydetmek için Ekle düğmesini kullanın.

Sunucu ortamları için, systemd ile hizmetleri yönetin:

# Disable a service from starting at boot
sudo systemctl disable service-name

# Enable a service at boot
sudo systemctl enable service-name

# List all enabled services
sudo systemctl list-unit-files --state=enabled

7.3. Sistem Saat Dilimini Yapılandırma

Doğru saat dilimi yapılandırması, günlük doğruluğu, zamanlanmış görevleri ve SSL sertifikası doğrulaması için gereklidir.

# Check current timezone
timedatectl

# List available timezones
timedatectl list-timezones

# Set timezone
sudo timedatectl set-timezone Europe/London

7.4. SSH’yi Güvenli Uzaktan Erişim için Yapılandırma

Uzak bir sunucu yönetiyorsanız, SSH yapılandırmanızı sertleştirmek çok önemlidir.

sudo nano /etc/ssh/sshd_config

Önerilen güvenlik ayarları:

# Disable root login
PermitRootLogin no

# Disable password authentication (use SSH keys instead)
PasswordAuthentication no

# Change default SSH port (optional but reduces automated scanning)
Port 2222

# Limit login attempts
MaxAuthTries 3

Değişikliklerden sonra SSH’yi yeniden başlatın:

sudo systemctl restart sshd

> Önemli: Geçerli bağlantınızı kapatmadan önce, yeni SSH yapılandırmanızı ayrı bir terminal oturumunda test edin, dışarıda kalma riskini önlemek için.

8. Otomatik Yedeklemeleri Ayarlama

Veri kaybı yıkıcıdır. Kişisel bir proje veya işletme açısından kritik bir uygulama çalıştırıyor olun, otomatik yedeklemeler kaçınılmazdır.

Ubuntu’nun Yerleşik Yedekleme Aracını Kullanma (Masaüstü)

  1. Uygulama menüsünde Yedeklemeler (Déjà Dup) arayın.
  2. Yedekleme hedefini yapılandırın: harici sürücü, ağ paylaşımı veya bulut depolama.
  3. Zamanlama sekmesinin altında bir yedekleme zamanlaması ayarl
15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın