# XAMPP·Laravel 설치 가이드

로컬 개발환경을 처음부터 세팅하는 순서예요. 위에서부터 순서대로 따라 하면 돼요.
설치 파일은 자료실의 '설치 가이드' 카테고리에서 바로 받을 수 있어요.

## 1. XAMPP 설치 (PHP·Apache·MySQL)

1. 자료실에서 XAMPP 설치 파일을 내려받아 실행해요.
2. 설치 마법사에서 Apache, MySQL, PHP, phpMyAdmin 항목은 그대로 두고 진행해요.
3. 설치가 끝나면 XAMPP Control Panel에서 Apache와 MySQL의 [Start] 버튼을 눌러요.
4. 브라우저에서 `http://localhost`에 접속했을 때 XAMPP 기본 화면이 보이면 성공이에요.

> HTML/CSS 정적 페이지만 볼 때는 Apache만 켜도 돼요. PHP 실행, DB 사용 기능까지 테스트하려면 MySQL도 같이 켜주세요.

## 2. Composer 설치 (PHP 패키지 관리자)

1. 자료실에서 Composer 설치 파일을 받아 실행해요.
2. 설치 중 PHP 실행 파일 경로를 물어보면 XAMPP의 `php.exe` 경로(예: `C:\xampp\php\php.exe`)를 지정해요.
3. 터미널(PowerShell)에서 `composer -V`를 입력했을 때 버전이 나오면 설치 완료예요.

## 3. Git 설치

1. 자료실에서 Git 설치 파일을 받아 실행해요. 옵션은 기본값 그대로 진행해도 괜찮아요.
2. 터미널에서 `git --version`으로 설치를 확인해요.
3. 처음 사용한다면 아래 명령으로 사용자 정보를 등록해요.

```
git config --global user.name "내 이름"
git config --global user.email "내 이메일"
```

## 4. Node.js 설치 (CSS/JS 빌드용)

1. 자료실에서 Node.js 설치 파일을 받아 실행해요.
2. 터미널에서 `node -v`, `npm -v`로 설치를 확인해요.

## 5. VS Code 설치 (코드 에디터)

1. 자료실에서 VS Code 설치 파일을 받아 실행해요.
2. 설치 중 "탐색기 파일 상황에 맞는 메뉴에 추가" 옵션을 체크하면 폴더에서 바로 열기 편해요.
3. AI 개발도구(Claude Code, Codex 등) 확장 프로그램은 VS Code 안의 확장(Extensions) 메뉴에서 검색해 설치해요.

## 6. Laravel 프로젝트 만들기

프로젝트를 새로 만드는 경우:

```
composer create-project laravel/laravel my-project
cd my-project
```

이미 만들어진 프로젝트를 내려받는 경우(Git clone):

```
git clone [저장소 주소]
cd [프로젝트 폴더명]
composer install
```

## 7. 환경 설정 (.env)

1. `.env.example` 파일을 복사해서 `.env` 파일을 만들어요.
2. `.env`에서 DB 설정을 XAMPP의 MySQL 기준으로 맞춰요.

```
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_project
DB_USERNAME=root
DB_PASSWORD=
```

3. phpMyAdmin(`http://localhost/phpmyadmin`)에서 `my_project`라는 이름으로 데이터베이스를 하나 만들어요.
4. 터미널에서 앱 키를 생성해요.

```
php artisan key:generate
```

## 8. 마이그레이션 실행

```
php artisan migrate
```

에러 없이 끝나면 테이블이 정상적으로 만들어진 거예요.

## 9. 프론트엔드 패키지 설치 및 개발 서버 실행

```
npm install
npm run dev
```

`npm run dev`는 터미널 창을 닫으면 같이 꺼져요. 작업할 때마다 다시 실행해주세요.

## 10. 개발 서버 실행 및 확인

새 터미널 창을 하나 더 열고:

```
php artisan serve
```

브라우저에서 `http://127.0.0.1:8000`에 접속했을 때 화면이 보이면 모든 설치가 완료된 거예요.

---

## 자주 헷갈리는 점

- **Apache/MySQL을 계속 켜둬야 하나요?** 개발 중에만 켜두면 되고, 작업이 끝나면 꺼도 괜찮아요.
- **npm run dev를 컴퓨터 켤 때마다 해야 하나요?** 네, 개발 중에는 매번 실행해야 해요. 운영 배포 시에는 `npm run build`를 한 번만 실행하면 돼요.
- **PowerShell과 CMD 중 뭘 써야 하나요?** 강의 기준으로는 PowerShell을 권장해요.
