Server Lamp: Apache -PHP - MySQL

Server LAMP : come installare Apache, PHP 7.3 e MySQL in Linux CentOS 7.6

Questo tutorial mostra come installare un server web Apache sul server Linux CentOS 7 con PHP (mod_php) e database MySQL. L’acronimo LAMP è l’abbreviazione di Linux, Apache, MySQL, PHP.
Questa esercitazione aggiornata mostra l’installazione delle ultime versioni PHP (7.0, 7.1, 7.2 e 7.3) su CentOS 7.6.

1. NOTE PRELIMINARI

In questo tutorial, uso il nome host server1.example.com con l’IP privato 10.0.0.1. Queste impostazioni potrebbero essere diverse per ogni utente, pertanto è necessario sostituirle in modo appropriato.

Aggiungerò il repository EPEL per installare l’ultimo phpMyAdmin come segue:

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

Per modificare i file sulla shell, installerò l’editor nano. Se si preferisce vi per la modifica dei file, saltare questo passaggio:

# yum -y install nano

2. INSTALLARE MySQL / MariaDB

MariaDB è un fork MySQL dello sviluppatore originale di MySQL, Monty Widenius. MariaDB è compatibile con MySQL e ho scelto di utilizzare MariaDB qui invece di MySQL. Eseguire questo comando per installare MariaDB con yum:

# yum -y install mariadb-server mariadb

Quindi 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

Impostare le password per l’account root di MySQL:

# mysql_secure_installation

[root@server1 ~]# mysql_secure_installation
In order to log into MariaDB to secure it, we’ll need the current password for the root user.  If you’ve just installed MariaDB, andyou haven’t set the root password yet, the password will be blank, so you should just press enter here.
Enter current password for root (enter for none): <–INVIO
OK, successfully used password, moving on…
Setting the root password ensures that nobody can log into the MariaDBroot user without the proper authorisation.
Set root password? [Y/n] <–INVIO
New password: <–crea la tua password
Re-enter new password: <–riscrivi la password creata precedentemente
updated successfully!
Reloading privilege tables..
… Success!
By default, a MariaDB installation has an anonymous user, allowing anyoneto log into MariaDB without having to have a user account created forthem.  This is intended only for testing, and to make the installationgo a bit smoother.  You should remove them before moving into aproduction environment.
Remove anonymous users? [Y/n] <–INVIO
… Success!
Normally, root should only be allowed to connect from ‘localhost’.  Thisensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] <–INVIO
… Success!
By default, MariaDB comes with a database named ‘test’ that anyone canaccess.  This is also intended only for testing, and should be removed before moving into a production environment.
Remove test database and access to it? [Y/n] <–INVIO
– Dropping test database…
… Success!
– Removing privileges on test database…
… Success!
Reloading the privilege tables will ensure that all changes made so farwill take effect immediately.
Reload privilege tables now? [Y/n] <–INVIO
…Success!
Cleaning up…
All done!  If you’ve completed all of the above steps, your MariaDB installation should now be secure.
Thanks for using MariaDB!
[root@server1 ~]#

3. INSTALLARE 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

Ora configura il tuo sistema per avviare Apache al momento dell’avvio:

# systemctl start httpd.service
# systemctl enable httpd.service

Per poter accedere al web server 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 dirigere il browser all’indirizzo IP del server, nel mio caso http://10.0.0.1, e si dovrebbe vedere la pagina segnaposto Apache

4. INSTALLARE PHP

La versione PHP che viene fornita con CentOS come predefinito è piuttosto vecchio (PHP 5.4). Pertanto vi mostrerò in questo capitolo alcune opzioni per installare le versioni PHP più recenti come PHP 7.0 a 7.3 dal repository Remi.

Aggiungere il repository Remi CentOS:

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

Installa yum-utils perché abbiamo bisogno dell’utility yum-config-manager:

# yum -y install yum-utils

ed eseguire yum update:

# yum update

Ora devi scegliere quale versione PHP vuoi usare sul server. Se si desidera utilizzare PHP 5.4, quindi procedere al capitolo 4.1. Per installare PHP 7.0, seguire i comandi del capitolo 4.2, per PHP 7.1 capitolo 4.3, per PHP 7.4 utilizzare il capitolo 4.4 e per PHP 7.3 seguire invece il capitolo 4.5. Seguire solo uno dei capitoli 4.x e non tutti perchè è possibile utilizzare solo una versione PHP alla volta con Apache mod_php.

4.1 INSTALLARE PHP 5.4

Per installare PHP 5.4, eseguire 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 invece si desidera utilizzare PHP 7.1, utilizzare:

# yum-config-manager –enable remi-php71
# yum -y install php php-opcache

4.4 INSTALLARE PHP 7.2

Se si desidera utilizzare PHP 7.2, utilizzare invece:

# yum-config-manager –enable remi-php72
# yum -y install php php-opcache

4.5 INSTALLARE PHP 7.3

Se invece vuoi usare PHP 7.3, esegui:

$ yum-config-manager –enable remi-php73
$ yum -y install php php-opcache

In questo esempio userò PHP 7.3.

Dobbiamo riavviare Apache per applicare le modifiche:

# systemctl restart httpd.service

5. TEST PHP E OTTENERE DETTAGLI SULL’INSTALLAZIONE DI PHP

La radice dei documenti del sito Web predefinito è /var/www/html. Creeremo un piccolo file PHP (info.php) in quella directory e lo richiameremo 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

Nel file info.php bisogna inserire queste direttive:

<?php
phpinfo();

Ora puntare con un browser all’indirizzo: http://10.0.0.1/info.php

Come si può vedere, PHP 7.3 funziona e funziona tramite il gestore Apache 2.0, come mostrato nella riga API del server. Se scorri più in basso, vedrai tutti i moduli che sono già abilitati in PHP. MySQL non è elencato, 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 alcuni altri moduli PHP e potresti averne bisogno per le tue applicazioni. Puoi cercare i moduli PHP disponibili in questo modo:

# yum search php

Scegli quelli che ti servono e installali in questo modo:

# yum -y install php-mysqlnd php-pdo

Nel prossimo passaggio installerò alcuni moduli PHP comuni 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://10.0.0.1/info.php nel tuo browser e scorri di nuovo verso il basso fino alla sezione dei moduli. Ora dovresti trovare un sacco di nuovi moduli come curl ecc.:

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 è possibile gestire i database MySQL.
phpMyAdmin ora può 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 <RequireAny> e aggiungendo la riga ‘Require all granted’):

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

[...]
Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin <Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8

<IfModule mod_authz_core.c>
# Apache 2.4
# <RequireAny>
# Require ip 127.0.0.1
# Require ip ::1
# </RequireAny>
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
<Directory /usr/share/phpMyAdmin/> Options none AllowOverride Limit Require all granted </Directory>

[...]

Riavvia Apache per applicare le modifiche alla configurazione:

# systemctl restart httpd.service

Successivamente, puoi accedere a phpMyAdmin puntando il browser su http://10.0.0.1/phpmyadmin/

ISCRIVITI ALLA
NEWS LETTER

NON COSTA NIENTE. Ti arriverà una mail di notifica solo ed esclusivamente quando uscirà un nuovo articolo. Null'altro!

I TUOI DATI NON VERRANNO MAI CEDUTI A NESSUNO E PER NESSUNA RAGIONE.

Non inviamo spam! Leggi la nostra Informativa sulla privacy per avere maggiori informazioni.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Torna in alto

FAI UNA DONAZIONE

Caro utente del mio blog, ti chiedo di partecipare alla raccolta fondi aperta sul sito GoFundMe.

Anche con poco, ogni donazione può fare la differenza.

Puoi partecipare anche condividendo la raccolta tra i tuoi conoscenti.

Per favore non ignorare questa richiesta.

Grazie!!!

Puoi utilizzare anche questo QR Code