Apache

Adobe Commerce supporta Apache 2.4.x.

Direttive obbligatorie Apache

  1. Imposta AllowEncodedSlashes nella configurazione del server (a livello globale) o nelle configurazioni dell’host virtuale per evitare di decodificare le barre codificate che possono 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

Questo argomento illustra come abilitare Apache 2.4 riscrive e specificare un’impostazione per file di configurazione distribuito, .htaccess.

Adobe Commerce e Magento Open Source utilizzano le riscritture dei 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.

Utilizza questa sezione per abilitare le riscritture di Apache 2.4 e specificare un’impostazione per file di configurazione distribuito, .htaccess

Adobe Commerce e Magento Open Source utilizzano le riscritture dei server e .htaccess per fornire istruzioni a livello di directory per Apache.

NOTE
Se non si attivano queste impostazioni, in genere non vengono visualizzati stili nella vetrina o nell’amministratore.
  1. Abilita il modulo di riscrittura Apache:

    code language-bash
    a2enmod rewrite
    
  2. Per abilitare l'applicazione all'utilizzo del .htaccess , vedere le linee guida in 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, puoi aggiungere quanto segue alla fine di 000-default.conf:

    code language-terminal
    <Directory "/var/www/html">
        AllowOverride All
    </Directory>
    
    note note
    NOTE
    A volte, potrebbero essere necessari parametri aggiuntivi. Per ulteriori informazioni, vedere Documentazione di Apache 2.4.
  3. Se hai modificato le impostazioni di Apache, riavvia Apache:

    code language-bash
    service apache2 restart
    
    note note
    NOTE
    • Se hai effettuato l’aggiornamento da una versione precedente di Apache, cerca <Directory "/var/www/html"> o <Directory "/var/www"> in 000-default.conf.
    • È necessario modificare il valore di AllowOverride nella direttiva per la directory in cui si prevede di installare il software Adobe Commerce o di Magento Open Source. Ad esempio, per eseguire l’installazione nella directory principale dei documenti del server web, modifica la direttiva in <Directory /var/www>.
NOTE
Se non si attivano queste impostazioni, in genere gli stili non vengono visualizzati nella vetrina o in Amministrazione.

Moduli richiesti Apache

Adobe Commerce e Magento Open Source richiedono 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

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:

  1. Installare Apache

    code language-bash
    apt-get -y install apache2
    
  2. Verificare l'installazione.

    code language-bash
    apache2 -v
    

    Il risultato è simile al seguente:

    code language-terminal
    Server version: Apache/2.4.18 (Ubuntu)
    Server built: 2020-04-15T18:00:57
    
  3. Abilita riscrive e .htaccess.

Aggiornamento di Apache su Ubuntu

Per effettuare l’aggiornamento ad Apache 2.4:

  1. Aggiungi il ppa:ondrej archivio, che dispone di 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
    
  2. 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, consulta una risorsa come https://askubuntu.com/.
  3. Verificare l'installazione.

    code language-bash
    apache2 -v
    

    Dovrebbero essere visualizzati messaggi simili ai seguenti:

    code language-terminal
    Server version: Apache/2.4.10 (Ubuntu)
    Server built: Jul 22 2020 22:46:25
    
  4. Abilita riscrive e .htaccess.

Installazione di Apache su CentOS

Adobe Commerce e Magento Open Source richiedono la riscrittura del server Apache. È inoltre necessario specificare il tipo di direttive che è possibile utilizzare in .htaccess, utilizzato 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

  1. Se non lo hai già fatto, installa Apache 2.4.

    code language-bash
    yum -y install httpd
    
  2. 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-terminal
    Server version: Apache/2.4.40 (Unix)
    Server built: Oct 16 2020 14:48:21
    
  3. 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

  1. Apri /etc/httpd/conf/httpd.conf file per la modifica:

    code language-bash
    vim /etc/httpd/conf/httpd.conf`
    
  2. Individua il blocco che inizia con:

    code language-conf
    <Directory "/var/www/html">
    
  3. Modifica il valore di AllowOverride a All.

    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 potrebbe non funzionare in tutti i casi. Per ulteriori informazioni, consulta la documentazione di Apache (2,4).
  4. Salvate il file e uscite dall'editor di testo.

  5. Per applicare le impostazioni Apache, riavvia Apache.

    code language-bash
    service apache2 restart
    
NOTE
Se non si attivano queste impostazioni, in genere non vengono visualizzati stili nella vetrina o nell’amministratore.

Abilita riscritture e .htaccess per Ubuntu

  1. Apri /etc/apache2/sites-available/default file per la modifica:

    code language-bash
    vim /etc/apache2/sites-available/default
    
  2. Individua il blocco che inizia con:

    <Directory "/var/www/html">

  3. Modifica il valore di AllowOverride a All.

    Ad esempio:

    code language-conf
    <Directory "/var/www/html">
      Options Indexes FollowSymLinks MultiViews
      AllowOverride All
      Order allow,deny
      Allow from all
    </Directory>
    
  4. Salvate il file e uscite dall'editor di testo.

  5. Configura Apache per utilizzare mod_rewrite modulo:

    code language-bash
    cd /etc/apache2/mods-enabled
    
    code language-bash
    ln -s ../mods-available/rewrite.load
    
  6. 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, utilizza uno dei Richiedi direttive.

Ad esempio:

<Directory "/var/www/">
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  Require all granted
</Directory>
NOTE
I valori precedenti per Order potrebbe non funzionare in tutti i casi. Per ulteriori informazioni, vedere Documentazione di Apache.
recommendation-more-help
0f8e7db5-0e9c-4002-a5b8-a0088077d995