๐ ๋ผ๋ผ๋ฒจ ํ์ผ ๊ถํ ์ค์
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 .
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ ๋ผ๋ผ๋ฒจ ํ์ผ ๊ถํ ์ค์ ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/sanzocarlos/laravel-file-permissions-setup-443jํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค