라라벨 시작하기 편집하기

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
6번째 줄: 6번째 줄:
==사전작업==
==사전작업==
* [[아파치 설치]]
* [[아파치 설치]]
* [[아파치 mod_rewrite 활성화]]
* [[PHP 설치]]
* [[PHP 설치]]
* [[composer 설치]]
* [[composer 설치]]


==프로젝트 생성==
==프로젝트 생성==
{{참고|Composer 라라벨 프로젝트 생성}}
* 여기서는 프로젝트명을 lara로 하였음
* 여기서는 프로젝트명을 laravel로 하였음
<source lang='console'>
<syntaxhighlight lang='console'>
root@zetawiki:/var/www# composer create-project --prefer-dist laravel/laravel lara
root@zetawiki:/var/www# composer create-project --prefer-dist laravel/laravel laravel
Installing laravel/laravel (v5.4.23)
Installing laravel/laravel (v5.4.23)
   - Installing laravel/laravel (v5.4.23): Downloading (100%)         
   - Installing laravel/laravel (v5.4.23): Downloading (100%)         
Created project in laravel
Created project in lara
... (생략)
... (생략)
Generating optimized class loader
Generating optimized class loader
23번째 줄: 21번째 줄:
> php artisan key:generate
> php artisan key:generate
Application key [base64:aXZr5Hnp95VffB6hj8YXmvMfogigLl0RnNC4FiM7o4o=] set successfully.
Application key [base64:aXZr5Hnp95VffB6hj8YXmvMfogigLl0RnNC4FiM7o4o=] set successfully.
</syntaxhighlight>
</source>


==웹루트 연결==
==웹루트 연결==
* 기존 웹루트 /var/www/html을 다른 이름(html_default)으로 보존
* 기존 웹루트 /var/www/html을 다른 이름(html_default)으로 보존
* laravel/public을 /var/www/html으로 복제
* lara/public을 /var/www/html으로 복제
<syntaxhighlight lang='console'>
<source lang='console'>
root@zetawiki:/var/www# mv html/ html_default
root@zetawiki:/var/www# mv html/ html_default
root@zetawiki:/var/www# cp -a laravel/public/ html
root@zetawiki:/var/www# cp -a lara/public/ html
root@zetawiki:/var/www# ll html
root@zetawiki:/var/www# ll html
total 32
total 32
42번째 줄: 40번째 줄:
-rw-r--r--  1 root root  24 May 18 21:50 robots.txt
-rw-r--r--  1 root root  24 May 18 21:50 robots.txt
-rw-r--r--  1 root root  914 May 18 21:50 web.config
-rw-r--r--  1 root root  914 May 18 21:50 web.config
</syntaxhighlight>
</source>
<syntaxhighlight lang='console'>
<source lang='console'>
root@zetawiki:/var/www# vi html/index.php
root@zetawiki:/var/www# vi html/index.php
</syntaxhighlight>
</source>
<syntaxhighlight lang='php'>
<source lang='php'>
#require __DIR__.'/../vendor/autoload.php';
#require __DIR__.'/../bootstrap/autoload.php';
require __DIR__.'/../laravel/vendor/autoload.php';
require __DIR__.'/../lara/bootstrap/autoload.php';
... (생략)
... (생략)
#$app = require_once __DIR__.'/../bootstrap/app.php';
#$app = require_once __DIR__.'/../bootstrap/app.php';
$app = require_once __DIR__.'/../laravel/bootstrap/app.php';
$app = require_once __DIR__.'/../lara/bootstrap/app.php';
</syntaxhighlight>
</source>


==저장소 퍼미션 조정==
==저장소 퍼미션 조정==
* 아파치가 해당 폴더에 접근하여 파일을 쓸 수 있게 해준다.
* 아파치가 해당 폴더에 접근하여 파일을 쓸 수 있게 해준다.
<syntaxhighlight lang='console'>
<source lang='console'>
root@zetawiki:/var/www# cd laravel
root@zetawiki:/var/www# chown -R www-data:www-data lara/bootstrap/cache
root@zetawiki:/var/www/laravel# chown -R www-data. bootstrap/cache
root@zetawiki:/var/www# chown -R www-data:www-data lara/storage
root@zetawiki:/var/www/laravel# chown -R www-data. storage
root@zetawiki:/var/www#  
root@zetawiki:/var/www/laravel#  
</source>
</syntaxhighlight>


==브라우저 접속 확인==
==브라우저 접속 확인==
* http://서버주소 접속하여 잘 되는지 확인
* http://서버주소 접속하여 잘 되는지 확인
:아파치의 웹루트가 /var/www/html 이고,
:index.php에서 상대적인 경로 설정을 잘 했다면 아마 잘 될거다.
==라우트 추가==
<syntaxhighlight lang='console'>
root@zetawiki:/var/www/laravel# php artisan route:list
+--------+----------+----------+------+---------+--------------+
| Domain | Method  | URI      | Name | Action  | Middleware  |
+--------+----------+----------+------+---------+--------------+
|        | GET|HEAD | /        |      | Closure | web          |
|        | GET|HEAD | api/user |      | Closure | api,auth:api |
+--------+----------+----------+------+---------+--------------+
</syntaxhighlight>
* web.php 에 내용 추가
<syntaxhighlight lang='console'>
root@zetawiki:/var/www/laravel# vi routes/web.php
</syntaxhighlight>
<syntaxhighlight lang='php' highlight='6-8'>
... (생략)
Route::get('/', function () {
    return view('welcome');
});
Route::get('foo', function () {
    return 'Hello World';
});
</syntaxhighlight>
<syntaxhighlight lang='console'>
root@zetawiki:/var/www/laravel# php artisan route:list
+--------+----------+----------+------+---------+--------------+
| Domain | Method  | URI      | Name | Action  | Middleware  |
+--------+----------+----------+------+---------+--------------+
|        | GET|HEAD | /        |      | Closure | web          |
|        | GET|HEAD | api/user |      | Closure | api,auth:api |
|        | GET|HEAD | foo      |      | Closure | web          |
+--------+----------+----------+------+---------+--------------+
</syntaxhighlight>
==브라우저 접속 확인 2==
* http://서버주소/foo 접속하여 'Hello World' 출력되는지 확인
:mod_rewrite가 활성화되어 있다면 잘 될거다.


==같이 보기==
==같이 보기==
* [[라라벨 퀵스타트]]
* [[라라벨 퀵스타트]]
* [[Composer 라라벨 프로젝트 생성]]
* [[Composer 라라벨 프로젝트 생성]]
* [[라라벨5 기본 페이지]]


==참고==
==참고 자료==
* https://laravel.com/docs/5.4
* https://laravel.com/docs/5.4


[[분류: Laravel]]
[[분류: Laravel]]

제타위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 제타위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 편집 도움말 (새 창에서 열림)

이 문서에서 사용한 틀: