Zoneminder su Raspberry pi 3 B+ Raspbian Stretch

 

Zoneminder su Raspberry pi 3 B+ Raspbian Stretch

Zoneminder su Raspberry pi 3 B+ Raspbian Stretch

Con l'arrivo del nuovo Raspberry pi 3 B+ nella mia collezione, ho deciso di dedicarlo alla video sorveglianza installando Zoneminder. Per avere delle ottime performance, è necessrio avere una sd card performante, io ho optato per una SanDisk Extreme PRO 64GB, MicroSDXC Classe 10. Si può anche utilizzare un ssd esterno come capiente storage. Tutti i comandi sotto saranno eseguiti come root:

# apt update; apt upgrade -y
# apt install -y build-essential openssh-server apache2 mysql-server mysql-client bison flex php php7.0-curl php7.0-cli php7.0-mysql php-pear php7.0-gd curl sox libncurses5-dev libssl-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev libasound2-dev libogg-dev libapache2-mod-php7.0 sendmail ffmpeg vlc vlc-data zoneminder
# rm -rf /etc/mysql/my.cnf
# cp /etc/mysql/mariadb.conf.d/50-server.cnf /etc/mysql/my.cnf
# nano /etc/mysql/my.cnf

ed aggiungere:

sql_mode = NO_ENGINE_SUBSTITUTION

come sotto:

# * Basic Settings
#
user            = mysql
sql_mode = NO_ENGINE_SUBSTITUTION
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking

 

# systemctl restart mysql

mettere in sicurezza mysql

# mysql_secure_installation
# service mariadb restart
# systemctl status mariadb.service

Creazione del database:

# mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql
# mysql -uroot -p -e "grant all on zm.* to 'zmuser'@localhost identified by 'zmpass';"
# mysqladmin -uroot -p reload
# chmod 740 /etc/zm/zm.conf
# chown root:www-data /etc/zm/zm.conf
# adduser www-data video
# a2enmod cgi
# a2enconf zoneminder
# a2enmod rewrite
# systemctl restart apache2
# chown -R www-data:www-data /usr/share/zoneminder/
# systemctl enable zoneminder
# service zoneminder start

per evitare errori modificare il file php.ini aggiungendo Europe/Rome nella sezione Module Settings:

# nano /etc/php/7.0/apache2/php.ini

date.timezone = Europe/Rome

# systemctl restart apache2

a questo punto zoneminder sarà raggiungibile all'indirizzo http://ip_seerver/zm

Per utilizzare un ssd esterno come storage, bisogna configurare /etc/fstab per il montaggio automatico:

# systemctl stop zoneminder
# mkdir -p /ssd/zoneminder/events/
# rm -rf /var/cache/zoneminder/events/
# nano /etc/fstab

ed aggiungere qualcosa del genere:

/dev/sdX1 /ssd ext4 defaults 0 2
/ssd/zoneminder/images /var/cache/zoneminder/images none defaults,bind  0 2
/ssd/zoneminder/events /var/cache/zoneminder/events none defaults,bind 0 2

per poter scrivere sul nuovo storage:

# chown -R www-data:www-data /ssd/zoneminder/
# reboot

Zoneminder su Raspberry pi 3 B+ Raspbian Stretch

al riavvio tutto dovrebbe funzionare, e si potrà procedere alla configurazione di Zoneminder

enjoy πŸ˜‰

Configurazione Trunk PJSIP Messagenet Freepbx 14

 

Configurazione Trunk PJSIP Messagenet e Freepbx 14

Configurazione Trunk PJSIP Messagenet Freepbx 14

Ho deciso di aggiornare il mio centralino, passando da Raspbian Jessie a Raspbian Stretch, e quindi a Freepbx 14, e di passare da chan_sip a chan_pjsip, sia per quanto riguarda i Trunk che per l'estensioni. Per quanto riguarda la creazione del trunk pjsip con Messagenet, ho notato che è meno intuitivo rispetto al chan_sip di una mia vecchia guida, Ad ogni modo condividerò di seguito gli screenshots di una configurazione di un trunk Messagenet funzionante:

I parametri dell'esempio saranno:

Sip server: sip.messagenet.it
Porta: UDP 5061
Username Messagenet:5XXXXXXXXX
Password Messagenet: NXXXXXX
Numero geografico: 02XXXXXXXX

General:

Configurazione Trunk PJSIP Messagenet Freepbx 14

match pattern:

Configurazione Trunk PJSIP Messagenet  Freepbx 14

pjsip setting general:

Configurazione Trunk PJSIP Messagenet Freepbx 14

pgsip setting advanced:

Configurazione Trunk PJSIP Messagenet Freepbx 14

pjsip setting advanced 2:

Configurazione Trunk PJSIP Messagenet Freepbx 14

queste configurazioni vanno a modificare i files:

pjsip.registration.conf:

[Messagenet02]
type=registration
transport=0.0.0.0-udp
outbound_auth=Messagenet02
retry_interval=60
max_retries=10
expiration=3600
line=yes
endpoint=Messagenet02
auth_rejection_permanent=yes
contact_user=02XXXXXXX
server_uri=sip:sip.messagenet.it:5061
client_uri=sip:54XXXXXXXX@sip.messagenet.it:5061


pjsip.endpoint.conf:

[Messagenet02]
type=endpoint
transport=0.0.0.0-udp
context=from-pstn
disallow=all
allow=ulaw,alaw
aors=sip:sip.messagenet.it:5061
language=it
outbound_auth=Messagenet02
from_domain=sip.messagenet.it
from_user=54XXXXXXXX
t38_udptl=no
t38_udptl_ec=none
fax_detect=no
trust_id_inbound=no
t38_udptl_nat=no
direct_media=no
rewrite_contact=yes
rtp_symmetric=yes
message_context=incoming
dtmf_mode=auto


pjsip.auth.conf:

[Messagenet02]
type=auth
auth_type=userpass
password=NXXXXXXXXX
username=54XXXXXXXX

pjsip.aor.conf:

[Messagenet02]
type=aor
qualify_frequency=60
contact=sip:54XXXXXXXX@sip.messagenet.it:5061


pjsip.identify.conf:

[Messagenet02]
type=identify
endpoint=Messagenet02
match=sip.messagenet.it

Configurazione Trunk PJSIP Messagenet Freepbx 14

a questo punto con un Trunk PJSIP funzionante si potrà passare alla creazione delle Exstension, Inbound Route e Outbound Route.

enjoy πŸ˜‰

 

 

Peek Screencast in Gif su Debian Stretch e Buster

Peek Screencast in Gif su Debian Stretch e Buster

Peek Screencast in Gif su Debian Stretch e Buster

Peek è un ottimo e semplice programma per la creazione di screencast direttamente in Gif. Per poterlo utilizzare su Debian Stretch o Debian Buster, bastano i passaggi sotto:

$ sudo apt-get install cmake valac libgtk-3-dev libkeybinder-3.0-dev libxml2-utils gettext txt2man git ffmpeg libavdevice57 libsdl2-2.0-0 ffmpeg libavdevice57 libsdl2-2.0-0
$ git clone https://github.com/phw/peek.git
$ mkdir peek/build
$ cd peek/build
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DGSETTINGS_COMPILE=OFF ..
$ make package
$ sudo dpkg -i peek-*

troveremo il programma all'interno del menu Graphics in Mate.

Peek Screencast in Gif su Debian Stretch e Buster

enjoy πŸ˜‰

Come cancellare password login Windows da Linux

Come cancellare password login Windows da Linux

Come cancellare password login Windows da Linux

How to su come cancellare o cambiare la password di login su Windows 10, utilizzando una distribuzione Linux. Può succedere di non ricordarsi della password di login per accedere al proprio pc, oppure volutamente (illegale) entrare in un account di cui non si possiede l'autorizzazione. Esistono diversi modi per fare questo, ma un modo abbastanza semplice è quello di usare una distribuzione live e l'utility chntpw. Quindi dopo avere avviato il pc target da live, installare chntpw:

# apt install chntpw -y

identificare la partizione Windows:

# fdisk -l

ipotizzando che la partizione sia la /dev/sda7, i passi da eseguire sono i seguenti:

# mkdir /mnt/windows
# mount /dev/sda7 /mnt/windows/
# cd /mnt/windows/Windows/System32/config

editare il database SAM premendo 1:

# chntpw -i SAM

scegliere l'utente:

Come cancellare password login Windows da Linux

poi cancellare o cambiare la password:

Come cancellare password login Windows da Linux Come cancellare password login Windows da Linux

Come cancellare password login Windows da Linux

# cd --
# umount /dev/sda7

a questo punto dopo avere riavviato saremo in grado di accedere al pc Windows.

enjoy πŸ˜‰

Teamviewer 13 su Debian Stretch e Buster

 

Teamviewer 13 su Debian Stretch e Buster

Teamviewer 13 su Debian Stretch e Buster

Per installare Teamviewer 13 su Debian 9 Stretch e Debian 10 Buster, eseguire  i seguenti comandi:

# su
# apt update; apt upgrade -y
# cd /tmp
# wget -c https://download.teamviewer.com/download/linux/teamviewer_amd64.deb
# apt install ./teamviewer*.deb

Teamviewer 13 su Debian Stretch e Buster

enjoy πŸ˜‰

 

Systemback 1.9.2 su Debian Stretch

 

Systemback 1.9.2 su Debian Stretch

Systemback 1.9.2 su Debian Stretch

Nuova versione di Systemback, con alcuni bug fix. Purtroppo non avendo molto tempo a disposizione, man mano che lo uso e mi accorgo di qualche bug, proverò a risolverlo. Ogni feed sarà ben accetto.

Download systemback-1.9.2

poi:

$ tar xvf systemback-1.9.2-x86-x64.tar.xz
$ cd systemback-1.9.2-x86-x64/
$ sudo ./install.sh

Systemback 1.9.2 su Debian Stretch

enjoy πŸ˜‰

Owncloud 10 su Raspberry Pi 3 e Raspbian Stretch

 

Owncloud 10 su Raspberry Pi 3 e Raspbian Stretch

Owncloud 10 su Raspberry Pi 3 e Raspbian Stretch

Guida su come installare owncloud 10 su Raspberry Pi 3 con già installato Raspbian Stretch. Io ho sempre usato uno dei miei Raspberry come server cloud, accessibile soprattutto da remoto. In questa guida non mi soffermerò sui problemi di sicurezza ed i modi per limitare i danni derivanti da una macchina esposta su internet, ma bensì mi limiterò ai soli step per avere un server cloud pronto all'uso. Io preferisco archiviare i dati direttamente su una chiavetta usb da 128G, piuttosto che direttamente sul raspberry. Quindi, dopo avere installato Raspbian Stretch ed aver collegato alla porta usb la pen drive, servendosi di una prolunga usb che servirà a dissipare il calore, siamo pronti ad iniziare.

$ sudo su
# apt update; apt upgrade
# apt install apache2 mariadb-server libapache2-mod-php7.0 php7.0-gd php7.0-json php7.0-mysql php7.0-curl php7.0-intl php7.0-mcrypt php-imagick php7.0-zip php7.0-xml php7.0-mbstring ntfs-3g fail2ban
# cd /tmp
# wget https://download.owncloud.org/community/owncloud-10.0.7.tar.bz2
# tar -xvf owncloud-10.0.7.tar.bz2
# chown -R www-data:www-data owncloud
# mv owncloud /var/www/html/
# nano /etc/apache2/sites-available/owncloud.conf

ed incollare dentro:

Alias /owncloud "/var/www/html/owncloud/"

<Directory /var/www/html/owncloud/>
 Options +FollowSymlinks
 AllowOverride All

<IfModule mod_dav.c>
 Dav off
 </IfModule>

SetEnv HOME /var/www/html/owncloud
SetEnv HTTP_HOME /var/www/html/owncloud

</Directory>
# ln -s /etc/apache2/sites-available/owncloud.conf /etc/apache2/sites-enabled/owncloud.conf
# systemctl start apache2
# systemctl enable apache2

Creazione database ed user mysql:

# mysql -u root -p

inserire password di root, e poi i 5 comandi sotto, e settare la password per l'utente owncloud:

1) create database owncloud;
2) create user owncloud@localhost identified by 'password';
3) grant all privileges on owncloud.* to owncloud@localhost identified by 'password';
4) flush privileges;
5) exit;

Web Server Apache2 con SSL

sotto ci saranno alcune voci da riempire, ma quella più importante è COMMON NAME, che io ho fatto puntare al mio hostname DynDNS per l'accesso da remoto:

Owncloud 10 su Raspberry Pi 3 e Raspbian Stretch

Owncloud 10 su Raspberry Pi 3 e Raspbian Stretch

# cd --
# openssl genrsa -out server.key 4096
# openssl req -new -key server.key -out server.csr
# openssl x509 -req -days 1825 -in server.csr -signkey server.key -out server.crt -sha256
# chmod 400 server.key
# a2ensite default-ssl.conf
# systemctl reload apache2
# a2enmod ssl
# systemctl restart apache2

configurazione apache2:

# nano /etc/apache2/sites-available/default-ssl.conf

che dovrà essere come sotto, aggiungendo ip del server cloud, modificando le voci DocumentRoot, SSLCertificateFile, SSLCertificateKeyFile , e commentando le altre voci che fanno riferimento a SSL.

        <VirtualHost _default_:443>
                ServerAdmin webmaster@localhost
                ServerName IP-SERVER:443
                DocumentRoot /var/www/html/owncloud
                SSLCertificateFile /root/server.crt
                SSLCertificateKeyFile /root/server.key
# nano /etc/apache2/sites-available/000-default.conf

la DocumentRoot dovrà essere come sotto:

DocumentRoot /var/www/html/owncloud
# nano /etc/php/7.0/apache2/php.ini

fare una modifica al file php.ini, nella sezione File Uploads, portando upload_max_filesize = 5000.

# sed -i 's/AllowOverride None/AllowOverride All/'  /etc/apache2/apache2.conf
# systemctl restart apache2

creazione della cartella di storage e relativi permessi:

# mkdir /media/owncloud-usb
# groupadd www-data
# usermod -a -G www-data www-data
# chown -R www-data:www-data /media/owncloud-usb
# chmod -R 775 /media/owncloud-usb

a questo punto abbiamo bisogno di conoscere UUID della chiavetta usb ed user e group di www-data, che serviranno per configurare /etc/fstab per il montaggio automatico:

# id -u www-data; id -g www-data
# blkid
# nano /etc/fstab

ed aggiungere in una sola riga qualcosa del genere in /etc/fstab:

UUID=32E49E5027A4F8A7 /media/owncloud-usb auto nofail,uid=33,gid=33,umask=0027$,dmask=0027,noatime 0 0

come ultimo ritocco, aumentare la capacità di upload, andando a modificare il file .user.ini

# nano /var/www/html/owncloud/.user.ini

portando: php_value upload_max_filesize, e php_value post_max_size a 5000M

# reboot

Se tutto è andato bene andare all'indirizzo https://ip_del_raspberry ed apparirà la pagina iniziale, dove si dovrà scegliere nome utente e password per l'accesso al server owncloud, ed inserire il nome del database, user e password dell'utente owncloud:

Username: owncloud
Password: password
Database: owncloud
Server: localhost

Molto probabilmente al momento di accedere via FQDN, owncloud presenterà al login un errore di untrusted domain

Owncloud 10 su Raspberry Pi 3 e Raspbian Stretch

Owncloud 10 su Raspberry Pi 3 e Raspbian Stretch

si risolve andando a modificare il file config.php, aggiungendo ip server ed il proprio DDNS

# nano /var/www/html/owncloud/config/config.php
$CONFIG = array (
  'instanceid' => 'oc8foxmontqb',
  'passwordsalt' => 'PBMACOGPeaL9S/Lfq+a80nhE9Bi6ke',
  'secret' => 'EtvIi0rDN2kmFUBdTL4xehQTRUBD1NDmvDipQ3qyVK1gj8SI',
  'trusted_domains' =>
  array (
    0 => '192.X.X.X','myddns'
  ),
  'datadirectory' => '/media/owncloud-usb',
  'overwrite.cli.url' => 'https://192.X.X.X',
  'dbtype' => 'mysql',
  'version' => '10.0.7.2',
  'dbname' => 'owncloud',
  'dbhost' => 'localhost',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'owncloud',
  'dbpassword' => 'abcd2134retfd5678hjbnfh58gbf',
  'logtimezone' => 'UTC',
  'installed' => true,

enjoy πŸ˜‰

 

Systemback 1.9.1 compatibile con Debian Stretch

Systemback 1.9.1 compatibile con Debian Stretch

Systemback 1.9.1 compatibile con Debian Stretch

Come avevo scritto un po' di tempo fa, avevo in mente di prendere in mano Systemback non piu supportato, e farlo funzionare bene su Debian 9 Stretch. Dopo un primo approccio "leggero" da parte mia, alcuni utenti mi hanno segnalato l'errore "can't mount live image ..installation aborted", che in effetti si presenta nel momento in cui si cerca d'installare il sistema dalla Debian Live creata, Avendo avuto un po' di tempo, mi ci sono messo sotto con più impegno e credo di aver risolto il problema, ed adesso Systemback-1.9.1 è totalmente compatibile con Debian 9.4. A questo proposito chiedo qualche feed da chi vorrà utilizzarlo.

Download systemback-1.9.1

poi:

$ tar xvf systemback-1.9.1-x86-x64.tar.xz
$ cd systemback-1.9.1-x86-x64/
$ sudo ./install.sh

Systemback 1.9.1 compatibile con Debian Stretch

enjoy πŸ˜‰

 

(Solved) Problema di boot bug ifupdown su Debian Buster

(Solved) Problema di boot bug ifupdown su Debian Buster

(Solved) Problema di boot bug ifupdown su Debian Buster

Dopo gli ultimi aggiornamenti su Debian Buster, il sistema si blocca per 2/3 minuti con l'errore "a start job is running for wait for network to be configured by ifupdown". Non ho indagato molto su questo tipo di bug, ma dato che è molto fastidioso, si può risolvere al momento disabilitando ifupdown.

# nano /etc/default/networking

e cambiare da così:

WAIT_ONLINE_METHOD=ifupdown

a così:

WAIT_ONLINE_METHOD=none

a start job is running for wait for network to be configured by ifupdown

enjoy πŸ˜‰

 

(Solved) initramfs-tools configuration sets RESUME=UUID

(Solved) initramfs-tools configuration sets RESUME=UUID

(Solved) initramfs-tools configuration sets RESUME=UUID

Questo tipo di errore è figlio di quest'altro "start job is running for dev-disk-by…(1min 30s)", che generalmente indica un problema con la partizione di swap. Quando si hanno più distro su uno stesso hard disk è cosa comune condividere la partizione di swap, ma purtroppo questa ultima genera questo tipo di errore, facendo sì che il boot prenda molto tempo, bloccandosi prima su "Begin: Running /scripts/local-block" e poi su "start job is running for dev-disk-by…(1min 30s)". Si risolve uniformando UUID in /etc/fstab con quello in /etc/initramfs-tools/conf.d/resume:

 

output errore:

W: initramfs-tools configuration sets RESUME=UUID=4ca3bc8b-4dae-441f-ae45-347e26c7f6d3
W: but no matching swap device is available.
I: The initramfs will attempt to resume from /dev/sda4
I: (UUID=4402c147-caf8-4b32-b7b3-43ecbcd8e0dd)
I: Set the RESUME variable to override this.

soluzione uniformare UUID in /etc/fstab ed in /etc/initramfs-tools/conf.d/resume:

# blkid
# nano /etc/fstab
# nano /etc/initramfs-tools/conf.d/resume
# update-initramfs -u -k all

(Solved) initramfs-tools configuration sets RESUME=UUID

enjoy πŸ˜‰