DEV Community

Duygu Ölmez for Açıklab

Posted on • Edited on

CentOS 8 Samba Derleme

Başlamadan Dikkat Edilmesi Gerekenler

  • Samba için gerekli olan servisler dil bağımlı olduğundan kurulan sunucunun dilinin ingilizce olması gerekmektedir.
  • Rpm tabanlı işletim sistemlerinde ssh ile uzak sunucuya bağlanırken çevre değişkenleri ile birlikte fiziksel makinedeki samba-client ayarları, dil ayarları komutları çalıştırırken hatalara neden olabilmektedir. En garanti yöntem olarak sunucunun kendi terminali üzerinde bu komutu çalıştırmak olacaktır.

Samba Derleme

1- Depo güncellenir ve derlemek için gerekli olan paketler yüklenir.

sudo yum config-manager --set-enable PowerTools sudo yum update -y sudo yum groups -y install "Development Tools" sudo yum -y install epel-release sudo yum -y install python3-iniparse libldb libtalloc libtdb libtevent python3-devel gnutls-devel libacl-devel openldap-devel pam-devel readline-devel krb5-devel cups-devel sudo yum -y install python3-devel lmdb-devel lmdb gpgme-devel jansson-devel libarchive-devel rpcgen 

2- Kurulmak istenen depo versiyonu bit değişkene atanır. Versiyon, Samba deposundaki listeden seçilebilir. (Örneğin: 4.11.6)

Bu aşamadan sonra yapılacak işlemlerde sürekli versiyon bilgisi kullanılacak. Farklı versiyonlar denenmek istediğinde tek tek komutlarda düzenleme yapmak yerine versiyon bilgisini değişkende tutarak $sambaver şeklinde kullanmak kolaylık sağlar.

sambaver=4.11.6 

3- /usr/src dizinine gidilerek samba paketleri buraya çekilir. (Genellikle kaynağından indirilip yeniden derlenmek istenen paketler burada derlenir, darklı bir dizin de kullanılabilir.)

cd /usr/src curl -O https://download.samba.org/pub/samba/stable/samba-$sambaver.tar.gz 

4- İndirilen tar dosyası açılır ve çıkartılan dizin içerisine gidilir

tar xvfz samba-$sambaver.tar.gz cd samba-$sambaver 

5- Gerekli optionlar seçilir ve derleme işlemi yapılır

./configure --prefix=/usr --localstatedir=/var --with-configdir=/etc/samba --libdir=/usr/lib64 --with-modulesdir=/usr/lib64/samba --with-pammodulesdir=/lib64/security --with-lockdir=/var/lib/samba --with-logfilebase=/var/log/samba --with-piddir=/run/samba --with-privatedir=/etc/samba --enable-cups --with-acl-support --with-ads --with-automount --enable-fhs --with-pam --with-quotas --with-shared-modules=idmap_rid,idmap_ad,idmap_hash,idmap_adex --with-syslog --with-utmp --with-dnsupdate make make install 

6- Samba servisi oluşturulur

echo """[Unit] Description=Samba AD Daemon Wants=network-online.target After=network.target network-online.target rsyslog.service [Service] Type=forking PIDFile=/run/samba/samba.pid LimitNOFILE=16384 ExecStart=/usr/sbin/samba --daemon ExecReload=/bin/kill -HUP $MAINPID [Install] WantedBy=multi-user.target""" > samba4.service sudo mv samba4.service /usr/lib/systemd/system/ 

7- Bu aşamada samba kurulumunu derleyerek tamamlamış oluyoruz. Fakat henüz bir domain mevcut değil. Yeni bir domain oluşturmak için aşağıdaki komutu kullanabiliriz.

samba-tool domain provision --server-role=dc --use-rfc2307 --dns-backend=SAMBA_INTERNAL --realm=DUYGULAB.TEST.NET --domain=DUYGULAB --adminpass=Passw0rd 

8- Samba servisi yeniden başlatılır ve başlangıçta çalışması için aktif edilir.

systemctl start samba4.service systemctl enable samba4.service systemctl status samba4.service 

Top comments (0)