DEV Community

Nurhak Şentürk
Nurhak Şentürk

Posted on • Edited on

Bacula&Baculum Kurulumu

Bu yazımda açık kaynak kodlu yedekleme yazılımı olan Bacula kurulumu ve yönetim arayüzü olan Baculum kurulumunu anlatacağım.

Kurulumu Ubuntu Server 20.04 üzerinden yapacağız.

Öncelikle Ubuntu Server kurulumunu yaparak temel ayarlarını (IP, Hostname, Depo Tanımları) tamamlıyoruz.

BACULA KURULUMU

Paket veritabanlarının güncel olduğuna emin oluyoruz.

apt-get update
Enter fullscreen mode Exit fullscreen mode

Uygulamanın kullanacağı veritabanı olarak PostgreSql kurulumu yapıyoruz. Sadece kurulum yapacağız. Gerekli konfigurasyonlar otomatik olarak tamamlanacaktır.

 apt-get install postgresql -y
Enter fullscreen mode Exit fullscreen mode

Bacula kurulumunu yapıyoruz.

apt-get install bacula -y
Enter fullscreen mode Exit fullscreen mode

Kurulum sonrasında aldığımız yedeklerin saklanacağı dizini oluşturuyoruz. Bu alan Storage üzerinden linux sunucuya mount edebileceğiniz herhangi bir alan(nfs gibi) olabilir.Biz kuruluma standart Linux file sisteminden dizin oluşturarak devam edeceğiz.İlgili dizin için yetkilendirme yapacağız.

mkdir /backup
chown -R bacula:bacula /backup
Enter fullscreen mode Exit fullscreen mode

/etc/bacula/bacula-sd.conf konfigurasyon dosyasında Archive Device gördüğümüz tüm satırların karşılıklarını yedeklerin saklanacağı dizin olarak ayarlıyoruz.

Device {
  Name = FileChgr2-Dev2
  Media Type = File2

  Archive Device = /bacula   ####################

  LabelMedia = yes;                   
  Random Access = Yes;
  AutomaticMount = yes;               
  RemovableMedia = no;
  AlwaysOpen = no;
  Maximum Concurrent Jobs = 5
}

Enter fullscreen mode Exit fullscreen mode

Store alanı ile ilgili konfigurasyon değişikliğinden sonra ilgili servisi yeniden başlatarak bacula konsola bağlanıp test yapabiliriz.

systemctl restart bacula-sd.service
bconsole 
Enter fullscreen mode Exit fullscreen mode

BACULUM KURULUMU

Baculum reposunun public key'ini APT repomuzun güvenilir anahtarlar listesine ekliyoruz.

wget -qO - http://www.bacula.org/downloads/baculum/baculum.pub | apt-key add -
Enter fullscreen mode Exit fullscreen mode

Baculum depo adreslerini ekleyebilmek için dosya oluşturuyoruz.

touch /etc/apt/sources.list.d/baculum.list
Enter fullscreen mode Exit fullscreen mode

Oluşturduğumuz dosyanın içeriğini düzenliyoruz. nano /etc/apt/sources.list.d/baculum.list

deb [ arch=amd64 ] http://www.bacula.org/downloads/baculum/stable-11/ubuntu focal main
deb-src http://www.bacula.org/downloads/baculum/stable-11/ubuntu focal main
Enter fullscreen mode Exit fullscreen mode

Paket veritabanlarını güncelliyoruz.

apt-get update
Enter fullscreen mode Exit fullscreen mode

Baculum Web ve API uygulaması için paket kurulumlarımızı yapıyoruz.

apt-get install baculum-common baculum-web baculum-api baculum-web-apache2
Enter fullscreen mode Exit fullscreen mode

Gerekli konfigurasyonların otomatik olarak yapılması için aşağıdaki komutları çalıştırıyoruz.

a2enmod rewrite
a2ensite baculum-web
a2ensite baculum-api
systemctl restart apache2
Enter fullscreen mode Exit fullscreen mode

Bu aşamada apache servisi aracılığıyla 9095 portundan web uygulamasının, 9096 portundan ise API'nin ayağa kalktığını görmemiz gerekiyor.Cli üzerinden portun hizmet verdiğini kontrol etmek için aşağıdaki komutu kullanabilirsiniz.

ss -tlpn
Enter fullscreen mode Exit fullscreen mode

Apache'nin bacula servislerini yönetebilmesi için /etc/sudoers.d/'nin altına baculum-api isminde bir dosya oluşturarak içeriğini aşağıdaki şekilde düzenliyoruz.

nano /etc/sudoers.d/baculum-api
Enter fullscreen mode Exit fullscreen mode
Defaults:www-data !requiretty
www-data ALL = (root) NOPASSWD: /usr/bin/bconsole
www-data ALL = (root) NOPASSWD: /opt/bacula/bin/bdirjson
www-data ALL = (root) NOPASSWD: /opt/bacula/bin/bsdjson
www-data ALL = (root) NOPASSWD: /opt/bacula/bin/bfdjson
www-data ALL = (root) NOPASSWD: /opt/bacula/bin/bbconsjson
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl start bacula-dir
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl stop bacula-dir
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl restart bacula-dir
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl start bacula-sd
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl stop bacula-sd
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl restart bacula-sd
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl start bacula-fd
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl stop bacula-fd
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl restart bacula-fd

Enter fullscreen mode Exit fullscreen mode

(Extra Bilgi)Yetki verdiğimiz dosya içerisinde belirtilen bacula çalıştırılabilir dosyalarının (bdirjson,bsdjson,bfdjson,bbconsjson) dizinleri değişkenlik gösterebiliyor. Bu sebeple ilgili dosyaların dizinlerini mlocate paketi ile tespit edebilirsiniz.

   apt install mlocate
   updatedb
   locate bfdjson
   locate bacula-fd.conf
   locate bbconsjson
Enter fullscreen mode Exit fullscreen mode

Kurulumun bundan sonraki adımlarına arayüz üzerinden devam ediliyor.
Kurumulum yaptığımız sunucunun IP adresinin 9096 portuna Web Browser üzerinden istekte bulunuyoruz.Karşımıza kullanıcı adı ve parola ekranı geliyor.

#API SERVER YAPILANDIRMA ICIN
http://Server_IP:9096
Username:admin
Password:admin

#WEB SERVER YAPILANDIRMA ICIN
http://Server_IP:9095
Username:admin
Password:admin
Enter fullscreen mode Exit fullscreen mode

Her iki servis için ekrana gelen adımları Test butonundan Başarılı cevabını alacak şekilde doldurarak tamamlıyoruz.
Gelen formlarda bazı dosyaların bulunduğu dizinlerde hatalar olabiliyor. Yukarıda extra bilgi kısmında paylaştığım gibi mlocate paketi ile doğru dizinleri bulabilirsiniz.

Tüm adımları tamamladıktan sonra Sunucunun 9095 portuna istek attığınızda aşağıdaki gibi bir ekran ile karşılaşmanız gerekmetedir.

Image description

Top comments (0)