본문 바로가기
코드이그나이터와 php7와 mysql

크레이의 라라벨 도전기#1 - 라라벨 5.8 설치

※ 이 게시글은 크레이의 IT개발 관련 성장기를 다루고 있습니다. 관련지식이 약간 있어야 이해되실 수 있습니다. 가벼운 마음으로 읽어보시면서 흥미가 생기고 의욕이 생긴다면? 개발자의 자질이 있으신 겁니다 :)

그동안 코틀린을 다뤄보았었는데요. 오늘은 좀 색다른걸 다뤄보도록 하겠습니다.
바로 라라벨인데요. 필요에 의해 잠깐 살펴보았습니다.
그런데 와우~ 마치 Node.js와 코드이그나이터를 합쳐놓은 느낌이랄까요?
게다가 코드 자동 완성 기능이 대박인게 코틀린의 자동 완성이 연상되기도 합니다.

그럼 구구절절 긴 설명 없이 바로 렛츠 고우~


 

라라벨5.8을 위한 PHP7, 컴포저 설치

라라벨은 아주 다양한 버전이 있는데요.
라라벨 공식 사이트(한글)에 가보면 5.0부터 9.x까지 어마 무시한 버전이 존재하는 것을 볼 수 있습니다.

https://laravel.kr/

버전 8과 9를 빼고는 지원이 종료되긴 했지만 그래도 보편적으로 많이 사용하는 5.8 버전대를 우선 살펴보았습니다.

라라벨PHP컴포저(Composer) 기반 아래에서 작동하는데요.
라라벨 5.8버전의 경우 PHP 버전이 7.1.3 이상이어야 정상작동된다고 합니다.

AWS(아마존 웹서비스)에서 가상서버를 생성하여 진행해보았는데요.
아래 명령어를 차례대로 실행하면 PHP7.3 과 컴포져가 설치되기 때문에 라라벨 5.8 버전 작동에는 무리가 없습니다.

sudo su -
amazon-linux-extras install php7.3
yum install php-gd php-mbstring php-dom php-imagick php-zip
php -r "readfile('https://getcomposer.org/installer');" | php -- --install-dir=/usr/local/bin

php와 컴포져가 제대로 설치되었나 확인을 위해서는
php 버전을 확인하는 아래 명령어를 실행하여 php 버전이 7.3 이상인지를 확인하고,

php --version

컴포저 버전의 경우에는 아래 명령어를 실행하면 되는데요.
보통 최신 버전이 설치되기 때문에 이 글 작성 이후 설치하신 분은 무리 없을 것으로 보입니다.

composer --version

라라벨 프로젝트 생성

라라벨 프로젝트를 생성하기 위해서는 우선 어느 폴더에 설치할지를 정해야 하는데요.
여기서는 AWS 서버의 기본 홈 폴더인 /home/ec2-user 폴더 아래 crayLaravel 폴더로 정하겠습니다.
( root 계정이 아닌 ec2-user 계정으로 진행하겠습니다 )

AWS 서버에 로그인하면 기본 ec2-user 계정에 접근폴더가 /home/ec2-user  폴더인데요.

라라벨 5.8 버전 프로젝트를 생성하는 명령은 아래와 같습니다.

composer create-project laravel/laravel 폴더 “5.8.*”

크레이는 crayLaravel 로 할거니까 아래와 같이 입력하면 됩니다.

composer create-project laravel/laravel crayLaravel "5.8.*"

이제 라라벨 홈페이지를 구동해볼까요?
라라벨 폴더로 이동한 다음

cd crayLaravel

개발모드로 라라벨을 시작하면 되는데요. 리액트라는 언어와도 비슷한 것 같습니다.
명령어 실행방법이 요새는 서로서로 닮아 가는 것 같더라구요 :)

php artisan serve --host 0.0.0.0

참고로 --host 0.0.0.0 은 라라벨 서버가 개인 PC가 아닌 외부 서버일 경우 붙여 주어야 하는 옵션인데요.
이와 같은 추가 옵션을 붙여 실행하면 전 세계 어디서나 접속이 가능합니다.

그리고 AWS는 추가적으로 방화벽을 열어주어야 하지요.
라라벨의 기본 포트는 8000번이기 때문에 아래와 같이 방화벽 포트를 사용가능하도록 열어주었습니다.

AWS 에서 방화벽을 여는 자세한 방법은 아래 URL을 참고해 주세요.

https://itadventure.tistory.com/372

 

AWS ( 아마존 웹서비스 ) 웹서버 만들기

AWS ( 아마존 웹서비스 ) 에 대해 아시나요? :) AWS 를 공부할 일이 있어서 며칠동안 알아본 결과 몇가지는 알아내고 몇가지는 아직 불분명한 상태여서 좀 더 학습이 필요한데요. 우선 알아낸 부분

itadventure.tistory.com

 

라라벨을 설치하면 단 하나의 샘플 페이지가 기본으로 제공되는데요.
AWS 서버의 퍼블릭 IP 주소를 복사하여, 

뒤에 :8000 을 붙여 웹브라우저에서 띄워보면 샘플 페이지가 등장하는 것을 확인할 수 있습니다.
랄랄라라~ 라라벨~ ( 진정하시오.. )

그리고 또 하나의 옵션을 추가로 발견하였는데요.
웹브라우저에서 ip 주소 뒤에 :8000을 붙이지 않고 사용할 수 있는 방법이 있습니다.
바로 아래 명령입니다. 80 포트는 기본 웹 포트이기 때문에 이 번호를 사용하면 되긴 합니다만..

php artisan serve --host 0.0.0.0 --port 80

퍼미션 오류가 나면서 실행이 되지 않지요.

그것은 AWS 리눅스 시스템이 기본적으로 root 사용자가 아니면 1023번 이하 포트를 사용할 수 없도록 제한하였기 때문입니다.

해결방법은 아주 아주 간단합니다.
앞에 sudo 를 붙여주면 되지요. sudo 는 루트 권한으로 명령어를 실행 가능하도록 해줍니다.

sudo php artisan serve --host 0.0.0.0 --port 80

이제 기본  IP주소로만 접속해도 라라벨 홈페이지가 짜잔~

다만 위 방법은 개발할 때만 사용하는 방법입니다.
실제 배포하는 법은 따로 있는데요. 천천히 알아봐야 겠습니다.

우선 컴퓨터를 꺼도 실행되도록 아래 명령어로 작동시켜 놓았는데 서버가 내일까지 살아 있으려나 모르겠네요 ㅎ..

nohup sudo php artisan serve --host 0.0.0.0 --port 80


아직은 접하지 못했던 라라벨이라는 프레임워크를 알게되었는데요.
매우 쓸만한 것 같습니다.
필요하신 분께 도움이 되시길 바라며 오늘은 20000!

오늘도 구독해 주시고 방문해 주시는 모든 분들께 감사드립니다!
특히 내용을 전혀 몰라도 찾아와 주시는 분들께 더더욱 감사드립니다!!

아직 날씨가 추운것 같네요. 추울 때 들어야 하는 CCM(기독교 문화 음악) 하나 공유드립니다.
마음이 포근해 지실거예요 :)