본문 바로가기

Before

(18)
[HANTA] CentOS7 MariaDB 외부 접속 허용 개발 단계에서 DB 테이블에 들어간 데이터를 직접 DB 클라이언트를 통해 확인하기 위해 외부 접속을 허용한다. 포트의 경우 외부 접속이 허용되어 있었기에 MariaDB만 외부 접속을 허용해주면 되었다. 먼저 MariaDB를 켜고 mysql database로 이동한다. 해당 쿼리를 날리면 유저별로 허용되는 호스트를 확인할 수 있다. 다음 쿼리를 이용해 % root 계정에 권한을 줄 수 있다. 이후 MariaDB를 닫기 전 flush privileges; 쿼리를 날려 변경사항에 대해 저장해준다. 이후 원격접속 클라이언트를 이용해 접속되는 것을 확인했다. (Sequel Pro)
[HANTA] CentOS7 MariaDB 10.4 설치 기존 개발 서버에서 이용하던 MariaDB를 이번 호스팅 받은 서버에도 설치한다. 먼저 MariaDB yum repo를 등록한다. /etc/yum.repos.d/MariaDB.repo 에 해당 내용을 입력한다. 등록 되었다면 설치를 진행한다. 설치가 잘 되었는지 확인한다 MariaDB를 실행 패스워드를 변경 포트 정상 작동 확인 charset을 utf8mb4로 설정하기 위해 위해 /etc/my.cnf를 vi에디터로 오픈 /etc/my.cnf 하단에 해당 내용 입력 MariaDB service를 재시작한다. MariaDB에 로그인 해 charset 변경이 잘 적용되었는지 확인한다. 서버를 재시작 할 일이 있을지 모르겠으나 혹시 재시작할 때를 대비해 자동으로 올라오도록 enable해준다. 참고 : https..
[HANTA] CentOS7 openjdk 1.8 설치 자바 설치를 진행한다. 슈퍼유저 권한을 내 계정에 부여했으므로 내 계정을 이용해 앞으로 프로젝트를 진행한다. $ sudo yum install java-1.8.0-openjdk -y $ sudo yum install java-1.8.0-openjdk-devel -y 설치가 완료되었다면 환경변수를 등록해주어야 한다. /etc/profile의 가장 아랫쪽에 다음을 추가한다. 그 후 변경사항 적용을 위해 $ sudo source /etc/profile 을 입력한다. 환경변수가 잘 적용되었는지 확인한다. 참조 : https://bamdule.tistory.com/57 [Linux] CentOS 7에 OpenJDK 1.8 설치 1. open-jdk 1.8 설치 # yum install java-1.8.0-open..
[HANTA] CentOS7 유저 생성 및 sudo 권한 부여 호스팅 업체 퍼니오(fun25)에서 제공하는 os중 기존 테스트 환경으로 활용하던 환경인 CentOS7 환경을 제공받았다. 서버가 백지 상태이니 본격적으로 설정을 시작한다. 도메인 연결을 마치고 본격적으로 배포 테스트 및 개발을 진행하기 위해 루트 유저 로그인을 막고 개발자 계정을 등록해야 했다. 팀장에게 변경한 루트 id pw를 전달하고 내 계정에 sudo 권한을 부여했다. /etc/sudoers 파일의 아래 부분을 수정해준다. 참고 블로그 : https://m.blog.naver.com/PostView.nhn?blogId=wideeyed&logNo=221289811134&proxyReferer=https:%2F%2Fwww.google.com%2F
[HANTA] 도메인 구매 및 가상 서버 호스팅 + 네임 서버 변경 지난주 드디어 도메인을 구매하고 가상 서버 호스팅을 받았다. 이제 더운 여름에 집에서 방 온도를 낮추려고 고생을 하지 않아도 되고 프론트엔드 개발자와 커뮤니케이션 하는데 있어서도 셋팅해두었던 Swagger 문서로 진행할 수 있어 개발 속도도 빨라질거란 생각이 든다. 먼저 Godaddy에서 구매한 도메인을 호스팅 받은 가상 서버의 주소와 연결해야 하기 때문에 Godaddy 기본 네임 서버로 설정되어 있는 것을 호스팅업체의 네임서버로 설정해준다. 중간에 네임서버를 바꾸지 않고 단순히 도메인 포워딩을 통해 해결하려고 했었는데 이 경우 도메인을 입력해도 결국 접속은 아이피 주소로 직접 되어 아이피주소가 노출되는 문제가 있어서 네임서버 설정을 해주었다. 이렇게 진행하고 나서도 포워딩이 풀리지가 않아서 문의를 했더..
[SpringBoot] Spring security, JWT를 이용한 인증 기능 추가 기존에 간단하게 Request Body에 서버에서 각각 AES256, SHA256 알고리즘을 이용해 자동생성해준 유저별 아이디와 패스워드만으로 간단하게 로그인 기능을 구현해 두었었는데, 프로젝트 진행 과정에서 여러 기능들이 추가되고 대부분의 기능이 유저 정보를 거쳐서 비즈니스 로직을 수행해야 했기 때문에 애플리케이션이 더 커지기 전에 Spring Security를 적용해 인증 기능을 구현하기로 했다. 간단하게 이해한 내용. 인증 기능은 크게 비교적 전통적인 방식인 세션/쿠키 방식과 최근 개발되는 서비스들에서 많이 이용되는 토큰 방식으로 나뉘는데, 세션/쿠키 방식은 유저 정보를 클라이언트로부터 받아 고유한 아이디를 부여해 세션 저장소에 따로 관리하고 이후로부터 클라이언트는 요청에 쿠키를 추가해 인증을 요청..
[JPA] 일대일 연관관계 Json 파싱 문제 해결 현재 진행중인 프로젝트에서 유저 테이블에 프로필카드 관련된 모든 칼럼을 집어 넣어도 되지만 이후에 기능 추가나 서비스 종목 확장시에 유저 테이블을 수정하는데 어려움이 많을 것 같아 개발 초기 단계부터 테이블을 서로 분리해 일대일 연관관계로 매핑해두었다. 개발중 매칭 알고리즘을 적용해 프로필 카드의 리스트를 객체에 담아 리턴해주어야 하는 API를 개발해야 했는데 JPA가 일대일 매핑을 해두었던 유저 테이블의 인스턴스까지 모두 긁어 JSON파일로 묶으려해 발생한 에러이다 클라이언트로 유저 데이터는 공개하지않고 프로필카드의 데이터만 제공하는 방식으로 서비스를 개발하려 했기 때문에 일대일 연관관계의 주인 클래스로 가서 다음과 같이 @JsonIgnore 어노테이션을 적용해주니 에러가 해결되었다. 삽질의 과정 1...
[JPA] MariaDB 연동 진행중인 ego 프로젝트의 DB는 MariaDB를 이용해 구성한다. MariaDB : MariaDB는 오픈 소스의 관계형 데이터베이스 관리 시스템(RDBMS)이다. MySQL과 동일한 소스 코드를 기반으로 하며, GPL v2 라이선스를 따른다. 오라클 소유의 현재 불확실한 MySQL의 라이선스 상태에 반발하여 만들어졌으며, 배포자는 몬티 프로그램 AB(Monty Program AB)와 저작권을 공유해야 한다.[1] 이것은 MySQL과 높은 호환성을 유지하기 위함이며, MySQL API와 명령에 정확히 매칭하여, 라이브러리 바이너리와 상응함을 제공하여 교체 가능성을 높이고자 함이다.[2] 마리아 DB에는 새로운 저장 엔진인 아리아(Aria)뿐만 아니라, InnoDB를 교체할 수 있는 XtraDB 저장 엔진..