1부에서 라라벨 프로젝트를 시작하는 방법을 학습했지만 복습 차원에서 이 장에서는 해당 내용을 축약해서 처음부터 진행하도록 하겠습니다.

 

이 장에서 라라벨 프로젝트를 만든 후에 생성하고 수정해야 할 파일의 구조는 다음과 같습니다.

 

먼저 홈스테드에 ssh 로 로그인하고 소스가 위치하는 폴더인 ~/Code 로 이동합니다.

$ cd ~/Code
CODE

라라벨 인스톨러를 사용하여 새로운 프로젝트를 생성합니다.

$ laravel new laravel-todolog
CODE

또는 컴포저를 사용해서 프로젝트를 생성해도 됩니다.

$ composer create-project laravel/laravel laravel-todolog --prefer-dist 
CODE

 

nginx 가 제대로 서비스를 할 수 있도록 생성한 라라벨 프로젝트를 가상 호스트에  추가합니다. serve 명령어는 변경을 반영하기 위해 자동으로  nginx 웹 서버를 재시작합니다.

$ serve todolog.app /home/vagrant/Code/laravel-todolog/public
CODE

 

Windows 일 경우 c:\windows\system32\drivers\etc\hosts, Mac OS X와 리눅스일 경우  /etc/hosts 파일에 호스트를 추가해야 브라우저에서 도메인으로 접속할 수 있으므로 에디터로 해당 파일을 열어서 다음 내용을 추가해 줍니다. (관리자 권한이 필요합니다.)

192.168.10.10  todolog.app
CODE

 

App 설정

라라벨 인스톨러나 컴포저로 라라벨 프로젝트를 생성하면 다음 명령어들을 순서대로 수행하므로 라라벨 프로젝트 기본 설정이 완료됩니다.

$ composer install
$ php -r "copy('.env.example', '.env');"
$ php artisan clear-compiled
$ php artisan optimize
$ php artisan key:gen
CODE

이제 라라벨 애플리케이션을 구동할 수 있도록 환경을 설정할 순서이며 가장 먼저 애플리케이션이 사용할 DB 계정을 생성하기 위해 MySQL 관리자로 접속합니다.

$ mysql -u root -psecret
CODE

 

MySQL 콘솔에서 아래의 SQL 을 입력하여 새로운 데이타베이스와 사용자 계정을 생성합니다.

CREATE DATABASE todolog CHARACTER SET utf8 COLLATE utf8_bin; 
GRANT ALL PRIVILEGES ON todolog.* TO 'todolog'@'%' IDENTIFIED BY 'todologPwd';
SQL

 

애플리케이션 설정 파일인 .env 파일을 열어서 데이타베이스의 연결 정보를 위에서 생성한 계정과 암호 정보로 수정합니다.

DB_DATABASE=todolog
DB_USERNAME=todolog
DB_PASSWORD=todologPwd
CODE


애플리케이션 환경 구성

3장의 환경 구성 항목을 참고하여 config/app.php 에 라라벨 환경 구성을 설정해 줍니다. 자세한 내용은 3장을 참고하며 여기에서는 수정해야 하는 항목들만 정리해 보겠습니다.

'url' => 'http://todolog.app',
'timezone' => 'Asia/Seoul',
'locale' => 'ko',
'log' => 'daily',
CODE

설정을 마쳤으면 파일을 저장한 후에 브라우저로 http://todolog.app/에 연결하여 라라벨 초기 화면이 나오면 정상적으로 설정이 완료된 것입니다.

 

라이브러리 폴더 추가

앞으로 진행하면서 작성하는 라이브러리나 헬퍼 메소드등은 라이브러리화 하기 위해 libraries 폴더에 만들고 여기에 클래스를 추가하여 구현할 예정이므로 app나 config 와 같은 레벨로 libraries 라는 폴더를 만들어야 합니다.

$ mkdir libraries
CODE

 

이 폴더에 있는 클래스가 자동으로 로딩되도록 composer.json 에 PSR-4 방식의 오토로딩에 위에서 생성한 libraries 폴더를 추가합니다.

"autoload": {
    "classmap": [
        "database"
    ],
    "psr-4": {
        "App\\": ["app/", "libraries/"]
    }
},
CODE

composer.json 파일이 변경되었고 특히 오토로딩 항목이 수정되었으므로 새로 오토로딩 클래스를 생성하도록 composer dump-autoload  명령어를 실행합니다. 

$ composer dump-autoload
Generating autoload files
CODE

 

git 저장소 추가

이제 프로젝트를 진행하기 위한 설정이 끝났고 마지막으로 현재 설정한 내용을 git 형상 관리에 추가합니다. 라라벨은 .gitignore 파일을 포함하고 있으므로 git add 시 vendor 와 같이 불필요한 프로젝트는 자동으로 제외합니다.

git 을 사용하지 않는 독자는 이 과정을 사용하는 형상 관리 S/W 의 내용으로 대치하면 됩니다.

$ git init
$ git add .
$ git commit -m "initial"
CODE

이제 모든 설정이 끝났고 투두로그 애플리케이션 개발을 시작하겠습니다.