Raspberry - impostare Chromium con proxy

Se si lavora con un proxy per poter navigare è necessario impostare il proxy.

Attenzione

il comando successivo non deve essre dato come root ma come utente non root:

chromium-browser --proxy-server="ipproxy:portaproxy"

se vine dato come root comparirà il seguent messaggio:

[1116/083633.698451:FATAL:chrome_main_delegate.cc(477)] Check failed: process_type.empty(). Unable to get the user data directory for process type: zygote
#0 0x0000020c0eb0 <unknown>
#1 0x0000020d8210 <unknown>
#2 0x00000086f530 <unknown>
#3 0x000001d2abcc <unknown>
#4 0x000001d31640 <unknown>
#5 0x000001d29c88 <unknown>
#6 0x00000086ed0c <unknown>
#7 0x000075501678 __libc_start_main

Received signal 6
#0 0x0000020c0eb0 <unknown>
#1 0x0000020c0e20 <unknown>
#2 0x0000755176c0 <unknown>
#3 0x00007551645c gsignal
[end of stack trace]
Calling _exit(1). Core file will not be generated.
[1708:1708:1116/083633.704762:FATAL:zygote_host_impl_linux.cc(182)] Check failed: ReceiveFixedMessage(fds[0], kZygoteBootMessage, sizeof(kZygoteBootMessage), &boot_pid).
#0 0x0000020a6eb0 <unknown>
#1 0x0000020be210 <unknown>
#2 0x00000105e388 <unknown>
#3 0x00000105d2d8 <unknown>
#4 0x00000105d908 <unknown>
#5 0x000000ceacb8 <unknown>
#6 0x000000cf20c8 <unknown>
#7 0x000000cea358 <unknown>
#8 0x000001d110cc <unknown>
#9 0x000001d179cc <unknown>
#10 0x000001d0fc88 <unknown>
#11 0x000000854d0c <unknown>
#12 0x00007557c678 __libc_start_main

Received signal 6
#0 0x0000020a6eb0 <unknown>
#1 0x0000020a6e20 <unknown>
#2 0x0000755926c0 <unknown>
#3 0x00007559145c gsignal
[end of stack trace]
Calling _exit(1). Core file will not be generated.

 

Pubblicato in Senza categoria | Lascia un commento

Raspberry - apt-get con proxy

Jim Warren

Tale esigenza nasce quando si debba aggiornare o installare un pacchetto e si è in una LAN con un proxy attivo.

Io ho adottato questo metodo:

cd /etc/apt/apt.conf.d

poi:

sudo nano 10proxy

e poi ho scritto:

Acquire::http::Proxy "http://username:password@yourproxyaddress:proxyport/";

dove con username e password esattamente la password e username per accedere al proxy.

Altro comando:

export http_proxy="http://username:password@host:port/"

più compatto ma a volta potrebbe non funzionare.

Pubblicato in Senza categoria | Lascia un commento

Raspberry - bridge wifi - ethernet

Raspberry può diventare un bridge tra il wifi (dato da un cellulare che fa da hotspot mobile o un qualsiasi altro segnale wifi) e un altro host che ha la necessità di avere un collegamento alla rete ma è privo di wifi.

Il raspberry diventa un server dhcp ossia fornisce un indirizzo ip a tutti gli host che siu collegano ad esso.

Nella mia configurazione ho collegato all'uscita ethernet raspberry uno switch a cui si collegava un host con windows 10, un host debian sempre collegato allo switch ed un host Ubuntu sempre collegato allo switch.

Per comprendere tutti i passaggi è necessario conoscere:

  • impostazione porta wlan
  • dhcp
  • ip statico
  • modifica parametri di sistema
  • firewall

Per eseguire i comandi che seguono bisogna essere root

Impostazione wlan0

nano /etc/wpa_supplicant/wpa_supplicant.conf
network=

{

      ssid="ReteETE"

      psk="PASSWORD"

}

con

  • ssid il nome della rete wifi
  • psk la password del wifi

si può verificare la corretta impostazione della rete con il comando:

wpa_passphrase "NOME-RETE" "password"

Impostazione IP statico

nano /etc/network/interfaces

e lo modifico come segue:

allow-hotplug eth0
iface eth0 inet static
address 10.0.0.1    
netmask 255.255.255.0
network 10.0.0.0
broadcast 10.0.0.255

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp


 

da notare come gestisco entrambe le porte la eth0 e la wlan0 in maniera tale che quando ricarico la configurazione entrambe le porte siano correttamente configurate.

Per caricare la corretta configurazione digitare il comando:

service networking restart

Per verificare lo stato del servizio digitare:

service networking status

Installazione dhcp

per installare il dhcp bisogna prima installarlo con il comando:

apt-get install dnsmasq

è buona regola copiare il vecchio file di configurazione prima di modificarlo:

mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

adesso vado a digitarlo:

nano /etc/dnsmasq.conf

ed inserisco le seguenti righe:

interface=eth0 # Use interface eth0
listen-address=10.0.0.1 # Specify the address to listen on
bind-interfaces      # Bind to the interface
server=208.67.222.222 # Use OpenDNS
domain-needed        # Don't forward short names
bogus-priv           # Drop the non-routed address spaces.
dhcp-range=10.0.0.10,10.0.0.50,12h # IP range and lease time

è necessario anche abilitare il forward nel file sdi configurazione sysctl.conf per abilitire l'invio IP IPv4p

Modifica variabili di configurazione di sistema

Bisogan editare il file:

nano /etc/sysctl.conf

e togliere il cancelletto alla riga

#net.ipv4.ip_forward=1

per attivare il nuovo parametro digitare:

sysctl --system

per verificare i parametri attivi nel sistema digitare il comando:

sysctl -a

Configurazione firewall

S modifica il firewall per consentire a tutto il traffico dalla nostra interfaccia eth0  di convogliarsi nella wlan0.

iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
iptables -A FORWARD -i wlan -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT

per consentire a tutte le modifiche di diventare definitive e non di cancellarsi ogni qualvolta che si fa il reboot del sistema si deve:

sh -c "iptables-save > /etc/iptables.ipv4.nat"
nano /etc/rc.local

inserire prima della riga exit 0 la riga:

iptables-restore < /etc/iptables.ipv4.nat

A questo punto si può far partire il dhcp:

service dnsmasq start

ma considerando tutte le notevoli modifiche effettuate, meglio è far ripartire il sistema.

 

Pubblicato in Senza categoria | Contrassegnato , , | 2 commenti

TPSIT - Linux - Installazione wordpress

WordPress è lo strumento più conosciuto per la creazione di blog.

Prerequisito aver funzionante un server LAMP.

mysql -u root -p

ossia entro nel database come amministratore

CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'userpassword';

ossia creo un utente wpuser con un'opportuna password, si può verificare entrando in phpmyadmin il corretto funzionamento di tale utente.

CREATE DATABASE wp_database;
GRANT ALL ON `wp_database`.* TO `wpuser`@`localhost`;
FLUSH PRIVILEGES;
exit;
wget https://wordpress.org/latest.tar.gz

ossia mi scarico l'ultima versione di wordpress

tar xpf latest.tar.gz

scompatto il file compresso

copio tutta la mia directory nella directory in cui salvo i miei file html

cp -r wordpress /var/www/html

poi apro il mio web ed ho:

http://localhost/wordpress/index.php

mi chiederà varie impostazioni per il suo funzionamento, dare i comandi opportuni a seconda dell'impostazione data precedentemente.

Si chiederà di creare un file wp-config.php, basta usare nano e si creerà.

Alla fine per accedere al proprio wordpress locale si digita sul proprio browser:

localhost/wordpress e dando l'invio si avrà la schermata iniziale di wordpress.

Pubblicato in Senza categoria | Lascia un commento

TPSIT - Backup completo del sistema con tar

Renè Magritte

Quando si sta installando del software nuovo è buona norma effettuare un backup completo del sistema in quanto tutto ciò che è stato installato deve essere ripristinato esattamente in quella maniera.

Ci si pone come utente root in /

 

 

Con il seguente comando:

tar -cvpzf /backup.tgz --exclude=/proc/* --exclude=/sys/* --exclude=/lost+found/* --exclude=/mnt/* --exclude=/media/* --exclude=/backup.tgz /

ossia utilizzo le opzioni del comando tar:

-c: indica che noi dobbiamo creare un nuovo archivio

-v: esegue l’operazione in modalità verbose, ossia ci mostra nel terminale tutto quello che il computer sta facendo

-p: dice a tar di mantenere inalterati tutti i permessi dei file

-z: comprime il file con gzip

-f /backup.tgz: f indica il nome del file compresso, in questo caso /backup.tgz, quindi verrà creato nella cartella /

–exclude=: non è necessario fare il backup dei contenuti delle cartelle /proc, /sys e /lost+found, sono stati eliminati anche /media e /mnt per evitare che venisse fatto un backup anche di eventuali partizioni o penne usb montate e infine è stato eliminato dal backup il file /backup.tgz, che dal momento in cui viene creato fa a tutti gli effetti parte del contenuto del disco e quindi è meglio eliminarlo dal backup

/: per ultimo bisogna indicare di quale cartella si vuole fare il backup, quindi in questo caso scriviamo / per fare un backup dell’intero disco

 

RIPRISTINO

tar -xvpzf /backup.tgz -C /

-x: indica che si vuole estrarre l’archivio

-C /: si sposta nella directory specificata, in questo caso /

Pubblicato in Senza categoria | Lascia un commento

PHP - Approccio MySqli - connessione e creazione database, tabelle

Renè Magritte

Con Php ci si può interfacciare con il mariaDB.

MySQLi (MySQL improved), che può essere programmata tramite un approccio Object Oriented sebbene mantenga la possibilità di poter essere utilizzata anche con un approccio procedurale è un modo di poter scrivere sql.

Comprende le API (Application Programming Interface) per le prepared statements e le stored procedures, ma anche per query multiple e transazioni.

Per iniziare a lavorare con la libreria è necessario innanzitutto istanziare la relativa classe: il costruttore di MySQLi utilizzerà i parametri forniti, o quelli di default se non ne vengono specificati altri, per aprire la connessione con il DBMS, essa sarà il nostro tramite per comunicare di volta in volta le operazioni da svolgere sul database.

I metodi connect_error() e connect_errno() sono molto utili per controllare l’avvenuta connessione e consiglio sempre di usarli.

NB. intendere [dollaro] con il relativo simbolo

Eccone un esempio:

[dollaro]mysqli = new mysqli('localhost', 'nomeutente', 'Password');
   if ([dollaro]mysqli->connect_error) {
     die('Errore di connessione (' . [dollaro]mysqli->connect_errno . ') '
                        . [dollaro]mysqli->connect_error);
     } else {
        echo 'Connesso. ' . [dollaro]mysqli->host_info . "\n";
                }

il passo successivo è  quello di creare il database

if (![dollaro]mysqli->query("CREATE DATABASE biblioteca")) {
   die('Errore di creazione (' . [dollaro]mysqli->connect_errno . ') '
                        . [dollaro]mysqli->connect_error);
     } else {
        echo 'Ho creato il database. ' . [dollaro]mysqli->host_info . "\n";
                }

Per avere i dettagli si può andare sulla seguente pagina in cui vi sono i comandi musqli.

Adesso creo una tabella:

[dollaro]mysqli->query("CREATE TABLE login
( id INT ( 5 ) NOT NULL AUTO_INCREMENT,
user VARCHAR(40) NOT NULL,
password VARCHAR(64) NOT NULL,
PRIMARY KEY (id))");

stare sempre molto attenti alla sintassi SQL eventualmente prima provarla sul phpmyadmin.

si può anche scrivere in questa maniera:

[dollaro]query="CREATE TABLE libri ( id INT(5) NOT NULL AUTO_INCREMENT,autore VARCHAR(40) NOT NULL,titolo TEXT NOT NULL,editore VARCHAR(40) NOT NULL,anno SMALLINT(2) NOT NULL,PRIMARY KEY (id))";

if (![dollaro]mysqli->query([dollaro]query)) {
die([dollaro]mysqli->error);}

ossia aver definito la variabile [dollaro]query e gestire l'errore nella creazione.

[dollaro]query = " CREATE TABLE utenti ( id INT(5) NOT NULL AUTO_INCREMENT ,nome VARCHAR(30) NOT NULL ,cognome VARCHAR(30) NOT NULL ,indirizzo TEXT NOT NULL ,nascita DATE NOT NULL ,PRIMARY KEY (id))";

if (![dollaro]mysqli->query([dollaro]query)) {
die([dollaro]mysqli->error);}

e defnisco infine la tabella

[dollaro]mysqli->query("CREATE TABLE prestiti
( id INT NOT NULL AUTO_INCREMENT ,
id_utente INT NOT NULL ,
id_libro INT NOT NULL ,
data DATE NOT NULL ,
restituito ENUM('0','1') NOT NULL ,
PRIMARY KEY (id))");

naturalmente tutto ciò all'interno di

<?php

?>

 

Pubblicato in Senza categoria | Lascia un commento

Linux - elenco pacchetti installati - installazione nuovo software da tar.gz o .deb

Janek Yerka

PACCHETTI INSTALLATI

Per verificare i pacchetti installati dare il seguente comando

dpkg -l

se si vogliono ulteriori informazioni si deve dare il comando:

ls /var/log/ | grep dpkg

a questo punto si può andare a vedere che cosa si è installato nei dettagli.

INSTALLARE DA TAR.GZ

Per installare un pacchetto che si è appena scaricato con estensione tar.gz

dare il seguente comando:

tar -xvzf nome_file.tar.gz

per i dettagli andare a vedere il post tar

./configure

make

make install

make clean

 

INSTALLARE da .deb

dare il comando

dpkg -i nome_file.deb

Estrarre da .zip

dare il comando:

unzip nomefile.zip

Pubblicato in Senza categoria | Lascia un commento

PHP - Introduzione generale

PHP è un linguaggio per lo scripting server-side, ossia un linguaggio che risiede in un server in remoto e che, in fase di esecuzione, interpreta le informazioni ricevute da un client grazie al Web server, le elabora e restituisce un risultato al client che ha formulato la richiesta.

PHP si differenzia poi dai linguaggi di scripting client side, come per esempio JavaScript, per via del fatto che il sorgente viene eseguito nel server, generando markup HTML da inviare al client; quest’ultimo riceverà i risultati dell’esecuzione di un’applicazione ma il codice eseguito non sarà mai visibile.

PHP nasce nel 1994 dalla tastiera di Rasmus Lerdorf; inizialmente esso veniva presentato come una serie di Common Gateway Interface (CGI) binari scritti in C per tracciare il numero di visite all’interno della suo homepage personale. Da qui il primo nome del PHP: Personal Home Page. In seguito però verrà rinominato in Hypertext Preprocessor.

Per sviluppare in PHP non sono necessari di molti strumenti, il set up della macchina è piuttosto veloce e si è operativi in breve tempo. Vediamo di quali soluzioni abbiamo bisogno:

  • un server Web;
  • PHP;
  • un editor di testo;
  • un browser per la navigazione Internet;
  • un gestore di database per l’eventuale interazione con i dati.

Per poter scrivere del codice è consigliabile usare un IDE (Integrated Development Environment)attraverso il quale si possa poi digiatare del software.

Nel caso specifico si userà Eclipse.

Ambiente LAMP

Pubblicato in Senza categoria | Lascia un commento

Linux - backup con tar

Janek Yerka

La cosa più importante per il mantenimento di un server è l'effettuazione dei backup.

Vi sono due tipi di backup:

  • incrementali
  • completi (full)

Il backup incrementale copia solo i file modificati.

Nella tabella seguente evidenzio i vantaggi e gli svantaggi

Tipo Backup Restore
incrementale veloce lento
full lento veloce

Il comando utilizzato per effettuare un backup è

tar

ecco i parametri che si devono conoscere, si possono combinare assieme come sempre nel mondo linux e per convenzione è meglio sempre farli precedere dal -

p effettua il backup mantenendo i privilegi
c crea un archivio in cui inserisce il backup
z comprime i dati con gzip
j comprime i dati con jzip
f scrive/legge l'archivio nel file di cui si fornisce il nome - attenzione che tale parametro deve essere l'ultimo dei parametri dati
v mostra i dati di cui si sta facendo il backup o restore
vv fornisce ulteriori dettagli (maggiori rispetto al comando precedente)
w ogni azione richiede la conferma
r aggiunge i file ad un archivio già creato sempre che questo non sia compresso
t mostra il contenuto di un archivio
x estrae i dati da un archivio
C si fornisce il percorso di dove dovrà essere effettuato il restore

Avvertenza: per poter dare i comandi successivi bisogna essere root

Ecco alcuni esempi:

BACKUP

Avvertenza: prima di effettuare il backup, creare la directory in cui verrà poi posto il backup

tar -pzcf /mnt/backup/home-backup-`date '+%d-%B-%Y'`.tar.gz /home/francesco

p--> copia i file mantenendo i permessi

z--> utilizzo gzip per comprimere i file

c -->crea un archivio che conterrà il backup

f --> utilizza il nome del file che segue per inserire i backup

`date '+%d-%B-%Y'` --> mi crea il nome del file prendendo la data del sistema il simbolo ` si crea con altgr e poi apice (normalmente sotto il ?)

tar.gz mi indica che è un file tar compresso con gz

LISTA CONTENUTO

Avvertenza: dare il comando nella directory in cui si trova il file

tar -ztf home-backup-28-ottobre-2018.tar.gz

z --> è un file di tipo gzip

t --> mostra il contenuto

f --> il file che segue ha quel nome specifico

RESTORE

Avvertenza: specificare bene dove effettuare il restore, se non viene specificato si rischia di fare il restore di tutti i file anche di quelli di cui non si vuole fare il restore

tar -xvpzf home-backup-28-ottobre-2018.tar.gz -C /mnt/restore

x --> effettuo il restore

v--> mi fornisce le informazioni di cosa sta facendo

p--> mi ricrea i permessi

z --> file creato con gzip

f--> nome del file che segue

-C /mnt/restore --> mi effettua il restore nella cartella restore

Pubblicato in Senza categoria | Lascia un commento

Linux - Debian Stretch - Installazione ifconfig

Janek Yerka

Appena terminata l'installazione di Debian stretch potrebbe esserci l'esigenza di conoscere il nome delle schede di rete o l'eventuale configurazione di rete.

Il comando, normalmente è

ifconfig

ma dà la seguente risposta:

# ifconfig
-bash: ifconfig: command not found

 

esso è all'interno del pacchetto net-tools

E' sufficiente dare il seguente comando:

apt-get install net-tools

ed il problema si risolve

Pubblicato in Senza categoria | Lascia un commento