Criando diretórios com as permissões corretas para o Laravel [duplicado]

2

Eu sou um desenvolvedor. Há alguns dias comecei a usar o Laravel no Ubuntu. Quando eu uso o terminal para criar um novo diretório, ele aparece com um cadeado. Mesmo logado como root eu tenho que dar permissão com chmod .

Como posso criar diretórios com todas as permissões para todos os tipos de usuários?

    
por Edson Lima 06.12.2017 / 23:21

2 respostas

5

Ao usar laravel no Ubuntu, você deseja configurá-lo das seguintes maneiras, para garantir que você não use ou precise de acesso root para os arquivos criados.

  1. O local dos projetos criados deve estar na pasta /var/www/html , mas pode estar em qualquer lugar.
  2. Instale o compositor e configure-o globalmente para que você possa instalar laravel globalmente com ele.
  3. As permissões em /var/www/html precisam ser configuradas de forma que você não precise de root privileges para operar nos arquivos como no seu caso.

Instalar o Composer:

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer

Verifique a instalação:

composer -V

Instale laravel usando o compositor:

composer global require "laravel/installer=~1.1"

Verifique a instalação:

laravel -V

Permissões da pasta de configuração para laravel:

  1. Configuração temporária em /var/www/html :

    • Adicionar auto ao grupo www-data :

      sudo usermod -a -G www-data $USER
      
    • Alterar a propriedade da pasta laravel:

      sudo chgrp -R www-data /var/www/html/project
      
    • Dica: para configurar o armazenamento de grandes volumes:

      sudo chmod -R 775 /var/www/html/project/storage
      
  2. Solução permanente:

    • Torne a propriedade padrão das pastas em /var/www/html $USER:www-data , portanto, qualquer nova criação assumirá as permissões de seu usuário e do grupo www-data

      sudo setfacl -d -R -m u:$USER:rwx,g:www-data:rwx,o:rx /var/www/html
      

Agora, basta adicionar qualquer usuário ao grupo www-data para que eles tenham rwx de acesso a qualquer projeto laravel criado em /var/www/html . Uma reinicialização será necessária .

Uso:

laravel new /var/www/html/new-project
    
por George Udosen 07.12.2017 / 06:25
1
mkdir -m a=rwx myDir

ou

mkdir --mode=a=rwx myDir

Execute mkdir --help para mais informações.

    
por ImprobabilityCast 06.12.2017 / 23:39