๐ PHP ๋ผ๋ผ๋ฒจ Laravel ํ๋ ์์ํฌ ์ค์น ๋ฐ ์ด๊ธฐ ํ๊ฒฝ ๊ตฌ์ถ ๊ฐ์ด๋: ์ ๋ฌธ๊ฐ๋ฅผ ์ํ ์ค๋ฌด ์ ๋ต
# PHP ๋ผ๋ผ๋ฒจ(Laravel) ํ๋ ์์ํฌ ์ค์น ๋ฐ ์ด๊ธฐ ํ๊ฒฝ ๊ตฌ์ถ ๊ฐ์ด๋: ์ ๋ฌธ๊ฐ๋ฅผ ์ํ ์ค๋ฌด ์ ๋ต
์น ๊ฐ๋ฐ ์์ฅ์์ PHP๋ ์ฌ์ ํ ๊ฐ๋ ฅํ ์ ์ ์จ์ ์ฐจ์งํ๊ณ ์์ผ๋ฉฐ, ๊ทธ ์ค์ฌ์๋ '๋ผ๋ผ๋ฒจ(Laravel)'์ด๋ผ๋ ๋ ๋ณด์ ์ธ ํ๋ ์์ํฌ๊ฐ ์๋ฆฌ ์ก๊ณ ์์ต๋๋ค. ๊ณผ๊ฑฐ์ ํํธํ๋ PHP ๊ฐ๋ฐ ๋ฐฉ์์์ ๋ฒ์ด๋ MVC ํจํด์ ๊ธฐ๋ฐ์ผ๋ก ํ ์ฐ์ํ ๋ฌธ๋ฒ๊ณผ ๊ฐ๋ ฅํ ์ํ๊ณ๋ฅผ ์ ๊ณตํ๋ ๋ผ๋ผ๋ฒจ์ ํ๋์ ์ธ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋ ๋ฐ ํ์์ ์ธ ๋๊ตฌ๊ฐ ๋์์ต๋๋ค. ํ์ง๋ง ์ด๋ณด ๊ฐ๋ฐ์๋ ์ค๋ฌด ๊ด๋ฆฌ์์๊ฒ ์์ด ์ฒซ ๋ฒ์งธ ๊ด๋ฌธ์ธ '์ค์น ๋ฐ ํ๊ฒฝ ์ค์ '์ ๋จ์ํ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ ๊ฒ ์ด์์ ์ ๋ต์ ํ๋จ์ด ์๊ตฌ๋๋ ๊ณผ์ ์ ๋๋ค.
์ด ๊ฐ์ด๋๋ ๋จ์ํ ์ค์น ๋ช ๋ น์ด์ ๋์ด์ ๋์ด, ํ๋ก์ ํธ์ ์ฑ๊ฒฉ์ ๋ง๋ ์ต์ ์ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ ํํ๋ ๊ธฐ์ค๊ณผ ์ด์ ๊ณผ์ ์์ ๋ฐ์ํ ์ ์๋ ์ ์ฌ์ ๋น์ฉ, ๊ทธ๋ฆฌ๊ณ ์์ ์ ์ธ ์๋น์ค๋ฅผ ์ํ ์ธํ๋ผ ๊ตฌ์ฑ์ ํต์ฌ ํฌ์ธํธ๋ฅผ ์ ๋ฌธ๊ฐ์ ์์ ์์ ๋ค๋ฃน๋๋ค. ์์ฐ์ฑ์ ๊ทน๋ํํ๋ฉด์๋ ํฅํ ํ์ฅ์ฑ์ ๊ณ ๋ คํ ๋ผ๋ผ๋ฒจ ์ค์น ์ ๋ต์ ํตํด ํ๋ก์ ํธ์ ์ฑ๊ณต์ ์ธ ์ฒซ ๋จ์ถ๋ฅผ ์ฑ์๋ณด์๊ธฐ ๋ฐ๋๋๋ค.
๐ ๋ชฉ์ฐจ
- ๋ผ๋ผ๋ฒจ ๋์ ์ ํ์ ์๊ตฌ์ฌํญ ๋ฐ ๋ฒ์ ์ ํ ๊ธฐ์ค
- ๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ฑ: OS๋ณ ์ต์ ์ ๋๊ตฌ์ ํ๋จ ๊ธฐ์ค
- ๋จ๊ณ๋ณ ์ค์น ๊ฐ์ด๋: Composer์ Laravel Installer ํ์ฉ
- ์ด๊ธฐ ํ๋ก์ ํธ ์ค์ ๊ณผ ๋ณด์์ ์ํ ํ์ ์ฒดํฌ๋ฆฌ์คํธ
- ์ด์ ํ๊ฒฝ(Server) ๊ตฌ์ฑ ์ ๊ณ ๋ คํ ๋น์ฉ๊ณผ ๊ด๋ฆฌ ์ ๋ต
- ํํ ๊ฒช๋ ์ค์น ์ค๋ฅ ์ ํ ๋ฐ ํธ๋ฌ๋ธ์ํ
1. ๋ผ๋ผ๋ฒจ ๋์ ์ ํ์ ์๊ตฌ์ฌํญ ๋ฐ ๋ฒ์ ์ ํ ๊ธฐ์ค
๋ผ๋ผ๋ฒจ์ PHP์ ์ต์ ๊ธฐ๋ฅ์ ์ ๊ทน์ ์ผ๋ก ์์ฉํ๋ ํ๋ ์์ํฌ์ ๋๋ค. ๋ฐ๋ผ์ ์ค์น ์ ์๋ฒ ๋๋ ๋ก์ปฌ PC์ ์ํํธ์จ์ด ์คํ์ด ์๊ตฌ ์ฌ์์ ์ถฉ์กฑํ๋์ง ๋ฐ๋์ ํ์ธํด์ผ ํฉ๋๋ค. ํ์ฌ ๊ฐ์ฅ ๋๋ฆฌ ์ฐ์ด๋ ๋ผ๋ผ๋ฒจ 10 ๋ฐ 11 ๋ฒ์ ์ ๊ธฐ์ค์ผ๋ก ํ ๋, ๋ค์๊ณผ ๊ฐ์ ๊ธฐ์ ์ ์ค๋น๊ฐ ํ์ํฉ๋๋ค.
์ฐ์ PHP ๋ฒ์ ์ ์ต์ 8.2 ์ด์์ ๊ถ์ฅํฉ๋๋ค. ์ต์ ๋ฒ์ ์ PHP๋ ์ด์ ๋ฒ์ ์ ๋นํด ์ฑ๋ฅ์ด ๋ํญ ๊ฐ์ ๋์์ผ๋ฉฐ, ํ์ ํํ ๊ณผ ๊ฐ์ ์ต์ ๋ฌธ๋ฒ์ ์ง์ํ์ฌ ์ฝ๋์ ์์ ์ฑ์ ๋์ฌ์ค๋๋ค. ๋ํ BCMath, Ctype, Fileinfo, JSON, Mbstring, OpenSSL, PDO, Tokenizer, XML ๋ฑ ๋ผ๋ผ๋ฒจ ๊ตฌ๋์ ํ์ํ ํต์ฌ ์ต์คํ ์ ๋ค์ด ํ์ฑํ๋์ด ์์ด์ผ ํฉ๋๋ค. ์ด ์ค ํ๋๋ผ๋ ๋๋ฝ๋ ๊ฒฝ์ฐ ๋ฐํ์ ํ๊ฒฝ์์ ์๊ธฐ์น ๋ชปํ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
๋ฒ์ ์ ํ ์์๋ LTS(Long Term Support) ์ฌ๋ถ๋ฅผ ํ์ธํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ฅ๊ธฐ์ ์ธ ์ ์ง๋ณด์๊ฐ ํ์ํ ์ํฐํ๋ผ์ด์ฆ ํ๋ก์ ํธ๋ผ๋ฉด ์ง์ ๊ธฐ๊ฐ์ด ๊ธด ์์ ๋ ๋ฒ์ ์, ์ต์ ๊ธฐ๋ฅ๊ณผ ์ฑ๋ฅ ์ต์ ํ๊ฐ ์ฐ์ ์ธ ์คํํธ์ ํ๋ก์ ํธ๋ผ๋ฉด ์ต์ ๋ฒ์ ์ ์ ํํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ ๋๋ค. ํ์ฌ๋ ๋ผ๋ผ๋ฒจ 11์ด ๋์ฑ ๊ฐ๋ณ๊ณ ์ง๊ด์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ ๊ณตํ๊ณ ์์ผ๋ฏ๋ก, ์ ๊ท ํ๋ก์ ํธ๋ผ๋ฉด ์ต์ ๋ฒ์ ์ ์ฐ์ ์ ์ผ๋ก ๊ณ ๋ คํ๋ ๊ฒ์ด ์ ๋ฆฌํฉ๋๋ค.
2. ๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ฑ: OS๋ณ ์ต์ ์ ๋๊ตฌ์ ํ๋จ ๊ธฐ์ค
๋ผ๋ผ๋ฒจ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ฌ์ฉํ๋ OS์ ํ์ ํ์ ๋ฐฉ์์ ๋ฐ๋ผ ์ฌ๋ฌ ์ ํ์ง๊ฐ ์กด์ฌํฉ๋๋ค. ๊ฐ ๋ฐฉ์์ ํธ์์ฑ๊ณผ ์ผ๊ด์ฑ ๋ฉด์์ ์ฅ๋จ์ ์ด ๋๋ ทํ๋ฏ๋ก ์ํฉ์ ๋ง๋ ์ต์ ์ ๋๊ตฌ๋ฅผ ์ ํํด์ผ ํฉ๋๋ค.
- Windows ํ๊ฒฝ (Laravel Herd ๋๋ Docker): ์ต๊ทผ ์๋์ฐ์์ ๊ฐ์ฅ ์ถ์ฒ๋๋ ๋ฐฉ์์ Laravel Herd์ ๋๋ค. ๋ณ๋์ ์น ์๋ฒ ์ค์ ์์ด ์คํ ํ์ผ ํ๋๋ก PHP, Nginx, DNS ์ค์ ์ ํตํฉ ๊ด๋ฆฌํ ์ ์์ด ์ค์ ์๊ฐ์ ํ๊ธฐ์ ์ผ๋ก ์ค์ฌ์ค๋๋ค. ๋ณด๋ค ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์ด ํ์ํ๋ค๋ฉด Docker ๊ธฐ๋ฐ์ Laravel Sail์ ์ฌ์ฉํ์ฌ ์ด์ ํ๊ฒฝ๊ณผ ๋์ผํ ์ปจํ ์ด๋ ๊ธฐ๋ฐ ๊ฐ๋ฐ์ ์งํํ ์ ์์ต๋๋ค.
- macOS ํ๊ฒฝ (Laravel Herd): ๋งฅ ์ฌ์ฉ์์๊ฒ๋ Herd๋ ๊ฐ์ฅ ๊ฐ๋ ฅํ ๋๊ตฌ์ ๋๋ค. ๋ค์ดํฐ๋ธ ๋ฐ์ด๋๋ฆฌ๋ก ๊ตฌ๋๋์ด ๊ฐ์ํ ์ค๋ฒํค๋๊ฐ ์์ผ๋ฉฐ, ๋งค์ฐ ๋น ๋ฅธ ์๋ต ์๋๋ฅผ ์๋ํฉ๋๋ค. ์ ํต์ ์ธ ๋ฐฉ์์ธ Valet ๋ํ ๊ฐ๋ณ๊ณ ํ๋ฅญํ ๋์์ ๋๋ค.
- ๊ณตํต ๊ฐ์ํ ๋ฐฉ์ (Docker Desktop): ์ฌ๋ฌ ๊ฐ๋ฐ์๊ฐ ๋์ผํ ํ๊ฒฝ์์ ์์
ํด์ผ ํ๋ ํ ํ๋ก์ ํธ๋ผ๋ฉด Docker Desktop๊ณผ Laravel Sail ์กฐํฉ์ด ๊ฐ์ฅ ์์ ์ ์
๋๋ค.
docker-compose.ymlํ์ผ์ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค, ๋ ๋์ค(Redis), ๋ฉ์ผ ์๋ฒ ๋ฑ์ ์ฝ๋ ํํ๋ก ๊ด๋ฆฌํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ด๊ธฐ ์ค์ ๋น์ฉ ์ธก๋ฉด์์ ๋ณด๋ฉด Herd๋ Valet์ ์ค์ ์๊ฐ์ด ๊ฑฐ์ ์ ๋ก์ ๊ฐ๊น์ง๋ง, ๋ณต์กํ ์ธํ๋ผ ๊ตฌ์กฐ๋ฅผ ์๋ฎฌ๋ ์ด์ ํ๊ธฐ์๋ Docker ๋ฐฉ์์ด ๋ ์ ๋ฆฌํฉ๋๋ค. ํ๋ก์ ํธ์ ๊ท๋ชจ์ ํ์์ ์๋ จ๋์ ๋ฐ๋ผ ์ด๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
3. ๋จ๊ณ๋ณ ์ค์น ๊ฐ์ด๋: Composer์ Laravel Installer ํ์ฉ
PHP์ ์์กด์ฑ ๊ด๋ฆฌ ๋๊ตฌ์ธ Composer๊ฐ ์ค์น๋์๋ค๋ฉด, ๋ผ๋ผ๋ฒจ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ํฌ๊ฒ ๋ ๊ฐ์ง๋ก ๋๋ฉ๋๋ค.
๋จผ์ 'Laravel Installer'๋ฅผ ์ ์ญ์ผ๋ก ์ค์นํ๋ ๋ฐฉ๋ฒ์
๋๋ค. ํฐ๋ฏธ๋์์ composer global require laravel/installer ๋ช
๋ น์ ์คํํ๋ฉด laravel new๋ผ๋ ์ง๊ด์ ์ธ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค. ์ด ๋ฐฉ์์ ์ฅ์ ์ ํ๋ก์ ํธ ์์ฑ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ํ, ์คํํฐ ํคํธ(Breeze, Jetstream) ์ ์ฉ ์ฌ๋ถ, ํ
์คํธ ํ๋ ์์ํฌ ์ค์ ๋ฑ์ ๋ํํ ์ธํฐํ์ด์ค๋ก ๊ฐํธํ๊ฒ ๊ตฌ์ฑํ ์ ์๋ค๋ ์ ์
๋๋ค.
๋ ๋ฒ์งธ๋ composer create-project ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ ์ ์์ ์ธ ๋ฐฉ๋ฒ์
๋๋ค. composer create-project laravel/laravel example-app ๋ช
๋ น์ ์คํํ๋ฉด ์ต์ ๋ฒ์ ์ ๋ผ๋ผ๋ฒจ ์์ค์ฝ๋๊ฐ ๋ค์ด๋ก๋๋๊ณ ์์กด์ฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋์ผ๋ก ์ค์น๋ฉ๋๋ค. ํน์ ๋ฒ์ ์ ๋ช
์ํ์ฌ ์ค์นํด์ผ ํ๊ฑฐ๋, ์ธ์คํจ๋ฌ๋ฅผ ์ค์นํ๊ธฐ ๋ฒ๊ฑฐ๋ก์ด ์ผํ์ฑ ํ
์คํธ ํ๊ฒฝ์์ ์ฃผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
์ค์น ๊ณผ์ ์์ ์ฃผ์ํ ์ ์ ํด๋ ๊ถํ ์ค์ ์
๋๋ค. ๋ฆฌ๋
์ค๋ ๋งฅ ํ๊ฒฝ์์ ์ค์นํ ๊ฒฝ์ฐ, storage ํด๋์ bootstrap/cache ํด๋์ ์น ์๋ฒ๊ฐ ์ฐ๊ธฐ ๊ถํ์ ๊ฐ์ง ์ ์๋๋ก ์ค์ ํด์ผ ํฉ๋๋ค. ๊ถํ ์ค์ ์ด ์ฌ๋ฐ๋ฅด์ง ์์ผ๋ฉด ์ฒซ ํ๋ฉด๋ถํฐ HTTP 500 ์๋ฌ๋ฅผ ๋ง์ฃผํ๊ฒ ๋ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค.
4. ์ด๊ธฐ ํ๋ก์ ํธ ์ค์ ๊ณผ ๋ณด์์ ์ํ ํ์ ์ฒดํฌ๋ฆฌ์คํธ
์ค์น๊ฐ ์๋ฃ๋์๋ค๊ณ ํด์ ๋ฐ๋ก ์ฝ๋ฉ์ ์์ํ๋ ๊ฒ์ ์ํํฉ๋๋ค. ์ด์์ ์์ ์ฑ๊ณผ ๋ณด์์ ์ํด ์ด๊ธฐ ์ค์ ๋จ๊ณ์์ ๋ฐ๋์ ์ง๊ณ ๋์ด๊ฐ์ผ ํ ํญ๋ชฉ๋ค์ด ์์ต๋๋ค.
- ์ ํ๋ฆฌ์ผ์ด์
ํค(APP_KEY) ์์ฑ: ๋ผ๋ผ๋ฒจ์ ์ฌ์ฉ์ ์ธ์
๊ณผ ์ํธํ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๊ธฐ ์ํด 32๊ธ์์ ๋๋ค ๋ฌธ์์ด์ธ APP_KEY๋ฅผ ์ฌ์ฉํฉ๋๋ค.
php artisan key:generate๋ช ๋ น์ผ๋ก ๊ณ ์ ํค๋ฅผ ์์ฑํด์ผ ํ๋ฉฐ, ์ด ํค๊ฐ ๋ ธ์ถ๋๊ฑฐ๋ ๋ณ๊ฒฝ๋๋ฉด ๊ธฐ์กด ์ํธํ ๋ฐ์ดํฐ๋ฅผ ๋ณต๊ตฌํ ์ ์์ผ๋ฏ๋ก ์ฃผ์ํ์ญ์์ค. - ํ๊ฒฝ ๋ณ์(.env) ๊ด๋ฆฌ: DB ์ ์ ์ ๋ณด, API ํค ๋ฑ ๋ฏผ๊ฐ ์ ๋ณด๋
.envํ์ผ์ ๊ธฐ๋ก๋ฉ๋๋ค. ์ด ํ์ผ์ ์ ๋ Git๊ณผ ๊ฐ์ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ ํฌํจ๋์ด์๋ ์ ๋ฉ๋๋ค. ๋ฐ๋์.gitignore์ ๋ฑ๋ก๋์ด ์๋์ง ํ์ธํ๊ณ , ํ์๊ณผ๋.env.exampleํ์ผ์ ๊ณต์ ํ์ฌ ๊ตฌ์กฐ๋ฅผ ๋ง์ถ์ญ์์ค. - ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง์ด๊ทธ๋ ์ด์
: ๋ผ๋ผ๋ฒจ ๋ง์ด๊ทธ๋ ์ด์
๊ธฐ๋ฅ์ ํ์ฉํ๋ฉด DB ์คํค๋ง๋ฅผ ์ฝ๋๋ก ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ์ด๊ธฐ ์ค์น ํ
php artisan migrate๋ฅผ ์คํํ์ฌ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณต๋๋ ์ฌ์ฉ์ ๋ฐ ์์ ํ ์ด๋ธ์ ์์ฑํ๋ ๊ณผ์ ์ด ํ์ํฉ๋๋ค. - ํ์์กด ๋ฐ ์ธ์ด ์ค์ :
config/app.phpํ์ผ์์ ํ์์กด์Asia/Seoul๋ก, ์ธ์ด๋ฅผko๋ก ๋ณ๊ฒฝํ์ฌ ํ๊ตญ ์๋น์ค ํ๊ฒฝ์ ์ต์ ํํ๋ ๊ณผ์ ์ ๋๋ฝํ์ง ๋ง์ญ์์ค.
5. ์ด์ ํ๊ฒฝ(Server) ๊ตฌ์ฑ ์ ๊ณ ๋ คํ ๋น์ฉ๊ณผ ๊ด๋ฆฌ ์ ๋ต
๋ก์ปฌ ์ค์น ์๋ฃ ํ ์ค์ ์๋น์ค๋ฅผ ๋ฐฐํฌํ ํ๊ฒฝ์ ์ ํํ๋ ๋จ๊ณ์์๋ ๋น์ฉ๊ณผ ๊ด๋ฆฌ ๋ฆฌ์์ค ์ฌ์ด์ ๊ท ํ์ ์ก์์ผ ํฉ๋๋ค.
- ๊ณต์ ํธ์คํ (์ 5,000์ ์ดํ): ๋น์ฉ์ ์ ๋ ดํ์ง๋ง, SSH ์ ๊ทผ์ด ์ ํ์ ์ด๊ฑฐ๋ PHP ๋ฒ์ ๋ณ๊ฒฝ์ด ์์ ๋กญ์ง ์์ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋ผ๋ผ๋ฒจ์ ํต์ฌ ๊ธฐ๋ฅ์ 100% ํ์ฉํ๊ธฐ ์ด๋ ค์ฐ๋ฏ๋ก ์ ๋ฌธ๊ฐ๋ค์ ๊ถ์ฅํ์ง ์์ต๋๋ค.
- ๊ฐ์ ์ฌ์ค ์๋ฒ (VPS, ์ 1~3๋ง ์ ๋ด์ธ): DigitalOcean, Vultr, AWS LightSail ๋ฑ์ด ๋ํ์ ์ ๋๋ค. ์ด์์ฒด์ ๋ถํฐ ์น ์๋ฒ๊น์ง ์ง์ ๊ด๋ฆฌํด์ผ ํ๋ฏ๋ก ์๋ฒ ์ง์์ด ํ์ํ์ง๋ง, ๊ฐ์ฑ๋น๊ฐ ๊ฐ์ฅ ๋ฐ์ด๋ ์ ํ์ง์ ๋๋ค.
- ๊ด๋ฆฌํ ํธ์คํ (Laravel Forge, ์ 2๋ง ์ + ์๋ฒ ๋น์ฉ): ๋ผ๋ผ๋ฒจ ๊ฐ๋ฐ์ฌ์์ ์ ๊ณตํ๋ ์๋ฒ ๊ด๋ฆฌ ์๋น์ค์ ๋๋ค. ํด๋ฆญ ๋ช ๋ฒ์ผ๋ก ์ต์ ํ๋ ์๋ฒ๋ฅผ ๊ตฌ์ฑํ๊ณ ๋ฐฐํฌ ์๋ํ๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค. ๊ด๋ฆฌ ์ธ๋ ฅ์ด ๋ถ์กฑํ ํ์๊ฒ๋ ์ค์ ๋ก๋ ๊ฐ์ฅ ์ ๋ ดํ ์ ํ์ง๊ฐ ๋ ์ ์์ต๋๋ค.
์ถ๊ฐ๋ก SSL ์ธ์ฆ์(Let's Encrypt ํ์ฉ ์ ๋ฌด๋ฃ), ๋๋ฉ์ธ ์ ์ง๋น, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐฑ์ ์คํ ๋ฆฌ์ง ๋น์ฉ ๋ฑ๋ ์์ฐ ์๋ฆฝ ์ ๋๋ต์ ์ผ๋ก ์ฐ์ ํด์ผ ํฉ๋๋ค. ์๊ท๋ชจ ์๋น์ค๋ผ๋ฉด ์ 3๋ง ์ ์ ์์ ์์ ์ ์ธ ์ด์์ด ๊ฐ๋ฅํฉ๋๋ค.
6. ํํ ๊ฒช๋ ์ค์น ์ค๋ฅ ์ ํ ๋ฐ ํธ๋ฌ๋ธ์ํ
์ ๋ฌธ ๊ฐ๋ฐ์๋ผ๋ ํ๊ฒฝ ๋ณํ์ ๋ฐ๋ผ ์์์น ๋ชปํ ์๋ฌ๋ฅผ ๋ง๋ ์ ์์ต๋๋ค. ๊ฐ์ฅ ๋น๋ฒํ ์ด์์ ํด๊ฒฐ์ฑ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฒซ์งธ, 'Class "ZipArchive" not found' ์๋ฌ์
๋๋ค. ์ด๋ PHP์ zip ์ต์คํ
์
์ด ์ค์น๋์ง ์์์ ๋ ๋ฐ์ํฉ๋๋ค. ๋ฆฌ๋
์ค ํ๊ฒฝ์ด๋ผ๋ฉด sudo apt-get install php-zip๊ณผ ๊ฐ์ ๋ช
๋ น์ผ๋ก ํด๊ฒฐํ ์ ์์ต๋๋ค.
๋์งธ, '.env' ํ์ผ ์ธ์ ๋ถ๊ฐ๋ก ์ธํ ์ฐ๊ฒฐ ์ค๋ฅ์
๋๋ค. ์๋์ฐ ํ์๊ธฐ ๋ฑ์์ ํ์ผ ํ์ฅ์ ์ค์ ๋ฌธ์ ๋ก .env.txt์ฒ๋ผ ์ ์ฅ๋๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ, ํ์ผ๋ช
์ ์ ํํ ํ์ธํด์ผ ํฉ๋๋ค. ๋ํ ํ์ผ ๋ด์ฉ ์์ ํ์๋ php artisan config:cache ๋ช
๋ น์ ํตํด ์บ์๋ฅผ ๊ฐฑ์ ํด์ฃผ์ด์ผ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฐ์๋ฉ๋๋ค.
์
์งธ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ ์ค๋ฅ์
๋๋ค. ์ด๋ DB ์๋ฒ๊ฐ ์คํ ์ค์ด์ง ์๊ฑฐ๋, ํธ์คํธ ์ฃผ์๊ฐ ์ฌ๋ฐ๋ฅด์ง ์์ ๋ ๋ฐ์ํฉ๋๋ค. Docker๋ฅผ ์ฌ์ฉ ์ค์ด๋ผ๋ฉด ํธ์คํธ ์ฃผ์๋ฅผ localhost ๋์ ์ปจํ
์ด๋ ์๋น์ค ์ด๋ฆ์ผ๋ก ์ค์ ํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ผ๋ ํ์ธ์ด ํ์ํฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก ์น ์๋ฒ์ 'Document Root' ์ค์ ์
๋๋ค. ๋ผ๋ผ๋ฒจ์ ์ง์
์ ์ ํ๋ก์ ํธ ๋ฃจํธ๊ฐ ์๋ public ํด๋์
๋๋ค. ์น ์๋ฒ ์ค์ ์์ ๋ฃจํธ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ฐ๋์ public์ผ๋ก ์ง์ ํด์ผ ๋ณด์ ์ฌ๊ณ ๋ฅผ ์๋ฐฉํ๊ณ ์ ์์ ์ธ ๋ผ์ฐํ
์ด ๊ฐ๋ฅํฉ๋๋ค.
์์ฝ ๋ฐ ์คํ ์ฒดํฌํฌ์ธํธ
PHP ๋ผ๋ผ๋ฒจ ์ค์น๋ ํ๋ก์ ํธ์ ๊ธฐ์ ๋ถ์ฑ๋ฅผ ์ต์ํํ๊ณ ์์ฐ์ฑ์ ํ๋ณดํ๋ ๊ธฐ์ด ๊ณต์ฌ์ ๋๋ค. ํ๊ฒฝ์ ์ผ๊ด์ฑ์ ์ ์งํ๊ณ ๋ณด์ ์์น์ ์ค์ํ๋ ๊ฒ๋ง์ผ๋ก๋ ๊ฐ๋ฐ ๊ณผ์ ์ ์คํธ๋ ์ค๋ฅผ ๋ํญ ์ค์ผ ์ ์์ต๋๋ค.
- PHP 8.2 ์ด์ ๋ฒ์ ๋ฐ ํ์ ์ต์คํ ์ ํ์ฑํ ์ฌ๋ถ๋ฅผ ๋จผ์ ํ์ธํ์ญ์์ค.
- ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ฐ๊ธ์ Laravel Herd์ ๊ฐ์ ์ต์ ๋๊ตฌ๋ฅผ ์ ํํด ์์ฐ์ฑ์ ๋์ด์ญ์์ค.
- ์ค์น ์งํ
APP_KEY์์ฑ๊ณผ.envํ์ผ์ ๋ณด์ ๋ฐ Git ์ ์ธ ์ค์ ์ ์๋ฃํ์ญ์์ค. - ์๋น์ค ๊ท๋ชจ์ ๊ด๋ฆฌ ์ญ๋์ ๋ฐ๋ผ VPS๋ Laravel Forge ๊ฐ์ ์ ๋ฌธ ์ด์ ์๋น์ค๋ฅผ ์ ํํ์ญ์์ค.