mm-barabba

Condividi contenuti
“Sparare per la pace è come trombare per la verginità”
Aggiornato: 30 min 8 sec fa

Unstoppable RaiNix V3.0.0

Mar, 21/05/2019 - 01:06

Sono lieto di annnunciare il nuovo rilascio di RaiNix V3.

Per gli amanti di Linux & bash , ecco la nuova versione aggiornata del mitico script che permette di usufruire dei servizi offerti da RAI sulla propria postazione.

Download “RaiNix 3.0.0 (21/05/2019)” RaiNixV3.7z – Scaricato 491 volte – 10 KB

Attenzione perché il fantastico script è utilizzabile su altri OS

  • Windows 10 64 bit
  • Apple MacOS
  • FreeBSD e derivate

Quindi ora non avete più scuse per non poterlo utilizzare, maggiori info nel sito di Paolo Di Stefano.

Se avete problemi nel funzionamento postate un commento anche qui se volete, dai miei test funziona su debian stable sia a 32 che a 64.

NB La nuova funzione search !!!

COME USARE RAINIXV3

Dipende da curl, dialog, ffmpeg ed i seguenti player multimediali:

ffplay che s’installa insieme a ffmpeg (consigliata la versione 3.x.x e superiori)
mpv che fornisce ottime prestazioni funzionando su tutti i canali con la risoluzione più alta possibile. Si raccomanda l’installazione dell’ultima versione disponibile.

Altri player opzionali sono:
streamlink che s’appoggia nello script a mpv e VLC con un’ottima risoluzione. Può essere facilmente installato anche tramite pip, tool per pacchetti in python. In pratica, una volta installato pip dare il comando da terminale (eventualmente come amministratore) pip install streamlink.

VLC noto player ben conosciuto anche su Windows e MacOS, per Rai Replay e Radio.
SMplayer  per RAI replay e Radio. Per lanciare più istanze: disabilitare casella in ‘opzioni’–>’preferenze’–>’interfaccia’–>’istanze’.

Una volta scaricato, eventualmente renderlo eseguibile e poi lanciare lo script da terminale con il comando ./rainixv3.sh. Con bash -x rainixv3.sh è possibile attivare il debug. Attendere qualche momento e poi parte il flusso.

Lo script è configurabile secondo proprie esigenze intervenendo nell’apposita sezione dello script “Here you can change some settings“. Tra l’altro si può:

a) modificare l’ordine dei player per i canali TV nella riga ‘PlayersLive=;
b) modificare il player per le dirette radio nella riga PlayersRadio=;
c) con LsRecorder=”1″ usare come recorder streamlink e non ffmpeg (utile se si verifichino asincronie audio/video);
d) con HideRecorder=”1” scompare la finestra Xterm che controlla il flusso di registrazione e per fermarla occorre intervenire con riga di comando, da usare con prudenza;
e) con NoTerm=0 si ripristina la finestra Xterm anche durante la visione dei video;
f) con Wsl=1 (solo per Windows) si modifica il comportamento dello script in altri ambienti, modificare solo se ci sono problemi nell’uso;
g) con AudioCodec=”libmp3lame” si cambia l’output del formato audio delle registrazioni in mp3, utile per problemi di compatibilità;
h) con LiveRecFmt=”mkv” si cambia il formato contenitore della registrazione, utile per problemi di compatibilità soprattutto con VLC.

Categorie: planet

Debian Stretch apache2.4 and php7.3 with mpm-event e php7.3-fpm

Sab, 16/03/2019 - 02:15

Debian Stretch come server locale per uso casalingo va benissimo ma spesso ci si trova ad affrontare situazione dove si è obsoleti, questo mi è accaduto con php che in debian era fermo alla versione 5.6 mentre da bacports poteva arrivare alla 7.0, alcune web-app chiedevano un upgrade così mi spingo avanti e provo a passare a php7.3.

Nel corso dell’operazione che ho in ballo da alcuni mesi ho aggiunto un passaggio, ho portato apache2.4 dall’usare invece di mpm-prefork (vecchio default che non supportava più HTTP2) con php7.3, a una verione di mpm ( Multi-Processing Module ) diversa che già da Jessie viene usata come default in una nuova installazione di apache2, questa è mpm-event che abbinanto a php7.3-fpm sembra essere un ottima in coppia.

PHP7.3

Per passare a php7.3 occore affidarsi a sorgenti diverse da quelle ufficiali ma comunque sicure, grazie allo sviluppatore debian sury , carichiamo la chiave.


# wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

aggiugiamo al nostro sources.list

deb https://packages.sury.org/php/ stretch main

Nel caso si voglia fare un pinning nel file /ect/apt/preferences mettiamo

Package: *
Pin: release a=stretch
Pin-Priority: 999 Package: *
Pin: release n=stretch-backports
Pin-Priority: 500 Package: *
Pin: release o=deb.sury.org
Pin-Priority: 500

Ora aggiorniamo e installiamo i nuovi pacchetti :

# aptitude update
# aptitude install php7.3 libapache2-mod-php7.3 php7.3-bz2 php7.3-cgi php7.3-cli php7.3-common php7.3-curl php7.3-fpm php7.3-gd php7.3-gmp php7.3-imap php7.3-intl php7.3-json php7.3-mbstring php7.3-mysql php7.3-opcache php7.3-pspell php7.3-readline

Prima di avviare il nuovo modulo andiamo ad applicare le modifiche necesarie al file /etc/php/7.3/apache2/php.ini , ovvero copiando quelle presenti nel vecchio file di configurazione, a questo punto dobbiamo caricare il modulo su apache2 e riavviare il servizio.

# a2dismod php7.0
# a2enmod php7.3
# systemctl restart apache2

In questo modo avremmo caricato il modulo di php7.3, nel caso di problemi con le nostre webapp è possibile tornare in pochi secondi all’uso di php7.0, disabilitando il 7.3 e caricando il 7.0 c

mpm-event & php7.3-fpm

Ora che abbiamo abilitato php7.3 potremmo essere soddisfatti ma vogliamo qualcosa di più e decidiamo di allinearci ai tempi e cambiare MPM ,di seguito un’ottima spiegazione su come lavorano i vari mpm ( Multi-Processing Module )

prefork

mpm_prefork is.. well.. it’s compatible with everything. It spins off a number of child processes for serving requests, and the child processes only serve one request at a time. Because it’s got the server process sitting there, ready for action, and not needing to deal with thread marshaling, it’s actually faster than the more modern threaded MPMs when you’re only dealing with a single request at a time – but concurrent requests suffer, since they’re made to wait in line until a server process is free. Additionally, attempting to scale up in the count of prefork child processes, you’ll easily suck down some serious RAM.

It’s probably not advisable to use prefork unless you need a module that’s not thread safe.

Use if: You need modules that break when threads are used, like mod_php. Even then, consider using FastCGI and php-fpm.

Don’t use if: Your modules won’t break in threading.

worker

mpm_worker uses threading – which is a big help for concurrency. Worker spins off some child processes, which in turn spin off child threads; similar to prefork, some spare threads are kept ready if possible, to service incoming connections. This approach is much kinder on RAM, since the thread count doesn’t have a direct bearing on memory use like the server count does in prefork. It also handles concurrency much more easily, since the connections just need to wait for a free thread (which is usually available) instead of a spare server in prefork.

Use if: You’re on Apache 2.2, or 2.4 and you’re running primarily SSL.

Don’t use if: You really can’t go wrong, unless you need prefork for compatibility.

However, note that the treads are attached to connections and not requests – which means that a keep-alive connection always keeps a hold of a thread until it’s closed (which can be a long time, depending on your configuration). Which is why we have..

event

mpm_event is very similar to worker, structurally; it’s just been moved from ‘experimental’ to ‘stable’ status in Apache 2.4. The big difference is that it uses a dedicated thread to deal with the kept-alive connections, and hands requests down to child threads only when a request has actually been made (allowing those threads to free back up immediately after the request is completed). This is great for concurrency of clients that aren’t necessarily all active at a time, but make occasional requests, and when the clients might have a long keep-alive timeout.

The exception here is with SSL connections; in that case, it behaves identically to worker (gluing a given connection to a given thread until the connection closes).

Use if: You’re on Apache 2.4 and like threads, but you don’t like having threads waiting for idle connections. Everyone likes threads!

Don’t use if: You’re not on Apache 2.4, or you need prefork for compatibility.

Prima di procedere al caricamento dei moduli occorre apportare le dovute modifiche al file /etc/apache2/sites-avaiable /mysite-ssl.conf inserendo queste opzioni :

# Run php-fpm via proxy_fcgi
# https://serverfault.com/questions/450628/apache-2-4-php-fpm-proxypassmatch#672969
  <FilesMatch \.php$>
  SetHandler "proxy:unix:/run/php/php7.3-fpm.sock|fcgi://localhost"
  </FilesMatch>
 <Proxy fcgi://localhost>
   ProxySet connectiontimeout=5 timeout=240
 </Proxy>
 RewriteCond %{REQUEST_FILENAME} \.php$
 RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-f
 RewriteRule (.*) - [H=text/html]

<Directory "/www/html/">


Options FollowSymLinks
AllowOverride All
Require all granted
RewriteEngine On

A questo punto possiamo procedere al cambio dei module e riavviare l’indiano.

# a2dismod php7.3 mpm_prefork
# a2enmod proxy_fcgi setenvif mpm_event rewrite headers env dir mime ssl http2
# a2enconf php7.3-fpm

Un semplice test sul nostro server in una pagina phptest.php con all’interno :


<?php
// Visualizza tutte le informazioni, default: INFO_ALL
phpinfo();

?>

Il risultato dovrebbe essere come questo :

Nel caso si voglia disabilitare la navigazione tra le varie dir, basta aggiunger un file .htaccess con il seguente contenuto:

Options -Indexes

Accedendo alle opzioni svipuppatore del vostro browser con una console è possibile vedere anche che http2 è tornato a funzionare.

Testando le varie applicazioni installate posso confermare che il 95% delle applicazioni a continuato a funzionare correttamente, ha fallito l’upgrade groupoffice che volevo abbandonare da un po e non supporta mpm-event , mentre ha continuato a funzionare nextcloud 15.0.5 , una php photo gallery , rainloop webmail e mediawiki 1.32.0.

Ache da qui è possibile tornare sui propri passi andando a modificare i vari file.conf di cui avevate fatto una copia prima di fare le modifiche e operando al contrario i passaggi prima indicati sui moduli, così consiglio la prova a tutti coloro che hanno un’oretta da spendere.

In caso di problemi è sempre necessario osservare i log , e se volete provare a postare un commento posso vedere se ho dimenticato qualcosa dei miei appunti.

Categorie: planet