Tutorial > Come installare e configurare un server LAMP su CentOS 8

Come installare e configurare un server LAMP su CentOS 8

Pubblicato il: 15 settembre 2021

Apache CentOS Hosting MySQL PHP

Introduzione

L'acronimo LAMP sta per Linux, Apache, MariaDB, PHP e indica una serie di software open-source che operano in sinergia per permetterti la gestione di uno spazio web per costruire App con PHP.

Tra i diversi software installati:

  • Linux è il sistema operativo
  • Apache è il web-server
  • MariaDB si occupa della gestione dei dati persistenti nel database
  • PHP gestisce le dinamiche dei processi nello spazio web.

Pre-requisiti

Per eseguire il procedimento, c'è bisogno tu utilizzi i privilegi sudo ma usando un utente che non sia l'amministratore.

Installare il Web Server Apache

Il primo servizio da dover installare è il webserver, tramite il quale potrai rendere il tuo sito fruibile ai visitatori.

Per far ciò, inizia installando il pacchetto httpd, tramite il comando:

$ sudo dnf install httpd

Dai conferma della tua scelta di installare Apache, inserendo il carattere y.

Completato il processo di installazione, avvia il server tramite il comando:

$ sudo systemctl start httpd

Lo step successivo è dare ad Apache i permessi dal firewall. Per far ciò, usa il comando:

$ sudo firewall-cmd --permanent --add-service=http

In questo modo , il firewall abiliterà le connessione HTTP sulla porta 80. Puoi verificare il corretto funzionamento dei cambiamenti applicati tramite la seguente procedura:

Riavvia il firewall tramite
$ sudo firewall-cmd --reload
Se tutto è andato per il meglio, dovresti visualizzare un output simile:
public
  target: default
  icmp-block-inversion: no
  interfaces: 
  sources: 
  services: cockpit dhcpv6-client http ssh
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

Se nella lista dei servizi compare il protocollo http, l'abilitazione sarà andata a buon fine.

A questo punto, grazie allo sblocco del firewall, sarà possibile accedere al servizio offerto dal tuo spazio web semplicemente collegandosti al tuo indirizzo IP pubblico o al Nome di dominio scelto.

Se dovessi avere difficoltà nell'individuare il nome di dominio o l'indirizzo IP del tuo webserver, basterà lanciare un comando in terminale:

 $ ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

L'output di questo comando sarà una lista di indirizzi IP ai quali potrai provare a collegarti tramite browser web per individuare quello del tuo server.

Tramite questo altro comando, invece, potrai vedere quale indirizzo IP sia pubblicamente accessibile da agenti esterni in internet:

$ curl -4 icanhazip.com

Collegandoti all'indirizzo IP , dovresti poter visualizzare la landing page di Apache come conferma che tu sia collegato al server giusto.

Test Page Apache

Installare il database MariaDB

Fatto funzionare il server web, ora è il momento di installare la componente che possa immagazzinare i dati persistenti in un database. MariaDB si offre come ottima variante di MySQL.

Inizia eseguendo:

$ sudo dnf install mariadb-server

Completata la installazione, sarà sufficiente avviare il database server

$ sudo systemctl start mariadb

L'intallazione di MariaDB porterà con sè un comodo script per impostare dei buoni criteri di sicurezza e permetterti la personalizzazione di altre preferenze. Per far ciò, è semplicemente necessario lanciare il comando:

$ sudo mysql_secure_installation

Tramite questo script, potrai inserire diverse informazioni e preferenze necessarie a una corretta configurazione di MariaDB (per esempio, le credenziali dell'utente root).

Per loggare nel MariaDB, sarà sufficiente il comando:

$ sudo mysql

A questo punto, potrai creare il nuovo database tramite il comando:

CREATE DATABASE database_esempio;

Con questo comando, avrai creato il tuo primo database.

Puoi scegliere se assegnare dei privilegi riguardanti i singoli databases agli utenti del tuo server. Per far ciò puoi usare un comando simile a quello nell'esempio.

GRANT ALL ON database_esempio.* TO 'user_esempio'@'localhost' IDENTIFIED BY 'password_esempio' WITH GRANT OPTION;

Per salvare i cambiamenti e renderli effettivi nella sessione già aperta, usa poi il comando FLUSH :

FLUSH PRIVILEGES;

Per uscire, usa infine il comando exit .

Ora, puoi procedere con la verifica dei privilegi assegnati loggando con l'utente per il quale hai creato tali privilegi.

$ mysql -u user_esempio -p

Inviato il comando, ti verrà richiesta la password che hai precedentemente impostato per l'accesso al DBMS.

A questo punto, dovresti trovare il database_esempio nella lista dei database disponibili, richiamabile tramite il comando:

SHOW DATABASES;

Se troverai il database di esempio, la verifica dei privilegi per l'utente sarà andata a buon fine.

Installare PHP

A questo punto, sarà il momento di installare la componenente che permetterà di utilizzare i files di codice PHP per creare la parte dinamica del tuo spazio web con la quale l'utente finale dovrà interagire.

Per permettere una comunicazione efficace anche col database, dovrai installare i pacchetti php e php-mysqlnd , tramite i comandi:

$ sudo dnf install php php-mysqlnd

Completata la installazione, sarà ora sufficiente riavviare l'intero Web Server per applicare le modifiche e l'abilitazione della componente PHP.

$ sudo systemctl restart httpd

Test finale del funzionamento di PHP con Apache

Sostanzialmente, le impostazioni di Apache sono da non toccare , al fine di permettere un corretto funzionamento con PHP. Tuttavia, per evitare la scomodità del dover lanciare ogni comando con il prefisso sudo, possiamo modificare il file di configurazione, situato nella directory /var/www/html/ , per permettere a uno o più utenti di accedere alla cartella di root.

Con il comando qui sotto, potrai assegnare la proprietà del file:

$ sudo chown -R utentesempio.gruppoesempio /var/www/html/

Con questa riga di comando, avrai assegnato la proprietà del file all'utente di nome utentesempio e al gruppo gruppoesempio .

Ora, è il momento di testare il corretto funzionamento del tuo spazio web, tramite la creazione di una pagina PHP.

Per creare un nuovo file dalla console, basterà utilizzare il comando del tuo editor di testo preferito. (Nell'esempio, troverai usato nano.)

$ nano /var/www/html/test.php

Con questo comando di nano, avrai ora creato e aperto un file PHP di nome test.php.

Per testare il corretto funzionamento di PHP con Apache, sarà sufficiente inserire del codice PHP in questo file e collegarsi alla pagina corrispondente sul tuo webserver.

Salva e chiudi il file tramite il comando CTRL+X di nano.

Per collegarti alla pagina, sarà sufficiente inserire l'indirizzo IP del tuo webserver e il nome della pagina che si desidera aprire. Per esempio:

http://mioindirizzoIP/test.php
Test PHP

Se visualizzerai correttamente l'output specificato nel tuo file di test, allora il corretto funzionamento del tuo spazio web sarà stato verificato.

Conclusioni

Complimenti! Ora dovresti poter disporre di uno spazio web per poter schierare pagine PHP o applicazioni web full stack per i tuoi visitatori.