Ricerca nel sito web

Installa Apache, MySQL 8 o MariaDB 10 e PHP 7 su CentOS 7


Questa guida pratica spiega come installare l'ultima versione di Apache, MySQL 8 o MariaDB 10 e PHP 7 insieme ai moduli PHP richiesti su RHEL/CentOS 7/6 e Fedora 24-29.

Questa combinazione del sistema operativo (Linux) con il server web (Apache), il server database (MariaDB/MySQL) e lo scripting lato server (PHP) è noto come stack LAMP.

Da non perdere: come installare Nginx 1.15, MariaDB 10 e PHP 7 su CentOS 7

Da settembre 2015, PHP 5.4 non è più supportato dal team PHP ed è giunto alla fine del suo ciclo di vita, tuttavia PHP 5.4 viene fornito con RHEL/CentOS 7 /6 con modifiche minori alla versione e Red Hat lo supporta, quindi non è necessario l'aggiornamento a una versione superiore. Tuttavia, ti consigliamo vivamente di aggiornare PHP 5.4 a PHP 5.5+ per maggiore sicurezza e prestazioni.

Ecco cosa viene fornito con la tua attuale distribuzione Linux:

PHP Current Version RHEL/CentOS 7 RHEL/CentOS 6
7.3 5.4 5.3

Per fare ciò, abiliteremo i repository EPEL e Remi e utilizzeremo yum e dnf (il nuovo strumento di gestione dei pacchetti disponibile in Fedora).

Passaggio 1: installazione di EPEL e del repository Remi

EPEL (Extra Packages for Enterprise Linux) è un repository basato sulla comunità che offre pacchetti software aggiuntivi per distribuzioni Linux basate su RHEL.

Remi è un repository in cui puoi trovare le ultime versioni dello stack PHP (con funzionalità complete) per l'installazione nelle distribuzioni Fedora ed Enterprise Linux.

Su RHEL/CentOS 7

yum update && yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

------ For RHEL 7 Only ------
subscription-manager repos --enable=rhel-7-server-optional-rpms

Su RHEL/CentOS 6

yum update && yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

------ For RHEL 6 Only ------
subscription-manager repos --enable=rhel-6-server-optional-rpms

Su Fedora 24-29

rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-29.rpm  [On Fedora 29]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-28.rpm  [On Fedora 28]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-27.rpm  [On Fedora 27]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-26.rpm  [On Fedora 26]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-25.rpm  [On Fedora 25]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-24.rpm  [On Fedora 24]

Passaggio 2: installazione del server Web Apache

Apache è un server Web HTTP gratuito e open source che funziona sulla maggior parte dei sistemi operativi basati su UNIX e su Windows. In quanto tale, può essere utilizzato per servire pagine Web statiche e gestire contenuti dinamici. Rapporti recenti mostrano che Apache è il server numero uno utilizzato nei siti Web e nei computer connessi a Internet.

Per installare il server web Apache, aggiorna prima i pacchetti software di sistema e installalo utilizzando i seguenti comandi.

yum -y update
yum install httpd

Una volta installato il server web Apache, puoi iniziare ad abilitarlo per l'avvio automatico all'avvio del sistema.

systemctl start httpd
systemctl enable httpd
systemctl status httpd

Se utilizzi firewalld, assicurati di consentire il traffico Apache sul firewall.

firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload

Passaggio 3: installazione di PHP utilizzando il repository Remi

PHP (Hypertext Preprocessor) è un linguaggio di scripting lato server gratuito e open source più adatto per lo sviluppo web. Può essere utilizzato per produrre pagine Web dinamiche per un sito Web e si trova più frequentemente nei server *nix. Uno dei vantaggi di PHP è che è facilmente estensibile attraverso l'uso di un'ampia varietà di moduli.

Per installare PHP, devi prima abilitare il repository Remi installando yum-utils, una raccolta di programmi utili per la gestione dei repository e dei pacchetti yum.

yum install yum-utils

Una volta installato, puoi utilizzare yum-config-manager fornito da yum-utils per abilitare il repository Remi come repository predefinito per l'installazione di diverse versioni PHP come mostrato.

Ad esempio, per installare la versione PHP 7.x, utilizza il seguente comando.

------------- On CentOS & RHEL ------------- 
yum-config-manager --enable remi-php70 && yum install php       [Install PHP 7.0]
yum-config-manager --enable remi-php71 && yum install php       [Install PHP 7.1]
yum-config-manager --enable remi-php72 && yum install php       [Install PHP 7.2]
yum-config-manager --enable remi-php73 && yum install php       [Install PHP 7.3]

------------- On Fedora ------------- 
dnf --enablerepo=remi install php70      [Install PHP 7.0]
dnf --enablerepo=remi install php71      [Install PHP 7.1]
dnf --enablerepo=remi install php72      [Install PHP 7.2]
dnf --enablerepo=remi install php73      [Install PHP 7.3]

Successivamente, installeremo tutti i seguenti moduli PHP in questo articolo. Puoi cercare più moduli relativi a PHP (magari per integrare una funzionalità specifica di cui hanno bisogno le tue applicazioni web) con il seguente comando:

------ RHEL/CentOS 7/6------
yum search all php     

------ Fedora ------
dnf search all php   

Indipendentemente dalla distribuzione, i comandi precedenti restituiscono l'elenco dei pacchetti nei repository attualmente abilitati che includono la parola php nel nome del pacchetto e/o nella descrizione.

Ecco i pacchetti che installeremo. Tieni presente che i connettori MySQL (PHP, Perl, Python, Java, ecc.) funzioneranno invariati con MariaDB poiché entrambi i sistemi utilizzano lo stesso protocollo client e le stesse librerie client sono compatibili a livello binario.

  1. MariaDB/MySQL (php-mysql) – un oggetto condiviso dinamico che aggiungerà il supporto MariaDB a PHP.
  2. PostgreSQL (php-pgsql): supporto del database PostgreSQL per PHP.
  3. MongoDB (php-pecl-mongo) – Un'interfaccia per comunicare con il database MongoDB in PHP.
  4. Generico (php-pdo) – Un oggetto condiviso dinamico che aggiungerà un livello di astrazione per l'accesso al database a PHP.
  5. Memcache (php-pecl-memcache) – Memcached è un demone di memorizzazione nella cache progettato appositamente per applicazioni Web dinamiche per ridurre il carico del database archiviando oggetti in memoria.
  6. Memcached (php-pecl-memcached) – Un'estensione che utilizza la libreria libmemcached per fornire API per la comunicazione con i server memcached.
  7. GD (php-gd) – Un oggetto di condivisione dinamico che aggiunge il supporto per l'utilizzo della libreria grafica gd a PHP.
  8. XML (php-xml) – Oggetti condivisi dinamici che aggiungono supporto a PHP per la manipolazione di documenti XML.
  9. MBString (php-mbstring) – Un'estensione per gestire stringhe multibyte nelle applicazioni PHP.
  10. MCrypt (php-mcrypt) – Una libreria Mcrypt per script PHP.
  11. APC (php-pecl-apcu) – Modulo APC utilizzato per ottimizzare e memorizzare nella cache il codice PHP.
  12. CLI (php-cli): interfaccia della riga di comando per PHP.
  13. PEAR (php-pear) – Framework di repository di applicazioni per PHP.

Installa i seguenti moduli PHP necessari con il comando seguente.

------ On RHEL/CentOS 7/6 ------
yum --enablerepo=remi install php-mysqlnd php-pgsql php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear

------ On Fedora ------
dnf --enablerepo=remi install php-mysqlnd php-pgsql php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear

Passaggio 4: installazione del database MySQL o MariaDB

In questa sezione ti mostreremo l'installazione di entrambi i database MySQL e MariaDB, quindi sta a te decidere cosa scegliere in base alle tue esigenze.

Installazione del server database MySQL 8

MySQL è uno dei sistemi di gestione di database relazionali (RDBMS) open source più famosi al mondo che esegue qualsiasi server fornendo accesso multiutente a più database. MySQL funziona con Apache.

Per installare l'ultima versione di MySQL 8.0, installeremo e abiliteremo il repository software MySQL Yum ufficiale utilizzando i seguenti comandi.

rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm        [On RHEL/CentOS 7]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el6-1.noarch.rpm     [On RHEL/CentOS 6]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc29-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc28-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc27-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc26-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc25-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc24-1.noarch.rpm    [On Fedora 29]

Dopo aver installato il repository software MySQL Yum per la tua piattaforma Linux, installa ora l'ultima versione di MySQL (attualmente 8.0) utilizzando il seguente comando.

yum install mysql-community-server      [On RHEL/CentOS]
dnf install mysql-community-server      [On Fedora]

Dopo aver installato con successo MySQL, è ora di avviare il server MySQL con il seguente comando.

service mysqld start

Consulta il nostro articolo su come proteggere l'installazione del database MySQL 8.

Installazione del server database MariaDB 10

MariaDB è un fork del noto MySQL, uno dei sistemi di gestione di database relazionali (RDBMS) più famosi al mondo. È interamente sviluppato dalla comunità e come tale è destinato a rimanere FOSS e compatibile con la GPL.

Se sei o sei stato un utente MySQL, la migrazione a MariaDB sarà un processo molto semplice: i comandi più diffusi per connettersi, eseguire il backup e il ripristino e gestire i database sono identici in entrambi gli RDBMS.

Nell'ultima distribuzione RHEL/CentOS 7, MariaDB è un sostituto immediato di MySQL mentre in RHEL/CentOS 6 MySQL rimane lo stesso e non è consentito installare MariaDB su RHEL/CentOS 6 dal repository predefinito, ma puoi installare MariaDB utilizzando il repository MariaDB ufficiale.

Per abilitare il repository MariaDB sulle distribuzioni RHEL/CentOS 7, crea un file denominato /etc/yum.repos.d/mariadb.repo con il seguente contenuto:

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Nota: come ho detto sopra, puoi anche installare MariaDB su RHEL/CentOS 6 utilizzando il repository ufficiale MariaDB come indicato sopra.

Dopo aver abilitato il repository MariaDB, esegui:

------ On RHEL/CentOS 7 ------
yum --enablerepo=remi install httpd MariaDB-client MariaDB-server

------ On Fedora ------
dnf --enablerepo=remi install httpd MariaDB-client MariaDB-server

Passaggio 5: abilita/avvia Apache e MySQL/MariaDB

Su SystemD

------ Enable Apache and MariaDB on Boot ------
systemctl enable httpd
systemctl enable mariadb

------ Start Apache and MariaDB ------
systemctl start httpd
systemctl start mariadb

Su SysVinit

------ Enable Apache and MySQL on Boot ------
chkconfig --levels 235 httpd on
chkconfig --levels 235 mysqld on

------ Start Apache and MySQL ------
/etc/init.d/httpd start
/etc/init.d/mysqld start

Passaggio 6: verifica dell'installazione di PHP

Atteniamoci al metodo classico di testare PHP. Crea un file chiamato test.php in /var/www/html e aggiungi le seguenti righe di codice.

La funzione phpinfo() mostra molte informazioni sull'attuale installazione di PHP:

<?php
	phpinfo();
?>

Ora punta il tuo browser web su http://[server]/test.php e verifica la presenza dei moduli installati e dei software aggiuntivi scorrendo la pagina (sostituisci [server] con il tuo dominio o l'indirizzo IP del tuo server). Il tuo output dovrebbe essere simile a:

Congratulazioni! Ora hai l'ultima installazione funzionante di uno stack LAMP. Se qualcosa non è andato come previsto, non esitate a contattarci utilizzando il modulo sottostante. Anche domande e suggerimenti sono benvenuti.

Nota: puoi anche installare MariaDB in altre distribuzioni creando un repository personalizzato seguendo le istruzioni fornite qui.