Il server web Apache è gratuito, open source e uno dei server web più utilizzati al mondo. Ti consente di pubblicare i contenuti sul Web.
Qualsiasi utente può accedere alla tua applicazione su Internet quando è ospitata su un server Web Apache. In alcuni casi, potrebbe essere necessario proteggere l'applicazione in modo che solo gli utenti autenticati possano accedere all'applicazione. Puoi proteggere la tua applicazione a livello di server usando Apache htpasswd. Questa utilità ti consente di limitare l'accesso a un sito Web specifico solo alla persona limitata che dispone dei dettagli di accesso.
In questo tutorial, ti mostreremo come configurare l'autenticazione della password con Apache su Ubuntu 18.04.
Prerequisiti
- Un nuovo VPS Ubuntu 18.04 sulla piattaforma Atlantic.net Cloud.
- Una password di root configurata sul tuo server.
Fase 1:crea un server cloud Atlantic.Net
Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Ubuntu 18.04 come sistema operativo con almeno 1GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.
Dopo aver effettuato l'accesso al tuo server Ubuntu 18.04, esegui il comando seguente per aggiornare il tuo sistema di base con gli ultimi pacchetti disponibili.
apt-get update -y
Passaggio 2:installazione del server Web Apache
apt-get install apache2 apache2-utils -y
Una volta installato, avvia il servizio Apache e abilitalo all'avvio dopo il riavvio del sistema con il seguente comando:
systemctl start apache2 systemctl enable apache2
Ora apri il tuo browser web e vai all'URL http://your-server-ip. Dovresti vedere la tua pagina Web Apache predefinita nella schermata seguente:
Fase 3:crea un file di password Apache
Innanzitutto, dovrai creare un file di password che Apache può utilizzare per autenticare gli utenti. Puoi creare un file .htpasswd nascosto all'interno della directory /etc/apache2 per un utente chiamato user1 usando l'utilità htpasswd:
htpasswd -c /etc/apache2/.htpasswd user1
Fornisci la password desiderata, come mostrato di seguito:
New password: Re-type new password: Adding password for user user1
Il comando precedente creerà un file .htpasswd con le credenziali dell'utente. Dovrai utilizzare queste credenziali per accedere al tuo sito web.
Fase 4:crea un sito Web di esempio
In questa sezione creeremo una struttura di directory di esempio e un file index.html a scopo di test.
Innanzitutto, crea una directory per il tuo sito Web con il seguente comando:
mkdir /var/www/html/example.com
Quindi, crea un file index.html all'interno della tua directory web con il seguente comando:
nano /var/www/html/example.com/index.html
Aggiungi i seguenti contenuti:
<html> <title>Password Protected Apache Website.</title> <h1>This website is password protected.</h1> </html>
Salva e chiudi il file quando hai finito. Quindi, cambia la proprietà della tua directory web in www-data:
chown -R www-data:www-data /var/www/html/example.com
Passaggio 5:configurazione dell'autenticazione di base Apache
Successivamente, dovrai creare un file di configurazione dell'host virtuale Apache per il tuo sito Web e definire l'autenticazione di base.
nano /etc/apache2/sites-available/example.conf
Aggiungi le seguenti righe:
<VirtualHost *:80> ServerAdmin [email protected] ServerName example.com DocumentRoot /var/www/html/example.com DirectoryIndex index.html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory "/var/www/html/example.com"> AuthType Basic AuthName "Restricted Content" AuthUserFile /etc/apache2/.htpasswd Require valid-user </Directory> </VirtualHost>
Salva e chiudi il file quando hai finito.
Di seguito viene specificata una breve spiegazione di ciascuna direttiva:
- Amministratore server :indirizzo email dell'amministratore del server.
- Nomeserver :nome di dominio che il server utilizza per identificarsi.
- DocumentRoot :Specifica il percorso della tua applicazione.
- Indice Directory :Specifica una pagina predefinita da visualizzare quando si accede a una directory.
- Tipo di autenticazione :Tipo di autenticazione.
- AuthName :Specifica il messaggio da visualizzare nella pagina della password.
- AuthUserFile :Specificare la posizione del file delle credenziali utente.
- Richiedi :Specifica gli utenti che possono accedere a questa regione del server.
Quindi, controlla Apache per eventuali errori di sintassi con il seguente comando:
apachectl -t
Dovresti ottenere il seguente output:
Syntax OK
Quindi, abilita il file dell'host virtuale Apache per il tuo sito Web con il seguente comando:
a2ensite example.conf
Quindi, riavvia il servizio Apache per implementare le modifiche:
systemctl restart apache2
Passaggio 6:verifica dell'autenticazione della password Apache
A questo punto, il tuo sito web è protetto con l'autenticazione di base Apache.
Per verificarlo, apri il tuo browser web e digita l'URL http://example.com. Ti verrà chiesto di fornire un nome utente e una password per accedere al tuo sito web, come mostrato di seguito:
Fornisci il tuo nome utente e password e fai clic su Accedi pulsante. Dovresti vedere la pagina predefinita del tuo sito web nella schermata seguente:
Conclusione
Nella guida sopra, abbiamo imparato come creare un sito Web protetto da password con Apache su Ubuntu 18.04. Ora puoi facilmente proteggere con password il tuo sito Web con Apache:provalo oggi con un piano di hosting VPS di Atlantic.Net! Per ulteriori informazioni, puoi visitare la documentazione ufficiale di Apache su Apache Auth.