Добрый день. Я не очень разбираюсь в работе Linux, нужна помощь.
Поднимаю проект по
ссылке. Делаю это на базе Windows subsystem for Linux (WSL). Использую дистрибутив Ubuntu 18.04.6 LTS и Docker desktop.
При начале работы вхожу под sudo su, все действия далее производятся с соответствующими правами.
На этапе генерации ключей (sail artisan key:generate), получаю ошибку
In StreamHandler.php line 149:
The stream or file "/var/www/html/storage/logs/laravel.log" could not be opened in append mode: Failed to open stre
am: Permission denied
The exception occurred while attempting to log: The stream or file "/var/www/html/storage/logs/laravel.log" could n
ot be opened in append mode: Failed to open stream: Permission denied
The exception occurred while attempting to log: The /var/www/html/bootstrap/cache directory must be present and wri
table.
Вижу что проблема с правами, хотя выполняю под su. Добавил права на директорию:
sudo chmod o+w ./storage/ -R
Ошибка остается.
Выполняю
sudo chmod -R 777 storage/
Получаю ошибку по следующему файлу:
In PackageManifest.php line 178:
The /var/www/html/bootstrap/cache directory must be present and writable.
Как оказывается, такого пути не существует. Создаю вручную. Ошибка остается, выполняю:
sudo chmod -R 777 bootstrap/cache/
Ошибка меняется на следующую:
WARN[0000] /projects/SquadMS/docker-compose.yml: `version` is obsolete
WARN[0000] /projects/SquadMS/docker-compose.yml: `version` is obsolete
ErrorException
file_put_contents(/var/www/html/.env): Failed to open stream: Permission denied
at vendor/laravel/framework/src/Illuminate/Foundation/Console/KeyGenerateCommand.php:120
116▕
117▕ return false;
118▕ }
119▕
➜ 120▕ file_put_contents($this->laravel->environmentFilePath(), $replaced);
121▕
122▕ return true;
123▕ }
124▕
+16 vendor frames
17 artisan:37
Illuminate\Foundation\Console\Kernel::handle()
Тут уже изменения прав не помогают, дальше этого момента я не проходил.
Вопрос - что я делаю не так? Почему прав sudo не хватает?
Возможно вопрос глупый, и ответ на поверхности, извините заранее.