In questo articolo, descriveremo in dettaglio il processo di installazione dello stack LAMP su un server che esegue il sistema operativo CentOS Stream. Imparerai come configurare ogni componente passo dopo passo e verificare la funzionalità dello stack installato. Per gli utenti che lavorano con distribuzioni Debian/Ubuntu, un processo di installazione LAMP simile è descritto in un altro dei nostri articoli.
Lo stack LAMP è costituito da un set di software, tra cui il sistema operativo Linux, il server web Apache, il sistema di gestione del database MySQL o MariaDB e il linguaggio di scripting PHP. Questi componenti lavorano insieme per creare una piattaforma potente e flessibile per la distribuzione di applicazioni web e siti web.
Preparazione del server
Prima di iniziare l'installazione è necessario eseguire una serie di operazioni preparatorie.
Passare al superutente
Innanzitutto, devi ottenere privilegi di superutente (root), poiché la maggior parte dei comandi richiesti per la configurazione del server necessitano di permessi elevati. Immetti il seguente comando per passare all'utente root:
su -
Aggiornamento del sistema
Successivamente, si consiglia di aggiornare tutti i pacchetti installati alle ultime versioni. Per aggiornare, eseguire il comando:
dnf update -y
Configurazione del firewall
Per garantire la sicurezza del tuo server, devi configurare le regole di accesso. CentOS Stream usa firewalld per impostazione predefinita come sistema di gestione delle regole. Assicurati che firewalld sia installato e in esecuzione:
systemctl status firewalld
Quindi, apri le porte che verranno utilizzate dallo stack LAMP:
- HTTP (porta 80) per l'accesso al sito web;
- HTTPS (porta 443) per l'accesso sicuro al sito web;
- MySQL (porta 3306) per l'accesso al database (se è richiesta una connessione remota).
Per aprire queste porte utilizzare i seguenti comandi:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-port=3306/tcp
Aggiungi anche una regola per la connessione SSH:
firewall-cmd --permanent --add-port=22/tcp
Dopo aver aggiunto tutte le regole necessarie, ricaricare le impostazioni del firewall:
firewall-cmd --reload
Assicurati che il firewall funzioni correttamente. Esegui il seguente comando per visualizzare tutte le regole:
firewall-cmd --list-all
Installazione di Apache
Per installare Apache, usa il gestore pacchetti DNF. Se ti serve solo la versione base di Apache, usa il seguente comando:
dnf install httpd -y
Oltre all'installazione di base di Apache, puoi anche aggiungere varie utility e moduli per estendere la funzionalità e migliorare la sicurezza del server web. La sintassi di questo comando è:
dnf install additional_packages –y
Per installare il servizio insieme ai pacchetti aggiuntivi, il comando è simile al seguente:
dnf install httpd additional_packages -y
Fare riferimento a documentazione ufficiale per familiarizzare con le utilità e i moduli disponibili.
Dopo aver installato Apache, avvialo e aggiungilo all'avvio:
systemctl start httpd
systemctl enable httpd
Controllare lo stato del servizio utilizzando il comando:
systemctl status httpd
A questo punto, puoi aprire un browser web e inserire l'indirizzo IP del server nella barra degli indirizzi. Dovresti vedere la pagina di benvenuto di Apache, che indica un'installazione riuscita:
Per impostazione predefinita, Apache su CentOS si trova in / etc / httpd directory. Al suo interno sono presenti varie sottodirectory e file utilizzati per la configurazione e la gestione del server.
I file del sito Web, come HTML, CSS, JavaScript, devono essere posizionati in / Var / www / html directory. Tutti i file in questa directory saranno accessibili all'indirizzo del tuo sito.
Installazione di MySQL
In questa sezione, esamineremo il processo di installazione e configurazione di MariaDB su un server CentOS Stream. MariaDB è un fork di MySQL che mantiene la compatibilità con MySQL ma offre prestazioni migliorate, funzionalità avanzate e una comunità di sviluppatori attiva. Per installare lo strumento, utilizzare il comando:
dnf install mariadb-server mariadb -y
Dopo l'installazione, avviare il servizio e abilitarne l'avvio all'avvio del sistema:
systemctl start mariadb
systemctl enable mariadb
Per assicurarti che il servizio MariaDB funzioni correttamente, usa il seguente comando:
systemctl status mariadb
MariaDB fornisce uno script di configurazione della sicurezza che consente di rimuovere le impostazioni predefinite non sicure e proteggere il database. Eseguilo:
sudo mysql_secure_installation
Durante l'esecuzione dello script, ti verrà richiesto di eseguire diversi passaggi:
- Impostare una password per l'utente root (se non è già impostata);
- Rimuovere gli utenti anonimi;
- Non consentire l'accesso remoto come root;
- Rimuovere il database di prova e l'accesso ad esso;
- Ricaricare le tabelle dei privilegi per applicare le modifiche.
Si raccomanda di rispondere affermativamente (y) in tutte le fasi.
Dopo aver completato la configurazione di sicurezza iniziale, puoi connetterti a MariaDB. Per farlo, esegui il comando:
mysql -u root -p
Per garantire che MariaDB funzioni correttamente, si consiglia di creare un database di prova. Eseguire i seguenti comandi nella console MariaDB:
CREATE DATABASE testdb;
USE testdb;
CREATE TABLE test_table (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL
);
INSERT INTO test_table (name) VALUES ('example data');
SELECT * FROM test_table;
Questi comandi creeranno un nuovo database testdb, una tabella test_table e aggiungeranno un record. Quindi visualizzeranno il contenuto della tabella per verifica:
Per uscire dalla shell, utilizzare il comando:
exit
Installazione PHP
Dopo aver installato Apache e MySQL, il passo successivo è installare e configurare PHP, che è responsabile dell'elaborazione delle pagine web dinamiche. Similmente ad Apache, puoi eseguire un'installazione di base di PHP e aggiungere i moduli aggiuntivi necessari. Per un'installazione di base, usa il comando:
dnf install php
Tuttavia, in questa forma, lo strumento viene raramente installato. Più spesso, l'installazione avviene immediatamente con moduli aggiuntivi. Installiamo con alcuni moduli importanti:
dnf install php php-cli php-mysqlnd php-json php-gd php-ldap php-odbc php-pdo php-opcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-zip –y
Fare riferimento a documentazione ufficiale per un elenco completo dei moduli disponibili. Per controllare i moduli installati, utilizzare il comando:
php -m
Per verificare la versione di PHP installata, utilizzare il comando:
php -v
Il file di configurazione PHP principale si trova in /etc/php.ini. Apri questo file in un editor di testo:
vim /etc/php.ini
Apporta le modifiche necessarie, ad esempio imposta il fuso orario corretto utilizzando la direttiva date.timezone e regola le dimensioni del file di caricamento utilizzando le direttive upload_max_filesize e post_max_size. Se non hai mai lavorato in precedenza con gli editor di testo della console, abbiamo preparato un articolo per aiutarti a comprendere le basi dell'uso di vim.
Dopo aver installato lo strumento e aver apportato modifiche al file di configurazione, riavviare il servizio Apache:
systemctl restart httpd
Per verificare la funzionalità, crea uno script semplice che visualizzerà informazioni sulla versione PHP e sulle impostazioni correnti. Crea un file info.php nella directory principale del server web / Var / www / html con il seguente contenuto:
<?php
phpinfo();
?>
Apri un browser web e inserisci l'URL del server seguito dal nome del file dello script di test. Ad esempio:
http://your_server_ip/info.php
Se tutto è impostato correttamente, vedrai informazioni dettagliate sulla versione di PHP, le impostazioni, i moduli supportati e altro ancora:
Conclusione
L'installazione dello stack LAMP su un server CentOS Stream è un passaggio importante per la creazione di un server web affidabile. Seguendo le istruzioni, hai imparato a configurare Apache, MySQL e PHP, necessari per i siti web dinamici. Questo stack apre molte possibilità per lo sviluppo web e ulteriori studi e ottimizzazioni ti aiuteranno a migliorare le prestazioni e l'affidabilità del tuo server.