]> git.sur5r.net Git - bacula/bacula/blob - gui/baculum/INSTALL
baculum: Tweak INSTALL file
[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 - Support for customized and restricted consoles (Console ACL functionality)
21 - Multiple Directors support
22 - Volumes managenment including labeling new volumes
23 - Basic storage daemon operations on volumes (mount, umount, release actions)
24 - Easy in use configuration and restore wizards
25 - other features...
26
27
28 2. Baculum operating system environment
29
30
31 2.1 General requirements
32
33
34 Environmnent for Baculum installation should have next components:
35
36 - Web Server - with mod_rewrite module loaded. Baculum has been
37 tested on Apache HTTP Server.
38
39 - PHP 5.3 or higher - as web server module. PHP CLI interpreter is not needed.
40 PHP should have installed next modules:
41     * PDO PHP support - depending on your catalog database: PDO PostgreSQL,
42 PDO MySQL or PDO SQLite.
43       Note, in case using MySQL database required is using MySQL native driver.
44       It is php-mysqlnd for PHP, not php-mysql.
45     * BCMath PHP module.
46     * cURL PHP module.
47     * MB String PHP module.
48     * JSON 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 and for JSON support are 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 Please be sure that in PHP configuration file (usually located in /etc/php.ini)
82 there is option error_reporting set as below:
83
84 error_reporting = E_ALL & ~E_STRICT
85 memory_limit = 256M
86
87 Suggested method for Baculum webGUI access to Bacula Console (bconsole) is using
88 "sudo" functionality for that. In this case there is need to add to /etc/sudoers file two
89 lines according next template:
90
91 Defaults:apache_user    !requiretty
92 apache_user ALL= NOPASSWD:      bconsole_path
93
94 For example for user called "apache" from that HTTP service working with Baculum
95 there is need to add line like below:
96
97 Defaults:apache !requiretty
98 apache  ALL= NOPASSWD:  /usr/sbin/bconsole
99
100
101 2.3 Linux Debian
102
103
104 Packages required for run Baculum in Debian environemnt can be installed by command:
105
106 apt-get install apache2 \
107 libapache2-mod-php5 \
108 php5 \
109 php5-pgsql \
110 php5-mysql \
111 php5-curl \
112 php5-json
113
114 In Debian 7.4.0, PHP modules for BCMath and MultiByte String support are compiled in PHP.
115
116 There is need to create symbolic link as below, for enable mod_rewrite module in Apache.
117
118 # ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
119
120 Please be sure that in PHP configuration file (usually located in /etc/php5/apache2/php.ini)
121 there is option error_reporting set as below:
122
123 error_reporting = E_ALL & ~E_STRICT
124 memory_limit = 256M
125
126 Suggested method for Baculum webGUI access to Bacula Console (bconsole) is using
127 "sudo" functionality for that. In this case there is need to add to /etc/sudoers below
128 line according next template:
129
130 apache_user ALL= NOPASSWD:      bconsole_path
131
132 For example for user called "www-data" from that HTTP service working with Baculum
133 there is need to add line like below:
134
135 www-data        ALL= NOPASSWD:  /usr/sbin/bconsole
136
137
138 3. Preparing Baculum files
139
140
141 After downloading and unpacking Baculum sources archive there is need to set write
142 permissions for web server for three below directories:
143
144 /[files base location]/assets
145 /[files base location]/protected/Data
146 /[files base location]/protected/runtime
147
148 These directories permissions are validated during Baculum start. If web server
149 will not be able to write data in some from above directries then you will be
150 informed about this fact.
151
152
153 4. Preparing Apache Web Server
154
155
156 First there is need to configure authentication to Baculum from web server side.
157 Baculum supports HTTP Basic authentication from web server.
158
159 In Apache web server this authentication method may be realizing by next directives
160 declaration in Apache configuration file:
161
162 AuthType Basic
163 AuthUserFile /etc/apache2/passwords
164 Require valid-user
165
166 File located in /etc/apache2/passwords is an example file which contains users and
167 passwords. For generating passwords file you may use htpasswd binary file in next
168 way:
169
170 # htpasswd -c /etc/apache2/passwords someuser
171
172 You will be asked about inputing password and retype password for user.
173
174 NOTE!
175 "-c" switcher you should use only for new created passwords file. For existing
176 passwords file "-c" switcher should not be inputed.
177
178
179 5. Example configuration VirtualHost
180
181
182 <VirtualHost *:80>
183         DocumentRoot /var/www/baculum
184         ServerName somehost.example.com
185         <Directory /var/www/baculum>
186                 AllowOverride All
187                 AuthType Basic
188                 AuthName MyPrivateFile
189                 AuthUserFile /etc/apache2/passwords
190                 Require valid-user
191         </Directory>
192 </VirtualHost>
193
194
195 Above configuration should be writen in a new Apache configuration file.
196 for example, location for that can be put to /etc/apache2/sites-enabled/baculum.conf.
197
198 In this way, configuration file baculum.conf will be loaded automaticly during
199 Apache server start.