전체 글
-
[라즈베리파이5] 홈서버에 서비스 배포 1 - git, nvm, pm2, nginx 기본 세팅📗공부기록/CS 2026. 2. 17. 01:40
나는 앞서 말했듯 이미 완성해서 다른 곳에 배포 중이었던 프로젝트를 내 서버에서 돌릴 수 있게 하는 것이 1차적인 목적이었다.프로젝트를 배포하기 위해서는 아래와 같은 작업이 필요하다.git 설치 후 프로젝트 clone프로젝트 .env 추가nvm 설치pm2 설치 및 세팅nginx 설치도메인 연결, https 세팅 docker 설치docker에 postgre SQL설치이번 포스팅에서는 6번까지만 진행할 계획이다. git우선 git 을 설치하고 ssh키를 생성 후 git hub에 등록해야 한다. github 사이트에서 프로필 > settings > ssh keys에 cat 명령어로 확인한 내용의 Authentication Key를 등록한다.sudo apt install git -ygit config --glo..
-
[라즈베리파이5] 홈서버 구축하기 5 - 보안 세팅 3단계 WireGuard 구축하기📗공부기록/CS 2026. 2. 2. 02:58
이제 정말 WireGuard를 이용해 VPN을 구축해보자.아래 명령어를 입력해서 install 해준다.sudo apt updatesudo apt install wireguard -ywg --version # 설치 확인 그리고 서버가 가지고 있을 개인키와 공개키를 생성한다.sudo -icd /etc/wireguardumask 077 # 다음 파일 나만 읽을 수 있도록 권한 설정 wg genkey | sudo tee server_private.key | sudo wg pubkey | sudo tee server_public.keyumask 022 # 파일 권한 원상복구cat server_private.key # 생성된 키 확인 명령어cat server_public.keyexit # 아래 conf 파일 편집..
-
[라즈베리파이5] 홈서버 구축하기 4 - 보안 세팅 2단계 포트포워딩과 VPN 이해하기📗공부기록/CS 2026. 1. 30. 02:53
앞서 SSH키 로그인, fail2ban, UFW 세 가지 보안 설정을 완료했다. 이제 내 서버를 외부에서 안전하게 접근할 수 있게 만들어주는 VPN을 설정할 것인데, 그 전에 이 VPN을 왜 설정하는지 잘 이해하기 위해서 포트포워딩에 대해 먼저 설명하도록 하겠다. 카페나 사무실 같이 내 서버가 위치한 네트워크와 다른 네트워크에서 서버에 접근하고 싶을 때가 있을 것이다. 딱히 원하지 않더라도 서버에 이상이 생겼거나 배포한 서비스에 문제가 생겼을 때 빠른 처리를 하기 위해서는 어디서든 접근이 가능하게 설정해 놓을 필요가 있다.지금 상태로 22번 포트에 접근이 가능한 이유는 내 서버와 작업 컴퓨터가 같은 네트워크에 있기 때문이다. 외부에서도 서버에 접근하기 위해서는 공유기 설정 페이지의 포트포워딩이라는 작..
-
[라즈베리파이5] 홈서버 구축하기 3 - 보안 세팅 1단계 SSH, Fail2Ban, UFW📗공부기록/CS 2026. 1. 20. 03:03
세상에는 악성 봇들이 수많은 서버의 문을 두드리고, 취약한 서버를 발견하면 정보 갈취, 디도스 공격, 코인채굴, 서비스 이용자에게 2차 피해 등등 여러 방면으로 악용될 수가 있다. 물론 내 작고 귀여운 라즈베리파이에는 그닥 좋은 스펙도 아니고, 딱히 중요한 정보도, 서비스 이용자도 없기 때문에 이만큼 철저히 보안을 설정하지 않아도 되겠지만, 이게 다 공부고 경험이 될 거라고 생각한다. 세팅할 보안 관련 설정은 크게 두 가지로 나뉘었다.나는 외부에서도 안전하게 내 서버에 접근할 수 있어야 한다. -> 나의 원격 접속 (SSH) → VPN과 SSH내 서비스에는 모두가 안전하게 접근할 수 있어야 한다. -> 웹 접속 (HTTP/HTTPS) → 라즈베리파이 (포트 80/443)이번 포스팅에서는 1번에 관련된 보..
-
[라즈베리파이5] 홈서버 구축하기 2 번외 - ssd readonly 이슈📗공부기록/CS 2026. 1. 14. 04:54
문제의 발단우여곡절 끝에 하드웨어 세팅도 끝났고, ssh 접속도 잘 되고, SSD도 인식이 잘 돼서 이제 도커를 먼저 깔아보려 했다.apt update 후 apt install을 통해 도커 세팅을 위한 몇 가지 패키지를 설치하려고 했다.그런데 이게 웬걸? 설치를 시도하면 몇 초 뒤에 Input/output errorRead-only file system이런 에러가 나면서 설치는커녕 아예 서버가 먹통이 되어 버려 강제 종료 후 재부팅을 해야 접속이 가능해지고, 다시 설치하려고 하면 무한 반복...AI와 원인 해결을 위해 함께 씨름을 한 결과 dd if=/dev/zero of=./test_large_file bs=1M count=100 conv=fsync외부에서 다운로드하는 install이 아닌 100메가 ..
-
[라즈베리파이5] 홈서버 구축하기 2 - OS 설치 및 고정 IP 등록📗공부기록/CS 2026. 1. 3. 00:18
우여곡절 끝에 하드웨어 조립을 마쳤으니 이제 OS를 구워서 설치하고자 했다.처음부터 SSD에 구워서 사용하면 좋겠지만 SSD를 맥북에 바로 연결할 방법이 없어서 구매한 키트에 같이 왔던 SD카드를 리더기에 꽂아서 아래와 같은 방식으로 진행했다.SD 카드에 OS 굽기 > 라즈베리파이에 부팅 > SSD로 OS 복사1. SD 카드에 OS 굽기Raspberry Pi Imager를 맥북에 설치해서 구매한 기종인 라즈베리파이5 선택,OS는 Ubuntu Server 24.04.3 LTS을 선택.호스트명과 비밀번호, 유저네임, 지역 등을 설정. User name은 ubuntu가 국룰이라고 해서 ubuntu로 지어줬다.공유기가 랜선으로 직접 연결하기 어려운 위치에 있어서 우선 와이파이를 사용하려고 와이파이 설정도 추가했..
-
[라즈베리파이5] 홈서버 구축하기 1 - 부품 구매/조립하기📗공부기록/CS 2026. 1. 1. 04:16
동기부트캠프가 끝나고도 강사님께서 서버를 계속 제공해 주셔서 강사님 서버를 계속 사용하려고 하였으나...계속되는 작은 문제들로 인해 서버가 끊기는 경우가 많았다. 취업준비를 하면서 이력서를 내고 있는데 결과물을 확인할 수 있는 사이트가 계속 끊기니 스트레스를 받아서 이렇게 된 김에 내가 직접 서버를 구축해 볼까? 하는 생각에 리눅스/네트워크 쪽 지식은 바닥임에도 불구하고 일단 즉시 라즈베리파이를 구매했다. 필요 없는것도 들어있었지만 나중에 두고두고 쓸 수 있는 것들이라 그냥 라즈베리파이5 8GB 입문 키트를 구매했고, 서버와 데이터를 빠르게 안정적으로 사용하기 위해서는 NVMe SSD가 필요해서 ssd와 ssd를 연결할 수 있는 HAT과 함께 넣을 수 있는 케이스를 추가로 구매했다. 조립식 컴퓨터조차 구..
-
[JS] BroadcastChannel API📒코드기록 2024. 3. 7. 11:35
BroadcastChannel은 브라우저 안에서의 데이터 통신을 가능하게 해주는 api로그아웃과 2차인증 세션에 BroadcastChannel을 적용하여 사용했다. 사용자가 여러 탭을 켜놓고 작업을 하다가 한 탭에서 로그아웃 혹은 2차 인증을 할 경우 세션스토리지 설정에 따라 모든 탭이 실시간으로 동기화 되도록 구현하기 위해 추가하여 프론트단에서 보안을 강화시켰다. const removePartnerAuthChannel = React.useMemo(() => new BroadcastChannel('remove-partner-auth-channel'), []); React.useLayoutEffect(() => { const partnerAuth = storage.getItem('partnerAu..