2017-01-09 143 views
0

我有laravel和運行在我的Ubuntu 16.04 LTS和安裝laravel在/ var/www /但是,我關心爲什麼我必須sudo對文件夾文件進行任何更改有點煩人,因爲我必須在我的目錄中運行sudo subl .才能工作。Laravel安裝與sudo權限

不幸的是,我也安裝了sudo composer,只有當我意識到這是一個壞的舉動。

有沒有辦法移動我的安裝程序,以便我不必編輯修改或有更好的方法來做到這一點?我應該卸載,刪除目錄並從usr文件夾或local folder重新開始。

此外我不能運行gulp從這個目錄是我的home/node_modules。我是否應該重新開始並在我的主目錄中保留一個文件夾,或者是否有更好的方法在var/www/中執行此操作?

回答

0

你不需要使用sudo(根)做做任何事情,如提供頁面,或者更糟糕的是,停止使用root來做類似於你的服務器的事情,你做的越多,服務器變得越安全。你只需要確保Web服務器可以訪問您的文件(主要是閱讀權),所以兩件事情可能發生在這裏:

1)將您的文件在你的網絡服務器(WWW的數據)做可讀

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,和你的網絡服務器也將被服務頁面。

+0

這看起來正確howevr我得到一個錯誤傳遞'-exec'如同說那裏'發現:缺少參數-exec'' – m33bo

+0

你也可以使用'chmod -R',它只是一個chmod,隊友,你可以做任何你想要的 –

+0

你有沒有定義DIRECTORY變量? –

0

你必須www文件夾的所有者更改爲你的用戶像這樣

須藤喬敦 - R的you_user:your_user在/ var/WWW