Создание каталогов с правильными разрешениями для Laravel [дубликат]

На этот вопрос уже есть ответ здесь:

I ' м девелопер. Несколько дней назад я начал использовать Laravel в Ubuntu. Когда я использую терминал для создания нового каталога, он появляется с замком на нем. Даже войдя в систему как root, я должен дать ему разрешение с помощью chmod .

Как я могу создать каталоги со всеми разрешениями для всех типов пользователей?

3
задан 7 December 2017 в 15:11

2 ответа

При использовании laravel в Ubuntu вы хотите настроить его следующими способами, чтобы гарантировать, что вы не используете или не нуждаетесь в root-доступе для созданных файлов.

  1. Местоположение созданных проектов должно быть в папке /var/www/html, но может быть где угодно.
  2. Установите композитор и настройте его глобально, чтобы вы могли установить laravel глобально с ним.
  3. Разрешения в /var/www/html должны быть установлены так, чтобы вам не нужны были права root для работы с файлами там, как в вашем случае.

Установить Composer:

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

Проверить Установить:

composer -V

Установить Laravel, используя композитор:

composer global require "laravel/installer=~1.1"

Проверить установку:

laravel -V

Права доступа к папке установки для laravel:

  1. Временная настройка в /var/www/html:

    • Добавить себя в группу www-data :

      sudo usermod -a -G www-data $USER
      
    • Изменить владельца папки laravel:

      sudo chgrp -R www-data /var/www/html/project
      
    • Совет: настроить хранилище laravel:

      sudo chmod -R 775 /var/www/html/project/storage
      
  2. Постоянное решение:

    • Сделайте владельцем по умолчанию папки в /var/www/html $USER:www-data, поэтому любое новое создание будет принимать разрешения вашего пользователя и группы www-data

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

Теперь просто добавьте любого пользователя в группу www-data, чтобы у него был доступ rwx к любому созданному проекту Laravel в /var/www/html. Требуется перезагрузка .

Использование:

laravel new /var/www/html/new-project
8
ответ дан 7 December 2017 в 15:11
mkdir -m a=rwx myDir

или

mkdir --mode=a=rwx myDir

Выполните mkdir --help для получения дополнительной информации.

1
ответ дан 7 December 2017 в 15:11

Другие вопросы по тегам:

Похожие вопросы: