개발환경 및 프로그램 : Centos8, Apache , PHP 7.3 , Laravel 6 , PUTTY, Filezila, Visual Studio Code, Heidi SQL
리눅스에 대해서 아무것도 모르고 ...
무작정 지금까지 단순무식하게 순수 php 만 끄적거려보았던 무식한 개발자 한명이
이곳저곳 찾아다니며 독학으로 리눅스와 라라벨 쌩으로 박치기 하는 글입니다
다소 이상한 부분이 있다면 비웃지마시고 꼭.. 꼭 !!
댓글로 조언, 지적 해주시며 정말 감사할것 같습니다
부탁드리겠습니다 ~!
Composer 는 이미 설치되어있다는 가정하에 진행합니다
라라벨 프로젝트 만들기전에 우선 계정을 하나 별도로 만들어줄거에요
#사용자 만들기
adduser laravelTest
# "laravelTest" 아이디의 비밀번호 설정
passwd laravelTest
#암호 입력
#암호 재입력
그리고 아래처럼 라라벨 프로젝트 만들고싶은 폴더로 디렉토리를 지정해서
cd /var/www/html
여기서 라라벨 프로젝트를 만들어줄거에요
#컴포저는 필수로 깔려있어야합니다
#composer 만이라고 쳤을때 뭐라고 솰라솰라 나와야함
composer create-project --prefer-dist laravel/laravel laravelTest
위처럼 입력을 해주면 아래 처럼 쭈루루루루룩 뭔가 나오면서 (쪼끔 시간이 걸립니다 5분 ~ 정도?)
파일질라로 확인했을때 이상없이 폴더가 아래처럼 생기고 , 라라벨 설치가 끝난것을 알수있습니다.
참고로 라라벨을 설치하고나서 뭔가를 진행하려면 무조건 라라벨 프로젝트 내부로 디렉토리를 진입해서 하셔야됩니다
예를들어 버전을 확인하고싶으시다면 방금 /var/html/www 폴더에 laravelTest 라는 폴더를 만들었으니
cd laravelTest
위 처럼 진입후에 작업을 해야된다는 뜻입니다
#생성된 라라벨 프로젝트로 디렉토리 설정후 , 설치된 라라벨 버전 확인
php artisan --version
지금 만들어진 라라벨 프로젝트의 소유자와 그룹은 root 로 되어있으니 위에 만들어주었던 계정으로 변경을 해줄겁니다
그리고 그 작업 이전에 우선 방금 만들어진 라라벨 경로로 , laravelTest 리눅스 계정의 디렉토리도 변경을 해줄거에요
# "laravelTest" 유저의 디렉토리 경로변경
usermod -d /var/www/html/laravelTest laravelTest
# cat /etc/passwd
# 위 명령어에서 잘바뀌었는지 확인 가능
laravelTest:x:1007:1007::/var/www/html/laravelTest:/bin/bash
# 소유자, 그룹 변경
chown -R laravelTest:laravelTest /var/www/html/laravelTest
파일질라에서 소유자/그룹도 laravelTest 로 바뀐것을 확인할수 있을겁니다
소유자/그룹도 바꼈겠다 이제 굳이 root 로 푸티에서 접속안해도되겠죠
laravelTest 계정으로 로그인 해줍니다
마이그레이션 세팅 (테이블)
php artisan make:model Post -m
위에 명령어를 실행하면 app 내부에 Post 라는 모델 파일과 그에 따른
database - migrations 폴더 내부에 posts_table.php 가 생긴걸 볼수있습니다
해당 파일을 열어서 내용을 수정해줍니다
Schema::create('posts', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('title');
$table->timestamps();
});
수정되었다면 저장후에 아래 명령어를 실행시켜줍니다
저 해당 소스대로 테이블 자동으로 만들어주는 역할을 합니다
php artisan migrate
자 위에 구문을 실행시켜주면
위와 같은 에러구문을 마주치게되는데, 지극히 자연스러운 부분입니다.
DB 계정 설정이 안되어있어서 그런거고 라라벨 프로젝트에서 .env 라는 파일이 각종 계정 정보들을 설정하는 파일인데 이걸 열어보시면 DB 계정 설정하는 부분이있는데 이건 각자 환경에 맞춰서 설정하시면 될것같습니다.
저는 로컬에서 작업하는게 아니고 리눅스 서버에서 작업을 하는거라 조금 다르게 입력이 되겠네요
아래는 제가 푸티에서 DB 생성하고 계정 별도로 생성해서 권한부여하는 명령문이므로 필요없으신분들은 그냥 건너뛰시면 될것같습니다 기록삼아 기재해두는거에요
# putty root 접속
mysql
use mysql
create user DB계정@'localhost' identified by '비밀번호';
create user DB계정@'%' identified by '비밀번호';
grant all privileges on DB계정.* to '권한부여할DB계정'@'localhost' identified BY '비밀번호' with grant option;
grant all privileges on DB계정.* to '권한부여할DB계정'@'%' identified BY '비밀번호' with grant option;
자 여튼 .env 에서 DB 접속정보를 맞게 입력해주고나서 다시 위의 migrate 문을 실행시켜주면 아래 처럼 정상적으로
처리가 된걸 확인할수 있습니다.
접속이 잘되는지 먼저 확인을 하려면 localhost 에서 작업하시는분들은 아래 명령어로 자체 단독서버에서 돌리셔야 할듯합니다
php artisan serve
저 같은경우엔 리눅스 서버에서 돌리는거라 , 별도 도메인이 따져있어서 httpd.conf 에서 /public/index.php 로 경로 맞추고 실행했습니다.
우측 상단에 LOGIN , REGISTER 처럼 라라벨 자체 기본으로 있는 로그인 ,회원가입 기능을 바로 쓰시려면
composer require laravel/ui
//회원가입, 로그인, 로그아웃 기능 바로 깔기
php artisan ui:auth
// 그외 설치할수 있는 list 뽑아보기
php artisan list
php artisan ui_auth 실행하시고나서 새로고침 한번 하시면 HOME, REGISTER 가 보일겁니다
저거 명령어 한번 실행시킴으로써 모델, 컨트롤러 , user 테이블 싸그리 자동으로 생기거든요
이제 vue.js 도 깔아볼건데요
php artisan ui vue --auth
npm install && npm run dev
실행시켜주면 resources - js - components 폴더가 생기면서 vue 샘플 파일이 생깁니다
이제 할 작업은 로그인 하고나서 HOME 화면에서 간단하게 글 입력 수정삭제 하는 작업인데
너무 길어지니 나눠서 포스팅 하겠습니다
'IT > PHP' 카테고리의 다른 글
[PHP] 구글 파이 차트 사용 및 mysql DB 연동, mysql 배열 출력 (0) | 2020.08.26 |
---|---|
[PHP] 구글 차트 사용 및 mysql DB 연동, mysql 배열 출력 (0) | 2020.08.11 |
[Laravel] There is no existing directory at "blah blah" and its not buildable:Permission denied 접근권한 문제 (0) | 2020.07.27 |
[PHP] form 배열로 값이 안넘어간다 !!, php form array request error / php.ini max_input_vars (0) | 2020.07.21 |
PHP5 에서 PHP7로 업그레이드시 문제가 되었던 점 (0) | 2020.07.19 |