๐Ÿ” ๋ผ๋ผ๋ฒจ ํŒŒ์ผ ๊ถŒํ•œ ์„ค์ •

3911 ๋‹จ์–ด devopsprogramminglaravelphp

์†Œ๊ฐœ



์•ˆ๋…•ํ•˜์„ธ์š”, Laravel ํ”„๋กœ์ ํŠธ ๊ถŒํ•œ์„ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฐ„๋‹จํ•˜๊ณ  ์ง์ ‘์ ์œผ๋กœ ์ œ๊ณตํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์˜ˆ๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ์ž‘์—…๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„ ์‚ฌ์šฉ์ž, ๊ตฌ์„ฑ ๋“ฑ์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ์†Œ์œ ๊ถŒ๊ณผ ๊ถŒํ•œ์„ ์„ค์ •ํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์‹ ์—๊ฒŒ ์†Œ์œ ๊ถŒ์„ ๋ถ€์—ฌํ•˜๊ฑฐ๋‚˜ ์›น ์„œ๋ฒ„๋ฅผ ๋ชจ๋“  ํŒŒ์ผ์˜ ์†Œ์œ ์ž๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

โ€โ€โ€Ž



์†Œ์œ ์ž๋กœ์„œ์˜ ์›น ์„œ๋ฒ„(PROD์— ๊ถŒ์žฅ๋จ)
์†Œ์œ ์ž๋กœ์„œ์˜ ์›น์„œ๋ฒ„(๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ๋žŒ๋“ค์ด ํ•˜๋Š” ๋ฐฉ์‹๊ณผ Laravel ๋ฌธ์„œ์˜ ๋ฐฉ์‹):

www-data(๋‹ค๋ฅธ ๊ฒƒ์ผ ์ˆ˜ ์žˆ์Œ)๊ฐ€ ์›น ์„œ๋ฒ„ ์‚ฌ์šฉ์ž๋ผ๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

sudo chown -R www-data:www-data /path/to/your/laravel/root/directory


๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด ์›น ์„œ๋ฒ„๊ฐ€ ๋ชจ๋“  ํŒŒ์ผ์„ ์†Œ์œ ํ•˜๊ณ  ๊ทธ๋ฃน์ด๊ธฐ๋„ ํ•˜๋ฉฐ FTP ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์›น ์„œ๋ฒ„๊ฐ€ ์•„๋‹Œ ์‚ฌ์šฉ์ž๋กœ ๋กœ๊ทธ์ธ๋˜๊ธฐ ๋•Œ๋ฌธ์— ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๊ฑฐ๋‚˜ FTP๋ฅผ ํ†ตํ•ด ํŒŒ์ผ ์ž‘์—…์„ ํ•˜๋Š” ๋ฐ ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ ์‚ฌ์šฉ์ž๋ฅผ ์›น์„œ๋ฒ„ ์‚ฌ์šฉ์ž ๊ทธ๋ฃน์œผ๋กœ:

sudo usermod -a -G www-data ubuntu


๋ฌผ๋ก  ์ด๊ฒƒ์€ ์›น์„œ๋ฒ„๊ฐ€ www-data(ํ™ˆ์Šคํ…Œ๋“œ ๊ธฐ๋ณธ๊ฐ’)๋กœ ์‹คํ–‰ ์ค‘์ด๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ์šฐ๋ถ„ํˆฌ(ํ™ˆ์Šคํ…Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ vagrant)๋ผ๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ชจ๋“  ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ 755๋กœ ์„ค์ •ํ•˜๊ณ  ํŒŒ์ผ์„ 644๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค... ํŒŒ์ผ ๊ถŒํ•œ ์„ค์ •

sudo find /path/to/your/laravel/root/directory -type f -exec chmod 644 {} \; 


๋””๋ ‰ํ„ฐ๋ฆฌ ๊ถŒํ•œ ์„ค์ •

sudo find /path/to/your/laravel/root/directory -type d -exec chmod 755 {} \;


๊ทธ๋Ÿฐ ๋‹ค์Œ ์ €์žฅ์†Œ, ์บ์‹œ ๋ฐ ์›น ์„œ๋ฒ„๊ฐ€ ์—…๋กœ๋“œํ•˜๊ฑฐ๋‚˜ ์ž‘์„ฑํ•ด์•ผ ํ•˜๋Š” ๊ธฐํƒ€ ๋””๋ ‰ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ๊ถŒํ•œ์„ ์›น ์„œ๋ฒ„์— ๋ถ€์—ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

sudo chgrp -R www-data storage bootstrap/cache  
sudo chmod -R ug+rwx storage bootstrap/cache


โ€โ€โ€Ž



์†Œ์œ ์ž๋กœ์„œ์˜ ์‚ฌ์šฉ์ž(STAGING ๋ฐ DEV์— ํŽธ๋ฆฌํ•จ)

๋ชจ๋“  ๋””๋ ‰ํ† ๋ฆฌ์™€ ํŒŒ์ผ์„ ์†Œ์œ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด(๋ชจ๋“  ์ž‘์—…์ด ํ›จ์”ฌ ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค), Laravel ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ํ•˜์‹ญ์‹œ์˜ค:

cd /var/www/html/laravel >> assuming this is your current root directory


โ€โ€โ€Ž โ€Ž
๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด ์›น ์„œ๋ฒ„๊ฐ€ ๋ชจ๋“  ํŒŒ์ผ์„ ์†Œ์œ ํ•˜๊ณ  ๊ทธ๋ฃน์ด๊ธฐ๋„ ํ•˜๋ฉฐ FTP ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์›น ์„œ๋ฒ„๊ฐ€ ์•„๋‹Œ ์‚ฌ์šฉ์ž๋กœ ๋กœ๊ทธ์ธ๋˜๊ธฐ ๋•Œ๋ฌธ์— ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๊ฑฐ๋‚˜ FTP๋ฅผ ํ†ตํ•ด ํŒŒ์ผ ์ž‘์—…์„ ํ•˜๋Š” ๋ฐ ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ ์‚ฌ์šฉ์ž๋ฅผ ์›น์„œ๋ฒ„ ์‚ฌ์šฉ์ž ๊ทธ๋ฃน์œผ๋กœ:

sudo usermod -a -G www-data ubuntu



sudo chown -R $USER:www-data .


๊ทธ๋Ÿฐ ๋‹ค์Œ ์‚ฌ์šฉ์ž์™€ ์›น ์„œ๋ฒ„ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.

sudo find . -type f -exec chmod 664 {} \;  
sudo find . -type d -exec chmod 775 {} \;


โ€โ€โ€Ž
๊ทธ๋Ÿฐ ๋‹ค์Œ ์ €์žฅ์†Œ, ์บ์‹œ ๋ฐ ์›น ์„œ๋ฒ„๊ฐ€ ์—…๋กœ๋“œํ•˜๊ฑฐ๋‚˜ ์ž‘์„ฑํ•ด์•ผ ํ•˜๋Š” ๊ธฐํƒ€ ๋””๋ ‰ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ๊ถŒํ•œ์„ ์›น ์„œ๋ฒ„์— ๋ถ€์—ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

sudo chgrp -R www-data storage bootstrap/cache  
sudo chmod -R ug+rwx storage bootstrap/cache


ใ„ฑ



๊ฒฐ๋ก 



์ด ๊ธฐ์‚ฌ๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

ํ”ผ๋“œ๋ฐฑ์ด ์žˆ๊ฑฐ๋‚˜ ์‹ค์ˆ˜๋ฅผ ๋ฐœ๊ฒฌํ•œ ๊ฒฝ์šฐ ์ฃผ์ €ํ•˜์ง€ ๋ง๊ณ  ์ €์—๊ฒŒ ์—ฐ๋ฝํ•ด ์ฃผ์„ธ์š”.

์ถœ์ฒ˜: Andres Felipe ๋ฐ bgies answers .

์ข‹์€ ์›นํŽ˜์ด์ง€ ์ฆ๊ฒจ์ฐพ๊ธฐ