2025/01 9

[Network] Apache ProxyPass 이미지 경로 설정하기

설정 파일엔 예외 처리 설정이지만.. 일단 해당 경로로 들어올 경우 프록시 패스에서 로컬 경로로 잡아줄 수 있기 때문에 설정이라고 적어는 놨다.  현재 리소스는 라즈베리파이에 마운트된 하드디스크에 저장하고 있다. 이전 프로젝트를 진행할 때는 항상 SSR 방식으로 진행했기에 습관처럼 WebConfig를 통해 접근했으나 CSR은 외부에서 바로 접근하는 것이다보니 어떻게 해야할지 잘 몰랐었다.  그래도 Chat GPT한테 이것저것 물으면서 정보를 얻으니 방법이 있었다. 신기했다! Apache에 더 많은 관심이 생길 것 같다. /etc/apache2/sites-available 디렉토리에서 000-default-le-ssl.conf 파일을 수정한다.(선수 작업으로 SSL 인증서 발급을 했었기에 ssl.conf에..

Network/NetWork 2025.01.29

[Spring] Swagger UI 초기 세팅

작업 환경STS4Spring Framework 6.x ...Spring Web 3.x ...+ API 서버는 현재 라즈베리파이 내부에 docker 컨테이너로 띄워져있는 상태   KDT 이후로 스웨거 세팅이 처음이라 오랜만이였다.세팅하게 된 계기는 심심해서 개인 프로젝트 만들 때 마다 MVC로 하다보니 xml 작성도 귀찮고..회사에서 API 서버 쓰는 거 보니까 나도 하나 만들면 좋겠다 싶어서 만들어놓고나서 보니 문서화가 안되어 있어서 보기 어려웠다.그래서 간단하게 적용 방법만 메모용으로 남긴다.   1. build.gradleimplementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.7.0' [참고] spring boot 3.x는 spring..

Spring 2025.01.26

[Spring] Rest API ExceptionHandler

Rest API 서버 만들면서 예외 처리에 대한 부분이 필요했다. 설명은 없고 메모용이라 간략간략하게 확인만 하자. 필자는 STS4(Spring Tool Suite 4)에서 진행한다. 패키지 구조는 아래와 같다.  @Getter@AllArgsConstructorpublic enum ApiStatus { SUCCESS(200, "요청이 성공적으로 완료되었습니다."), CREATED(201, "리소스가 성공적으로 생성되었습니다."), BAD_REQUEST(400, "요청이 유효하지 않습니다."), UNAUTHORIZED(401, "권한이 확인되지 않았습니다."), FORBIDDEN(403, "접근이 거부되었습니다."), NOT_FOUND(404, "요청한 리소스를 찾을 수 없..

Spring 2025.01.19

[Linux] 파일/디렉터리 권한 변경하기

chmod 700 #{파일/디렉터리명} chmod는 파일 혹은 디렉터리의 권한 변경을 도와주는 명령어다. 더 자세한 내용은 chmod에 관한 포스팅을 알아서 읽어보자. 참고로 700은 소유자 빼곤 다 접근 불가능이다. chown #{계정명}:#{그룹명} #{디렉터리명}  깔끔하네~ 이후 FTP 프로그램(file zilla)으로 테스트해보니 해당 계정 빼곤 permission denied 에러가 뜨면서 접근이 불가능한 것을 확인했다. 생각지도 못했었는데 docker-compose up -d --build 때릴 때 권한 문제 때문에 에러 뜬다.요령 껏 바꿔주는 게 좋겠다.나같은 경우에는 chmod 명령어로 그룹까지는 rwx 가능하게 변경해놓고 그룹을 chown 명령어로 docker build용 계정이랑 배포..

Network/Linux 2025.01.19

[Raspberry Pi 5] Prometheus 시각화를 위한 Grafana 설치 및 연동

1. Grafana Image 설치docker pull grafana/grafana2. Grafana Docker 실행docker run -d --name=grafana -p 3000:3000 grafana/grafana3. Prometheus 연동 나는 외부에서도 접속할 수 있게 포트 포워딩 했으므로 공인 IP:3000으로 접속하였다. 만약 컴퓨터에서 가상 머신으로 설치했다면 포트 번호 앞에 localhost, 127.0.0.1로 접속이 가능 할 것이며 라즈베리파이와 같은 미니 PC를 사용해 네트워크를 따로 두고 있다면 해당 사설 IP:3000으로 접속이 가능 할 것이다. 나는 포트 포워딩 할 때 공인 IP:3000으로 접근할 경우 외부 포트 : 3000, 내부 포트 : 3000(3000은 Grafan..

[Raspberry Pi 5] Docker를 이용한 Prometheus 설치

그렇다고 한다.. 궁금해져서 설치만 해보고 자야겠다. 1. Prometheus 이미지 설치docker pull prom/prometheus2. node_exporter 이미지 설치(시스템 메트릭을 제공하는 도구)docker pull prom/node-exporter3. Prometheus 설정 파일 생성nano prometheus.yml global: scrape_interval: 15sscrape_configs: - job_name: 'RASPBERRY_PI' static_configs: - targets: ['192.168.0.48:9100'] 15초마다 192.168.0.48:9100에서 node_exporter가 제공하는 메트릭을 수집하며 작업 이름은 ‘RASPBERRY_PI’ ..

[Raspberry Pi 5] 운영(배포) 서버에 파일 업로드 시 하드디스크 경로에 업로드하기

해당 포스팅 참고하기 전에 생각해보자.쥔장은 굳이굳이 root 계정을 SFTP로 접근할 수 있게 끔 만들어놓고 File Zilla로 파일을 옮겼다.해당 포스팅을 작성한 후 생각해보니 Volume 폴더를 'cp' 명령어로 복사한 후 하드디스크 마운트한 폴더 내에 'mv' 명령어로 이동 후 이름만 변경하면 쉽게 해결될 수 있는 문제였다!다만 열심히 글을 작성한 후 깨달았다!이 글을 읽기 전에 정말로 이렇게 해야하는지 생각해보자!나는 이미 했기 때문에..그리고 글을 정말 정성스럽게 적었기 때문에 삭제하진 않겠다. 이걸 운영 서버라고 하나.. 배포 서버라고 하나.. 회사에선 실서버, 운영 서버라고 얘기하는데 집에서 사이드 프로젝트 배포하는 서버를 운영 서버라고 하기엔 너무 거창해서 쩝.. 여튼 개발 서버는 Wi..

[Raspberry Pi 5] '파일 탐색기(내 PC)'에 마운트한 하드디스크 추가하기

[Raspberry Pi 5] 라즈베리파이5 하드디스크 마운트공부할 겸 클라우드 안쓰고 내 꺼 쓰려고 9월 초에 라즈베리파이5 사면서 하드디스크 1TB도 중고로 샀었다. 라즈베리파이에 하드디스크 붙이는 건 이제서야..(무려 3개월이 지난…..)  라즈베리mytilblog.tistory.com [Raspberry Pi 5] 마운트한 하드디스크 Windows 파일 탐색기로 접속하기(+ Samba)1. Samba 설치apt install samba samba-common-bin2. 설정 파일 수정nano /etc/samba/smb.conf  [hdd]path = /hddread only = nowriteable = yesbrowseable = yescreate mask = 0755directory mask =..

[Raspberry Pi 5] 마운트한 하드디스크 Windows 파일 탐색기로 접속하기(+ Samba)

1. Samba 설치apt install samba samba-common-bin2. 설정 파일 수정nano /etc/samba/smb.conf  [hdd]path = /hddread only = nowriteable = yesbrowseable = yescreate mask = 0755directory mask = 0755guest ok = novalid users = root, jy [hdd] : 네트워크에서 보여질 이름path : samba가 공유할 디렉토리 경로writeable = yes : 쓰기 권한 허용 여부read only = no : 읽기 전용 해제 및 쓰기 허용browseable = yes : 네트워크에서 이 공유가 보이게 설정guest ok = no : 인증된 사용자만 접근 허용vali..