4.安裝配置bacula-gui(管理頁面)


1.   安裝配置bacula-gui(管理頁面)

Bacula-gui分為兩個部分:

Baculum-api可通過OAuth2(開放認證模式)或HTTP認證(用戶名和密碼)認證提供統一接口服務;

Baculum-web通過baculum-api訪問bacula,並可對bacula進行操作。

注:

建議使用二進制包安裝(YUM)LAMP環境,如果使用源碼包安裝,在baculum-web上添加client時會有如下報錯,導致client不能正常添加:

1.1.   安裝bacula-gui依賴包

Bacula-gui對php要求如下:

PHP 5.3.4 or higher with following modules installed:

– cURL PHP module.

– MB String PHP module.

– JSON PHP module.

• PHP 5.3.4 or higher with following modules installed:

– PDO PHP support - depending on your catalog database: PDO PostgreSQL or PDO MySQL.

Note, in case using MySQL database there is required to use MySQL native driver. It is php-mysqlnd for PHP, not php-mysql.

– BCMath PHP module.

– JSON PHP module

  

通過額外YUM源進行安裝,以Centos為例:

添加額外YUM

# centos7

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

# centos6

rpm -Uvh  https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-6.rpm

rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm

CentOS 5.x

rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm

 

安裝php(可以選擇以下任意一個版本)

# 安裝php7.0

yum -y install httpd php70-php php70-php-gd php70-php-gettext php70-php-mysql php70-php-pdo php70-php-bcmath php70-php-mbstring php70-php-xml php70-php-common php70-php-cli php70-php-json php70-php-mysqlnd php70-runtime php70-php-process

# 安裝php7.2

yum -y install httpd php72-php php72-php-gd php72-php-gettext php72-php-mysql php72-php-pdo php72-php-bcmath php72-php-mbstring php72-php-xml php72-php-common php72-php-cli php72-php-json php72-php-mysqlnd php72-runtime php72-php-process

# 安裝php7.3

yum -y install httpd php73-php php73-php-gd php73-php-gettext php73-php-mysql php73-php-pdo php73-php-bcmath php73-php-mbstring php73-php-xml php73-php-common php73-php-cli php73-php-json php73-php-mysqlnd php73-runtime php73-php-process

 

# 驗證php

vi /var/www/html/phpinfo.php

<?php

    echo phpinfo();

?>

瀏覽器訪問

http://serverip/phpinfo.php

 

1.2.   創建並修改配置文件

 按照bacula官方文檔安裝:

https://blog.bacula.org/documentation/documentation/

 

tar zxf bacula-gui-9.2.2.tar.gz

cd bacula-gui-9.2.2/baculum

 

# build文件。 DESTDIR為build目標位置

make build DESTDIR=/usr/local/baculum/

 

# 拷貝baculum apache配置文件

cp /usr/local/baculum/etc/httpd/conf.d/baculum-web.conf /etc/httpd/conf.d/

cp /usr/local/baculum/etc/httpd/conf.d/baculum-api.conf /etc/httpd/conf.d/

 

# 源碼包安裝的LAMP

# cp /usr/local/baculum/etc/httpd/conf.d/baculum-web.conf /usr/local/apache/conf/extra/

 

# cp /usr/local/baculum/etc/httpd/conf.d/baculum-api.conf /usr/local/apache/conf/extra/

 

# 修改baculum apache配置文件

vi /etc/httpd/conf.d/baculum-web.conf

vi /etc/httpd/conf.d/baculum-api.conf

將“/usr/share/baculum/”

替換成“/usr/local/baculum/usr/share/baculum”

 

# 或使用sed命令替換

#sed -i 's#/usr/share/baculum#/usr/local/baculum/usr/share/baculum#g' /etc/httpd/conf.d/baculum-web.conf

#sed -i 's#/usr/share/baculum#/usr/local/baculum/usr/share/baculum#g' /etc/httpd/conf.d/baculum-api.conf

 

# 鏈接baculum language_file(針對bacula-gui-7.x,bacula-gui-9.x無需操作)

ln -s /usr/local/baculum/usr/share/locale/en/LC_MESSAGES/baculum.mo /usr/share/locale/en/LC_MESSAGES/baculum.mo

ln -s /usr/local/baculum/usr/share/locale/pl/LC_MESSAGES/baculum.mo /usr/share/locale/pl/LC_MESSAGES/baculum.mo

ln -s /usr/local/baculum/usr/share/locale/pt/LC_MESSAGES/baculum.mo /usr/share/locale/pt/LC_MESSAGES/baculum.mo

 

# 創建baculum認證文件並允許apache用戶讀寫

chown -R apache:apache /usr/local/baculum/usr/share/baculum/htdocs/

# baculum-web和baculum-api指定的認證文件位於/usr/local/baculum/usr/,需要手動創建

#chown -R apache:apache /usr/local/baculum/etc/baculum/Config-api-apache/baculum.users

#chown -R apache:apache /usr/local/baculum/etc/baculum/Config-web-apache/baculum.users

cp /usr/local/baculum/etc/baculum/Config-api-apache/baculum.users /usr/local/baculum/usr/share/baculum/htdocs/protected/API/Config/baculum.users

cp /usr/local/baculum/etc/baculum/Config-web-apache/baculum.users /usr/local/baculum/usr/share/baculum/htdocs/protected/Web/Config/baculum.users

chown -R apache:apache /usr/local/baculum/usr/share/baculum/htdocs/protected/API/Config/baculum.users

chown -R apache:apache /usr/local/baculum/usr/share/baculum/htdocs/protected/Web/Config/baculum.users

 

# 修改bacula權限

chmod 755 /usr/local/bacula/etc/

chmod 755 /usr/local/bacula/etc/bconsole.conf

 

chown -R apache.apache /usr/local/baculum/

chown -R apache:apache /usr/local/bacula/bin/

chown -R apache:apache /usr/local/bacula/etc/

chown -R apache:apache /usr/local/bacula/working/

 

1.3.   修改bacula-gui登錄用戶和密碼

 # baculum-web和baculum-api默認用戶名和密碼是admin/admin,如需手動修改可參考如下操作

 

# 創建baculum-web用戶(用於baculum-web初始化登錄)

htpasswd -c /usr/local/baculum/usr/share/baculum/htdocs/protected/Web/Config/baculum.users admin

# 創建baculum-api用戶(用於baculum-api初始化登錄)

htpasswd -c /usr/local/baculum/usr/share/baculum/htdocs/protected/API/Config/baculum.users admin

#chown apache:apache /usr/local/baculum/usr/share/baculum/htdocs/protected/Web/Config/baculum.users

#chown apache:apache /usr/local/baculum/usr/share/baculum/htdocs/protected/API/Config/baculum.users

 

1.4.   訪問並配置bacula-gui

 Bacula-gui需要先配置api服務,再配置web服務

# apache2.4以下版本會存在以下錯誤:

configuration error:  couldn't perform authentication. AuthType not set!: /index.php/api/page/

該錯誤是由於apache的版本為2.2,不支持Require all granted,注釋該配置即可。

vi /etc/httpd/conf.d/baculum-api.conf

...

Require all granted

# it's only needed on Apache >=2.4

# 所以需要注釋該段

...

 

# 啟動apache並將apache加入開機自啟

service httpd start

chkconfig httpd on

 

1.5.   配置baculum-api服務

 # 訪問baculum-api,默認端口為9096,配置api服務

http://serverip:9096

用戶名和密碼為《創建bacula-gui登錄用戶》中定義的用戶名密碼。

1.5.1.  Step 1:Language

選擇默認:English

1.5.2.  Step 2:Catalog API

根據環境配置填寫,test通過才能進行下一步。

 

1.5.3.  Step 3:Console API

 

根據環境配置填寫,test通過才能進行下一步。

 

1.5.4.  Step 4:Config API

 根據環境配置填寫,test通過才能進行下一步。

1.5.5.  Step 5:Authonization

認證方式分為兩種,OAuth2(開放認證模式)和HTTP認證(用戶名和密碼)

OAuth2介紹:

允許用戶提供一個令牌,而不是用戶名和密碼來訪問他們存放在特定服務提供者的數據。每一個令牌授權一個特定的網站(例如,視頻編輯網站)在特定的時段(例如,接下來的2小時內)內訪問特定的資源(例如僅僅是某一相冊中的視頻)。這樣,OAuth允許用戶授權第三方網站訪問他們存儲在另外的服務提供者上的信息,而不需要分享他們的訪問許可或他們數據的所有內容。

1.5.5.1. HTTP Basic authentication

 首次配置的時候需要輸入新的用戶名和密碼信息。(此用戶名密碼既是api頁面的登錄賬號,又是basic api的驗證賬號)

 

配置完成后,可在API default page下List HTTP Basic users界面管理api用戶。

1.5.5.2. OAuth2 for authentication

選擇OAuth2 authentication,需要修改apache配置支持

vi /etc/httpd/conf.d/bacullum-api.conf

...

# NOTE: When you use OAuth2 then change this location section

# From: <Location />

# To:   <Location /api/page>

#

<Location /api/page>

   AuthType Basic

   AuthName "Baculum Auth"

   AuthUserFile /usr/local/baculum/usr/share/baculum/htdocs/protected/API/Config/baculum.users

   Require valid-user

</Location>

...

# 修改完成后重啟apache服務。

API default page下List OAuth2 client界面用於管理client配置。

1.6.   配置baculum-web服務

# 訪問baculum-web,默認端口為9095,配置baculum web服務

http://serverip:9095

用戶名和密碼為《創建bacula-gui登錄用戶》中定義的用戶名密碼。

1.6.1.  Step 1:Lanaguage

選擇默認:English

1.6.2.  Step 2:Add APIs

1.6.2.1. HTTP Basic authentication

可登錄baculum_api -> List HTTP Basic user添加或查看用戶。

1.6.2.2. OAuth2 for authentication

OAuth2 client parameters可從登錄baculum_api -> List OAuth2 clients添加或查看。

1.6.3.  Step 3:Authentication

這里的認證是設置baculum web的登錄賬號(可自定義賬號密碼)

1.6.4.  Step 4:Finish

保存配置,完成配置。Dashboard顯示如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM