GNU/Linux >> Linux Esercitazione >  >> Linux

Come impostare l'autenticazione della password con Apache su Ubuntu 18.04

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.


Linux
  1. Come configurare il server FTP con VSFTPD su Ubuntu 20.04

  2. Come configurare il server FTP con VSFTPD su Ubuntu 18.04

  3. Come configurare un server di posta elettronica con Mail-in-a-Box su Ubuntu

  4. Come installare un server di posta con PostfixAdmin su Ubuntu 20.04

  5. Come impostare l'autenticazione della password Apache su Ubuntu 18.08?

Come installare InvoiceNinja su Ubuntu 18.04 Server con Apache/Nginx

Come installare InvoiceNinja su Ubuntu 20.04 Server con Apache/Nginx

Come installare phpMyAdmin con Apache su Ubuntu 22.04 LTS

Come installare Drupal su un server Ubuntu 20.04 con Apache

Procedura:configurazione iniziale del server Ubuntu 15.04

Configurazione iniziale del server con Ubuntu 18.04