GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare Apache e PHP (stack LAMP) su Rocky Linux/Centos 8

Apache HTTP Server (Apache), è uno dei più popolari software per server web multipiattaforma gratuiti e open source, rilasciato secondo i termini della licenza Apache 2.0. Apache è popolare come parte della configurazione LAMP, essendo la A nell'acronimo. La funzionalità del server Apache può essere estesa con i numerosi moduli disponibili.

PHP è un linguaggio di scripting generico orientato allo sviluppo web. È uno dei più diffusi linguaggi di programmazione per il web. Strumenti popolari come WordPress sono codificati utilizzando php. Anche le grandi aziende come Facebook usano pesantemente php.

Contenuti correlati
  • Come installare e configurare PHP e Apache (stack LAMP) su OpenSUSE Leap 15.3
  • Come installare e configurare PHP e Nginx (LEMP) su OpenSUSE Leap 15.3
  • Come installare e configurare PHP e Apache (stack LAMP) su Ubuntu 20.04
  • Come installare e configurare PHP e Nginx (LEMP) su Ubuntu 20.04
  • Come installare e configurare PHP e Apache (stack LAMP) su Debian 11
  • Come installare e configurare PHP e Nginx (LEMP) su Debian 11
  • Come installare e configurare PHP e Nginx (LEMP) su Rocky Linux/Alma Linux 8

Prerequisiti

Per seguire questa guida, assicurati di avere quanto segue:

  • Un server Rocky Linux 8 aggiornato
  • Accesso root o Utente con accesso sudo che può installare pacchetti e modificare configurazioni
  • Accesso a Internet

Indice dei contenuti

  1. Assicurarsi che il server sia aggiornato
  2. Installazione di PHP su Rocky Linux 8
  3. Installazione di Apache su Rocky Linux 8
  4. Configurazione dell'host virtuale

1. Garantire che il server sia aggiornato

Prima di procedere, assicuriamoci di avere gli ultimi pacchetti nel nostro sistema. Esegui il comando seguente per aggiornare il sistema:

 $ sudo dnf -y update
Last metadata expiration check: 1:45:37 ago on Sun 29 Aug 2021 08:52:16 AM UTC.
Dependencies resolved.
Nothing to do.
Complete!

2. Installazione di PHP in Rocky Linux 8

Ora che Apache è configurato, dovremo installare PHP. Affinché i file php possano essere serviti, php deve essere impostato nel sistema. In questa guida installeremo php 7.4.

PHP 7.4 non è ancora disponibile nei repository predefiniti. Il Remi Repository è il repository perfetto per installare php7.4. Remi repo è un repository YUM gratuito e stabile principalmente per lo stack PHP. Contiene pacchetti per le ultime versioni di PHP.

Per abilitare Remi Repository nel nostro server Centos:

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Conferma che il repository remi è stato installato e abilitato con questo comando:

$ sudo dnf repolist
repo id                                 repo name
appstream                               CentOS Linux 8 - AppStream
baseos                                  CentOS Linux 8 - BaseOS
epel                                    Extra Packages for Enterprise Linux 8 - x86_64
epel-modular                            Extra Packages for Enterprise Linux Modular 8 - x86_64
extras                                  CentOS Linux 8 - Extras
remi-modular                            Remi's Modular repository for Enterprise Linux 8 - x86_64
remi-safe                               Safe Remi's RPM repository for Enterprise Linux 8 - x86_64

Dovresti vedere i repository remi come parte dell'elenco.

Ora che il repository è stato installato, cerchiamo php. Usa questo comando:

$ sudo dnf module list php
Last metadata expiration check: 2:14:53 ago on Sun 29 Aug 2021 08:52:16 AM UTC.
CentOS Linux 8 - AppStream
Name                Stream                      Profiles                                 Summary
php                 7.2 [d]                     common [d], devel, minimal               PHP scripting language
php                 7.3                         common [d], devel, minimal               PHP scripting language
php                 7.4                         common [d], devel, minimal               PHP scripting language

Remi's Modular repository for Enterprise Linux 8 - x86_64
Name                Stream                      Profiles                                 Summary
php                 remi-7.2                    common [d], devel, minimal               PHP scripting language
php                 remi-7.3                    common [d], devel, minimal               PHP scripting language
php                 remi-7.4                 common [d], devel, minimal               PHP scripting language
php                 remi-8.0                    common [d], devel, minimal               PHP scripting language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

Dalla lista. possiamo vedere che quello predefinito è 7.2. Esecuzione di un dnf install php installerà il 7.2 che non vogliamo. Attiviamo il 7.4 usando questo comando:

sudo dnf module enable php:remi-7.4

Se per qualche motivo non funziona, puoi ripristinare il modulo esistente con questo comando:

sudo dnf module reset php

Ora che il repository è stato abilitato, installiamo php con questo comando:

sudo dnf install -y php php-common php-cli

Una volta di successo. conferma la versione installata con questo comando:

$ php -v
PHP 7.4.23 (cli) (built: Aug 24 2021 16:33:30) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.23, Copyright (c), by Zend Technologies

Ora che Apache e php sono stati installati correttamente, configuriamolo per servire un po' di traffico

3. Installazione di Apache su Rocky Linux 8

Ora che abbiamo aggiornato i nostri pacchetti, installiamo Apache. Apache è disponibile nei repository predefiniti come pacchetto httpd . Puoi controllare le informazioni al riguardo usando il seguente comando:

$ sudo dnf info httpd
Last metadata expiration check: 1:48:56 ago on Sun 29 Aug 2021 08:52:16 AM UTC.
Installed Packages
Name         : httpd
Version      : 2.4.37
Release      : 39.module_el8.4.0+778+c970deab
Architecture : x86_64
Size         : 4.3 M
Source       : httpd-2.4.37-39.module_el8.4.0+778+c970deab.src.rpm
Repository   : @System
From repo    : appstream
Summary      : Apache HTTP Server
URL          : https://httpd.apache.org/
License      : ASL 2.0
Description  : The Apache HTTP Server is a powerful, efficient, and extensible
             : web server.

Installiamolo usando dnf:

sudo dnf install -y httpd

Avvio e abilitazione del servizio

Per impostazione predefinita il servizio non è avviato. Iniziamo con questo comando:

sudo systemctl start httpd

Per confermare che funziona come previsto, usa il comando status e assicurati che indichi come active come mostrato di seguito:

$ sudo systemctl start httpd
$ sudo systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           └─php-fpm.conf
   Active: active (running) since Sun 2021-08-29 10:43:52 UTC; 17s ago
     Docs: man:httpd.service(8)
 Main PID: 84446 (httpd)
   Status: "Running, listening on: port 80"
    Tasks: 213 (limit: 23800)
   Memory: 31.0M
   CGroup: /system.slice/httpd.service
           ├─84446 /usr/sbin/httpd -DFOREGROUND
           ├─84447 /usr/sbin/httpd -DFOREGROUND
           ├─84448 /usr/sbin/httpd -DFOREGROUND
           ├─84449 /usr/sbin/httpd -DFOREGROUND
           └─84450 /usr/sbin/httpd -DFOREGROUND

Aug 29 10:43:52 test-app-server systemd[1]: Starting The Apache HTTP Server...
Aug 29 10:43:52 test-app-server httpd[84446]: AH00558: httpd: Could not reliably determine the server's fully qualified doma>
Aug 29 10:43:52 test-app-server systemd[1]: Started The Apache HTTP Server.
Aug 29 10:43:52 test-app-server httpd[84446]: Server configured, listening on: port 80

Se hai un firewall abilitato, assicurati di abilitare http e https traffico per consentire l'accesso ad Apache.

Per confermare che php sia installato e funzioni correttamente, visita l'indirizzo IP del server nel browser (http://server_ip). Se non conosci l'IP del server, ottienilo usando questo comando nel tuo terminale:

curl -4 icanhazip.com

Se tutto va bene, dovresti vedere la pagina Apache come mostrato di seguito:

4. Configurazione degli host virtuali

Con Apache, è possibile ospitare più siti sullo stesso server su cui è in esecuzione Apache. Questo può sempre essere ottenuto utilizzando più domini, ognuno dei quali rappresenta un sito ospitato dal server.

Gli host virtuali Apache sono simili ai blocchi del server Nginx. Ogni host virtuale avrà i dettagli di configurazione per un singolo host. Puoi avere tutti gli host virtuali che vuoi.

In questo esempio, utilizzeremo il dominio site1.citizix.com per l'host virtuale, ma saremo liberi di utilizzare il dominio di tua scelta. Tieni presente che il DNS per il dominio da utilizzare dovrebbe essere già configurato per puntare all'indirizzo IP del server.
Confermalo con:

dig -t A site1.citizix.com

Creazione di directory e contenuto di esempio

La pagina predefinita di Apache è configurata come un host virtuale predefinito che serve contenuti da /var/www/html . È buona norma creare la directory del tuo sito in /var/www directory poiché è una buona pratica servire da lì.

Creiamo una directory per il nostro sito con il seguente comando:

sudo mkdir /var/www/site1.citizix.com

Creiamo un semplice index.php pagina da servire dal nostro sito. Avrai bisogno di vim installato per farlo funzionare, altrimenti usa questo comando:

sudo dnf install -y vim

Modifica il file:

sudo vim /var/www/site1.citizix.com/index.php

Aggiungi contenuto al file:

<?php phpinfo(); ?>

Infine, assicuriamoci che apache l'utente possiede la directory del sito:

sudo chown -R apache.apache /var/www/site1.citizix.com

Creazione di un host virtuale

I file dell'host Apache Virtual specificano la configurazione di ciascun sito e indicano al server Web Apache come rispondere alle varie richieste di dominio.

Le configurazioni di Apache verranno archiviate nella directory /etc/httpd/conf.d/ . Creiamo una configurazione per il nostro sito:

sudo vim /etc/httpd/conf.d/site1.citizix.com.conf

Aggiungi il seguente contenuto:

<VirtualHost *:80>
    ServerName site1.citizix.com
    ServerAlias site1.citizix.com
    DocumentRoot /var/www/site1.citizix.com
    DirectoryIndex index.php
    ErrorLog /var/log/httpd/site1.citizix.com.error.log
    CustomLog /var/log/httpd/site1.citizix.com.requests.log combined
</VirtualHost>

Questo dirà ad Apache quanto segue:

  • ServerName e ServerAlias – nome dell'host da servire
  • DocumentRoot – dove trovare direttamente la radice che contiene i documenti web pubblicamente accessibili
  • DirectoryIndex – Il file che Apache servirà quando si accede al sito
  • ErrorLog – dove archiviare i log degli errori per questo sito
  • CustomLog – dove archiviare i registri delle richieste per questo particolare sito

Salva e chiudi il file quando hai finito

Test dell'host virtuale

Ora che la configurazione è a posto, dobbiamo verificare che tutto funzioni come previsto. Dato che abbiamo creato il index.php file sopra, consente di accedervi andando su http://server_url/ . Nel mio caso questo è http://site1.citizix.com/ . Dovresti vedere una pagina come quella mostrata di seguito:

Conclusione

In questa guida, siamo riusciti a configurare Apache per servire il traffico su un server Rocky Linux 8.


Cent OS
  1. Come installare e utilizzare php Composer in Rocky Linux/Centos 8

  2. Come configurare Opencart su Rocky Linux/Centos 8 con Apache, PHP, Mysql (stack LAMP)

  3. Come installare e configurare PHP e Apache (stack LAMP) su Ubuntu 20.04

  4. Come installare e configurare PHP e Apache (stack LAMP) su Debian 11

  5. Come installare LAMP (Linux Apache MySQL e PHP) su CentOS 6 con phpMyAdmin e cache APC

Come installare lo stack LAMP su CentOS 8

Come installare LAMP (Linux Apache, MariaDB, PHP) su CentOS 7

Come installare lo stack LAMP su CentOS 6

Come installare lo stack LAMP su Rocky Linux 8

Come installare uno stack LAMP (Apache, MariaDB, PHP) su CentOS 7

Come installare LAMP su Ubuntu 15.10 (Linux, Apache, MySQL e PHP)