# 구글 클라우드 플랫폼을 활용한 VM 내부의 CentOS7 환경에서 설치를 진행
# 환경 : PHP + MariaDB + Apache + CentOS 7
라라벨 프레임워크 설치
아파치, php 같은 것들은 이미 설치되어있다고 가정하겠습니다.
1. 라라벨 프레임워크를 사용하려면 php용 관리 도구 Composer를 설치하기
Composer 다운로드 공식문서 https://getcomposer.org/download/
Command-line installation 하단상자안의 4줄을 복사해서 cmd창에 입력
설치가 끝나면 composer.phar란 파일이 있을겁니다.
전역으로 사용할 것이기 때문에 cmd창에 입력해주세요
mv composer.phar /usr/local/bin/composer
이동이 안되면 sudo 입력해서 관리자 권한으로 이동시켜주시면 됩니다.
2. 라라벨 프레임워크 설치하기
라라벨 공식문서 한국어버전 https://laravel.kr/docs/5.5/installation
쉬운 라라벨 설치 따라 하기 http://laravelfromscratch.com/
라라벨 설치환경을 만들기 위해 cmd에 입력
composer global require "laravel/installer"
설치 중에 unzip이라던지 mbstring 등등 미설치라고 뜨는 경우 있는데
cmd에 sudo yum install unzip 입력하면 설치됩니다.
changed current directory to .. 뜨는데 home내부의 사용자 폴더를 확인해봅시다.
사용자 디렉터리 내부에 .config내부에 composer디렉터리가 있죠? 그럼 OK
그 이후 laravel new blog를 입력하면 되는데 안됩니다.
PATH가 입력되어있지 않아서에요
PATH설정을 위해 입력
sudo vi ~/.bashrc
파일 내부에 입력하고 저장해주세요
export PATH="$PATH:$HOME/.config/composer/vendor/bin"
파일 적용
source ~/.bashrc
라라벨 설치 - new 뒤에는 디렉터리 이름 정해주셔서 넣으면 됩니다.
laravel new (원하는 디렉터리명)
라라벨은 public 디렉터리로 접속하니
http://ip/blog/public 으로 접속! => 루트 위치 변경은 https://xerar.tistory.com/30
권한 부여하기 위해
chmod 755 storeage
chmod 755 bootstrap/cache
입력해봤지만 불허!
CentOS 7은 SELinux로 보안 강화된 리눅스라 접속 허용이 안되었던 것..
SELinux에 대한 설명은 https://jootc.com/p/201806241113 참고해주세요
setstatus 입력
Current Mode를 Permissive로 변경해야 함.
sudo setenforce 0
재접속하면 라라벨 인덱스 페이지가!
#안된다면 .htaccess변경을 막은 거라서 php모듈 mod_rewrite이랑 아파치 내부에서 override부분을 None에서 All로 변경해 보길 바란다.
라라벨 프레임워크는 파일이 많기 때문에 이제 시작하는 분들이라면 디렉터리 구조를 파악하고 시작하길 추천한다.
https://laravel.kr/docs/5.5/structure
혼잣말
1. 오리지널 PHP에 라우팅을 쓰려고 하는데 깃허브에 있는 라이브러리들을 활용하기가 너무나도 어려웠다 프레임워크에선 라우팅 기능이 있으니 속 시원하게 프레임워크 설치로 방향을 바꿨다.
2. 프레임워크 설치하는 것만 해도 이렇게 힘들 줄 몰랐다.
3. 며칠간 CI ,Laravel 둘 중 아무거나라도 쓸려고 삭제와 설치를 반복했지만 안됐는데 어쩌면 CI도 SELinux문제 아닐까 싶다.
'Web > PHP' 카테고리의 다른 글
[라라벨] 댓글 대댓글 DB설계하기 (3) | 2020.04.18 |
---|---|
[라라벨] 모델과 마이그레이션 (1) | 2020.04.11 |
[라라벨] 소셜라이트로 OAuth 로그인하기 (0) | 2020.04.11 |
[라라벨] 미들웨어를 통한 CORS 허용하기 (0) | 2020.03.26 |
[라라벨] POST방식 전달 (0) | 2020.03.22 |