GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come abilitare e configurare il file .htaccess su Apache

Che cos'è un file htaccess?

Il .htaccess file in Apache è uno strumento che consente configurazioni a livello di directory e sottodirectory. Utilizzando .htaccess ti consente di configurare le autorizzazioni del sito Web senza alterare i file di configurazione del server.

Questo tutorial ti mostrerà come impostare e abilitare htaccess su Apache. Inoltre, fornisce istruzioni su come limitare l'accesso a localizzazioni specifiche sul server, gestire gli indirizzi IP e reindirizzare il traffico.

Prerequisiti

  • Un server web Apache funzionante
  • Accesso a una finestra di terminale/riga di comando
  • Accesso a un account utente con privilegi sudo
  • Un editor di testo, come N uno , incluso per impostazione predefinita

Fase 1:abilita Apache .htaccess

Per impostazione predefinita, .htaccess il file non è abilitato.

1. Aprire il file di configurazione dell'host predefinito immettendo il seguente comando nel terminale:

sudo nano /etc/apache2/sites-available/default

2. Individuare la sezione denominata .
In quella sezione, modifica AllowOverride None ingresso a tutti:

Consenti Sostituisci tutto

Salva il file ed esci.

3. Successivamente, riavvia il servizio Apache:

sudo systemctl apache2 restart

Fase 2:crea un file .htaccess

Come la maggior parte dei pacchetti software Linux, Apache funziona sui file di configurazione. Il .htaccess file è uno di questi. Funziona specificando un'impostazione insieme a un valore.

Per creare e aprire il .htaccess file per la modifica, immettere:

sudo nano /var/www/my_website.com/.htaccess

Sostituisci il mio_sito web con il nome del tuo sito web attuale. Se questo file non esiste, il tuo editor di testo lo creerà.

Fase 3:limitare gli elenchi di directory

Potrebbero esserci posizioni sul tuo server a cui desideri limitare l'accesso. Puoi farlo creando un elenco di nomi utente e password che sono autorizzati ad avere accesso.

1. Inizia creando un nuovo file, .htpasswd in una directory diversa:

sudo nano /user/safe_location/.htpasswd

Inserisci un nome utente e una password per ogni utente che desideri creare. Assicurati di utilizzare password complesse e inserisci solo una coppia nome utente/password per riga.

Salva il file ed esci.

2. Quindi modifica .htaccess per abilitare l'autenticazione :

AuthUserFile /user/safe_location/.htpasswd

AuthGroupFile /dev/null

AuthName "Please Enter Password"

AuthType Basic

Require valid-user

Sostituisci /user/safe_location/htpasswd con la posizione di tua scelta. Non archiviarlo nella stessa directory dei tuoi contenuti web, per motivi di sicurezza.

AuthUserFile - Questo imposta la posizione per il tuo file .htpasswd.

AuthGroupFile - Non stiamo usando un gruppo, quindi questo è un segnaposto.

AuthName - Questa è la richiesta per l'utente:puoi riformularla se lo desideri.

AuthType - Tipo di autenticazione utilizzato:non modificarlo.

Require valid-user – Consente a una qualsiasi delle diverse persone autorizzate di accedere. Puoi cambiarlo in Richiedi utente new_user per limitare l'accesso solo a qualcuno con il nome utente nuovo_utente .

Gestisci indirizzi IP

Esistono molti modi per gestire gli indirizzi IP:

  1. Consenti solo IP specifici.
  2. Blocca indirizzi IP specifici.
  3. Blocca i visitatori dal referrer.

Consenti indirizzi IP

Per consentire gli indirizzi IP, puoi cambiare il comportamento per consentire alcuni indirizzi IP designati e bloccare il resto.

Inserisci i comandi:

order deny, allow 

allow from 192.168.0.54

allow from 192.168.0 

Blocca indirizzi IP

Per bloccare gli indirizzi IP in htaccess , inserisci:order allow, deny

Per bloccare un singolo indirizzo IP, inserisci il seguente codice:deny from 192.168.0.54

Se lasci la cifra finale, bloccherà tutti gli indirizzi IP nell'intervallo 0 - 255:

Ad esempio:deny from 192.168.0

Blocca i visitatori per referrer

Potresti voler impedire che le persone vengano reindirizzate da un sito specifico al tuo server. Questo potrebbe essere utile se desideri isolare i modelli di traffico. Potresti anche usarlo se ricevi traffico server in eccesso da una fonte discutibile.

Apri il .htaccess file e aggiungi il seguente blocco:

RewriteEngine on

# Options +FollowSymlinks

RewriteCond %{HTTP_REFERER} blockeddomain\.com [NC]

RewriteRule .* - [F]

Il NC l'opzione indica di ignorare il maiuscolo o il minuscolo in modo che la regola non possa essere ignorata inserendo BlockedDomain.com .

Se desideri aggiungere più domini, tieni presente quanto segue:

RewriteEngine on

# Options +FollowSymlinks

RewriteCond %{HTTP_REFERER} blockeddomain\.com [NC,OR]

RewriteCond %{HTTP_REFERER} blockeddomain2\.com

RewriteRule .* - [F]

Il OR flag indica al sistema che non hai ancora finito di aggiungere referrer bloccati. Ometti questa opzione nell'ultima voce.

Reindirizza il traffico

Puoi usare .htaccess file per reindirizzare il traffico.

Apri il file e inserisci quanto segue:

Redirect301/Other_Website.com/index.html/My_Website.com/index.html

Questo comando prende tutto il traffico che sta cercando Other_Website.com e lo reindirizza a My_Website.com .

Imposta una pagina 404

Puoi usare .htaccess file per puntare le funzioni di base in una nuova posizione. Un esempio è la pagina 404 .

1. Apri il .htaccess file e inserisci:

ErrorDocument 404 /404.html

Questa riga indica al sistema di cercare nella directory dei contenuti del sito Web un /404.html file come pagina di errore.

2. Crea la pagina 404 usando questo comando:

sudo nano cd /var/www/My_Website.com/public.html/404.html

Questo dovrebbe aprire il 404.htm l file nel tuo editor di testo.

3. Successivamente, aggiungi il seguente codice:

<!doctype html>

<html>

 <body>

   404 Error: Page not found

 </body&gt;

</html>

Questa pagina può ora essere personalizzata per visualizzare qualsiasi tipo di messaggio di errore desiderato. Puoi anche personalizzare qualsiasi altra pagina di errore che desideri. Basta specificare il ErrorDocument numero, ad esempio Errore 500 di punto .htaccess al nuovo error.html file che crei.


Ubuntu
  1. Come abilitare register_globals

  2. Come abilitare ExecCGI tramite il file .htaccess?

  3. Come posso abilitare l'indicizzazione di file e directory Apache in Linux o UNIX?

  4. Come abilitare la registrazione error-log.txt utilizzando il file .htaccess?

  5. Come impostare il limite della dimensione del caricamento dei file in Apache?

Come configurare la condivisione NFS su Ubuntu 20.04, 18.04

Come configurare WordPress Multisite con Apache Web Server su Ubuntu

Come abilitare la compressione Brotli su Apache

Come abilitare HTTP/2 in Apache su Ubuntu

Come impostare la pagina dell'indice da cPanel tramite .htaccess?

Come configurare un container Docker Apache