LAMPADA è l'acronimo di Linux, Apache, MySQL e PHP . Apache è il server web per servire i file sul protocollo HTTP. MySQL è il popolare server di database. PHP è il linguaggio di programmazione utilizzato per lo sviluppo di applicazioni web. Utilizzando queste applicazioni, possiamo creare un server web completo. Il modo più comune per eseguire applicazioni PHP con Apache è l'uso del modulo mod_php. Anche la buona alternativa è usare PHP-FPM, che ha diversi vantaggi rispetto a questo. L'installazione predefinita su CentOS 8 utilizza PHP-FPM per elaborare i file php.
Questo tutorial ti aiuterà a installare e configurare LAMP (Linux, Apache, MySQL e PHP) su sistemi Linux CentOS 8 e RHEL 8.
Link utile:
- Configura Let's Encrypt SSL con Apache su CentOS 8
- Come configurare l'utente solo SFTP su CentOS 8
Prerequisiti
- Macchina CentOS 8 appena installata.
- Completa la configurazione iniziale del server
- Accesso alla shell con privilegi sudo
Fase 1 – Installa Apache
I pacchetti del server Web Apache sono disponibili nel repository AppStream predefinito su CentOS 8. Devi solo aggiornare la cache DNF e installare i pacchetti utilizzando i seguenti comandi.
sudo dnf update sudo dnf install httpd httpd-tools
Il pacchetto mod_ssl fornisce la funzionalità per utilizzare un certificato SSL per HTTP sicuro. Dopo l'installazione, abilita il servizio httpd e avvia.
sudo systemctl enable httpd.service sudo systemctl start httpd.service
Ora controlla lo stato del servizio Apache:
sudo systemctl status httpd.service
Risultato:
● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/httpd.service.d └─php-fpm.conf Active: active (running) since Sat 2020-03-22 04:27:24 EDT; 5s ago Docs: man:httpd.service(8) Main PID: 8644 (httpd) Status: "Started, listening on: port 80" Tasks: 213 (limit: 8918) Memory: 21.5M CGroup: /system.slice/httpd.service ├─8644 /usr/sbin/httpd -DFOREGROUND ├─8650 /usr/sbin/httpd -DFOREGROUND ├─8651 /usr/sbin/httpd -DFOREGROUND ├─8652 /usr/sbin/httpd -DFOREGROUND └─8653 /usr/sbin/httpd -DFOREGROUND Mar 22 04:27:23 tecadmin systemd[1]: Starting The Apache HTTP Server... Mar 22 04:27:24 tecadmin systemd[1]: Started The Apache HTTP Server. Mar 22 04:27:24 tecadmin httpd[8644]: Server configured, listening on: port 80
Passaggio 2:installazione di MySQL Server
Gli ultimi pacchetti MySQL 8 sono disponibili nel repository AppStrem in CentOS 8. Usa il comando seguente per installare il server MySQL, inclusi i pacchetti richiesti sul tuo sistema.
sudo dnf -y install @mysql
Dopo aver completato l'installazione, abilitare l'avvio automatico del servizio MySQL all'avvio del sistema. Avvia anche il servizio manualmente per la prima volta.
sudo systemctl enable mysqld.service sudo systemctl start mysqld.service
Quindi controlla lo stato corrente del servizio utilizzando il seguente comando:
sudo systemctl status mysqld.service
● mysqld.service - MySQL 8.0 database server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2020-03-22 02:49:33 EDT; 5min ago Process: 5841 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS) Process: 5706 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS) Process: 5682 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS) Main PID: 5798 (mysqld) Status: "Server is operational" Tasks: 38 (limit: 8918) Memory: 442.1M CGroup: /system.slice/mysqld.service └─5798 /usr/libexec/mysqld --basedir=/usr Mar 22 02:48:42 tecadmin systemd[1]: Starting MySQL 8.0 database server... Mar 22 02:48:45 tecadmin mysql-prepare-db-dir[5706]: Initializing MySQL database Mar 22 02:49:33 tecadmin systemd[1]: Started MySQL 8.0 database server.
L'installazione di MySQL è stata completata. Ora puoi connettere il server MySQL senza alcuna password, ma ti consigliamo di proteggere l'installazione di MySQL. I pacchetti MySQL forniscono il comando mysql_secure_installation per applicare la sicurezza. Basta eseguire il comando seguente sul terminale:
sudo mysql_secure_installation
e segui le istruzioni sullo schermo. Di seguito sono riportati i dettagli che richiedono l'input dell'utente.
- Premi y|Y per Sì, qualsiasi altro tasto per No:y
- Inserisci 0 =BASSO, 1 =MEDIO e 2 =FORTE:2
- Nuova password:[INSERIRE QUI LA PASSWORD FORTE]
- Reinserire la nuova password:REinserire QUI LA PASSWORD
- Vuoi continuare con la password fornita?(Premi y|Y per Sì, qualsiasi altro tasto per No) :y
- Rimuovere utenti anonimi? (Premi y|Y per Sì, qualsiasi altro tasto per No) :y
- Non consentire l'accesso root in remoto? (Premi y|Y per Sì, qualsiasi altro tasto per No) :y
- Rimuovere il database dei test e accedervi? (Premi y|Y per Sì, qualsiasi altro tasto per No) :y
- Ricaricare ora le tabelle dei privilegi? (Premi y|Y per Sì, qualsiasi altro tasto per No) :y
Fase 3 – Installa PHP
Il repository Remi contiene gli ultimi pacchetti PHP per il sistema Linux CentOS 8. Quindi, prima di tutto, devi aggiungere il repository REMI al tuo sistema. Basta eseguire il comando seguente per aggiungere il repository.
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Quindi abilitare il modulo DNF richiesto per l'installazione di PHP. Qui stiamo abilitando il modulo per l'installazione di PHP 7.4. Puoi cambiarlo in PHP 7.3 o PHP 7.2 secondo i tuoi requisiti.
sudo dnf module reset php sudo dnf module enable php:remi-7.4
Una volta che il repository è abilitato sul tuo sistema. Installa i pacchetti PHP insieme ai moduli PHP richiesti.
sudo dnf install php php-mysqlnd
Molti hanno anche bisogno di installare altri moduli php richiesti secondo i requisiti dell'applicazione. Il comando seguente installerà alcuni moduli php usati di frequente:
dnf install php-gd php-zip php-mcrypt php-json php-xml php-gettext php-curl php-intl
Fase 4:crea Apache VirtualHost
Tutti i pacchetti necessari per l'ambiente LAMP sono installati. Ora crea l'host virtuale Apache. Per impostazione predefinita, Apache utilizza php-fpm per elaborare i file PHP sul sistema CentOS 8.
Crea e modifica il file di configurazione dell'host virtuale nell'editor di testo preferito:
sudo vim /etc/httpd/conf.d/tecadmin.example.net.conf
Aggiungi il seguente contenuto nel file di configurazione. Assicurati di modificare i parametri richiesti.
Apache
12345678910 |
Salva il file di configurazione dell'host virtuale e ricarica Apache per applicare le modifiche.
sudo systemctl restart httpd.service
Link utile:
- Configura Let's Encrypt SSL con Apache su CentOS 8
Passaggio 5 – Consenti porte in Firewalld
Il server CentOS 8 Linux è pronto per servire l'applicazione nell'ambiente LAMP. Se il tuo sistema ha un firewalld installato e attivo, devi consentire le porte Apache. Ciò consentirà agli utenti della rete di accedere all'applicazione Web da sistemi remoti.
I seguenti comandi ti apriranno le porte richieste.
sudo firewall-cmd --zone=public --permanent --add-service=http sudo firewall-cmd --zone=public --permanent --add-service=https sudo firewall-cmd --reload
Link utile:
- Cos'è FirewallD e come implementarlo su Linux
Fase 6 – Configurazione del test
Tutto fatto. Per testare l'ambiente, crea uno script PHP con phpinfo() funzione. Posiziona questo file nella radice del documento del tuo server. Usa il comando seguente per farlo.
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
Quindi accedi a info.php utilizzando l'indirizzo IP del server (per VirtualHost predefinito) per il tuo dominio configurato in Apache VirtualHost.
http://tecadmin.example.net/info.php
Conclusione
Hai configurato correttamente l'ambiente LAMP sul tuo sistema Linux CentOS 8 o RHEL 8. Successivamente puoi installare phpMyAdmin sul tuo sistema.