【问题标题】:Laravel installation with sudo permissions使用 sudo 权限安装 Laravel
【发布时间】:2017-05-23 18:07:50
【问题描述】:

我已经在我的 Ubuntu 16.04 LTS 上启动并运行 laravel,并在 /var/www/ 上安装了 laravel,但是我担心为什么我必须 sudo 对文件夹文件进行任何更改,这有点烦人,因为我必须在我的目录中运行 sudo subl . 才能工作。

不幸的是,我还安装了sudo composer,直到我意识到这是一个糟糕的举动。

有没有办法移动我的安装,这样我就不必使用 sudo 来编辑更改,或者有更好的方法吗?我应该卸载、删除目录并从usr 文件夹或local folder 重新开始。

此外,我无法从我的home/node_modules 中的这个目录运行gulp。我应该重新开始并在我的主目录中保留一个文件夹还是在var/www/ 中有更好的方法?

【问题讨论】:

    标签: laravel ubuntu gulp composer-php sudo


    【解决方案1】:

    您必须像这样将 www 文件夹的所有者更改为您的用户

    sudo chown -R you_user:your_user /var/www

    【讨论】:

      【解决方案2】:

      你不需要使用 sudo (root) 来做任何事情,比如提供一个页面,或者更糟糕的是,停止使用 root 在你的服务器上做类似的事情,你做的越多,你的服务器就越不安全.您只需要确保网络服务器可以访问您的文件(主要是读取权限),因此这里可能会发生两件事:

      1) 将您的文件设置为可以被您的网络服务器(www-data?)读取

      DIRECTORY=/var/www/yourapp
      
      YOUR_USER=antoniocarlos
      
      sudo find $DIRECTORY -type d -exec sudo chmod 750 {} \;
      
      sudo find $DIRECTORY -type f -exec sudo chmod 640 {} \;
      

      2) 确保存储路径可被组写入

      sudo find $DIRECTORY/storage -type d -exec sudo chmod 770 {} \;
      
      sudo find $DIRECTORY/storage -type f -exec sudo chmod 660 {} \;
      

      3) 确保文件夹归正确的用户和组所有

      sudo chown -R $YOUR_USER:www-data $DIRECTORY
      

      那么你应该可以做类似的事情

      composer require package/name
      
      php artisan make:whatever
      

      无需 sudo,您的网络服务器也会为您的页面提供服务。

      【讨论】:

      • 这看起来是正确的但是我在传递-exec 时遇到错误,正如那里所说的find: missing argument to -exec'
      • 你也可以用chmod -R 来做,它只是一个chmod,伙计,你可以做任何你想做的事
      • 你定义了 DIRECTORY 变量了吗?
      • 我明白了,我会建议一些替代方案,但谢谢。
      【解决方案3】:

      {username} 替换为您的实际用户名

      sudo chown -R {username} ~/.composer/
      

      【讨论】:

        猜你喜欢
        • 2021-12-14
        • 1970-01-01
        • 2015-12-06
        • 2021-04-21
        • 1970-01-01
        • 2021-03-30
        • 1970-01-01
        • 1970-01-01
        • 2014-06-01
        相关资源
        最近更新 更多