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 lo stack Apache PHP 7.4 (LAMP) su Rocky Linux/Centos 8
- Come installare e configurare PHP e Nginx (LEMP) su OpenSUSE Leap 15.3
- 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 Ubuntu 20.04 aggiornato
- Accesso root al server o Utente con accesso sudo
- Accesso a Internet
Indice dei contenuti
- Assicurarsi che il server sia aggiornato
- Installazione di PHP su Ubuntu 20.04
- Installazione di Apache su Ubuntu 20.04
- Configurazione dell'host virtuale
1. Garantire che il server sia aggiornato
Prima di procedere, è sempre buona norma assicurarsi che il server sia aggiornato. Usa questi comandi per raggiungere questo obiettivo
sudo apt update
sudo apt upgrade -y
2. Installazione di PHP su Ubuntu 20.04
PHP è disponibile nei repository Ubuntu 20.04 predefiniti. L'ultima versione di PHP al momento della stesura di questo blog è PHP 7.4.
Installa PHP e alcuni pacchetti comuni usando questo comando:
sudo apt install -y \
php \
php-common \
php-cli
Controlla la versione installata di PHP
$ apt-cache policy php
php:
Installed: 2:7.4+75
Candidate: 2:7.4+75
Version table:
*** 2:7.4+75 500
500 http://us-west-2.ec2.archive.ubuntu.com/ubuntu focal/main amd64 Packages
100 /var/lib/dpkg/status
Controlla la versione php installata usando questo comando:
$ php -v
PHP 7.4.3 (cli) (built: Nov 25 2021 23:16:22) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
3. Installazione di apache su Ubuntu 20.04
I pacchetti Apache sono disponibili nei repository Ubuntu 20.04 predefiniti come apache2
. Installalo usando questo comando:
sudo apt install -y apache2
Conferma i pacchetti installati usando questo comando:
$ apt-cache policy apache2
apache2:
Installed: 2.4.41-4ubuntu3.8
Candidate: 2.4.41-4ubuntu3.8
Version table:
*** 2.4.41-4ubuntu3.8 500
500 http://us-west-2.ec2.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
100 /var/lib/dpkg/status
2.4.41-4ubuntu3.6 500
500 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
2.4.41-4ubuntu3 500
500 http://us-west-2.ec2.archive.ubuntu.com/ubuntu focal/main amd64 Packages
Il servizio verrà avviato per impostazione predefinita. Verifica lo stato usando questo comando:
$ sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2021-12-16 18:36:59 UTC; 1min 8s ago
Docs: https://httpd.apache.org/docs/2.4/
Main PID: 33818 (apache2)
Tasks: 6 (limit: 4631)
Memory: 10.3M
CGroup: /system.slice/apache2.service
├─33818 /usr/sbin/apache2 -k start
├─33821 /usr/sbin/apache2 -k start
├─33822 /usr/sbin/apache2 -k start
├─33823 /usr/sbin/apache2 -k start
├─33824 /usr/sbin/apache2 -k start
└─33825 /usr/sbin/apache2 -k start
Dec 16 18:36:59 ip-10-2-40-129 systemd[1]: Starting The Apache HTTP Server...
Dec 16 18:36:59 ip-10-2-40-129 systemd[1]: Started The Apache HTTP Server.
Per abilitare il servizio all'avvio, usa questo comando
sudo systemctl enable apache2
Per confermare che Apache 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 predefinita di Apache2 Ubuntu .
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 sii libero 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 apt install -y vim
Modifica il file:
sudo vim /var/www/site1.citizix.com/index.php
Aggiungi contenuto al file:
<?php phpinfo(); ?>
Infine, assicuriamoci che $USER
l'utente possiede la directory del sito:
sudo chown -R $USER:$GROUP /var/www/site1.citizix.com
Creazione di un host virtuale
I file Apache Virtual host 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/apache2/sites-available/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/apache2/site1.citizix.com.error.log
CustomLog /var/log/apache2/site1.citizix.com.requests.log combined
</VirtualHost>
Questo dirà ad Apache quanto segue:
ServerName
eServerAlias
– nome dell'host da servireDocumentRoot
– dove trovare direttamente la radice che contiene i documenti web pubblicamente accessibiliDirectoryIndex
– Il file che Apache servirà quando si accede al sitoErrorLog
– dove archiviare i log degli errori per questo sitoCustomLog
– dove archiviare i registri delle richieste per questo particolare sito
Salva e chiudi il file quando hai finito
Abilita il sito
$ sudo a2ensite site1.citizix.com
Enabling site site1.citizix.com.
To activate the new configuration, you need to run:
systemctl reload apache2
Quindi ricarica la configurazione di apache2
sudo systemctl reload apache2
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, accediamoci andando su http://server_url/
. Nel mio caso questo è http://site1.citizix.com/
. Dovresti vedere la pagina delle informazioni php.
Conclusione
In questa guida, siamo riusciti a configurare Apache per servire il sito PHP su un server Ubuntu 20.04.