GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Configura e ospita un'applicazione nel server Web Apache in Linux

Nel nostro precedente articolo, "Come installare il server Web Apache su Linux", abbiamo spiegato come installare Apache su una macchina Linux. Ora, in questo articolo, daremo seguito alla configurazione di base di Apache che includerà

  • Consenti traffico Apache tramite Firewall
  • Gestione dei servizi Apache
  • Configurazione di host virtuali in Apache
  • Configura Apache per l'ascolto su una porta diversa
  • Consenti/Nega l'accesso da indirizzi IP specifici

Prerequisiti

  • Sistema Ubuntu 20.04
  • Utente con privilegi sudo
  • Un server web Apache installato

Nota: I comandi discussi in questo articolo sono stati testati su Ubuntu 20.04 LTS (Fossa focale). Gli stessi comandi sono validi anche per la distribuzione Debian.

Consentire il traffico Apache tramite Firewall

Se un firewall è abilitato sul tuo sistema operativo, dovrai consentire il traffico Apache attraverso di esso. Il server Apache per impostazione predefinita è in ascolto sulla porta 80 per HTTP e 443 per https. Per consentire il traffico HTTP (porta 80) attraverso il firewall, eseguire il seguente comando in Terminale:

$ sudo ufw allow 'Apache'

Per consentire il traffico HTTPS (porta 443) attraverso il firewall, eseguire il comando seguente in Terminale:

$ sudo ufw allow 'Apache Secure'

Per consentire il passaggio del traffico HTTP (porta 80) e HTTPS (porta 443) nel firewall, eseguire i seguenti comandi nel Terminale:

$ sudo ufw allow 'Apache Full'

Gestione dei servizi Apache

Dopo l'installazione, il servizio Apache si avvia automaticamente in esecuzione in background. Per visualizzare lo stato del servizio Apache, immetti il ​​comando seguente in Terminale:

$ systemctl status apache2

Nell'output seguente, attivo (in esecuzione) lo stato mostra che il servizio Apache è attivo e in esecuzione senza problemi.

Per avviare manualmente il servizio Apache, utilizzare il comando seguente:

$ sudo systemctl start apache2

Per abilitare l'avvio automatico del servizio Apache all'avvio/avvio, utilizzare il comando seguente:

$ sudo systemctl enable apache2

Per riavviare il servizio Apache, utilizzare il comando seguente:

$ sudo systemctl restart apache2

Per arrestare il servizio Apache, utilizzare il comando seguente:

$ sudo systemctl stop apache2

Configurazione di host virtuali in Apache

L'host virtuale in Apache ti consente di eseguire una serie di siti Web da un singolo server Web Apache. Nella sezione seguente, configureremo un host virtuale per il nostro dominio “test.org”. Per più domini, segui gli stessi passaggi per ogni dominio.

Fase 1:crea una directory per il tuo dominio

Il primo passo sarà creare una directory per il tuo dominio. Se devi ospitare più domini, crea directory separate per ogni dominio. Per il nostro dominio test.org , creeremo la directory con il seguente comando:

$ sudo mkdir /var/www/test.org

Assicurati di sostituire test.org con il tuo nome di dominio.

Passaggio 2:imposta la proprietà e le autorizzazioni

La directory del nostro dominio è attualmente di proprietà dell'utente root. Per consentire ad altri utenti di modificare i file, dovremo modificare la proprietà della directory. Usa il seguente comando in Terminale fallo:

$ sudo chown -R $USER:$USER /var/www/ test.org

Inoltre, imposta le autorizzazioni richieste sulla directory del dominio. Il 755 nel comando seguente assegna autorizzazioni di lettura ed esecuzione a tutti mentre le autorizzazioni di lettura, scrittura ed esecuzione al proprietario del file.

$ sudo chmod -R 755 /var/www/ test.org

Fase 3:crea una pagina index.html di esempio per il tuo dominio

Ora crea un esempio index.html pagina per il tuo dominio per pubblicare alcuni contenuti. Crea un file index.html nel /var/www/test.org directory.

Stiamo usando l'editor Nano per questo scopo:

$ sudo nano /var/www/test.org/index.html

Aggiungi il seguente contenuto nel file.

<html>

<head>

<title>Your test.org server block is up!</title>

</head>

<body>

<h1>This is a test page for test.org website!</h1>

</body>

</html>

Una volta terminate le modifiche, salva e chiudi index.html file.

Ora l'esempio index.html è stata creata una pagina per il nostro sito.

Fase 4:crea un nuovo file host virtuale

In Apaches esiste un file host virtuale predefinito che contiene le configurazioni per il server Web predefinito. Per il nostro dominio test.org , creeremo un file host virtuale separato.

Emetti il ​​seguente comando in Terminale per creare il file host virtuale per il tuo dominio:

$ sudo nano /etc/apache2/sites-available/test.org.conf

Aggiungi i seguenti contenuti nel file.

<VirtualHost *:80>
ServerAdmin [email protected]

ServerName test.org

ServerAlias www.test.org

DocumentRoot /var/www/test.org/html

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Assicurati di sostituire test.org con il tuo nome di dominio.

Una volta terminate le modifiche, salva e chiudi il file.

Fase 5:abilita il file host virtuale

Ora abiliteremo il file host virtuale che abbiamo creato nel passaggio precedente. Emetti il ​​comando seguente in Terminale per farlo:

$ sudo a2ensite test.org.conf

Non stiamo usando il file host virtuale predefinito, quindi possiamo disabilitarlo. Usa il seguente comando per disabilitarlo:

$ sudo a2dissite 000-default.conf

Ora ricarica le configurazioni di Apache usando il seguente comando:

$ systemctl reload apache2

Fase 6:configura il file hosts (facoltativo)

Se non disponi di un vero nome di dominio e desideri solo testare la procedura utilizzando un qualsiasi dominio di prova, dovrai aggiungere una voce per il tuo dominio in /etc/hosts file.

Modifica /etc/hosts file utilizzando il seguente comando in Terminale:

$ sudo nano /etc/hosts

Aggiungi la seguente voce in questo file sostituendo l'IP_server e nome_dominio con l'indirizzo IP e il nome di dominio del tuo ambiente.

server_IP domain_name

Nel nostro esempio, la voce sarebbe:

192.168.72.157 test.org

Ora salva e chiudi il file /etc/hosts.

Fase 6:verifica la presenza di errori

Ora testa le configurazioni di Apache per eventuali errori. Utilizzare il comando seguente per farlo:

$ sudo apache2ctl configtest

Se tutto è a posto, verrà visualizzata la Sintassi OK messaggio nell'output. Potresti anche visualizzare il seguente messaggio di avviso nel risultato del test.

Per eliminare questo messaggio, aggiungi Nomeserver direttiva nella /etc/apache2/apache2.conf file.

Modifica /etc/apache2/apache2.conf file utilizzando il seguente comando in Terminale:

$ sudo nano /etc/apache2/apache2.conf

Aggiungi la seguente voce nel file sostituendo test.org con il tuo nome di dominio:

ServerName test.org

Salva e chiudi il file.

Ancora una volta, verifica Apache per errori di configurazione. Ora vedrai che l'avviso è stato rimosso.

Passaggio 7:verifica se Apache sta servendo il tuo nome di dominio

Ora, prova la configurazione navigando al seguente indirizzo nella barra degli indirizzi del tuo browser web.

http://domain_name

Nel nostro esempio, sarebbe:

http://test.org

La pagina seguente indica che l'host virtuale è stato configurato correttamente e che Apache sta servendo il nostro nome di dominio.

Configura Apache per l'ascolto su una porta diversa

Per impostazione predefinita, Apache ascolta il traffico Web sulla porta 80. In alcuni casi potrebbe essere necessario modificare la porta Apache, ad esempio quando qualche altro servizio è già in ascolto sulla porta 80, l'ISP ha bloccato la porta 80 o si desidera impedire la porta 80 attacchi. Tuttavia, ricorda che dopo aver modificato la porta predefinita, devi puntare i browser alla nuova porta come http://nome_dominio:porta_nmuber.

1. Modifica /etc/apache2/ports.conf file utilizzando il comando seguente:

$ sudo nano /etc/apache2/ports.conf

Questa è la visualizzazione predefinita di ports.conf file in cui puoi vedere la porta 80 configurata come porta predefinita.

Cambia questo numero di porta in qualsiasi altro valore che vuoi che il server Apache ascolti.

Salva e chiudi il file ports.conf una volta terminata la modifica.

2. Ora dovrai configurare il tuo host virtuale per l'ascolto sulla nuova porta. Per modificare il file dell'host virtuale, utilizzare il seguente comando in Terminale:

$ sudo nano /etc/apache2/sites-avaialble/test.org.conf file

Nel comando precedente, assicurati di sostituire test.org.conf con il nome del file dell'host virtuale.

Trova la voce e modifica il valore da 80 a qualsiasi numero che vuoi che Apache ascolti. Ad esempio, per modificare il numero di porta in 9090 , la voce verrebbe modificata in .

Nota :per impostare un numero di porta, scegli un valore compreso tra 1024 e 65535.

Al termine, salva e chiudi il file.

Apache può anche essere configurato per l'ascolto su più porte. Ad esempio, per impostare le porte 80 e 9090 come porte di ascolto, aggiungi le seguenti voci in /etc/apache2/ports.conf file:

Listen 80

Listen 9090

Anche in /etc/apache2/sites-avaialble/test.org.conf file, aggiungi una voce nel modo seguente:

<VirtualHost *:80 *:9090>

Al termine, riavvia il servizio Apache utilizzando il seguente comando in Terminale:

$ sudo systemctl restart apache2

Consenti/Nega l'accesso da indirizzi IP specifici

Nella sezione seguente, vedremo come consentire/negare a determinati indirizzi IP l'accesso al nostro sito. Utilizzeremo il file .htaccess per questo scopo.

Passaggio 1:abilita apache .htaccess

Innanzitutto, dovremo abilitare il file .htaccess. Per fare ciò, immetti il ​​seguente comando in Terminale:

$ sudo nano /etc/apache2/sites-available/test.org.conf

Dopo il blocco VirtualHost, aggiungi le seguenti righe nel file:

<Directory /var/www/html/example.com/public_html>

Options Indexes FollowSymLinks

AllowOverride All

Require all granted

</Directory>

Ora salva il file e riavvia Apache usando il seguente comando:

$ sudo systemctl apache2 restart

Fase 2:crea il file .htaccess

Ora dovremo creare il file .htaccess. Passa alla directory principale dell'host virtuale.

$ cd /var/www/test.org

Quindi crea qui il file .htaccess usando il seguente comando:

$ sudo nano .htaccess

Fase 3:Consenti/Nega indirizzi IP

Per negare determinati indirizzi IP dall'accesso al tuo sito web, dovrai aggiungere voci nel file .htaccess nel modo seguente:

order deny, allow

# To deny IP address 192.168.9.8

allow from 192.168.9.8

# To deny all IP addresses from 192.168.9.0 to 192.168.9.255

allow from 192.168.9

To allow For this purpose, IP addresses from accessing your website, you will need to add entries in the .htaccess file in the following way:
order deny, allow

# To deny all IP addresses

Deny from all

# It will allow the IP address 192.168.9.30

allow from 192.168.9.30

# It will allow all IP addresses from 192.168.9.0 through 192.168.9.255
allow from 192.168.9

Questo è tutto ciò che c'è da fare! In questo articolo, hai appreso le basi delle configurazioni di Apache su Linux. Ciò include la configurazione del firewall, la gestione dei servizi Apache, la configurazione di host virtuali, la modifica delle porte di ascolto predefinite e l'autorizzazione/negazione dell'accesso ai siti da parte di IP specifici. Per ulteriori informazioni sulle configurazioni di Apache, visita la documentazione ufficiale del server Apache all'indirizzo http://httpd.apache.org/docs/.


Ubuntu
  1. Come configurare un server web Apache

  2. Come installare Apache Web Server su CentOS 7

  3. Installa il server web Apache su Linux Mint 13 / Linux Mint 14

  4. Installa Nginx e configura l'host virtuale in Ubuntu 20.04

  5. Come installare e configurare il server Web Apache su Ubuntu 13.10

Come installare e configurare Apache Web Server su Ubuntu

Come ospitare un sito Web su un server Web Apache

Come installare e configurare il server Apache SVN su desktop Linux

Come installare e configurare il server Web Apache su Oracle Linux 8

Come installare e configurare un server Web LAMP su Ubuntu 18.04

Come installare e configurare un server NFS Ubuntu Linux