Passa ai contenuti principali

Server Aruba Cloud - CentOS 7 - Aggiungere una versione nuova di PHP al Web Server LAMP multi PHP



Qualche post fa, ho introdotto il il server che può gestire parallelamente più linguaggi PHP (ovviamente un versione a dominio) con la gestione del "catenaccio" SSL di Let's Encrypt.

Come tutte le tecnologie, esse evolvono, gradualmente, nel corso del tempo.

Se fino a pochi mesi fa, la versione 7.3 (riferimento temporale ad Aprile 2021) era quella stabile sulla quale si poteva sviluppare codice in PHP, ovviamente, veloce come il vento esso diventa obsoleto in men che non si dica, generando i famosi problemi di aggiornamento software, che non sempre è possibile fare (e perciò ho creato questa "macchina").

E' possibile aggiungere altre versioni di linguaggio, ad esempio 8.0 oppure 8.1 (o successivi)?

La risposta è abbastanza retorica (si, si può fare), ma ovviamente il tutto deve essere commisurato alla macchina intesa come hardware: Processore, Memoria RAM disponibile, spazio sul disco (o qualunque cosa il computer veda come spazio sul disco, anche un NAS da 20TB ad esempio).

Noi abbiamo costruito il tutto su un "serverino" Aruba Cloud base (Versione Smart da 3,50€/mese ivato), ma ovviamente si può applicare a macchine più ampie e complesse.

Questo post, come anche mostrato in bibliografia, è una estensione dell'articolo Server Aruba Cloud - CentOS 7 - Installare un Web Server LAMP multi PHP (PHP 5.6 e PHP 7.3) sul quale si può operare senza necessariamente staccare i servizi (anche se, prassi vuole, avvisare l'utenza di possibili interruzioni di servizio)


Controllare le versioni sul web

In primo luogo, quello che a noi interessa è verificare le versioni disponibili del PHP, e per farlo dobbiamo verificare sul Web quali sono state rilasciate:

http://rpms.remirepo.net/enterprise/




In blu sono selezionate le versioni disponibili.

Il nostro interesse, al momento è la versione 8, ma nulla vieta di poter usufruire anche della versione 4 laddove necessario per retrocompatibilità.


A questo punto da terminale (consolle che dir si voglia) con il super utente (root):


yum install http://rpms.remirepo.net/enterprise/remi-release-8.rpm


Il sistema verificherà la disponibilità dei componenti.

Finito, come accaduto per la versione di  PHP 5.6 e 7.3, descritte nel precedente articolo, si prosegue come segue:


yum -y install php81

yum -y install php81-php-fpm



Stoppiamo il servizio appena installato

systemctl stop php81-php-fpm


Diciamo al sistema quali porte sono necessarie a PHP

sed -i 's/:9000/:9072/' /etc/opt/remi/php81/php-fpm.d/www.conf


Installiamo le direttive per l'accesso al DataBase MySQL (o il "fork" Maria DB)

yum install php81-php-mysql php81-php-pecl-memcache php81-php-pecl-memcached php81-php-gd php81-php-mbstring php81-php-mcrypt php81-php-xml php81-php-pecl-apc php81-php-cli php81-php-pear php81-php-pdo


Riavviamo il servizio

systemctl start php81-php-fpm


A questo punto creiamo il file CGI con nano (si prevede l'installazione del programma, come descritto nel precedente articolo I tool base di Linux)

nano /var/www/cgi-bin/php81.fcgi


copiando dentro il seguente testo

#!/bin/bash

exec /bin/php81-cgi


Infine diamo permessi 755 al file:

sudo chmod 755 /var/www/cgi-bin/php81.fcgi


e riavviamo i servizi:

systemctl enable httpd

systemctl enable php81-php-fpm

systemctl start php81-php-fpm


Si potrebbe generare qualche errore a monitor, ma non dare conto


A questo punto, andiamo a creare un dominio per PHP 8.1 (seguendo il nostro esempio iniziale: tmm3.2cg.it):

Configuriamo il file del Virtual Host tmm2.2cg.it

Creiamo il file di VirtualHost direttamente nella cartella con nano

nano /etc/httpd/conf.d/tmm2.2cg.it.conf

########################

###### Porta 80 - Inizio

###

### - tmm3.2cg.it

### - Con accesso con .htaccess di yourl

### - e con error.log

###### 

<VirtualHost tmm3.2cg.it>

    DocumentRoot "/var/www/html/php81"

    

    #ServerName tmm3.2cg.it

    # Parametri della struttura in php 8.1

    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

    AddHandler php81-fcgi .php

    Action php73-fcgi /cgi-bin/php81.fcgi


    # Parametri della cartella in PHP 8.1

    <Directory /var/www/html/php81>

DirectoryIndex index.php

AllowOverride all

Require all granted

    </Directory>

</VirtualHost>


Ultimo passaggio è quello di creare un file PHP che ci consenta di vedere la versione e cosa abbiamo come add-on


mkdir -p /var/www/html/php81

echo "<?php phpinfo(); ?>" > /var/www/html/php81/index.php


Avviamo tutti i servizi

systemctl enable httpd
systemctl enable php81-php-fpm
systemctl start httpd
systemctl start php81-php-fpm


Ecco il risultato:

tmm3.2cg.it


Analogo discorso per il "catenaccio" di Let's Encrypt, già discusso nell'articolo: Server Aruba Cloud - CentOS 7 - Installare i certificati SSL di Let's Encrypt


Essendo già installato, si deve solo selezionare l'host:



Avremo:




Bibliografia

Server Aruba Cloud - CentOS 7 - Installare un Web Server LAMP multi PHP (PHP 5.6 e PHP 7.3)

Server Aruba Cloud - CentOS 7 - Installare Virtual Host SSL su Apache2 (porta 443)

Server Aruba Cloud - CentOS 7 - Server LAMP multi PHP - Apache2 - Gestire domini con e senza SSL scegliendo la versione di PHP

Server Aruba Cloud - CentOS 7 - Installare i certificati SSL di Let's Encrypt

Commenti

Post più popolari

Mac OS X - Installare ed usare una stampante sul Print Server GetNet 3 Port 2 USB e 1 LPT

Abbiamo visto come installare il Print Server GetNet 3 in 1 sui più diffusi sistemi operativi Windows (vedi articoli correlati in fondo al post). La "scatoletta" ha anche un protocollo di comunicazione Apple Talk, quindi può essere collegata (fare da tramite) anche a stampanti che abbiano la gestione post script integrata (quasi tutte le stampanti salvo quelle del gruppo Ricoh che hanno bisogno di un apposito moduol installato) sul Mac. Print Server GetNet 1 Parallela e 2 USB Il metodo di installazione è molto simile a quello visto su Windows, con la differenza sostanziale che non è necessario scegliere tra moltissimi modelli, ma si gestisce in modo più semplice. Purtroppo sul Mac non è possibile (allo stato attuale) collegare print server di tipo TP-Link, ovvero replicatori di porta USB su Lan, in quanto non esiste un driver adatto. Detto questo, consideriamo la stampante che vogliamo collegare al Mac. Il caso che abbiamo usato nei precedenti post,

BlackBerry - Importare i dati da altri cellulari

English translated post Un amico mi porta un BlackBerry Pearl 8110 e mi chiede di trasferire i dati dal suo cellulare Nokia a questo telefono. Premesso che personalmente non ho mai reputato il BlackBerry un telefono "semplice", l'operazione si è reputata piuttosto complessa. Scartata l'idea di mandare i vcard via bluetooth (come si fa con quasi tutti i Nokia e Samsung), l'unica alternativa è quella di appoggiarsi a Microsoft Outlook !!! Come fare? 1 - Installare il Microsoft Outlook (XP o 2003) nel proprio PC 2 - Installare (nel caso specifico del Nokia) il programma Nokia PC Suite 3 - Sincronizzare solo la Rubrica (ovviamente dipende sempre se il cellulare Nokia è il Vostro o di un Vostro amico) del Nokia con l'Outlook, così che tutti i dati presenti nella Rubrica siano copiati nella sezione Contatti dell'Outlook 4 - Scaricare l'ultima versione del BlackBerry Desktop Manager (se il pacchetto è quello Vodafone, la versione sul CD non è mo

Joomla! - Mettere la testata in Stampa

Come è noto Joomla! è uno dei più usati CMS (Content Managment System) che consente di avere un ambiente (environment) sul quale costruire e sviluppare siti e portali. Uno dei problemi più noti è quello di poter inserire la testata nel file da stampare. Ad esempio se il mio sito si chiama dicecca.net - Blog ed ha un logo particolare che voglio pubblicare come testata, nella conformazione classica, non posso farlo. Come risolvere? Premesso che tutto il sistema è scritto in linguaggio PHP, il file che viene chiamato in causa è component.php che si trova nella cartella /[sito (1)] /templates/system Il file ( che è possibile scaricare qui in formato testo ), alla riga 40 inizia il Body del testo. Alla riga 41 inizia l'inclusione del testo dell'articolo che si è deciso di stampare, che a sua volta viene aperto in una finestra popup. Dando un taso invio, dalla riga 41 è possibile inserire il riferimento ad una immagine e/o un formattato HTML della testata del nos