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:
-
Accedere al server applicazioni.
-
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
-
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
-
Se non lo hai già fatto, ottieni l’applicazione in uno dei seguenti modi:
-
Dopo aver impostato le autorizzazioni e la proprietà del file system, installare l'applicazione
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
- Creare il proprietario del file system e assegnare all'utente una password sicura
- Trova il gruppo dell’utente del server web
- Inserisci il proprietario del file system nel gruppo di server web
- Ottieni il software
- Imposta proprietà e autorizzazioni per il gruppo condiviso
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.
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.
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
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, quindigroups <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>
-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
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:
-
Accedere al server applicazioni come proprietario del file system o passare a tale proprietario.
-
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