Ubuntu Server 20.04 LTS üzerine Docker Kurulumu

Docker, uygulamaları hemen hemen her yerde çalıştırılabilen taşınabilir konteynerler olarak hızla oluşturmanıza, test etmenize ve dağıtmanıza olanak tanıyan açık kaynaklı bir konteynerleştirme platformudur. Bir konteyner, tek bir uygulama için bir çalışma zamanını temsil eder ve yazılımın çalışması için gereken her şeyi içerir. Docker, modern yazılım geliştirmenin ve DevOps sürekli entegrasyon ve dağıtım işlem hatlarının ayrılmaz bir parçasıdır. Bu makalemde, Docker’ın en güncel sürümünü, Ubuntu Server 20.04 işletim sistemi üzerine kurulumunu açıklıyor olacağım.

Docker, standart Ubuntu 20.04 repositoriy’lerde kurulabilir, ancak her zaman en son sürüm olmayabilir. Bu makalemde resmi Docker’ın depolarından en son paketini yükleyeceğiz.

Sunucunuz üzerinde daha önceden kurulu docker uygulaması var ise kaldırılması için aşağıdaki komutu çalıştırınız.

apt-get remove docker docker-engine docker.io containerd runc

İlk olarak aşağıdaki komutları kullanarak işletim sisteminizi güncelleyiniz.

apt-update
apt-upgrade

apt paket dizinini güncelleyiniz ve apt’nin HTTPS üzerinden bir depo kullanmasına izin vermek için paketleri yükleyiniz. Bu işlem için aşağıdaki komutu kullanabilirsiniz.

Okumaya devam et “Ubuntu Server 20.04 LTS üzerine Docker Kurulumu”

Ubuntu Server 20.04 LTS Kurulumu

Merhabalar bu makalemde; Ubuntu’nun sunucu platformu için kullanılan ve en güncel sürümü olan 20.04 LTS nin kurulumuna değiniyor olacağım. Ubuntu işletim sistemi distrowatch.com verilerine göre en yaygın kullanılan 4. işletim sistemi dağıtımıdır. Ubuntu 20.04 Server Edition, dosya, print server, web server, e-posta barındırma, container mimarisi ve openstack projelerinde oldukça fazla tercih edilen bir sürümdür.

Ubuntu Server 20.04 LTS sürümü sunucu uygulamaları için ortak minimalist bir temel sağlar. Ubuntu Server ARM ve IBM PowerPC de dahil oldığu dört 64 bit mimariyi desteklemektedir.

  • amd64 (Intel / AMD 64 bit)
  • arm64 (64-bit ARM)
  • ppc64el (POWER8 ve POWER9)
  • s390x (IBM Z ve LinuxONE)

Önerilen sistem gereksinimleri şunlardır:

  • CPU: 1 gigahertz veya daha hızlı
  • RAM: 1 gigabayt veya daha fazlası
  • Disk: minimum 2,5 gigabayt boş disk alanı
  • Network: 100 Mbps veya daha hızlı ağ kartı

İşletim sistemi kurulumu için gerekli olan kurulum medyasını https://ubuntu.com/download/server adresinden 20.04 LTB için uygun olan platform seçildikten sonra indirebilirsiniz.

ISO dosyası indirme işlemi tamamlandıktan sonra fiziksel yada sanal makine üzerinde Ubuntu Server kurulum işlemine başlayabiliriz. Bilgisayarınızı (Fiziksel yada Sanal Makine) Ubuntu kurulum medyasından açılacak şekilde başlatınız.

Karşımıza ekranında işletim sistemi kurulum için dil seçimi yapılır. Genellikle Linux dağıtımlarını bireysel kullanım haricinde kullanım söz konusu ile tavsiye olarak “İngilizce” olarak kuruluma devam etmek olacaktır. Bu ekranda “English” seçilir ve kuruluma başlamak için Enter tuşuna basılır.

Okumaya devam et “Ubuntu Server 20.04 LTS Kurulumu”

Linux işletim sistemlerinde dig komutu kullanımı

DIG komutu Linux ve Windows işletim sisteminde DNS ve IDN (Internationalized Domain Name) kayıtlarını sorgulamak için kullanacağınız bir araçtır. Dig aracı BIND’in bir parçası olarak geliştirilmiş olup, nslookup’a göre daha fazla detay ve esneklik sağlar. Windows kullanıcıları bu aracı BIND’ın web sitesinden indirebilir, Linux ve Apple sistemlerinde terminal üzerinden kullanabilirsiniz.

DIG’in açılımı “Domain Information Gropher” dır. Bu açıklamanın Türkçe anlamı ise; alan adı bilgi yoklayıcısıdır. Bu araç ile alan adları üzerindeki dns kayıtları ve dns bilgilerini sorgulayarak kontrol edebilirsiniz.

dig “domain-name” komutu ile bir domain’deki A kayıtları görüntülenir. İsteğe bağlı olarak +short komutu ile daha kısa sonuçlar çıkması sağlanabilir.

dig kadirkozan.com.tr

Yukarıdaki çıktı, kadirkozan.com.tr adresinin A kayıtlarını göstermektedir. Bu çıktıda ilgilendiğimiz kısım “ANSWER SECTION” ile başlayan bölümdür. Bu kısımın altındaki satırın başında ; işareti olmadığını görebilirsiniz. Buradaki noktalı virgül işaretleri (;), ilgili satırın bir açıklama satırı olduğunu ifade etmesi bakımından kullanılmaktadır. Cevaptaki diğer bölümler, programın versiyonu, sorgu hakkında bir takım istatistikler paylaşmaktadır. “QUESTION SECTION” kısmında sorgunun aslında kadirkozan.com.tr IN A için yapıldığı görülebilir. Bu yüzden cevap olarak kadirkozan.com.tr. 14399 IN A 116.202.53.24 şeklinde gelmiştir cevap.

dig komutu ile NS (name server) kayıtlarını görüntülemek için “-t NS” parametrelerini kullanabilirsiniz.

dig kadirkozan.com.tr -t NS

dig komutu ile MX kayıtlarını görüntülemek için “-t MX” parametrelerini kullanabilirsiniz.

Okumaya devam et “Linux işletim sistemlerinde dig komutu kullanımı”

Centos/RHEL 8’de Docker ve Docker Compose Kurulumu

Merhabalar, bu makalemde Centos/RHEL 8 işletim sistemlerinde Docker’ın Community Edition sürümünün kurulumu anlatılacaktır. Docker versiyonunun son sürümü tek komutla sisteme kurulabilmektedir.

RHEL 8 ve CentOS 8’in piyasaya sürülmesiyle, docker paketi varsayılan paket depolarından kaldırıldı, docker podman ve buildah ile değiştirildi. RedHat, Docker için resmi destek sağlamamaya karar verdi. Ancak Redhat, bir sunucu kümesinde, daha özel olarak Buildah ve Podman’da konteyner görüntüleri oluşturmak ve yönetmek için çeşitli yerleşik araçlar sunmaktadır. Bu araçlar docker uyumludur, ancak bir sunucu/istemci mimarisi gerektirirler. Birçoğu Docker konteynerleştirmeyi kullanmayı tercih ediyor ve bu makalemde de  Docker’ın harici bir depo kullanarak CentOS/RHEL 8 sürümlerinde nasıl kurulacağını göstermek istiyoruz.

Ön Gereksinimler;

  • Sudo ayrıcalıklarına sahip bir kullanıcı hesabı
  • Terminal erişimi,
  • İnternet bağlantısı
  • DNF yazılım paketi yükleyicisi (varsayılan olarak CentOS 8’e dahildir)
  • Firewalld manager devre dışı bırakılmalıdır. Kritik güvenlik özelliklerinin devre dışı bırakılması önerilmez, ancak CentOS 8’deki Firewalld manager, Docker container içindeki DNS isim çözümlemesini engellemektedir.
  • Temiz bir kurulum kullandığımızdan emin olmak gerekir. Mevcut Docker uygulamalarını (şu anda kurulu olabilir) kaldırmalıyız. Emin olmak için aşağıdaki komutu çalıştırabilirsiniz.  

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

yada dnf remove docker* komutunu kullanabilirsiniz.

Docker kurulumuna başlamadan önce; CentOS 8 paket deposu önbelleğini güncellenir. Bu işlem için “dnf makecache” komutunu kullanabilirsiniz.

Okumaya devam et “Centos/RHEL 8’de Docker ve Docker Compose Kurulumu”

Centos/RHEL 8’de Firewall Servisinin Devre dışı bırakılması veya kapatılması

Firewalld, ağ bölgelemesini destekleyen dinamik olarak yönetilen bir güvenlik duvarı çözümüdür. Sistem yöneticileri, gelen ve giden trafiğe dinamik olarak izin vermek ve izin vermemek için bunu kullanır. Hem IPv4 hem de IPv6 güvenlik duvarı ayarlarını destekler. CentOS 7’den itibaren firewalld (Dinamik Güvenlik Duvarı Yöneticisi), CentOS sunucularında varsayılan güvenlik duvarı aracı olarak gelmektedir.

Güvenlik duvarını her zaman etkin ve etkin tutmanızı tavsiye ederiz. Ancak, yöneticilerin test etmek veya iptables gibi başka bir güvenlik duvarı aracına geçmek için güvenlik duvarını devre dışı bırakması gerekebilir.

Firewalld Servis Durumunun Kontrol Edilmesi

Firewalld, her CentOS 7 ve Centos 8 işletim sistemlerinde varsayılan ayarlarda etkindir. Firewalld durumunu kontrol etmek için, komut satırından aşağıdaki komutu çalıştırınız.

systemctl status firewalld

firewalld çalışıyorsa, aşağıda görüldüğü gibi güvenlik duvarının etkin olduğunu belirten parlak yeşil metin göreceksiniz.

Okumaya devam et “Centos/RHEL 8’de Firewall Servisinin Devre dışı bırakılması veya kapatılması”

Centos/RHEL 8’de hangi servisin ne kadar RAM ve CPU kaynağı tükettiğini görüntülemek

Centos/RHEL 8 işletim sisteminde servislerin işlemci ve bellek kullanım oranı basit olarak görüntülemek için “ps -C” komutunu kullanabilirsiniz.

Komutu çalıştırmadan önce işletim sistemi üzerinde çalışan servisleri listelemek isteyebilirsiniz. Bu işlem için de; “systemctl” komutunu kullanabilirsiniz. Örnek kullanım senaryıları;

systemctl
systemctl | more
systemctl | grep named
systemctl list-units –type service
systemctl list-units –type mount

Centos işletim sistemi üzerinde bütün servislerin listelenmesi için aşağıdaki komutu kullanabilirsiniz;
systemctl list-unit-files

Belirli bir hizmetle (cgroup) ilişkili işlemleri görüntülemek için systemd-cgtop komutunu kullanabilirsiniz. En üstteki komut gibi systemd-cgtop da çalışan işlemleri hizmetlerine göre listeler:

listeyi daha da özetleştirip doğrudan bir servisin ne kadar ram ve cpu kaynağını tükettiğini görüntülemek için aşağıdaki komutu kullanabilirisniz.

ps -C “services-name” o %CPU,%MEM,cmd

Centos/RHEL 7 ve 8’de Ctrl+Alt-Del devre dışı bırakmak

İşletim sistemi konsolunda “Ctrl + Alt + Del” tuş kombinasyonuna basıldığında, işletim sisteminizin yeniden başlatılmasına neden olursunuz. Bu, varsayılan bir davranıştır ve bazen sistemin yanlışlıkla yeniden başlatılmasına neden olabileceği için bu özelliği kapatmak isteyebilirsiniz. Bu makalemde, yanlışlıkla kapanmayı önlemek için “Alt + Ctrl + Del” tuş kombinasyonunun nasıl devre dışı bırakılacağına değiniyor olacağım.

Ctrl + Alt + Delete” tuş kombinasyonunu devre dışı bırakmak gerekirse; bir hizmeti maskeleyerek de yapılabilir. Bu işlem bir hizmetin devre dışı bırakılması gibidir. Aşağıdaki komutu çalıştırarak

systemctl mask ctrl-alt-del.target

yada

ln -sf /dev/null /etc/systemd/system/ctrl-alt-del.target

/etc/systemd/, dev/null ile sembolik bağlantılı birimleri tanıyacak ve bunları maskelenmiş olarak gösterecektir. Biri tuş kombinasyonu göndermeye çalışırsa, bu aşağıdaki benzer hatayla başarısız olacaktır.

September 28 22:34:49 vkadirkozan systemd: Failed to enqueue ctrl-alt-del.target job: Unit ctrl-alt-del.target is masked.

Not: Ancak, bu adımlar GUI modunda “ctrl + Alt + delete” tuş kombinasyonunu devre dışı bırakmaz. GUI’de devre dışı bırakmak için klavye ayarlarının değiştirilmesi gerekiyor.

Not: “Ctrl-alt-del.target” Hedefin maskesini kaldırmak ve geri eski ayarlara dönmek için aşağıdaki komutu kullanabilirsiniz;

systemctl unmask ctrl-alt-del.target

CentOS 8 veya RHEL 8’de Ağ Servisinin Başlatılması ve Durdurulması

Bu makalemde, CentOS 8 veya RHEL 8 Linux sisteminde ağ hizmetlerini (Network Manager) başlatılması (start)/ durdurulması (stop) ve yeniden (restart) başlatmanıza yardımcı olacaktır komutları paylaşacağım.

Network Servisinin yeniden başlatılması için mevcut iki yöntem vardır. 1. yöntemde; “systemctl” aracını, 2. yöntemde ise; nmcli aracını kullanacağınız.

  1. Yöntem (systemctl)

CentOS / RHEL 8 Linux sisteminizde ağ hizmetini başlatmak / durdurmak için aşağıdaki komutları kullanabilirsiniz.

$ sudo systemctl start NetworkManager.service
$ sudo systemctl stop NetworkManager.service

CentOS / RHEL 8 Linux sisteminizde ağ hizmetini yeniden başlatmak için aşağıdaki komutu kullanabilirsiniz.

$ sudo systemctl restart NetworkManager.service

2. Yöntem (nmcli aracı kullanımı)

Nmcli aracı; CentOS / RHEL 8 Linux sisteminde NetworkManager’ı yönetmek için komut satırında size yardımcı olacak programdır. Bu yardımcı programı, CentOS 8 veya RHEL 8 sisteminizdeki ağ hizmetini durdurmak / başlatmak için kullanabilirsiniz.

Not : Uzaktan bağlı sistemler için nmcli ağını kapatmaya çalıştırmayın. Bu, makinedeki NetworkManager ağ bağlantılarını devre dışı bırakır ve bağlantınızı kaybedersiniz.

Aşağıdaki komut ile; CentOS 8 veya RHEL 8 Linux sistemindeki ağ bağlantıları devre dışı bırakacak ve tekrardan etkinleştirilecektir.

$ sudo nmcli networking off
$ sudo nmcli networking on

Centos 8 işletim sistemide BIND kurulumu ve Yapılandırılması (Master ve Secondary)

DNS, Alan Adı Sistemi anlamına gelir, ana bilgisayar adlarını veya URL’leri IP adreslerine çevirir. Örneğin, tarayıcıya www.kadirkozan.com.tr yazarsak, DNS sunucusu alan adını ilişkili ip adresine çevirir. IP adreslerinin her zaman hatırlanması zor olduğundan, www.kadirkozan.com.tr gibi ana bilgisayar adlarını 116.202.53.24’e çevirmek için DNS sunucuları kullanılır. Böylece IP adresi yerine alan adlarını hatırlamayı kolaylaştırır.

Bu makalemde CentOS 8 işletim sisteminde yerel bir DNS sunucusu kurulması ve yapılandırılması yer almaktadır.

DNS Kurulumu

Bu makalem için, üç node kullanacağım. Biri Ana DNS (Master Server) sunucusu olarak hareket edecek, ikinci sistem İkincil DNS olarak hareket edecek ve üçüncüsü de bizim DNS istemcimiz olacaktır. Bu sistemlerin bilgileri aşağıdaki tabloda yer almaktadır.

Bilgisayar Adıİşletim sistemiRoleIP AdresiFQDN
DNS01Centos 8 (minimal kurulum)DNS Master192.168.100.11/24dns02.kadirkozan.com.tr
DNS02Centos 8 (minimal kurulum)DNS Secondary192.168.100.12/24dns01.kadirkozan.com.tr
Centos01Centos 8 (GUI kurulum)Linux Client192.168.100.211/24centos01.kadirkozan.com.tr

Master Server – Kurulumu ve Yapılandırılması

BIND9 servisini Master sunucuya kurmak için “yum insall bind* -y” komutu çalıştırılır.

Kurulan paketler ve sürüm bilgileri;

Master Server – BIND Servisinin Aktifleştirilmesi ve Başlatılması

DNS hizmetini etkinleştirmek, başlatmak ve durumunu kontrol etmek için aşağıdaki komutları çalıştırınız.

systemctl enable named
systemctl start named
systemctl status named

Master Server – BIND Servisi için Firewall Yapılandırması

BIND servisini yeniden başlattıktan sonra sunucunun erişimi için IPtables içerisinde bir konfigürasyon işlemi yapılması gerekiyor. Bunun için bir metin editörü ile “/etc/sysconfig/iptables.config” dosyası içeriği açılır ve içerisine port 53 ‘ün TCP ve UDP protokollerinin açılması ve dışarıdan erişilebilmesi için aşağıdaki satırlar eklenir.

vi /etc/sysconfig/iptables.config
-A INPUT -p udp -m state –state NEW –dport 53 -j ACCEPT -A INPUT -p tcp -m state –state NEW –dport 53 -j ACCEPT
Okumaya devam et “Centos 8 işletim sistemide BIND kurulumu ve Yapılandırılması (Master ve Secondary)”

Centos, Fedora, ve Redhat’da VMware Tool Kurulumu

Merhabalar, bu yazımızda VMware ESXi veya VMware Workstation üzerine kurulmuş olan RHEL türevi işletim sistemlerinde (CentOS, Redhat ve Fedora) işletim sistemlerinde Vmware Tools kurulumunu adım adım yapıyor olacağız.

RHEL türevi işletim sisteminin kurulumu tamamlandıktan sonra VMware vSphere Client yada vCenter Client üzerinde Guest -> Install/Upgrade VMware Tool seçeneği seçilir. VMware Workstation’da ise ”VM” “Install VMware Tool” seçeneği ile VMware Tool kurulumu için gerekli olan medya mount edilir.

Okumaya devam et “Centos, Fedora, ve Redhat’da VMware Tool Kurulumu”