์ด๋ฒ ๋ฐฉํ๋์ ์ชผ๋ฉ์์ Docker, Visual Studio Code, git, laravel ๋ฑ์ ๊ณต๋ถํ๊ณ ๋ค๋ค๋ณด๊ณ ์์ต๋๋ค. ๋ชจ๋ ์ฒ์ ๋ค๋ค๋ณด๋ ๊ฒ๋ค์ด๋ผ ๊ณต๋ถํ๋ฉด์ ์๋์ ๊ฐ์ด ์ ๋ฆฌ๋ฅผ ํด๋ก๋๋ค.
๋ผ๋ผ๋ฒจ์ ๊ณต๋ถํ๊ธฐ ์ํด ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ตฌ์ถํ๋ ๋ฐฉ๋ฒ์ด ๋ช๊ฐ์ง๊ฐ ์์ต๋๋ค๋ง,
์ฌ๊ธฐ์๋ ์๋์ฐ์ฆ(windows)ํ๊ฒฝ์์ ๋์ปค(docker)๋ฅผ ํ์ฉํ๋, ๋ผ๋ผ๋ฒจ ๊ฐ๋ฐ์ ์ํ ๋ค์ํ ๋์ปค ์ด๋ฏธ์ง ๋ฐ ์ปจํ ์ด๋๋ฅผ ์์ฝ๊ฒ ์์ฑํ ์ ์๋๋ก ๋์์ฃผ๋ ๋ผ๋ผ๋ (laradock)์ ํ์ฉํฉ๋๋ค.
0. ๊ธฐ๋ณธ์ผ๋ก ์ค์น๋์ด์ผ ํ ๊ฒ
๊ฐ. ๋์ปค(docker)๊ฐ ์ค์น ๋ฐ ์คํ์ด ๋์ด ์์ด์ผ ํฉ๋๋ค. ์ค์นํ๋ ๋ฐฉ๋ฒ์ ์ฌ๊ธฐ๋ฅผ ๋๋ฌ ์ฐธ๊ณ ํ์ธ์.
๋. git ์ด ์ค์น๋์ด ์์ด์ผ ํฉ๋๋ค. ์ค์น ๋ฐฉ๋ฒ์ ๊ตฌ๊ธ ๊ฒ์์ ์ฐธ๊ณ ํ์ธ์.
๋ค. ์๋ํฐ๋ Visual Studio Code๋ฅผ ์ฌ์ฉํ๋ฉฐ, ์ ์ ๊ฒฝ์ฐ ํฐ๋ฏธ๋ ์์ git bash๋ฅผ ์ฌ์ฉํฉ๋๋ค.
1. ์์ ํด๋ ์์ฑ ๋ฐ ์ด๋ (์ฌ๊ธฐ์๋ ์์๋ก laravel ํด๋๋ฅผ ์์ฑํจ.)
mkdir laravel && cd laravel
2. ์๋ ๋ช ๋ น์ ์ ๋ ฅํ์ฌ ๊นํ๋ธ(github)์์ laradock ํ์ผ๋ค์ ๋ค์ด๋ก๋ํฉ๋๋ค. ๊ทธ๋ผ ๋ง์ ํด๋์ ํ์ผ์ด ๋ค์ด์๋ laradock์ด๋ผ๋ ํด๋๊ฐ ์์ฑ๋ฉ๋๋ค.
git clone https://github.com/Laradock/laradock.git
3. ์๋ก ์์ฑ๋ laradock ํด๋๋ก ์ด๋ ํ, ์ด๋ฏธ ํด๋ ์์ ์๋ .env-example ํ์ผ์ ์ด์ฉํ์ฌ ์ค์ ํ์ผ(.env)์ ์์ฑํด์ค๋๋ค.
cd laradock
cp .env.example .env
4. .env ํ์ผ์ ์ด์ด์ ํ์ํ ์ฌํญ์ ์์ ํฉ๋๋ค. ๊ฐ์ ์ค์นํ๋ ํ๋ก๊ทธ๋จ์ ๋ฐ๋ผ ํด๋น๋๋ ๋ถ๋ถ์ ์ฐพ์ ์์ ํ๋ฉด ๋ฉ๋๋ค. ์ฌ๊ธฐ์๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ฒ๋ง ์์ ํ๋๋ก ํ๊ฒ ์ต๋๋ค.
(8๋ฒ์ค) APP_CODE_PATH_HOST=../munglara //ํ๋ก์ ํธ ๊ฒฝ๋ก ์ด๋ฆ
(17๋ฒ์ค) DATA_PATH_HOST=../munglara/dbdata //๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ฅ ๊ฒฝ๋ก
(36๋ฒ์ค) COMPOSE_PROJECT_NAME=munglara //์ปจํ
์ด๋๋ช
๋ณ๊ฒฝ
(384๋ฒ์ค) MYSQL_VERSION=latest //mysql ์ค์ ๋ค
(385๋ฒ์ค) MYSQL_DATABASE=munglaradb
(386๋ฒ์ค) MYSQL_USER=munglara
(387๋ฒ์ค) MYSQL_PASSWORD=munglarapass
(389๋ฒ์ค) MYSQL_ROOT_PASSWORD=munglarapass
(542๋ฒ์ค) PMA_USER=munglara //phpmyadmin ์ค์ ๋ค
(543๋ฒ์ค) PMA_PASSWORD=munglarapass
(544๋ฒ์ค) PMA_ROOT_PASSWORD=munglarapass
8๋ฒ์ค์ ๋ท๋ถ๋ถ์ ์์ฑํ ๋ผ๋ผ๋ฒจ ํ๋ก์ ํธ๋ช ์ ๋ฏธ๋ฆฌ ์ ๋ ฅํด๋ ๊ฒ์ ๋๋ค. ์ด ๋ถ๋ถ์ ๋ท๋ถ๋ถ์์ ์์ ํด๋ ๋๊ฒ ์ง๋ง, ๊ทธ๋ผ ์ปจํ ์ด๋๋ฅผ ๋ฉ์ท๋ค๊ฐ ๋ค์ ์คํํ๋ ๊ฒ์ด ๊ท์ฐฎ์ ๋ฏธ๋ฆฌ ์ ๋ ฅ์ ํด๋์์ต๋๋ค.
17๋ฒ์ค์ ์ปจํ ์ด๋ ์ DB๋ ์ปจํ ์ด๋๊ฐ ์ญ์ ๋๋ฉด DB๋ ๋ชจ๋ ์ญ์ ๋๊ธฐ ๋๋ฌธ์, ์ปจํ ์ด๋ ๋ฐ์ ์ปดํจํฐ์ ํน์ ํด๋์ ์ฐ๊ฒฐ์์ผ DB ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ดํ ์ ์๋๋ก ํ๊ธฐ ์ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 'DATA_PATH_HOST=~/.laradock/data' ์ด๋ฉฐ, C:\Users\์ฌ์ฉ์๋ช \.laradock\data ํด๋๊ฐ ์์ฑ๋๋ฉฐ ์ ์ฅ๋ฉ๋๋ค. ์ด ๋ถ๋ถ์ ../munglara/dbdata ๋ก ์์ ํ๋ฉด ํ๋ก์ ํธ ํด๋ ์์ dbdataํด๋๊ฐ ์์ฑ๋๋ฉฐ ์ด ๋ถ๋ถ์ DB๊ฐ ์ ์ฅ๋ฉ๋๋ค.
๋๋จธ์ง mysql ๋ฐ phpmyadmin ์ค์ ๋ถ๋ถ์ ์ํ๋ ๋๋ก ์์ ์ ํ์๋ฉด ๋ฉ๋๋ค.
์ ์ ๊ฒฝ์ฐ ์ ๋ง์ .env ํ์ผ์ ๋ง๋ค์ด ๋ฐ๋ก ์ ์ฅํด๋ ํ ๊ทธ๊ฒ์ ๋ณต์ฌํด์ ์ฌ์ฉํ๋ต๋๋ค.
5. ์๋ ๋ช ๋ น์ผ๋ก ์์ ์๊ฒ ํ์ํ ํ๋ก๊ทธ๋จ๋ค์ ์ค์นํด์ค๋๋ค. ์๋์ ์์๋ nginx, mysql, phpmyadmin ํ๋ก๊ทธ๋จ๊ณผ workspace๋ผ๋ ์์ ์์ญ์ ๋ง๋ค์ด์ค๋๋ค. ์ข๋ ์ ํํ ๋งํ๋ฉด ๋์ปค ํ๋ธ์์ ์์ ๋์ดํ ํ๋ก๊ทธ๋จ๋ค์ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ฐ์ ์๋์ผ๋ก ์ปจํ ์ด๋๊น์ง ์์ฑํด ์ฃผ๋ ๊ฒ์ ๋๋ค. (์ฒ์ ์ค์นํ ๊ฒฝ์ฐ ์๊ฐ์ด ์กฐ๊ธ ๊ฑธ๋ฆฝ๋๋ค.)
docker-compose up -d nginx mysql phpmyadmin workspace
6. ์ด์ ๋ผ๋ผ๋ฒจ ํ๋ก์ ํธ๋ฅผ ๋ง๋ญ๋๋ค. ์ฌ๊ธฐ์๋ ์์๋ก munglara๋ก ํ ๊ฒ์ด๋ฉฐ, ์ด ์ด๋ฆ์ ๋ฐ๋ก ์๋ถ๋ถ 4๋ฒ ์์ ์์ '(8๋ฒ์ค) APP_CODE_PATH_HOST=../munglara //ํ๋ก์ ํธ ๊ฒฝ๋ก ์ด๋ฆ' ๋ถ๋ถ๊ณผ ๋์ผํ ์ด๋ฆ์ ์ฌ์ฉํฉ๋๋ค.
์ด๋ถ๋ถ์ ์์ ์ ์ข ๊ธธ์ง๋ง ํ์ค๋ก ์ ๋ ฅํด์ ๋ฐ๋ก ์์ ์ ํ ์๋ ์๊ณ , ๋๋ ๋ง๋ค์ด์ง workspace ์ปจํ ์ด๋๋ก ๋ค์ด๊ฐ์ ์์ ์ ํ ํ ๋ค์ ๋น ์ ธ๋์ค๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด๋ ๋ฉ๋๋ค.
docker-compose exec --user=laradock workspace composer create-project --prefer-dist laravel/laravel munglara
๋๋
docker-compose exec --user=laradock workspace bash
composer create-project --prefer-dist laravel/laravel munglara # workspace ์ปจํ
์ด๋ ์ ์์
exit # workspace ์ปจํ
์ด๋ ์ ์์
7. (์ค์) ์ ์์ ๊น์ง ํ๋ฉด munglara ํ๋ก์ ํธ ํด๋ ๋ฐ์ ๋๋ค๋ฅธ munglara ํด๋๊ฐ ์์ฑ๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. ๋ด๋ถ์ ์์ฑ๋ munglara ํด๋ ์์ ์๋ ๊ฒ์ ๋ชจ๋ ๋ฐ๊นฅ์ผ๋ก ์ด๋ํด์ค๋๋ค. ๊ทธ๋ฆฌ๊ณ , ๋ด๋ถ์ munglara ํด๋๋ ๋น์ด์์ํ ๋ ์ง์๋ฒ๋ฆฌ๋ฉด ๋ฉ๋๋ค.
8. ์ด์ http://127.0.0.1/ ๋ก ์ ์ํด๋ณด๋ฉด ์๋์ ๊ฐ์ ํ๋ฉด์ ๋ณด์ค ์ ์์ต๋๋ค. (์ฐธ๊ณ - ์ ๋ ๋คํฌ๋ชจ๋๋ผ์ ํ๋ฉด์ด ์ด๋ก๊ฒ ๋์ต๋๋ค.)
9. ์ด์ ์๋ก ์์ฑ๋ ํ๋ก์ ํธ ํด๋(munglara ํด๋) ๋ด์ ์๋ .env ํ์ผ์ ์ด์ด์ค ํ ์๋ ๋ด์ฉ์ ์์ ํฉ๋๋ค. (์์์ ์์ ํ .env ํ์ผ์ laradock ํด๋์ ์๋ ๊ฒ์ด๊ณ , ์ง๊ธ ์์ ํด์ผ ํ๋ ๊ฒ์ munglara ํด๋ ์์ ์๋ ๊ฒ์ ๋๋ค.)
DB_HOST=mysql
DB_DATABASE=munglaradb
DB_USERNAME=munglara
DB_PASSWORD=munglarapass
10. ๋ง์ง๋ง์ผ๋ก migrate๋ฅผ ์คํ์์ผ ๋ด ๋๋ค.
docker-compose exec --user=laradock workspace php artisan migrate
11. http://127.0.0.1:8081/ (phpmyadmin ์ฐฝ)์ ์ด์ด ์์ .env์์ ์ค์ ํ๋ ์๋ฒ, ์ฌ์ฉ์๋ช , ์ํธ๋ฅผ ์ ๋ ฅํ๊ณ ๋ก๊ทธ์ธ ํ ํ 10๋ฒ์์ migrateํ DB๊ฐ ๋ณด์ด๋ฉด ์ ์์ ์ผ๋ก ๋ชจ๋ ์์ ์ด ์๋ฃ๋ ๊ฒ์ ๋๋ค.