Strails – Lo stato dei sentieri – Pubblicato il codice sorgente su GitHub

strails

Social trail state

Strails è un'applicazione web utile agli appassionati di Mountain bike e trekking.

L'applicazione Strails ha un funzionamento molto semplice.

Il suo scopo è quello di poter descrivere lo stato di un sentiero o di un segmento Strava.

Gli utenti di Strails possono conoscere quasi in tempo reale le condizioni di un tragitto e decidere quali sentieri percorrere, preventivamente consapevoli e informati su eventuali pericoli presenti nel tracciato scelto. Queste informazioni, condivise in modo social su Strails, permettono quindi di migliorare la sicurezza degli utenti e di poter scegliere il percorso più divertente e nelle migliori condizioni.

Inoltre anche i trail builder potranno intervenire in modo più preciso e puntuale per il ripristino dei sentieri grazie alle segnalazioni di Strails. Strails necessità di una banale registrazione con email e password oppure del login con il proprio account Google, Facebook o Strava. La registrazione consente di commentare i soli sentieri presenti su openstreetmap.

Cliccando anche su "Connect with Strava" si può accedere ai propri dati ed a tutti i segmenti Strava. La connessione con Strava permette di poter recuperare le proprie attività e visualizzarle su una mappa (in arancione), contestualmente appaiono anche i sentieri OSM (in blu) ed i segmenti Strava (in rosso). Gli ultimi due potranno quindi essere più facilmente individuabili per essere "commentati" cliccandoci sopra.

Per individuare un sentiero e poterlo "commentare", è anche possibile scorrere semplicemente la mappa cliccando su "apri e scorri la mappa". Zommando fino alla zona di interesse, oppure cliccando sull'icona in alto a sinistra per zommare sulla posizione corrente, si possono visualizzare tutti i sentieri cliccabili. Ogni utente può anche inserire un sentiero o un segmento nei propri preferiti per poterlo consultare e commentare più agevolmente. Tutto ciò che è nei preferiti può avere colore celeste (se non ha mai avuto commenti), verde (se l'ultimo commento è positivo), giallo (se l'ultimo commento è un avviso) o rosso (se l'ultimo commento segnala un pericolo o problema grave). Il colore permette quindi una rapida valutazione.

Strails è in continuo aggiornamento. Ogni volta che ho un po' di tempo libero cerco di aumentarne funzionalità e semplicità d'uso. Ogni consiglio e suggerimento sarà prezioso per renderlo migliore.

L'indirizzo è:

https://www.strails.it

Pubblicato il codice sorgente

Lo trovate qui

Spero possiate aiutarmi e darmi buone idee per migliorare

Grazie per l'attenzione

MaoX17



WordPress con docker-compose e traefik

wordpress-docker-compose

Eseguire wordpress su docker o migrare un Wordpress esistente su Docker

Se alcuni link non dovessero funzionare prova qui https://github.com/MaoX17/wordpress-docker-compose/ o qui

GreMaPro

Dockerizzare un wordpress esistente

Questa versione è valida sia con traefik che con nginx di jwilder come reverse proxy

Adesso iniziamo

Di seguito ci sono i passaggi per ralizzare il tutto da zero...

Altrimenti ... quick install

Partiamo dal traefik

Traefik

Traefik

Primo comando:

docker network create proxy

Genero la stringa di auth:

htpasswd -n username

ottengo:

username:$apr1$VDSty0Wy$5nrZ7nthjusltZXM0eE2s/

Creo il file acme.json

touch conf/acme.json
chmod 600 conf/acme.json

Creo il file ./conf/traefik.toml


[entryPoints]
  [entryPoints.web]
    address = ":80"
    [entryPoints.web.http.redirections.entryPoint]
      to = "websecure"
      scheme = "https"

  [entryPoints.websecure]
    address = ":443"

[api]
  dashboard = true

[certificatesResolvers.lets-encrypt.acme]
  email = "maurizio.proietti(AT)EMAIL.com"
  storage = "acme.json"
  [certificatesResolvers.lets-encrypt.acme.tlsChallenge]

[providers.docker]
  watch = true
  network = "proxy"


[providers.file]
  filename = "traefik_dynamic.toml"
  

Creo il file ./conf/traefik_dynamic.toml

[http.middlewares.simpleAuth.basicAuth]
  users = [
    "username:$apr1$VDSty0Wy$5nrZ7nthjusltZXM0XXeE2s/"
  ]

[http.routers.api]
  rule = "Host(`traefik.proietti.net`)"
  entrypoints = ["websecure"]
  middlewares = ["simpleAuth"]
  service = "api@internal"
  [http.routers.api.tls]
    certResolver = "lets-encrypt"


Creo il ./docker-compose.yaml:

version: "3.3"

services:

  traefik:
    image: "traefik:v2.2"
    container_name: "traefik"

    ports:
      - "80:80"
      - "443:443"

    networks:
      - "proxy"
    volumes:
      - "./data/letsencrypt:/letsencrypt"
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
      - "./conf/traefik.toml:/traefik.toml"
      - "./conf/traefik_dynamic.toml:/traefik_dynamic.toml"
      - "./conf/acme.json:/acme.json"
      


networks:
  proxy:
    external: true


Lancio il docker-compose up -d

docker-compose up -d

Et voilà!!!

Per vedere il risultato mi collego a

traefik.proietti.net

e faccio login

WordPress

Per usare il docker-compose occorre creare prima di tutto un file .env esempio env.example

Di seguito un esempio:

## WP ENV
WORDPRESS_DB_HOST=db
WORDPRESS_DB_USER=userdb
WORDPRESS_DB_PASSWORD=passworddb
WORDPRESS_DB_NAME=database
VIRTUAL_HOST=www.maurizio.proietti.name,blog.proietti.net
VIRTUAL_PORT=80
LETSENCRYPT_HOST=www.maurizio.proietti.name
LETSENCRYPT_EMAIL=maurizio.proietti(AT))EMAIL.com

## MYSQL ENV
MYSQL_DATABASE=database
MYSQL_USER=userdb
MYSQL_PASSWORD=passworddb
MYSQL_ROOT_PASSWORD=segretissima

##TRAEFIK
TRAEFIK_ROUTE_NAME=wp_mp


Nella dir dockerfile/wp trovo:

  • il Dockerfile di WP
  • la conf di apache (mpm) con alto o scarso traffico
  • le impostazioni personalizzate del php.ini

Ho personalizzato un po' l'immagine di WordPress per avere un po' di performance in più e per distinguere un sito con meggior traffico da uno con meno traffico. Per cambiare impostazione vedi (dockerfile/wp/Dockerfile) e in particolare le righe:

## APACHE
#COPY ./mpm_prefork_low_trafic.conf /etc/apache2/mods-available/mpm_prefork.conf
COPY ./mpm_prefork_low_trafic.conf /etc/apache2/mods-available/mpm_prefork.conf

Anche il php.ini è modificato per gestire le dimensioni di upload v. dockerfile/wp/php-wp.ini

Creo il mio docker-compose.yml

version: '3.1'

services:


  wordpress:
#    image: wordpress
    build:
      # call the Dockerfile in ./wordpress
      context: ./dockerfile/wp
    restart: always
    container_name: wp_www.maurizio.proietti.name
    environment:
      WORDPRESS_DB_HOST: ${WORDPRESS_DB_HOST}
      WORDPRESS_DB_USER: ${WORDPRESS_DB_USER}
      WORDPRESS_DB_PASSWORD: ${WORDPRESS_DB_PASSWORD}
      WORDPRESS_DB_NAME: ${WORDPRESS_DB_NAME}
      VIRTUAL_HOST: ${VIRTUAL_HOST}
      VIRTUAL_PORT: ${VIRTUAL_PORT}
      LETSENCRYPT_HOST: ${LETSENCRYPT_HOST}
      LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL}
    labels:
      - traefik.http.routers.${TRAEFIK_ROUTE_NAME}.rule=Host(`${LETSENCRYPT_HOST}`)
      - traefik.http.routers.${TRAEFIK_ROUTE_NAME}.tls=true
      - traefik.http.routers.${TRAEFIK_ROUTE_NAME}.tls.certresolver=lets-encrypt
      - traefik.port=${VIRTUAL_PORT}
    depends_on:
      - db
      - redis
    restart: unless-stopped
    networks:
      - proxy
      - backend
    volumes:
      - ./data/html:/var/www/html

  db:
    container_name: mysql_www.maurizio.proietti.name
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: ${MYSQL_DATABASE}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
    labels:
      - traefik.enable=false
    volumes:
      - ./data/mysql:/var/lib/mysql
    networks:
      - backend


  redis:
    image: redis:6
    container_name: redis_www.maurizio.proietti.name
    restart: always
    sysctls:
      - net.core.somaxconn=1024
    labels:
      - traefik.enable=false
    volumes:
      - ./data/redis:/data
    networks:
      - backend
    # launch Redis in cache mode with :
    #     #  - max memory up to 50% of your RAM if needed (--maxmemory 512mb)
    #         #  - deleting oldest data when max memory is reached (--maxmemory-policy allkeys-lru)
#    entrypoint: redis-server --maxmemory 512mb -maxmemory-policy allkeys-lru
    entrypoint: redis-server /data/redis.conf




networks:
  proxy:
    external: true
  backend:
    external: false






Lancio:

docker-compose build
docker-compose up -d

Entro nel sito e completo l’installazione con dati casuali

Poi faccio un rsync della SOLA directory wp-content:

rsync -uazv /var/www/maurizioproietti/wp/wp-content data/html/

Poi eseguo il dump del vecchio DB:

mysqldump --opt maurizioproietti > dump.sql

E controllo che la prefix delle tabelle sia wp_

Se non lo fosse sostituisco la prefix che ha il dump con wp_

Poi importo il dump nel nuovo db sotto docker:

cat dump.sql | docker exec -i mysql_www.maurizio.proietti.name /usr/bin/mysql -u root --password=secret123 db

Imposto i permessi sul filesystem per bene oppure (se ho fretta)

chmod -R 777 data

Entro nella sezione wp-admin e inizio gli aggiornamenti suggeriti nel seguente ordine (che penso possa variare la per scaramanzia non vario ? )

1.) Plugins

2.) Temi

3.) WordPress Core

Posso poi installare w3 total cache.

Attenzione!!!

Occorre settare correttamente l'indirizzo di redis:

redis:6379

Come ti dockerizzo un WordPress esistente

Questa è una guida di massima… tutti gli aggiornamenti sono qui:

https://github.com/MaoX17/wordpress-docker-compose

Ho avuto qualche difficoltà ma poi ho trovato la via giusta.

Segui ESATTAMENTE i passaggi che riporto.

1.) Creo il mio docker-compose.yml

version: '3.1'

services:


  wordpress:
    image: wordpress
    restart: always
    container_name: wp_www.maurizio.proietti.name
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: user
      WORDPRESS_DB_PASSWORD: password123
      WORDPRESS_DB_NAME: db
      VIRTUAL_HOST: www.maurizio.proietti.name
      VIRTUAL_PORT: 80
      LETSENCRYPT_HOST: www.maurizio.proietti.name
      LETSENCRYPT_EMAIL: maurizio.proietti@gmail.com
    depends_on:
      - db
    restart: unless-stopped
    networks:
      - proxy
      - www.maurizio.proietti.name-net
    volumes:
      - ./data/html:/var/www/html

  db:
    container_name: mysql_www.maurizio.proietti.name
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: db
      MYSQL_USER: user
      MYSQL_PASSWORD: password123
      MYSQL_ROOT_PASSWORD: secret123
    volumes:
      - ./data/mysql:/var/lib/mysql
    networks:
      - www.maurizio.proietti.name-net

networks:
  proxy:
    external:
      name: nginx-proxy
  www.maurizio.proietti.name-net:

Lancio il docker-compose up -d

docker-compose up -d

Entro nel sito e completo l’installazione con dati casuali

Poi faccio un rsync della SOLA directory wp-content:

rsync -uazv /var/www/maurizioproietti/wp/wp-content data/html/

Poi eseguo il dump del vecchio DB:

mysqldump --opt maurizioproietti > dump.sql

E controllo che la prefix delle tabelle sia wp_

Se non lo fosse sostituisco la prefix che ha il dump con wp_

Poi importo il dump nel nuovo db sotto docker:

cat dump.sql | docker exec -i mysql_www.maurizio.proietti.name /usr/bin/mysql -u root --password=secret123 db

Imposto i permessi sul filesystem per bene oppure (se ho fretta)

chmod -R 777 data

Aggiungi 

define('FS_METHOD', 'direct');

al wp-config.php

Entro nella sezione wp-admin e inizio gli aggiornamenti suggeriti nel seguente ordine (che penso possa variare la per scaramanzia non vario 🙂 )

1.) Plugins

2.) Temi

3.) WordPress Core

Come ti Dockerizzo un progetto laravel esistente

La mia base di partenza è stata il seguente git (che ringrazio per l’idea)

https://github.com/aschmelyun/docker-compose-laravel

Quindi ho seguito i seguenti passaggi:

docker network create nginx-proxy

mkdir /opt/docker
mkdir 00_nginx_reverse

cat 00_nginx_reverse/docker-compose.yml

version: '2'

services:
  nginx-proxy:
    image: jwilder/nginx-proxy
    container_name: nginx-proxy
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./data/conf:/etc/nginx/conf.d
      - ./data/vhost:/etc/nginx/vhost.d
      - ./data/dhparam:/etc/nginx/dhparam
      - ./data/nginx-html:/usr/share/nginx/html
      - ./data/certs:/etc/nginx/certs:ro
      - /var/run/docker.sock:/tmp/docker.sock:ro
    networks:
      - proxy
    restart: always

  letsencrypt:
    image: jrcs/letsencrypt-nginx-proxy-companion
    container_name: nginx-proxy-le
    environment:
      - "DEFAULT_EMAIL=maurizio.proietti@gmail.com"
      - "NGINX_PROXY_CONTAINER=nginx-proxy"
#      - "DEBUG=true"
    volumes_from:
      - nginx-proxy
    volumes:
      - ./data/vhost:/etc/nginx/vhost.d
      - ./data/nginx-html:/usr/share/nginx/html
      - ./data/certs:/etc/nginx/certs:rw
      - /var/run/docker.sock:/var/run/docker.sock:ro
    restart: always

networks:
  proxy:
    external:
      name: nginx-proxy

git clone https://github.com/aschmelyun/docker-compose-laravel.git

mv docker-compose-laravel template_laravel

cd template_laravel

vim docker-compose.yml


version: '3'

networks:
  laravel:

services:
  site:
    build:
      context: .
      dockerfile: nginx.dockerfile
    container_name: nginx_TEMPLATE_DA_CAMBIARE
    environment:
      VIRTUAL_HOST: TEMPLATE_DA_CAMBIARE
      VIRTUAL_PORT: 80
      LETSENCRYPT_HOST: TEMPLATE_DA_CAMBIARE
      LETSENCRYPT_EMAIL: maurizio.proietti@gmail.com
    volumes:
      - ./src:/var/www/html:delegated
    depends_on:
      - php
      - mysql
    networks:
      - laravel_TEMPLATE_DA_CAMBIARE
      - proxy

  mysql:
    image: mariadb
    container_name: mysql_TEMPLATE_DA_CAMBIARE
    restart: unless-stopped
    tty: true
    environment:
      MYSQL_DATABASE: homestead
      MYSQL_USER: homestead
      MYSQL_PASSWORD: secret
      MYSQL_ROOT_PASSWORD: secret
      SERVICE_NAME: mysql
    volumes:
      - ./mysqldata:/var/lib/mysql
    networks:
      - laravel_TEMPLATE_DA_CAMBIARE

  php:
    build:
      context: .
      dockerfile: php.dockerfile
    container_name: php_TEMPLATE_DA_CAMBIARE
    volumes:
      - ./src:/var/www/html:delegated
    networks:
      - laravel_TEMPLATE_DA_CAMBIARE

  composer:
    build:
      context: .
      dockerfile: composer.dockerfile
    container_name: composer_TEMPLATE_DA_CAMBIARE
    volumes:
      - ./src:/var/www/html
    working_dir: /var/www/html
    depends_on:
      - php
    user: laravel
    networks:
      - laravel_TEMPLATE_DA_CAMBIARE
    entrypoint: ['composer', '--ignore-platform-reqs']

  npm:
    image: node:13.7
    container_name: npm_TEMPLATE_DA_CAMBIARE
    volumes:
      - ./src:/var/www/html
    working_dir: /var/www/html
    entrypoint: ['npm']

  artisan:
    build:
      context: .
      dockerfile: php.dockerfile
    container_name: artisan_TEMPLATE_DA_CAMBIARE
    volumes:
      - ./src:/var/www/html:delegated
    depends_on:
      - mysql
    working_dir: /var/www/html
    user: laravel
    entrypoint: ['php', '/var/www/html/artisan']
    networks:
      - laravel_TEMPLATE_DA_CAMBIARE

networks:
  proxy:
    external:
      name: nginx-proxy
  laravel_TEMPLATE_DA_CAMBIARE:


vim php.dockerfile

FROM php:7.2-fpm-alpine

ADD ./php/www.conf /usr/local/etc/php-fpm.d/www.conf

RUN addgroup -g 1000 laravel && adduser -G laravel -g laravel -s /bin/sh -D laravel

RUN mkdir -p /var/www/html

RUN chown laravel:laravel /var/www/html

WORKDIR /var/www/html

RUN docker-php-ext-install pdo pdo_mysql

RUN apk update

RUN apk add libpng libpng-dev libjpeg-turbo-dev libwebp-dev zlib-dev libxpm-dev gd && docker-php-ext-install gd


Ho dovuto installare gd perchè non c’era

Nel progetto non funzionavano i link creati con l’helper url() perchè puntavano tutti a http invece che https

Occorre quindi effettuare una modifica:

Editare il file /app/Providers/AppServiceProvider.php 

e modificare la

public function boot()

con

use Illuminate\Routing\UrlGenerator;

public function boot(UrlGenerator $url)
{
    if (env('APP_ENV') !== 'NATIVO') {
        $url->forceScheme('https');
    }
}

In questo modo i link hanno ricominciato a funzionare

Dopo occorre modificare il file .env

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

I file sorgenti di laravel vanno messi in ./src

Poi possiamo costruire i container:

docker-compose up --build 

Occorre migrare il db:

mysqldump --opt db_original > dump.sql

cat dump.sql | docker exec -i mysql_TEMPLATE_DA_CAMBIARE
 /usr/bin/mysql -u root --password=secret homestead

Amministrazione Trasparente – adeguamenti Delibera ANAC 1310

Per adeguare il plugin di wordpress “Amministrazione Trasparente” realizzato da Marco Milesi (wpgov.it) (rif. Plugin Amministrazione Trasparente di Marco Milesi ) alla Delibera n. 1310 – “Prime linee guida recanti indicazioni sull’attuazione degli obblighi di pubblicità, trasparenza e diffusione di informazioni contenute nel d.lgs. 33/2013 come modificato dal d.lgs. 97/2016”
( http://www.anticorruzione.it/portal/public/classic/AttivitaAutorita/AttiDellAutorita/_Atto?ca=6667 ) che deve essere rispettata entro il 31/03/2017,ho realizzato alcune modifiche al plugin originale.

Per applicare le modifiche la procedura è la stessa dell’aggiornamento manuale del plugin.

Si ricorda di fare un backup del proprio sito (compreso il DB) perchè non mi assumo responsabilità su perdite di dati o problemi vari.

Occorre quindi scaricare il plugin (qui sotto), andare nella cartella wp-content/plugins del proprio sito e copiarlo lì.

Estrarlo sovrascrivendo i file presenti.

Poi loggarsi al back-end del proprio wordpress

Compariranno (la prima volta) strane scritte… è tutto regolare.

Poi tutto comparirà e inizierà a afunzionare come qui:

http://trasparenza.provincia.prato.it/

Allego di seguito l’intero plugin modificato da poter scaricare.
amministrazione-trasparente-MAOX

Spero di aver fatto cosa buona per tutti coloro che come me attendevano questi adeguamenti da tempo.

Saluti

nginx per wordpress con alti volumi di traffico su CentOS 6x

Risorse da consultare

http://codex.wordpress.org/Nginx#URL_Rewrites_.2F_Permalinks
http://www.krizna.com/centos/install-lemp-on-centos-6/
http://nginx.org/en/linux_packages.html#stable

Installazione nginx su CentOS 6*

wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

rpm -Uhv nginx-release-centos-6-0.el6.ngx.noarch.rpm

vim /etc/yum.repos.d/nginx.repo

aggiungi

priority=10

yum install nginx

per la configurazione vedi la directory conf
https://github.com/MaoX17/nginx-php-fpm-wordpress-high-performance

Installazione php-fpm 5.4 su CentOS 6*

yum install centos-release-SCL

yum update

yum install php54*

per la configurazione vedi la directory conf
https://github.com/MaoX17/nginx-php-fpm-wordpress-high-performance

Installazione redis su CentOS 6*

yum install redis.x86_64

/opt/rh/php54/root/usr/bin/pecl install redis

You should add “extension=redis.so” to php.ini

dopo controlla phpinfo

/opt/rh/php54/root/usr/bin/pear channel-discover pear.nrk.io

/opt/rh/php54/root/usr/bin/pear remote-list -c nrk

/opt/rh/php54/root/usr/bin/pear install nrk/predis

ricorda di installare il plugin per redis su wordpress e il plugin WP-Super-Cache

per la configurazione vedi la directory conf
https://github.com/MaoX17/nginx-php-fpm-wordpress-high-performance

install and configure backup bacula 7 webacula bacula-web

# Bacula Step by Step

Per maggiori informazioni, aggiornamenti ed esempi di configurazione clicca qui
https://github.com/MaoX17/Bacula-7-step-by-step

## Installazione

yum install yum install mysql mysql-devel mysql-server mysql-libs perl-DBD-MySQL perl-DBI

yum install php-*

wget https://repos.fedorapeople.org/repos/slaanesh/bacula7/epel-bacula7.repo
cp epel-bacula7.repo /etc/yum-repos.d/
yum update

yum install mt*

yum install bacula*

yum install epel-release

## Configurazione

cd /usr/libexec/bacula/

./create_mysql_database
./make_mysql_tables
./grant_mysql_privileges

Collego bacula a mysql
alternatives –config libbaccats.so

### Impostazione per la libreria automatizzata (Sun StorageTek L40 Tape Library)

vim /usr/libexec/bacula/mtx-changer.conf
offline=1
offline_sleep=60
load_sleep=60
inventory=0
vxa_packetloader=0
debug_log=1

#### Se la libreria conteneva dati e si vuole una situazione pulita

prima di fare RELABEL

##### Script per riavvolgere i nastri e svuotarli
for i in {1..40}
do
echo $i
/usr/libexec/bacula/mtx-changer /dev/sg3 load $i /dev/st0 0 && mt -f /dev/st0 rewind && mt -f /dev/st0 weof && mt -f /dev/st0 rewind && /usr/libexec/bacula/mtx-changer /dev/sg3 unload $i /dev/st0 0
done

#### Label dei volumi (nastri) con Barcodes

bconsole
label barcodes

##### Note
If your autochanger has barcode labels, you can label all the Volumes in your autochanger one after another by using the label barcodes command. For each tape in the changer containing a barcode, Bacula will mount the tape and then label it with the same name as the barcode. An appropriate Media record will also be created in the catalog. Any barcode that begins with the same characters as specified on the “CleaningPrefix=xxx” command, will be treated as a cleaning tape, and will not be labeled. For example with:

Please note that Volumes must be pre-labeled to be automatically used in the autochanger during a backup. If you do not have a barcode reader, this is done manually (or via a script).

Pool {
Name …
Cleaning Prefix = “CLN”
}
Any slot containing a barcode of CLNxxxx will be treated as a cleaning tape and will not be mounted.

#### Label del volume per il backup del Catalog
bconsole
label
Automatically selected Catalog: MyCatalog
Using Catalog “MyCatalog”
The defined Storage resources are:
1: File1
2: File2
3: STK
Select Storage resource (1-3): 1
Enter new Volume name: Vol-File-Bkp
Defined Pools:
1: Default
2: Nastri-Win
3: Nastri-LNX
4: File
5: Scratch
Select the Pool (1-5): 1

Catalog record for Volume “Vol-File-Bkp”, Slot 0 successfully created.

*quit

#### ATTENZIONE In caso di errori (catalog not found)

check the permissions of your bacula-dir.conf. Your bacula-dir runs as user bacula and MUST have
enough permissions to read its bacula-dir.conf (and also the query.sql).

chmod -R 777 /etc/bacula

## Installazione di Webacula
(http://webacula.sourceforge.net/)

download and unpack webacula7

mv webacula-7.0.0 /usr/share/webacula
cp /usr/share/webacula/install/apache/webacula.conf /etc/httpd/conf.d/

### Installo i componenti necessari a webacula

yum install php-ZendFramework-full.noarch php-ZendFramework-Auth-Adapter-Ldap.noarch php-ZendFramework-Db-Adapter-Mysqli.noarch php-ZendFramework-Db-Adapter-Pdo-Mysql.noarch

### Imposto i permessi per webacula tramite sudo

visudo:
……
Defaults requiretty

### Per webacula
Defaults:apache !requiretty
apache ALL = NOPASSWD: /usr/sbin/bconsole, /sbin/stop

### Imposto la password di webacula
./password-to-hash.php ##PASSWORD##

paste it in db.conf

### Ulteriori configurazioni di webacula
cd /usr/share/webacula/
vim application/config.ini

cd /usr/share/webacula/install
./check_system_requirements.php

cd MySql/
./10_make_tables.sh
./20_acl_make_tables.sh

#### In caso estremo (per risolvere i problemi di login):
mysql
use bacula
update webacula_users set pwd=’$P$BMAiISUFah71ZDpzy1Vx1emAZU5Rli1′ where id = 1000;

## Installazione di Bacula Web
(http://www.bacula-web.org/)
download bacula-web 7
The latest version Bacula-Web is available through the project site download page
http://www.bacula-web.org/download.html

Go to your Apache root’s folder
cd /var/www/html
mkdir -v bacula-web
tar -xzvf bacula-web.tar.gz -C /var/www/html/bacula-web
chown -Rv apache: /var/www/html/bacula-web
chmod -Rv ug+w /var/www/html/bacula-web/application/view/cache

From the installation folder, go to the folder mentioned below
application/config/

– Open the file config.php.sample and modify the settings regarding your installation
– Save this file as config.php in the same folder

### Test

Open your web browser and go to the address below

http://youserver/bacula-web/test.php

## RESTART BACULA FULL
for i in `ls /etc/init.d/bacula-*`; do $i $1; done