Ceci est une ancienne révision du document !
Table des matières
Bacula et dépendances
backports
On va installer la version 5 qui est sur le “backports”.
# aptitude install exim4
mysql
# aptitude install mysql-server
director
# aptitude -t lenny-backports install bacula-director-mysql
console
# aptitude -t lenny-backports bacula-console
sd et fd
# aptitude -t lenny-backports install bacula-fd bacula-sd-mysql
Bacula
ipv4
Si on “blacklist ipv6” , alors “bacula” doit être forcé afin de ne fonctionner qu'en ipv4… sinon, les communications echouent silencieusement (les jobs ne se terminent jamais).
Exemple de conf, pour “bacula-dir.conf” :
# TJ --------- #DirAddress = 127.0.0.1 #DIRport = 9101 # where we listen for UA connections DirAddresses = { ipv4 = { addr = 0.0.0.0; } }
Adapter pour chaque daemon.
Webacula
installation
apache
# aptitude install apache2 libapache2-mod-php5 php5-mysql # aptitude install php5-gd
ne pas oublier “php5-mysql” ! |
# a2enmod rewrite # /etc/init.d/apache2 restart
download
$ cd /usr/local/src $ wget .... webacula-5.0.2.tar.gz $ tar xvzf ....
etc…
Zend Framework
$ wget .... ZendFramework-1.10.8-minimal.tar.gz
Dans /etc/php5/apache2/php.ini
, ajouter au parametre include_path
:
; TJ ; ------------------ include_path = "/usr/local/src/ZendFramework/library" ; ------------------
Ou bien:
# cd /var/www/webacula/library # ln -s /usr/local/src/ZendFramework/library/Zend .
# /etc/init.d/apache2 restart
webacula
: copier dans /var/www/webacula
bconsole
# adduser www-data bacula
Test:
# su -l www-data -s /bin/sh -c "/usr/bin/bconsole -n -c /etc/bacula/bconsole.conf"
www
Dans /etc/apache2/sites-available
, creer le fichier 200-webacula
contenant:
Alias "/webacula" "/var/www/webacula/html" <Directory "/var/www/webacula/html"> RewriteEngine on Options FollowSymLinks AllowOverride All Order deny,allow Allow from 127.0.0.1 # your network Allow from 192.168.1.0/255.255.255.0 AuthType Basic AuthName "Webacula" #AuthUserFile /etc/apache2/conf.d/webacula.users AuthUserFile /var/www/webacula/passwd/.webacula.users # a creer! Require valid-user </Directory>
Activer:
# a2ensite 200-webacula
Modifier /etc/php5/apache2/php.ini
pour avoir:
max_execution_time = 600 memory_limit = 256M
# apache2ctl graceful
: modifier conf de bacula-dir.conf
???
Dans /var/www/webacula/html/.htaccess
, faire en sorte d'avoir (?) :
SetEnv APPLICATION_ENV production
Dans le fichier /var/www/webacula/application/config.ini
modifier pour avoir:
... db.config.username = webacula db.config.password = <MOT_DE_PASSE> ... bacula.sudo = "" bacula.bconsole = "/usr/bin/bconsole" ...
MySQL
Dans ../install
, modifier avec le fichier webacula_mysql_create_database.sh
avec les parametres de son choix. Par exemple:
... db_user="webacula" db_password="<MOT_DE_PASSE>" ...
Et puis:
# ./webacula_mysql_create_database.sh -u root -p Enter password: Creation of webacula database succeeded.
Et aussi:
# ./webacula_mysql_make_tables.sh -u root -p Enter password: Creation of webacula MySQL tables succeeded.
Completer afin que ce compte puisse aussi modifier le “catalog” bacula ( : lire ne suffit pas ? ) :
mysql> GRANT ALL ON bacula.* TO webacula@localhost; Query OK, 0 rows affected (0.00 sec)
www passwd
Creer le fichier de mots de passe:
# mkdir passwd # cd passwd # htpasswd -c .webacula.users Webacula
Fournir le mot de passe pour le compte Webacula
(Ne pas utiliser “-c”, pour creer d'autres comptes!)
: d'aprés la doc, y a des CRON a installer
En marche
C'est mieux que rien.
DataBase
MySQL
C'est extremement lent. Il faut peut envisager autre chose que MySQL !?
tmpfs
En fait, le changement est *insignifiant* avec MySQL ! Donc, ne pas faire ça pour ça ! |
J'ai mounter un fichier “tmp” pour “mysql” comme ça:
# mkdir /mnt/mysql-tmp # chmod 0777 /mnt/mysql-tmp
Dans fstab:
tmpfs /mnt/mysql-tmp tmpfs defaults,size=512M 0 0
Et puis:
# mount -a
my.cnf
Tweaks des options de MySQL ? dans my.cnf ?
$ dpkg -S my-huge.cnf
Ce que j'ai fait:
... tmpdir = /mnt/mysql-tmp # <--- seulement si on utilise "tmpfs" ... skip-locking key_buffer = 384M max_allowed_packet = 1M table_cache = 512 sort_buffer_size = 2M read_buffer_size = 2M read_rnd_buffer_size = 8M myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size = 32M # Try number of CPU's*2 for thread_concurrency thread_concurrency = 8 ... [isamchk] key_buffer = 256M sort_buffer_size = 256M read_buffer = 2M write_buffer = 2M ...
Index
Ce qui a fonctionné pour moi:
$ mysql -u root -p mysql> use bacula;
Examinons avec:
mysql> show index from File;
Mais j'y comprend que dalle en fait, et donc je fais :
mysql> CREATE INDEX file_jobid_idx on File (JobId); mysql> CREATE INDEX file_jpf_idx on File (JobId, FilenameId, PathId);
Les perfs sont booooooostés. Je peus enfin restaurer des fichiers d'une grosse base.
Shrink
Lien: http://www.mail-archive.com/bacula-users@lists.sourceforge.net/msg11973.html
Il faut que j'essaye…
# /etc/bacula/scripts/make_catalog_backup --user=<USER> --password=<MOT_DE_PASSE>
DROP de la database
# mysql --user=<USER> --password=<MOT_DE_PASSE> < bacula.sql
Compression
Lien: http://edin.no-ip.com/content/bacula-backup-with-gzip-compress-on
…
Software Compression: 53.9 %
…
TLS
Liens:
easy-rsa
package
On va recupere “easy-rsa” dans le package “openvpn”.
On est dans le cas où l'on n'installera pas le package “openvpn”, on veut juste “easy-rsa” :
$ dpkg --print-architecture amd64
Je suis dans un DomU 64bit, donc, on recupère le package “openvpn” qui va bien.
$ cd ~/tmp $ mkdir openvpn $ cd openvpn $ wget http://ftp.fr.debian.org/debian/pool/main/o/openvpn/openvpn_2.1~rc11-1_amd64.deb $ dpkg -x openvpn_2.1~rc11-1_amd64.deb ./
install
“easy-rsa” est dans usr/share/doc/openvpn/examples/easy-rsa/2.0/
. Donc:
$ su # mkdir /etc/bacula/easy-rsa # cp -Rp usr/share/doc/openvpn/examples/easy-rsa/2.0/. /etc/bacula/easy-rsa # cd /etc/bacula/easy-rsa/ # chown -R root: *
vars
Modifier “vars” car par defaut il contient:
# cat vars | grep -v "^#" | grep -v "^$" export EASY_RSA="`pwd`" export OPENSSL="openssl" export PKCS11TOOL="pkcs11-tool" export GREP="grep" export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA` export KEY_DIR="$EASY_RSA/keys" echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR export PKCS11_MODULE_PATH="dummy" export PKCS11_PIN="dummy" export KEY_SIZE=1024 export CA_EXPIRE=3650 export KEY_EXPIRE=3650 export KEY_COUNTRY="US" export KEY_PROVINCE="CA" export KEY_CITY="SanFrancisco" export KEY_ORG="Fort-Funston" export KEY_EMAIL="me@myhost.mydomain"
Il me semble judicieux d'adapter au moins:
KEY_COUNTRY KEY_PROVINCE KEY_CITY KEY_ORG KEY_EMAIL
… et peut etre:
KEY_SIZE CA_EXPIRE KEY_EXPIRE
**LA PREMIERE FOIS SEULEMENT**
clean-all
Faire:
# . ./vars # ./clean-all # ./build-ca
car :
- le repertoire “./keys” va etre totalement effacé ! et c'est la que seront les futures codes!!!
- le “ca” va être créé
Un répertoire “./keys” est maintenant peuplé…
Important:
Common Name : Bacula CA
server
Aussi la premiere fois, il faut dire qui est le maitre des clés (en quelques sortes):
./build-key-server bacula-server Common Name : my-bacula-server.fqdn
En “CN”, le nom fqdn. svp.