IP Statico su Raspberry pi e Raspbian Stretch

 

IP Statico su Raspberry pi e Raspbian Stretch

IP Statico su Raspberry pi e Raspbian Stretch

Guida su come settare un ip statico su Raspberry pi con OS Raspbian Stretch. I due files da modificare sono: /etc/dhcpcd.conf e /etc/network/interfaces.

sudo nano  /etc/network/interfaces

ed incollare:

auto lo
iface lo inet loopback
iface eth0 inet manual

sudo nano /etc/dhcpcd.conf

e modificare le voci sotto:

# Example static IP configuration:
interface eth0
static ip_address=192.168.1.84/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1 8.8.8.8

IP Statico su Raspberry pi e Raspbian Stretch

enjoy 😉

 

Configurazione HT 503 con Asterisk 14 e FreePBX 14

 

Configurazione HT 503 con Asterisk 14 e FreePBX 14

Configurazione HT 503 con Asterisk 14 e FreePBX 14

Configurazione HT 503 con Asterisk 14 e FreePBX 14 

Dopo avere installato Asterisk 14 e Freepbx 14 su Raspbian Stretch Lite, ho dovuto configurare il modulo Ata Grandstream HT 503, con qualche differenza rispetto alla guida principale che avevo fatto un po' di tempo fa, e che comunque attualmente funziona con Asterisk 13 e Freepbx 13, ma "stranamente" non funzionante con la versione 14. In Freepbx sia il Trunk che le estensioni sono in chan_sip, ed ho camabiato la porta di default in 5060 in SIP Settings/Chan SIP Settings. Di seguito condividerò alcuni screenshots per una configurazione funzionante su HT 503:

IP HT 503=192.168.1.80
IP SERVER= 192.168.1.84

Configurazione HT 503 con Asterisk 14 e FreePBX 14 Configurazione HT 503 con Asterisk 14 e FreePBX 14Configurazione HT 503 con Asterisk 14 e FreePBX 14 Configurazione HT 503 con Asterisk 14 e FreePBX 14 Configurazione HT 503 con Asterisk 14 e FreePBX 14 Configurazione HT 503 con Asterisk 14 e FreePBX 14

Configurazione HT 503 con Asterisk 14 e FreePBX 14

enjoy 😉

Asterisk 14 Freepbx 14 e Raspbian Stretch

 Asterisk 14 Freepbx 14 e Raspbian Stretch

Asterisk 14 Freepbx 14 e Raspbian Stretch

Installazione su Raspberri py 3 con OS Raspbian Stretch Lite, di Asterisk 14 e Freepbx 14. Guida testata e funzionante. La mia è una installazione ex novo minimale, dove ho collegato per eseguire i test un modulo Ata HT503, il tutto funzionante sia con chiamate in entrata che in uscita.

Aggiungere i repository jessie per php5 ed aggiornare il sistema:

sudo echo "deb https://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi" | sudo tee /etc/apt/sources.list.d/jessie.list
sudo apt update; sudo apt upgrade -y
sudo reboot

Installare tutto l'occorrente:

sudo apt install -y build-essential openssh-server apache2 mysql-server mysql-client bison flex php5 php5-curl php5-cli php5-mysql php-pear php5-gd curl sox libncurses5-dev libssl-dev libmysqlclient-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git subversion unixodbc-dev uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev libspandsp-dev libiksemel-dev libiksemel-utils libiksemel3 libjansson-dev libapache2-mod-php5 libmyodbc sendmail dirmngr mongodb

Cambiare versione php dallla 7 alla 5:

sudo update-alternatives --config php

Mettere in sicurezza il db:

sudo mysql_secure_installation

Installare nodejs e riavviare:

sudo curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install -y nodejs
sudo reboot

Scaricare Jansson, Asterisk 14, Freepbx 14

cd /usr/src
sudo wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-14-current.tar.gz
sudo wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.10.tar.gz
sudo wget https://mirror.freepbx.org/modules/packages/freepbx/freepbx-14.0-latest.tgz

Installare Jansson:

cd /usr/src
sudo tar vxfz jansson.tar.gz
sudo rm -rf jansson.tar.gz
cd jansson-*
sudo autoreconf -i
sudo ./configure
sudo make -j4
sudo make install

Installare Asterisk 14:

cd /usr/src
sudo tar xvfz asterisk-14-current.tar.gz
sudo rm -rf asterisk-14-current.tar.gz
cd asterisk-14.*
sudo contrib/scripts/get_mp3_source.sh
sudo ./contrib/scripts/install_prereq install
sudo ./configure
sudo make menuselect

a questo punto inserire il prefisso internazionale, nel nostro caso 39:

Asterisk 14 Freepbx 14 e Raspbian Stretch

Asterisk 14 Freepbx 14 e Raspbian Stretch

e poi abilitare  format_mp3:

Asterisk 14 Freepbx 14 e Raspbian Stretch

Asterisk 14 Freepbx 14 e Raspbian Stretch

sudo make -j4
sudo make install
sudo make config
sudo ldconfig

adesso bisogna verificare che asterisk funzioni correttamente:

sudo /etc/init.d/asterisk start
sudo asterisk -rvvv

Installazione e configurazione di Apache2 e permessi:

sudo /etc/init.d/asterisk stop
sudo groupadd asterisk
sudo useradd -d /var/lib/asterisk -g asterisk asterisk
sudo chown -R asterisk:asterisk /var/spool/asterisk /var/run/asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib/asterisk /var/www
sudo sed -i 's/#AST_USER="asterisk"/AST_USER="asterisk"/g' /etc/default/asterisk
sudo sed -i 's/#AST_GROUP="asterisk"/AST_GROUP="asterisk"/g' /etc/default/asterisk
sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig
sudo sed -i 's/AllowOverride None/AllowOverride All/'  /etc/apache2/apache2.conf
sudo sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf
sudo mv /var/www/html /var/www/html.bak

Configurazione ODBC:

sudo nano /etc/odbcinst.ini

ed incollare dentro:

[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/arm-linux-gnueabihf/odbc/libmyodbc.so
Setup = /usr/lib/arm-linux-gnueabihf/odbc/libodbcmyS.so
FileUsage = 1

ricordo che per verificare l'esatta ubicazione e nome dei driver, eseguire il comando sotto:

$ sudo find / -name libmyodbc.so

poi:

sudo nano /etc/odbc.ini

ed incollare dentro:

[MySQL-asteriskcdrdb]
Description=MySQL connection to 'asteriskcdrdb' database
driver=MySQL
server=localhost
database=asteriskcdrdb
Port=3306
Socket=/var/run/mysqld/mysqld.sock
option=3

a questo punto riavviare:

sudo reboot

al riavvio:

sudo a2enmod rewrite

ultima modifica da fare:

sudo nano /etc/php5/apache2/php.ini

e nel menu Resource Limits settare memory_limit = 256M, ed ancora nel menu File Uploads settare upload_max_filesize = 120M

sudo systemctl restart apache2

Installazione di Freepbx 14:

cd /usr/src
sudo tar vxfz freepbx-14.0-latest.tgz
sudo rm -rf freepbx-14.0-latest.tgz
cd freepbx
sudo ./start_asterisk start
sudo ./install -n
sudo fwconsole chown
sudo fwconsole reload
sudo fwconsole restart

se tutto è andato bene il server Asterisk è raggiungibile all'indirizzo https://ip_raspberry. La prima cosa da fare è quella di scegliere nome utente, password e mail, per accedere al pannello di amministrazione. Andare poi nel menu Admin-Module Admin e scaricare ed aggiornare tutti i moduli.

Asterisk 14 Freepbx 14 e Raspbian Stretch

enjoy 😉

Google Chrome su Debian Stretch 9.2

 

Google Chrome su Debian Stretch 9.2

Google Chrome su Debian Stretch 9.2

Un modo semplce per installare Google Chrome su Debian Stretch 9.2 e non solo, è quello di aggiungere direttamente i repository di Google. Si può scegliere anche tra i rami stable, beta ed unstable.

$ wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
$ echo "deb https://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list
$ sudo apt update
$ sudo apt install -y google-chrome-stable

si possono installare in alternativa anche i pacchetti testing ed unstable

$ sudo apt install -y google-chrome-beta
$ sudo apt install -y google-chrome-unstable

Google Chrome su Debian Stretch 9.2

enjoy 😉

(Solved) Begin: Running /scripts/local-block

 

(Solved) Begin: Running /scripts/local-block

(Solved) Begin: Running /scripts/local-block

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 prende molto tempo, bloccandosi prima su "Begin: Running /scripts/local-block" e poi su "start job is running for dev-disk-by…(1min 30s)". Questo tipo di errore si risolve aggiornando initramfs.

# update-initramfs -u -k all

per conoscere uuid:

# blkid

(Solved) Begin: Running /scripts/local-block

enjoy 😉

 

How to compile kernel 4.13.7 on Debian 9.2

 

How to compile kernel 4.13.7 on Debian 9.2

How to compile kernel 4.13.7 on Debian 9.2

Il kernel 4.13 porta con se diverse novità, e ad oggi si può ottenere installandolo da Debian Testing, oppure provare a compilarlo direttamente su Debian Stretch 9.2. L'unico problema è la mancanza del pacchetto kernel-package che bisogna procurarselo dai repo testing:

# echo 'deb https://ftp.it.debian.org/debian/ testing main' > /etc/apt/sources.list.d/testing.list
# apt update
# apt install git fakeroot build-essential ncurses-dev libssl-dev bc
# apt --no-install-recommends install -t testing kernel-package

una volta installato kernel package andare a commentare il repo testing che non ci servirà più!

How to compile kernel 4.13.7 on Debian 9.2

Compilazione ed installazione:

$ wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.13.7.tar.xz
$ tar xvf linux-4*
$ cd linux-4.13.7/
$ cp /boot/config-$(uname -r) .config
$ make menuconfig
$ make-kpkg clean
$ fakeroot make-kpkg --initrd --revision=1.0.edm kernel_image kernel_headers -j8
$ cd ..
$ sudo dpkg -i linux-image-* linux-headers-*

How to compile kernel 4.13.7 on Debian 9.2

enjoy 😉

Bloccare tastiera e mouse con schermo attivo

 

Bloccare tastiera e mouse con schermo attivo

Bloccare tastiera e mouse con schermo attivo

Se ci si deve allontana momentaneamente dal pc potrebbe essere utile renderlo velocemente inaccessibile, bloccando la tastiera, il mouse, e lasciando nel contempo lo schermo attivo. Per ottenere ciò in ambiente Linux basta installare xtrlock, creare un piccolo script e poi creare una scorciatoia di tastiera per attivare il blocco:

# apt install xtrlock
# nano /usr/local/bin/lockmk

incollare dentro:

#!/bin/bash
sleep 1 && xtrlock

settare i permessi e renderlo eseguibile:


# chmod a+x /usr/local/bin/lockmk

se si usa Mate, come desktop environment, andare in System>Preferences>Hardware>Keyboard Shortucts, poi andare su Add, scegliere il nome e come comando inserire:

bash -c "sleep 1 && xtrlock"

a questo punto col doppio click si memorizza la scorciatoia, pigiando per esempio CTRL-K, chiudere e poi fare le prove. Si blocca con CTRL-K e si sblocca, mettendo la password utente e premendo invio.

Bloccare tastiera e mouse con schermo attivo

enjoy 😉

 

Asterisk 14 Freepbx 14 su Debian Stretch 9.1

 

Asterisk 14 Freepbx 14 su Debian Stretch 9.1

Asterisk 14 Freepbx 14 su Debian Stretch 9.1

Aggiornato al 19/10/2017 su Debian 9.4

Ecco un'altra nuova guida prodotta e testata da me su come installare un centralino utilizzando  Asterisk 14 Freepbx 14 con Debian Stretch 9.1, Dopo l'ultima guida su Debian 8.8, la nuova release stable è Debian 9.1, codename Stretch, ed inevitabilmente come spesso succede, diverse cose sono cambiate. La prima cosa che si riscontra è che nei repository non si trova più php5 ma si è passati a php7.0, poi manca anche libmyodbc, quindi bisogna attrezzarsi per ottenere queste dipendenze fondamentali, dato che Freepbx non supporta ancora php7.0. I passaggi successivi saranno eseguiti come utente root e su una nuova installazione di Debian Stretch:

Aggiornare il sistema:

# apt update; apt upgrade

se viene installato un nuovo kernel riavviare.

Rimuovere php7.0 ed installare php5.6:

# apt remove --purge php7*
# apt install curl apt-transport-https net-tools -y
# curl https://packages.sury.org/php/apt.gpg | apt-key add -
# echo 'deb https://packages.sury.org/php/ stretch main' > /etc/apt/sources.list.d/deb.sury.org.list
# apt update

Scaricare le dipendenze ed i servizi necessari:

# apt install -y build-essential linux-headers-`uname -r` openssh-server apache2 bison php5.6 php5.6-mbstring php5.6-curl php5.6-fpm php5.6-cli php5.6-mysql php-pear php5.6-gd php5.6-odbc curl sox libncurses5-dev libssl-dev default-libmysqlclient-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git unixodbc-dev uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libicu-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev libspandsp-dev subversion libtool-bin python-dev php5.6-xml php5.6-gd default-mysql-client default-mysql-server default-mysql-client-core default-mysql-server-core bison flex mongodb dirmngr php5.6-cgi libapache2-mod-security2 libapache2-mod-php5.6

Installare nodejs:

# curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
# apt install -y nodejs

Reboot server:

# reboot

Scaricare: Dahdi Libpri (solo se si ha hardware pstn) Jansson, Asterisk, Freepbx

# cd /usr/src
# wget https://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
# wget https://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz
# wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-14-current.tar.gz
# wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.10.tar.gz
# wget https://mirror.freepbx.org/modules/packages/freepbx/freepbx-14.0-latest.tgz

Compilare ed installare Dahdi:

# cd /usr/src
# tar xvfz dahdi-linux-complete-current.tar.gz
# rm -rf dahdi-linux-complete-current.tar.gz
# cd dahdi-linux-complete-2*
# make all
# make install
# make config
# cd /usr/src
# tar xvfz libpri-current.tar.gz
# rm -rf libpri-current.tar.gz
# cd libpri-1*
# make -j4
# make install

Installare Jansson:

# cd /usr/src
# tar vxfz jansson.tar.gz
# rm -rf jansson.tar.gz
# cd jansson-*
# autoreconf -i
# ./configure
# make -j4
# make install

Installare Asterisk 14:

# cd /usr/src
# tar xvfz asterisk-14-current.tar.gz
# rm -rf asterisk-14-current.tar.gz
# cd asterisk-14.*
# contrib/scripts/get_mp3_source.sh
# ./contrib/scripts/install_prereq install
# ./configure --with-pjproject-bundled
# make menuselect

a questo punto inserire il prefisso internazionale, nel nostro caso 39:

Asterisk 14 Freepbx 14 su Debian Stretch 9.1

Asterisk 14 Freepbx 14 su Debian Stretch 9.1

e poi abilitare  format_mp3:

Installare Asterisk 13 con Freepbx 12 su Raspberry pi 2 e Debian Jessie

Asterisk 14 Freepbx 14 su Debian Stretch 9.1

# make -j4
# make install
# make config
# ldconfig

adesso bisogna verificare che asterisk funzioni correttamente:

# /etc/init.d/asterisk start
# asterisk -rvvv

output:

Asterisk 14 Freepbx 14 su Debian Stretch 9.1

Installazione e configurazione di Apache2 e permessi:

# /etc/init.d/asterisk stop
# groupadd asterisk
# useradd -d /var/lib/asterisk -g asterisk asterisk
# chown -R asterisk:asterisk /var/spool/asterisk /var/run/asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib/asterisk /var/www
# sed -i 's/#AST_USER="asterisk"/AST_USER="asterisk"/g' /etc/default/asterisk
# sed -i 's/#AST_GROUP="asterisk"/AST_GROUP="asterisk"/g' /etc/default/asterisk
# cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig
# sed -i 's/AllowOverride None/AllowOverride All/'  /etc/apache2/apache2.conf
# sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf
# mv /var/www/html /var/www/html.bak

Installazione e Configurazione ODBC:

andare direttamente sul sito e scaricare mysql-connector-odbc-5.3.9-linux-debian9-x86-64bit.tar.gz, e poi copiare i driver nel giusto percorso:

# tar -xvf mysql-connector-odbc-5.3.9-linux-debian9-x86-64bit.tar.gz
# cp mysql-connector-odbc-5.3.9-linux-debian9-x86-64bit/lib/libmyodbc5* /usr/lib/x86_64-linux-gnu/odbc/

poi:

# nano /etc/odbcinst.ini

ed incollare dentro qualcosa del genere, considerando che i nomi dei due driver possono cambiare in base alla release di mysql-connector:

[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc5S.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so
FileUsage = 1

poi ancora:

# nano /etc/odbc.ini

ed incollare dentro:

[MySQL-asteriskcdrdb]
Description=MySQL connection to 'asteriskcdrdb' database
driver=MySQL
server=localhost
database=asteriskcdrdb
Port=3306
Socket=/var/run/mysqld/mysqld.sock
option=3

a questo punto riavviare:

# reboot

al riavvio:

# a2enmod rewrite
# a2enconf php5.6-fpm
# a2enmod proxy_fcgi setenvif
# systemctl restart apache2

ultima modifica da fare:

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

e nel menu Resource Limits settare memory_limit = 256M, ed ancora nel menu File Uploads settare upload_max_filesize = 120M

# systemctl restart apache2

Installazione di Freepbx 14:

# cd /usr/src
# tar vxfz freepbx-14.0-latest.tgz
# rm -rf freepbx-14.0-latest.tgz
# cd freepbx
# ./start_asterisk start
# ./install -n

se tutto è andato bene il server Asterisk è raggiungibile all'indirizzo https://ip_raspberry. La prima cosa da fare è quella di scegliere nome utente, password e mail, per accedere al pannello di amministrazione. Andare poi nel menu Admin-Module Admin e scaricare ed aggiornare tutti i moduli. In caso di problemi:

# fwconsole chown
# fwconsole reload
# fwconsole ma upgrade framework
# fwconsole restart

Errori:

Nessuno, o meglio nel caso di problemi di moduli mancanti in Dahdi, bisogna ripetere di nuovo compilazione ed installazione.

Asterisk 14 Freepbx 14 su Debian Stretch 9.1

enjoy 😉

Duplice versione di php7.0 e php5.6 su Debian Stretch

Duplice versione di php7.0 e php5.6 su Debian Stretch

Duplice versione di php7.0 e php5.6 su Debian Stretch

Con l'uscita dell'ultima stable Debian 9 Stretch, la versione di php di default è la 7.0, ma sarebbe utile avere a disposizione anche la versione 5.6. Per averle entrambe la strada più semplice è quella di aggiungere i repository deb.sury.org:

# curl https://packages.sury.org/php/apt.gpg | apt-key add -
# echo 'deb https://packages.sury.org/php/ stretch main' > /etc/apt/sources.list.d/deb.sury.org.list
# apt update

per verificare la versione di php:

# php -v

per cambiare versione:

# update-alternatives --config php

Duplice versione di php7.0 e php5.6 su Debian Stretch

enjoy 😉

 

Oracle Virtualbox 5.1 su Debian Stretch-Buster

 

Oracle Virtualbox 5.1 su Debian Stretch-Buster

Guida su come installare Oracle Virtualbox 5.1 su Debian Stretch e Debian Testing/Buster, testata e funzionante. I comandi sotto sono tutti eseguiti da root:

# apt update; apt upgrade -y
# echo "deb https://download.virtualbox.org/virtualbox/debian stretch contrib" > /etc/apt/sources.list.d/virtualbox-debian.list
# wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | apt-key add -
# apt update; apt install virtualbox-5.1 dkms -y

Oracle Virtualbox 5.1 su Debian Stretch-Buster

enjoy 😉