Installazione Server · 7 min read · Nov 25, 2025

Come installare Apache, PHP 7.3 e MySQL su CentOS 7.6

Questo tutorial mostra come installare un server web Apache su un server CentOS 7 con PHP (mod_php) e database MySQL. L’acronimo LAMP sta per L inux, A pache, M ySQL, P HP.

Questo tutorial aggiornato mostra l’installazione delle ultime versioni di PHP (7.0, 7.1, 7.2 e 7.3) su CentOS 7.6.

1 Nota Preliminare

In questo tutorial, utilizzo il nome host server1.example.com con l’IP p 192.168.0.100. Queste impostazioni potrebbero differire per te, quindi devi sostituirle dove appropriato.

Aggiungerò qui il repo EPEL per installare l’ultima versione di phpMyAdmin come segue:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*  
yum -y install epel-release

Per modificare i file nel terminale, installerò l’editor nano. Se preferisci vi per la modifica dei file, salta questo passaggio.

yum -y install nano

2 Installazione di MySQL / MariaDB

MariaDB è un fork di MySQL dell’originale sviluppatore di MySQL Monty Widenius. MariaDB è compatibile con MySQL e ho scelto di usare MariaDB qui invece di MySQL. Esegui questo comando per installare MariaDB con yum:

yum -y install mariadb-server mariadb

Poi creiamo i collegamenti di avvio del sistema per MySQL (in modo che MySQL si avvii automaticamente ogni volta che il sistema si avvia) e avviamo il server MySQL:

systemctl start mariadb.service  
systemctl enable mariadb.service

Imposta le password per l’account root di MySQL:

mysql_secure_installation
[root@server1 ~]# mysql_secure_installation  
  
NOTA: È RACCOMANDATO ESEGUIRE TUTTE LE PARTI DI QUESTO SCRIPT PER TUTTI I SERVER MariaDB  
      IN USO IN PRODUZIONE!  PER FAVORE LEGGI ATTENTAMENTE OGNI PASSO!  
  
Per accedere a MariaDB per metterlo in sicurezza, avremo bisogno della password attuale  
per l'utente root.  Se hai appena installato MariaDB e  
non hai ancora impostato la password root, la password sarà vuota,  
quindi dovresti semplicemente premere invio qui.  
  
Inserisci la password attuale per root (invio per nessuna): <--ENTER  
OK, password utilizzata con successo, procedendo...  
  
Impostare la password root garantisce che nessuno possa accedere all'utente root di MariaDB  
senza la corretta autorizzazione.  
  
Impostare la password root? [Y/n]   
Nuova password: <--yourmariadbpassword  
Reinserisci la nuova password: <--yourmariadbpassword  
Password aggiornata con successo!  
Ricaricando le tabelle dei privilegi..  
 ... Successo!  
  
Per impostazione predefinita, un'installazione di MariaDB ha un utente anonimo, che consente a chiunque  
di accedere a MariaDB senza dover avere un account utente creato per  
loro.  Questo è inteso solo per testare e per rendere l'installazione  
più fluida.  Dovresti rimuoverli prima di passare a un  
ambiente di produzione.  
  
Rimuovere gli utenti anonimi? [Y/n] <--ENTER  
 ... Successo!  
  
Normalmente, root dovrebbe essere autorizzato a connettersi solo da 'localhost'.  Questo  
assicura che qualcuno non possa indovinare la password root dalla rete.  
  
Negare l'accesso remoto a root? [Y/n] <--ENTER  
 ... Successo!  
  
Per impostazione predefinita, MariaDB viene fornito con un database chiamato 'test' a cui chiunque può  
accedere.  Questo è anche inteso solo per testare e dovrebbe essere rimosso  
prima di passare a un ambiente di produzione.  
  
Rimuovere il database di test e l'accesso ad esso? [Y/n] <--ENTER  
 - Eliminazione del database di test...  
 ... Successo!  
 - Rimozione dei privilegi sul database di test...  
 ... Successo!  
  
Ricaricare le tabelle dei privilegi garantirà che tutte le modifiche apportate finora  
entreranno in vigore immediatamente.  
  
Ricaricare le tabelle dei privilegi ora? [Y/n] <--ENTER  
 ... Successo!  
  
Pulizia...  
  
Tutto fatto!  Se hai completato tutti i passaggi sopra, la tua installazione di MariaDB  
dovrebbe ora essere sicura.  
  
Grazie per aver utilizzato MariaDB!  
[root@server1 ~]#

## 3 Installazione di Apache

CentOS 7 viene fornito con Apache 2.4. Apache è direttamente disponibile come pacchetto CentOS 7, quindi possiamo installarlo in questo modo:

yum -y install httpd


Ecco uno screenshot del processo di installazione.

![Installazione del server web Apache su CentOS](/files/a4555e19-9850-40d6-a5fe-a7bf679c3810.png)

Ora configura il tuo sistema per avviare Apache all'avvio...

systemctl start httpd.service

systemctl enable httpd.service


Per poter accedere al server web dall'esterno, dobbiamo aprire le porte HTTP (80) e HTTPS (443) nel firewall. Il firewall predefinito su CentOS è firewalld, che può essere configurato con il comando firewalld-cmd.

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


Ora indirizza il tuo browser all'indirizzo IP del tuo server, nel mio caso http://192.168.0.100, e dovresti vedere la pagina di segnaposto di Apache:

![Pagina predefinita di Apache su CentOS](/files/f714344b-1432-4f98-b56f-910cd59b90c9.png)

## 4 Installazione di PHP

La versione di PHP fornita con CentOS come predefinita è piuttosto vecchia (PHP 5.4). Pertanto, ti mostrerò in questo capitolo alcune opzioni per installare versioni più recenti di PHP come PHP 7.0 a 7.3 dal repository Remi.

Aggiungi il repository Remi CentOS.

rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm


Installa yum-utils poiché abbiamo bisogno dell'utilità yum-config-manager.

yum -y install yum-utils


ed esegui yum update

yum update


Ora devi scegliere quale versione di PHP vuoi utilizzare sul server. Se desideri utilizzare PHP 5.4, procedi al capitolo 4.1. Per installare PHP 7.0, segui i comandi nel capitolo 4.2, per PHP 7.1 capitolo 4.3, per PHP 7.4 usa il capitolo 4.4 e per PHP 7.3 segui invece il capitolo 4.5. Segui solo uno dei capitoli 4.x e non tutti, poiché puoi utilizzare solo una versione di PHP alla volta con Apache mod_php.

### 4.1 Installare PHP 5.4

Per installare PHP 5.4, esegui questo comando:

yum -y install php


### 4.2 Installare PHP 7.0

Possiamo installare PHP 7.0 e il modulo Apache PHP 7.0 come segue:

yum-config-manager –enable remi-php70

yum -y install php php-opcache


### 4.3 Installare PHP 7.1

Se desideri utilizzare PHP 7.1 invece, usa:

yum-config-manager –enable remi-php71

yum -y install php php-opcache


### 4.4 Installare PHP 7.2

Se desideri utilizzare PHP 7.2 invece, usa:

yum-config-manager –enable remi-php72

yum -y install php php-opcache


### 4.5 Installare PHP 7.3

Se desideri utilizzare PHP 7.3 invece, usa:

yum-config-manager –enable remi-php73

yum -y install php php-opcache


In questo esempio e nella macchina virtuale scaricabile, utilizzerò PHP 7.3.

Dobbiamo riavviare Apache per applicare le modifiche:

systemctl restart httpd.service


## 5 Testare PHP / Ottenere Dettagli sulla Tua Installazione PHP

La root del documento del sito web predefinito è /var/www/html. Creeremo un piccolo file PHP (info.php) in quella directory e lo chiameremo in un browser per testare l'installazione di PHP. Il file mostrerà molti dettagli utili sulla nostra installazione di PHP, come la versione di PHP installata.

nano /var/www/html/info.php


Ora chiamiamo quel file in un browser (ad es. http://192.168.0.100/info.php):

![Informazioni sulla versione di PHP](/files/3b51c4d2-96bf-4844-be9c-2e5fd9ea126b.png)

Come puoi vedere, PHP 7.3 sta funzionando, e sta funzionando attraverso il gestore Apache 2.0, come mostrato nella riga Server API. Se scorri più in basso, vedrai tutti i moduli che sono già abilitati in PHP. MySQL non è elencato lì, il che significa che non abbiamo ancora il supporto MySQL in PHP.

## 6 Ottenere Supporto MySQL In PHP

Per ottenere il supporto MySQL in PHP, possiamo installare il pacchetto php-mysqlnd. È una buona idea installare anche alcuni altri moduli PHP poiché potresti averne bisogno per le tue applicazioni. Puoi cercare i moduli PHP5 disponibili in questo modo:

yum search php


Scegli quelli di cui hai bisogno e installali in questo modo:

yum -y install php-mysqlnd php-pdo


Nel passaggio successivo installerò alcuni moduli PHP comuni che sono richiesti dai sistemi CMS come Wordpress, Joomla e Drupal:

yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel


Ora riavvia il server web Apache:

systemctl restart httpd.service


Ora ricarica http://192.168.0.100/info.php nel tuo browser e scorri di nuovo fino alla sezione dei moduli. Dovresti ora trovare molti nuovi moduli come curl ecc.:  
![PHP ha ora il supporto MySQL abilitato](/files/1d5db46d-ea94-4df3-92bc-102ae00c167f.png)

Se non hai più bisogno dell'output delle informazioni PHP, elimina quel file per motivi di sicurezza.

rm /var/www/html/info.php


## 7 Installazione di phpMyAdmin

phpMyAdmin è un'interfaccia web attraverso la quale puoi gestire i tuoi database MySQL.  
phpMyAdmin può ora essere installato come segue:

yum -y install phpMyAdmin


Ora configuriamo phpMyAdmin. Modifichiamo la configurazione di Apache in modo che phpMyAdmin consenta connessioni non solo da localhost (commentando la riga  e aggiungendo la riga 'Require all granted'):

nano /etc/httpd/conf.d/phpMyAdmin.conf

[…]
Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin

AddDefaultCharset UTF-8


# Apache 2.4

Require all granted


# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1

    Options none
    AllowOverride Limit
    Require all granted

[…]


Riavvia Apache per applicare le modifiche alla configurazione:

systemctl restart  httpd.service


Dopo, puoi accedere a phpMyAdmin all'indirizzo http://192.168.0.100/phpmyadmin/:

![Login di PHPMyAdmin](/files/463ca033-a215-4840-ad4d-097800651e07.png)

![PHPMyAdmin su CentOS](/files/83af6d39-f74b-45b8-a7db-9d5c3362ca3d.png)

## 8 Scarica come macchina virtuale

Questa configurazione è disponibile come download di macchina virtuale in formato ova/ovf (compatibile con VMWare e Virtualbox) per gli abbonati di howtoforge.

Dettagli di accesso per la VM

- La password di root di Linux è: howtoforge.
- La password di root di MySQL è: howtoforge

Si prega di cambiare entrambe le password al primo accesso.

- L'indirizzo IP della VM è 192.168.0.100

## 9 Link

Apache: http://httpd.apache.org/  
PHP: http://www.php.net/  
MySQL: http://www.mysql.com/  
CentOS: http://www.centos.org/  
phpMyAdmin: http://www.phpmyadmin.net/
Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.