Configurare la proprietà e le autorizzazioni dei file

Questo argomento illustra come impostare le autorizzazioni di lettura-scrittura per il gruppo di server Web prima di installare Adobe Commerce. Ciò è necessario affinché la riga di comando possa scrivere file nel file system.

La procedura utilizzata è diversa a seconda che si utilizzi hosting condiviso e si disponga di un utente oppure si utilizzi un server privato e si disponga di due utenti.

Impostare le autorizzazioni per un utente su hosting condiviso

In questa sezione viene illustrato come impostare le autorizzazioni di preinstallazione se si accede al server applicazioni come lo stesso utente che esegue anche il server Web. Questo tipo di configurazione è comune negli ambienti di hosting condivisi.

Per impostare le autorizzazioni prima di installare l'applicazione:

  1. Accedere al server applicazioni.

  2. Utilizza un’applicazione di gestione file fornita dal provider di hosting condiviso per verificare che le autorizzazioni di scrittura siano impostate sulle seguenti directory:

    • vendor (installazione del compositore o dell'archivio compresso)
    • app/etc
    • pub/static
    • var
    • generated
    • Qualsiasi altra risorsa statica
  3. Se si dispone dell'accesso alla riga di comando, immettere i seguenti comandi nell'ordine indicato:

    code language-bash
    cd <app_root>
    
    code language-bash
    find var generated vendor pub/static pub/media app/etc -type f -exec chmod u+w {} +
    
    code language-bash
    find var generated vendor pub/static pub/media app/etc -type d -exec chmod u+w {} +
    
    code language-bash
    chmod u+x bin/magento
    

    Per immettere facoltativamente tutti i comandi su una riga, immettere quanto segue presupponendo che l'applicazione sia installata in /var/www/html/magento2:

    code language-bash
    cd /var/www/html/magento2 && find var generated vendor pub/static pub/media app/etc -type f -exec chmod u+w {} + && find var generated vendor pub/static pub/media app/etc -type d -exec chmod u+w {} + && chmod u+x bin/magento
    
  4. Se non lo hai già fatto, ottieni l’applicazione in uno dei seguenti modi:

  5. Dopo aver impostato le autorizzazioni e la proprietà del file system, installare l'applicazione

NOTE
Per limitare ulteriormente le autorizzazioni dopo l'installazione dell'applicazione, è possibile configurare una maschera.

Impostare la proprietà e le autorizzazioni per due utenti

Questa sezione illustra come impostare la proprietà e le autorizzazioni per il proprio server o una configurazione di hosting privato. In questo tipo di installazione, in genere non è possibile accedere come utente del server Web o passare a tale utente. In genere si accede come un utente ed il server web viene eseguito come un altro utente.

Per impostare la proprietà e le autorizzazioni per un sistema a due utenti:

Completa le seguenti attività nell’ordine indicato:

Informazioni sul gruppo condiviso

Per consentire al server Web di scrivere file e directory nel file system ma anche di mantenere la proprietà 1 del proprietario del file system, entrambi gli utenti devono appartenere allo stesso gruppo. Ciò è necessario affinché entrambi gli utenti possano condividere l’accesso ai file (inclusi i file creati utilizzando l’Admin o altre utilità basate sul web).

Questa sezione illustra come creare un proprietario del file system e inserire tale utente nel gruppo del server web. Se lo si desidera, è possibile utilizzare un account utente esistente. Per motivi di sicurezza, è consigliabile che l'utente disponga di una password sicura.

NOTE
Passa a Trova il gruppo di utenti del server Web se intendi utilizzare un account utente esistente.

Creare il proprietario del file system e assegnare all'utente una password sicura

Questa sezione illustra come creare il proprietario del file system. (il proprietario del file system è un altro termine per l'utente della riga di comando.)

Per creare un utente su CentOS o Ubuntu, immettere il comando seguente come utente con privilegi root:

adduser <username>

Per assegnare all'utente una password, immettere il comando seguente come utente con privilegi root:

passwd <username>

Seguire le istruzioni visualizzate per creare una password per l'utente.

WARNING
Se non si dispone dei privilegi di root sul server applicazioni, è possibile utilizzare un altro account utente locale. Assicurarsi che l'utente disponga di una password sicura e continuare con Inserire il proprietario del file system nel gruppo di server Web.

Ad esempio, per creare un utente denominato magento_user e assegnare una password all'utente, immettere:

sudo adduser magento_user
sudo passwd magento_user
WARNING
Poiché lo scopo della creazione di questo utente è quello di fornire maggiore protezione, assicurarsi di creare una password sicura.

Trovare il gruppo di utenti del server web

Per trovare il gruppo dell'utente del server Web:

  • CentOS:

    code language-bash
    grep -E -i '^user|^group' /etc/httpd/conf/httpd.conf
    

    o

    code language-bash
    grep -Ei '^user|^group' /etc/httpd/conf/httpd.conf
    

In genere, l'utente e il nome del gruppo sono entrambi apache.

  • Ubuntu: ps aux | grep apache per trovare l'utente Apache, quindi groups <apache user> per trovare il gruppo.

In genere, il nome utente e il nome del gruppo sono entrambi www-data.

Inserisci il proprietario del file system nel gruppo di server web

Per inserire il proprietario del file system nel gruppo principale del server Web (supponendo il nome tipico del gruppo Apache per CentOS e Ubuntu), immettere il comando seguente come utente con privilegi root:

  • CentOS: usermod -a -G apache <username>
  • Ubuntu: usermod -a -G www-data <username>
NOTE
Le opzioni -a -G sono importanti perché aggiungono apache o www-data come gruppo secondario all'account utente, mantenendo il gruppo primario dell'utente. L'aggiunta di un gruppo secondario a un account utente consente a limitare la proprietà e le autorizzazioni dei file per garantire che i membri di un gruppo condiviso abbiano accesso solo a determinati file.

Ad esempio, per aggiungere l'utente magento_user al gruppo primario apache su CentOS:

sudo usermod -a -G apache magento_user

Per confermare che l'utente è membro del gruppo di server Web, immettere il comando seguente:

groups magento_user

Il seguente esempio mostra i gruppi primario (magento) e secondario (apache) dell'utente.

magento_user : magento_user apache
NOTE
In genere, il nome utente e il nome del gruppo primario coincidono.

Per completare l'operazione, riavviare il server Web:

  • Ubuntu: service apache2 restart
  • CentOS: service httpd restart

Ottieni il software

Se non lo hai già fatto, ottieni il software in uno dei seguenti modi:

Imposta proprietà e autorizzazioni per il gruppo condiviso

Per impostare la proprietà e le autorizzazioni prima di installare l'applicazione:

  1. Accedere al server applicazioni come proprietario del file system o passare a tale proprietario.

  2. Immettete i seguenti comandi nell'ordine indicato:

    code language-bash
    cd <app_root>
    
    code language-bash
    find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
    
    code language-bash
    find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
    
    code language-bash
    chown -R :<web server group> .
    
    code language-bash
    chmod u+x bin/magento
    

Per immettere facoltativamente tutti i comandi su una riga, immettere quanto segue presupponendo che l'applicazione sia installata in /var/www/html/magento2 e che il nome del gruppo di server Web sia apache:

cd /var/www/html/magento2 && find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} + && find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} + && chown -R :apache . && chmod u+x bin/magento

Nel caso in cui le autorizzazioni del file system non siano impostate correttamente e non possano essere modificate dal proprietario del file system, è possibile immettere il comando come utente con privilegi root:

cd /var/www/html/magento2 && sudo find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} + && sudo find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} + && sudo chown -R :apache . && sudo chmod u+x bin/magento

Passa al proprietario del file system

Dopo aver eseguito le altre attività descritte in questo argomento, immettere uno dei seguenti comandi per passare all'utente:

  • Ubuntu: su <username>
  • CentOS: su - <username>

Ad esempio:

su magento_user
recommendation-more-help
0f8e7db5-0e9c-4002-a5b8-a0088077d995