]> git.sur5r.net Git - bacula/bacula/blob - gui/baculum/INSTALL
Add Baculum
[bacula/bacula] / gui / baculum / INSTALL
1 1. Baculum overview
2 2. Baculum operating system environment
3   2.1 General requirements
4   2.2 Linux Fedora
5   2.3 Linux Debian
6 3. Preparing Baculum files
7 4. Preparing Apache Web Server
8 5. Example configuration VirtualHost
9
10 =========================================
11
12 1. Baculum overview
13
14 Baculum is Bacula web based interface. It enables Bacula administration
15 functions such as:
16
17 - Running backup and restore tasks
18 - Monitoring Bacula services by getting status these services
19 - Bacula console available via web interface
20 - Multiple Directors support
21 - Volumes managenment including labeling new volumes
22 - Basic storage daemon operations on volumes (mount, umount, release actions)
23 - Easy in use configuration and restore wizards
24 - other features...
25
26 Note!
27 This Baculum release does not support Verify kind of jobs. Support for Verify
28 jobs will be implemented in next Baculum release.
29
30
31 2. Baculum operating system environment
32
33
34 2.1 General requirements
35
36
37 Environmnent for Baculum installation should have next components:
38
39 - Web Server - with mod_rewrite module loaded. Baculum has been
40 tested on Apache HTTP Server.
41
42 - PHP 5.3 or higher - as web server module. PHP CLI interpreter is not needed.
43 PHP should have installed next modules:
44     * PDO PHP support - depending on your catalog database: PDO PostgreSQL,
45 PDO MySQL or PDO SQLite.
46     * BCMath PHP module.
47     * cURL PHP module.
48     * MB String PHP module.
49 - Bconsole - configured Bacula text based console
50 - Access to Bacula catalog database - computer with Baculum installation should be
51 able to connection to Bacula catalog database. There is not need to install Baculum
52 on server with Bacula DB because Baculum can communicate with Bacula database
53 located on remote server.
54
55 Above requirements are validated during Baculum start. So if in installation
56 environment there lacks some from these components then you will be informed
57 about it.
58
59
60 2.2 Linux Fedora
61
62
63 Packages required for run Baculum in Fedora environemnt can be installed by command:
64
65 # yum install httpd \
66 php \
67 php-common \
68 php-pdo \
69 php-pgsql \
70 php-mysqlnd \
71 php-mbstring \
72 php-bcmath
73
74 In Fedora 20 PHP module for cURL support is compiled in PHP.
75
76 In case of using SELinux functionality in Baculum environment, recommended way
77 is switching "httpd_t" SELinux security doman to permissive domain like below:
78
79 # semanage permissive -a httpd_t
80
81 Suggested method for Baculum webGUI access to Bacula Console (bconsole) is using
82 "sudo" functionality for that. In this case there is need to add to /etc/sudoers file two
83 lines according next template:
84
85 Defaults:apache_user    !requiretty
86 apache_user ALL= NOPASSWD:      bconsole_path
87
88 For example for user called "apache" from that HTTP service working with Baculum
89 there is need to add line like below:
90
91 Defaults:apache !requiretty
92 apache  ALL= NOPASSWD:  /usr/sbin/bconsole
93
94
95 2.3 Linux Debian
96
97
98 Packages required for run Baculum in Debian environemnt can be installed by command:
99
100 apt-get install apache2 \
101 libapache2-mod-php5 \
102 php5 \
103 php5-pgsql \
104 php5-mysql \
105 php5-curl
106
107 In Debian 7.4.0, PHP modules for BCMath and MultiByte String support are compiled in PHP.
108
109 There is need to create symbolic link as below, for enable mod_rewrite module in Apache.
110
111 # ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
112
113 Suggested method for Baculum webGUI access to Bacula Console (bconsole) is using
114 "sudo" functionality for that. In this case there is need to add to /etc/sudoers below
115 line according next template:
116
117 apache_user ALL= NOPASSWD:      bconsole_path
118
119 For example for user called "www-data" from that HTTP service working with Baculum
120 there is need to add line like below:
121
122 www-data        ALL= NOPASSWD:  /usr/sbin/bconsole
123
124
125 3. Preparing Baculum files
126
127
128 After downloading and unpacking Baculum sources archive there is need to set write
129 permissions for web server for three below directories:
130
131 /[files base location]/assets
132 /[files base location]/protected/Data
133 /[files base location]/protected/runtime
134
135 These directories permissions are validated during Baculum start. If web server
136 will not be able to write data in some from above directries then you will be
137 informed about this fact.
138
139
140 4. Preparing Apache Web Server
141
142
143 First there is need to configure authentication to Baculum from web server side.
144 Baculum supports HTTP Basic authentication from web server.
145
146 In Apache web server this authentication method may be realizing by next directives
147 declaration in Apache configuration file:
148
149 AuthType Basic
150 AuthUserFile /etc/apache2/passwords
151 Require valid-user
152
153 File located in /etc/apache2/passwords is an example file which contains users and
154 passwords. For generating passwords file you may use htpasswd binary file in next
155 way:
156
157 # htpasswd -c /etc/apache2/passwords someuser
158
159 You will be asked about inputing password and retype password for user.
160
161 NOTE!
162 "-c" switcher you should use only for new created passwords file. For existing
163 passwords file "-c" switcher should not be inputed.
164
165
166 5. Example configuration VirtualHost
167
168
169 <VirtualHost *:80>
170         DocumentRoot /var/www/baculum
171         ServerName somehost.example.com
172         <Directory /var/www/baculum>
173                 AllowOverride All
174                 AuthType Basic
175                 AuthName MyPrivateFile
176                 AuthUserFile /etc/apache2/passwords
177                 Require valid-user
178         </Directory>
179 </VirtualHost>
180
181
182 Above configuration should be writen in a new Apache configuration file.
183 for example, location for that can be put to /etc/apache2/sites-enabled/baculum.conf.
184
185 In this way, configuration file baculum.conf will be loaded automaticly during
186 Apache server start.