Apache
Adobe Commerce supporta Apache 2.4.x.
Direttive obbligatorie Apache
-
Impostare
AllowEncodedSlashes
nella configurazione del server (a livello globale) o nelle configurazioni dell'host virtuale per evitare di decodificare le barre codificate che potrebbero causare problemi per gli URL. Ad esempio, quando recuperi prodotti con una barra nello SKU tramite l’API, non desideri convertirli. Il blocco campione non è completo e sono necessarie altre direttive.code language-conf <VirtualHost *:443> # Allow encoded slashes AllowEncodedSlashes NoDecode </VirtualHost>
Apache riscrive e htaccess
In questo argomento viene illustrato come abilitare le riscritture di Apache 2.4 e specificare un'impostazione per il file di configurazione distribuito, .htaccess
.
Adobe Commerce utilizza le riscritture del server e .htaccess
per fornire istruzioni a livello di directory per Apache. Le seguenti istruzioni sono incluse anche in tutte le altre sezioni di questo argomento.
Utilizzare questa sezione per abilitare le riscritture di Apache 2.4 e specificare un'impostazione per il file di configurazione distribuito, .htaccess
Adobe Commerce utilizza le riscritture del server e .htaccess
per fornire istruzioni a livello di directory per Apache.
-
Abilita il modulo di riscrittura Apache:
code language-bash a2enmod rewrite
-
Per abilitare l'applicazione all'utilizzo del file di configurazione
.htaccess
distribuito, vedere le linee guida nella documentazione di Apache 2.4.note tip TIP In Apache 2.4, il file di configurazione del sito predefinito del server è /etc/apache2/sites-available/000-default.conf
.Ad esempio, è possibile aggiungere quanto segue alla fine di
000-default.conf
:code language-none <Directory "/var/www/html"> AllowOverride All </Directory>
note note NOTE A volte, potrebbero essere necessari parametri aggiuntivi. Per ulteriori informazioni, consulta la documentazione di Apache 2.4. -
Se hai modificato le impostazioni di Apache, riavvia Apache:
code language-bash service apache2 restart
note note NOTE - Se hai eseguito l'aggiornamento da una versione precedente di Apache, cerca prima
<Directory "/var/www/html">
o<Directory "/var/www">
in000-default.conf
. - È necessario modificare il valore di
AllowOverride
nella direttiva per la directory in cui si prevede di installare il software Adobe Commerce. Ad esempio, per eseguire l'installazione nella directory principale dei documenti del server Web, modificare la direttiva in<Directory /var/www>
.
- Se hai eseguito l'aggiornamento da una versione precedente di Apache, cerca prima
Moduli richiesti Apache
Adobe Commerce richiede l’installazione dei seguenti moduli Apache:
Verifica la versione di Apache
Per verificare la versione di Apache in esecuzione, immetti:
apache2 -v
Il risultato è simile al seguente:
Server version: Apache/2.4.04 (Ubuntu)
Server built: Jul 22 2020 14:35:32
-
Se Apache è installato not, vedi:
Installazione o aggiornamento di Apache su Ubuntu
Le sezioni seguenti spiegano come installare o aggiornare Apache:
- Installare Apache
- Effettua l’aggiornamento ad Apache 2.4 su Ubuntu per utilizzare PHP 7.4.
Installazione di Apache su Ubuntu
Per installare la versione predefinita di Apache:
-
Installare Apache
code language-bash apt-get -y install apache2
-
Verificare l'installazione.
code language-bash apache2 -v
Il risultato è simile al seguente:
code language-none Server version: Apache/2.4.18 (Ubuntu) Server built: 2020-04-15T18:00:57
-
Abilita riscritture e
.htaccess
.
Aggiornamento di Apache su Ubuntu
Per effettuare l’aggiornamento ad Apache 2.4:
-
Aggiungi l'archivio
ppa:ondrej
, che ha Apache 2.4:code language-bash apt-get -y update
code language-bash apt-add-repository ppa:ondrej/apache2
code language-bash apt-get -y update
-
Installare Apache 2.4:
code language-bash apt-get install -y apache2
note note NOTE Se il comando 'apt-get install' non riesce a causa di dipendenze non soddisfatte, consultare una risorsa come https://askubuntu.com/. -
Verificare l'installazione.
code language-bash apache2 -v
Dovrebbero essere visualizzati messaggi simili ai seguenti:
code language-none Server version: Apache/2.4.10 (Ubuntu) Server built: Jul 22 2020 22:46:25
-
Abilita riscritture e
.htaccess
.
Installazione di Apache su CentOS
Adobe Commerce richiede la riscrittura del server Apache. È inoltre necessario specificare il tipo di direttive che è possibile utilizzare in .htaccess
, utilizzate dall'applicazione per specificare le regole di riscrittura.
L'installazione e la configurazione di Apache sono fondamentalmente tre passaggi: installare il software, abilitare le riscritture e specificare .htaccess
direttive.
Installazione di Apache
-
Se non lo hai già fatto, installa Apache 2.4.
code language-bash yum -y install httpd
-
Verificare l'installazione:
code language-bash httpd -v
Vengono visualizzati messaggi simili al seguente per confermare che l’installazione è andata a buon fine:
code language-none Server version: Apache/2.4.40 (Unix) Server built: Oct 16 2020 14:48:21
-
Procedi alla sezione successiva.
note note NOTE Anche se Apache 2.4 è fornito per impostazione predefinita con CentOS, consulta la sezione seguente per configurarlo.
Abilita riscritture e .htaccess per CentOS
-
Apri il file
/etc/httpd/conf/httpd.conf
per la modifica:code language-bash vim /etc/httpd/conf/httpd.conf`
-
Individua il blocco che inizia con:
code language-conf <Directory "/var/www/html">
-
Modificare il valore di
AllowOverride
inAll
.Ad esempio:
code language-conf <Directory "/var/www/"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory>
note note NOTE I valori precedenti per Order
potrebbero non funzionare in tutti i casi. Per ulteriori informazioni, consulta la documentazione di Apache (2.4). -
Salvate il file e uscite dall'editor di testo.
-
Per applicare le impostazioni Apache, riavvia Apache.
code language-bash service apache2 restart
Abilita riscritture e .htaccess per Ubuntu
-
Apri il file
/etc/apache2/sites-available/default
per la modifica:code language-bash vim /etc/apache2/sites-available/default
-
Individua il blocco che inizia con:
<Directory "/var/www/html">
-
Modificare il valore di
AllowOverride
inAll
.Ad esempio:
code language-conf <Directory "/var/www/html"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory>
-
Salvate il file e uscite dall'editor di testo.
-
Configurare Apache per l'utilizzo del modulo
mod_rewrite
:code language-bash cd /etc/apache2/mods-enabled
code language-bash ln -s ../mods-available/rewrite.load
-
Riavvia Apache per applicare le modifiche:
code language-bash service apache2 restart
Risoluzione degli errori 403 (non consentito)
Se rilevi 403 errori non consentiti durante il tentativo di accesso al sito, puoi aggiornare la configurazione Apache o l’host virtuale per abilitare i visitatori al sito:
Risoluzione di errori 403 non consentiti per Apache 2.4
Per consentire ai visitatori del sito Web di accedere al sito, utilizzare una delle direttive obbligatorie.
Ad esempio:
<Directory "/var/www/">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Require all granted
</Directory>
Order
potrebbero non funzionare in tutti i casi. Per ulteriori informazioni, consulta la documentazione di Apache.