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
Uygulamanın kullanacağı veritabanı olarak PostgreSql kurulumu yapıyoruz. Sadece kurulum yapacağız. Gerekli konfigurasyonlar otomatik olarak tamamlanacaktır.
apt-get install postgresql -y
Bacula kurulumunu yapıyoruz.
apt-get install bacula -y
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
/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
}
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
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 -
Baculum depo adreslerini ekleyebilmek için dosya oluşturuyoruz.
touch /etc/apt/sources.list.d/baculum.list
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
Paket veritabanlarını güncelliyoruz.
apt-get update
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
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
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
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
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
(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
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
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.
Top comments (0)