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 compartilhada e tem um usuário ou se usa um servidor privado e tem 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 do arquivo compactado)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 inserir opcionalmente todos os comandos em uma linha, insira o seguinte supondo 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:
-
Após definir a propriedade e as permissões do sistema de arquivos, instale 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. Neste tipo de instalação, você normalmente não pode fazer login como, ou mudar 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 para manter a 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 um usuário com privilégios root
:
adduser <username>
Para fornecer uma senha ao usuário, digite o seguinte comando como um usuário com privilégios de root
:
passwd <username>
Siga as instruções na tela para criar uma senha para o usuário.
root
no servidor de aplicativos, poderá usar outra conta de usuário local. Verifique se o usuário tem uma senha forte e continue com Coloque 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, entãogroups <apache user>
para encontrar o grupo.
Normalmente, o nome de usuário e o nome do grupo são ambos 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 privilégios root
:
- CentOS:
usermod -a -G apache <username>
- Ubuntu:
usermod -a -G www-data <username>
-a -G
são importantes porque adicionam apache
ou www-data
como um grupo secundário à conta de usuário, o que preserva o grupo primário do usuário. Adicionar um grupo secundário a uma conta de usuário ajuda a 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
ao grupo principal apache
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 os grupos primário (magento
) e secundário (apache
) do usuário.
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 inserir opcionalmente todos os comandos em uma linha, insira o seguinte supondo que o aplicativo esteja instalado em /var/www/html/magento2
e o nome do grupo de servidores Web seja 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