Configurar a propriedade e as permissões do arquivo
Este tópico discute como definir permissões de leitura e gravação para o grupo de servidores Web antes de instalar o Adobe Commerce. Isso é necessário para que a linha de comando possa gravar arquivos no sistema de arquivos.
O procedimento usado é diferente, dependendo se você usa hospedagem compartilhado e tiver um usuário ou se você usar um servidor privado e têm dois usuários.
Definir permissões para um usuário na hospedagem compartilhada
Esta seção discute como definir permissões de pré-instalação se você efetuar login no servidor de aplicativos como o mesmo usuário que também executa o servidor Web. Esse tipo de configuração é comum em ambientes de hospedagem compartilhados.
Para definir permissões antes de instalar o aplicativo:
-
Faça logon no servidor de aplicativos.
-
Use um aplicativo gerenciador de arquivos fornecido pelo seu provedor de hospedagem compartilhada para verificar se as permissões de gravação estão definidas nos seguintes diretórios:
vendor
(Instalação do Composer ou de arquivos compactados)app/etc
pub/static
var
generated
- Quaisquer outros recursos estáticos
-
Se você tiver acesso à linha de comando, insira os seguintes comandos na ordem mostrada:
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
Para informar opcionalmente todos os comandos em uma linha, informe o seguinte, considerando que o aplicativo esteja instalado em
/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 ainda não tiver feito isso, obtenha o aplicativo de uma das seguintes maneiras:
-
Depois de definir a propriedade e as permissões do sistema de arquivos, instalar o aplicativo
Definir propriedade e permissões para dois usuários
Esta seção discute como definir a propriedade e as permissões de seu próprio servidor ou de uma configuração de hospedagem privada. Nesse tipo de configuração, você normalmente não é possível efetue login como, ou alterne para, o usuário do servidor Web. Normalmente, você faz logon como um usuário e executa o servidor Web como um usuário diferente.
Para definir a propriedade e as permissões de um sistema de dois usuários:
Conclua as seguintes tarefas na ordem mostrada:
- Sobre o grupo compartilhado
- Crie o proprietário do sistema de arquivos e forneça ao usuário uma senha forte
- Localizar o grupo do usuário do servidor Web
- Colocar o proprietário do sistema de arquivos no grupo de servidores Web
- Obter o software
- Definir propriedade e permissões para o grupo compartilhado
Sobre o grupo compartilhado
Para permitir que o servidor Web grave arquivos e diretórios no sistema de arquivos, mas também mantenha propriedade pelo proprietário do sistema de arquivos, ambos os usuários devem estar no mesmo grupo. Isso é necessário para que ambos os usuários possam compartilhar acesso a arquivos (incluindo arquivos criados usando o Administrador ou outros utilitários baseados na Web).
Esta seção discute como criar um proprietário do sistema de arquivos e colocar esse usuário no grupo do servidor Web. Se desejar, você poderá usar uma conta de usuário existente; recomendamos que o usuário tenha uma senha forte por motivos de segurança.
Crie o proprietário do sistema de arquivos e forneça ao usuário uma senha forte
Esta seção discute como criar o proprietário do sistema de arquivos. (O proprietário do sistema de arquivos é outro termo para o usuário da linha de comando.)
Para criar um usuário no CentOS ou Ubuntu, digite o seguinte comando como usuário com root
privilégios:
adduser <username>
Para fornecer uma senha ao usuário, digite o seguinte comando como usuário com root
privilégios:
passwd <username>
Siga as instruções na tela para criar uma senha para o usuário.
root
no servidor de aplicativos, é possível usar outra conta de usuário local. Verifique se o usuário tem uma senha forte e continue com Colocar o proprietário do sistema de arquivos no grupo de servidores Web.Por exemplo, para criar um usuário chamado magento_user
e fornecer uma senha ao usuário, digite:
sudo adduser magento_user
sudo passwd magento_user
Localizar o grupo de usuários do servidor Web
Para localizar o grupo do usuário do servidor Web:
-
CentOS:
code language-bash grep -E -i '^user|^group' /etc/httpd/conf/httpd.conf
ou
code language-bash grep -Ei '^user|^group' /etc/httpd/conf/httpd.conf
Normalmente, o nome do usuário e do grupo são apache
.
- Ubuntu:
ps aux | grep apache
para encontrar o usuário Apache,groups <apache user>
para encontrar o grupo.
Normalmente, o nome de usuário e o nome do grupo são www-data
.
Colocar o proprietário do sistema de arquivos no grupo de servidores Web
Para colocar o proprietário do sistema de arquivos no grupo principal do servidor Web (supondo o nome de grupo típico do Apache para CentOS e Ubuntu), digite o seguinte comando como usuário com root
privilégios:
- CentOS:
usermod -a -G apache <username>
- Ubuntu:
usermod -a -G www-data <username>
-a -G
opções são importantes porque adicionam apache
ou www-data
as a secundário grupo para a conta do usuário, o que preserva o principal grupo. Adicionar um grupo secundário a uma conta de usuário ajuda restringir a propriedade e as permissões do arquivo para garantir que os membros de um grupo compartilhado tenham acesso somente a determinados arquivos.Por exemplo, para adicionar o usuário magento_user
para o apache
grupo principal no CentOS:
sudo usermod -a -G apache magento_user
Para confirmar se o usuário é membro do grupo de servidores Web, digite o seguinte comando:
groups magento_user
O exemplo de resultado a seguir mostra o principal (magento
) e secundário (apache
) grupos.
magento_user : magento_user apache
Para concluir a tarefa, reinicie o servidor Web:
- Ubuntu:
service apache2 restart
- CentOS:
service httpd restart
Obter o software
Se ainda não tiver feito isso, obtenha o software de uma das seguintes maneiras:
Definir propriedade e permissões para o grupo compartilhado
Para definir a propriedade e as permissões antes de instalar o aplicativo:
-
Efetue login no servidor de aplicativos como, ou alterne para, o proprietário do sistema de arquivos.
-
Digite os seguintes comandos na ordem mostrada:
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
Para informar opcionalmente todos os comandos em uma linha, informe o seguinte, considerando que o aplicativo esteja instalado em /var/www/html/magento2
e o nome do grupo do servidor web é 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
Caso as permissões do sistema de arquivos sejam definidas incorretamente e não possam ser alteradas pelo proprietário do sistema de arquivos, você pode inserir o comando como um usuário com root
privilégios:
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
Alternar para o proprietário do sistema de arquivos
Após executar as outras tarefas neste tópico, insira um dos seguintes comandos para alternar para esse usuário:
- Ubuntu:
su <username>
- CentOS:
su - <username>
Por exemplo,
su magento_user