전체 글 94

Ubuntu 16.04에 PostgreSQL 13 설치

Ubuntu 16.04에 PostgreSQL을 설치하려고 합니다. PostgreSQL의 2023.02.10일 현재 최상위 버전은 15.2입니다. ( 참고로, Ubuntu 포함 Linux 환경을 모르는 철저하게 윈도우 사용자로 살아온 사람입니다. 쉬운 방법을 두고 돌아가는 것일 수도 있고 잘못된 방법일 수도 있다는 점 참고부탁드립니다. ) PostgreSQL 지원 버전 확인 PostgreSQL 공식 홈페이지 > 다운로드 설명을 확인하니 아래와 같은 설명이 있습니다. PostgreSQL Apt Repository가 지원하는 현재 Ubuntu 버전: - kinetic (22.10, non-LTS) - jammy (22.04, LTS) - focal (20.04, LTS) - bionic (18.04, LTS)..

Nginx + Ubuntu 환경에 certbot 설치

보안(HTTPS) 연결을 위해, Certbot을 설치해서 Let’s Encrypt 인증서를 무료로 발급받고 3개월에 한번 인증서를 갱신해줘야하는 불편함을 Certbot이 해주도록 합니다. 설치에 대한 내용은 Certbot 공식 사이트에서 확인할 수 있습니다. 아래 이미지처럼, 본인 상황에 맞는 Software / System을 선택하여 설치 지침을 확인할 수 있습니다. 저는 Software: Nginx, System: Ubuntu 16으로 선택하여 내용을 확인했습니다. 영어로 되어있기 때문에, 저의 기록 용도 및 누군가에게 도움이 되도록 해당 내용을 남겨봅니다. (feat. 구글 번역기) 필요 사항 command line을 사용할 수 있는 환경 온라인 상에 있는 HTTP 웹 사이트, 80 포트가 열려있어..

Nginx 설치 (Naver Cloud, Ubuntu 16.04)

Spring Boot로 개발중인 사이트를 Naver Cloud에 올리고, Spring Boot 내장 톰캣(:8080)으로 정상 동작하는 것을 확인했습니다. 이제 추가할 작업은 http 연결이 80포트로 연결되게 하고, https로 보안 연결이 가능하도록 하는 것입니다. (이 포스팅에서는 https 보안 연결 작업에 대한 내용은 없습니다. 이후 포스팅에서 다룰 예정입니다.) Nginx 설치 이유 Certbot(Let's Encrypt 무료 ssl 인증서 관련) 설치 및 설정이 더 간편해 보이기 때문입니다. (Nginx에 Certbot을 설치하는 것도 포스팅할 예정입니다.) Nginx를 이용하여 무중단 배포를 설정할 계획입니다. 설치 환경 Naver Cloud: [MICRO] 1vCPU, 1GB Mem, 5..

BCryptPasswordEncoder 사용, 암호화 및 암호 확인 (Spring Boot)

비밀번호를 암호화하는 기능을 추가하려고 합니다. 로그인 등 인증 기능은 현재 필요하지 않습니다. spring-boot-starter-security 를 추가하여, BCryptPasswordEncoder를 사용해 암호화를 진행하려고 합니다. 1. build.gradle에 의존성 추가 implementation 'org.springframework.boot:spring-boot-starter-security' 위 라이브러리를 추가 후, 실행해보면 어떤 페이지로 이동하든 로그인 페이지로 리다이렉트됩니다. 2. 로그인 페이지로 이동하게 하는 보안 구성 끄기 (보안 구성이 필요하다면, 이 부분은 무시하셔도 좋습니다. ) 암호화만 이용할 생각이기 때문에, 로그인 페이지로 이동하게 하는 보안 구성이 필요없습니다. 해..

org.thymeleaf.exceptions.TemplateInputException 오류 해결

Spring Boot를 사용하고, Tymeleaf를 사용하여 화면을 구성하였습니다. IDE에서 개발 및 실행할 때는 문제없이 동작하던 것이, 서버에 올리니 오류가 발생합니다. (빌드한 jar 파일을 로컬에서 실행해도 동일하게 오류가 발생합니다.) 오류 내용의 일부입니다. org.thymeleaf.exceptions.TemplateInputException: Error resolving template [home], template might not exist or might not be accessible by any of the configured Template Resolvers at org.thymeleaf.engine.TemplateManager.resolveTemplate(TemplateMana..

java -jar 실행 종료 및 시작 스크립트

실행중인 java -jar를 종료하고, *.jar 파일을 실행하는 명령어를 스크립트로 만들어 명령어를 줄여봅니다. 스크립트 생성 전 시작 명령어 nohup java -jar 파일명.jar & 종료 명령어 # PID 알아오기 ps -ef | grep java # 종료 kill -15 [위에서 알아온 PID] kill -9 (kill) 사용보다 kill -15 (terminate)를 사용하는 것이 더 안전하다고 합니다. 그렇게 길지 않은 내용이긴 하지만, 하나의 명령어로 이용하고 싶습니다. 실행 중이라면, 종료 후 시작 스크립트 start.sh #!/bin/bash JAR=site-0.0.1-SNAPSHOT.jar LOG=/root/site.log SITE_PID=$(ps -ef | grep java | g..

NAVER CLOUD, Public IP(공인 IP) 신청 및 Spring Boot 실행 확인 + 도메인 연결

서버를 서비스 목적으로 이용하려면 공인 IP가 필요합니다. (외부에서 접속할 IP 주소, 예를 들어 URL에 http://223.130.200.104/ 로 입력하면, 네이버로 접속됩니다. 이때 공인 IP로 볼 수 있는 것이 223.130.200.104입니다. ) 작업할 내용 Public IP(공인 IP) 신청 ACG 설정 SFTP로 jar 파일 업로드 (FileZilla) JAVA(JDK) 설치 java -jar 파일명.jar 명령어로 Spring Boot 프로젝트 실행 Public IP(공인 IP) 신청 Spring Boot 배포 후, 동작 확인을 위해 공인 IP를 먼저 신청합니다. 유료 서비스 1년 무료 서버를 이용하더라도, 공인 IP 신청의 경우 월별 금액이 청구됩니다. 2023.01.30 기준, ..

NAVER CLOUD PLATFORM 가입 및 1년 무료 서버 생성, 콘솔 접속까지

무료 서버 사양 및 요금 (2023년. 01월 기준 내용입니다.) 1년 무료 Micro Server: VCPU 1개, Memory 1GB, Disk 40GB, Linux 계열 운영체제만 사용 가능 Public IP (외부 서비스용 공인 IP) 유료: 월 이용료 4,032원 3개월 사용 가능한 100,000 크레딧 제공 선택 이유 소소한 프로젝트들을 게시할 서버를 구축하여 운영할 계획입니다. 서버에 대한 지식이 약한 상태에서 AWS, Azure 등 번역하면서 해보기에는 어렵습니다. 그래서 한글화가 잘 되어있는 Naver 서비스를 이용해 보기로 했습니다. (2023년 1월 30일 기준 내용으로, 이후 Naver가 화면 구성 및 서비스 내용을 변경할 수도 있습니다.) 순서 설정 순서는 아래와 같습니다. 1. ..

심심할 때 시간 보내기 좋은 색칠 앱(어플) - Happy Color

심심하고 무료한 시간 어떻게 보내시나요? 저는 Happy Color라는 앱을 이용해 색칠을 하며 시간을 보냅니다. 정해진 위치(번호), 정해진 색상을 찾아 색을 칠하는 매우 간단한 방식인데. 이 별것 아닌 반복 행위 끝에 나온 결과물에 기분이 좋아지곤 합니다. 매일 새로운 그림도 많이 추가되기 때문에, 그림 추가 속도를 따라갈 수 없습니다. 좋아하는 카테고리 정하기 속도를 따라갈 수도 없고 따라갈 생각도 없는 저는 몇 개의 카테고리를 정해 그 카테고리 위주로 색을 칠합니다. 저는 "명화", "미스터리" 카테고리가 마음에 듭니다. "명화"는 몇몇 익숙한 그림이 있는 것도 좋고, 그림이 좀 복잡한 편이라 좋아합니다. "미스터리"는 윤곽선이 없이 위치, 색상만 있는 그림으로, 그림이 완성되기 전까지는 어떤 그..

[학습] 레모네이드 앱 프로젝트 (Android,Kotlin)

"[학습] Android Basics in Kotlin 과정 소개" > Unit 1: Kotlin 기초 > "App에 버튼 생성" 중 다음 내용을 요약했습니다. - Project: Lemonade app (원문, 원문 최종 업데이트일: 2022.03.23) 학습일: 2023.01.10 - 앱 소개: 레모네이드 한 잔이 나올 때까지 레몬 즙을 짜는 간단한 대화형 앱 - 사용 요소: ConstraintLayout, TextView, ImageView - 주요 학습 내용 지금까지 배운 내용으로 "다운받은 소스"에 필요한 코드를 추가하여 앱이 동작하도록 합니다. 테스트 코드가 "다운받은 소스"에 포함되어있습니다. 추가한 코드가 테스트를 통과하는지 확인합니다. - 앱 화면 프로젝트 코드 다운로드 1. 아래 링크로..