홈서버 만들기 (7) 썸네일형 리스트형 [홈서버 만들기 - 6] 미니 PC 도커 설치 및 CI/CD 구축 1. 서론VPN 설정까지 마쳤으니 이제 실제 개발 환경을 구축하려고 한다.미니 PC에 도커 설치, 배포용 사용자 계정 생성, Github 리포지토리 생성, Github Action 설정 등의 행위를 했는데 그중 중요한 것만 기록하려고 한다. 2. Github Action 설정Github Action은 push가 일어났을 때 자동으로 배포를 할 수 있도록 돕는 툴이다. SSH로 서버에 접속해서 미리 입력한 명령어를 수행한다고 생각하면 된다. 아래와 같이 deploy.yml 파일을 만들 수 있다.# deploy.ymlname: Deploy to Mini PCon: push: branches: - main # main 브랜치에 푸시할 때 실행jobs: deploy: runs-on: u.. [홈서버 만들기 - 5] VPN 서버 구축 1. 서론나의 앱 서버를 외부에 노출시키게 되면 보안상의 문제로 원치 않는 정보를 탈취당할 수 있다. 따라서 VPN 서버만을 외부에 노출하고, 인가된 사용자만 내부 리소스에 접근할 수 있도록 설정할 수 있다. 대략 과정은 아래와 같다. 단말(휴대폰) ↔ VPN 서버 ↔ 앱 서버 ↔ DB 서버 2. DDNS 설정하지만 위에서 생략된 부분이 있다. 바로 공유기에 의해 외부망과 내부망으로 나뉜다는 점이다. 따라서 정확히 다시 그리면 다음과 같다. 단말(휴대폰) ↔ VPN 서버로 포트포워딩된 공인 IP ↔ 공유기 ↔ VPN 서버 ↔ 앱 서버 ↔ DB 서버 여기서 문제가 되는 점은, 공인 IP는 유동적으로 변한다는 것이다. 따라서 단말에서 매번 IP 설정을 바꿔줘야 하는 번거로움이 있다. 다행히도 iptime에서.. [홈서버 만들기 - 4] Linux 설치 후 원격 접속하기 1. 서론N100 미니 PC가 드디어 배송되었다. Windows 11이 이미 깔려있지만 Ubuntu를 새로 설치하려고 한다. ※ Linux와 Ubuntu의 차이Linux는 오픈소스 기반의 운영체제이고, 이를 활용해 다양한 배포판이 개발되어있다. Ubuntu는 가장 인기가 많은 배포판 중 하나이고, 외에도 CentOS, Debian 등이 있다. 운영체제 설치 순서는 다음과 같다.Ubuntu ISO 파일 다운로드부팅 가능한 USB 만들기USB로 리눅스 설치설치 후 설정 2. Ubuntu 설치파일 다운로드https://ubuntu.com/download https://ubuntu.com/download ubuntu.comUbuntu는 위 링크에서 다운받을 수 있다. Ubuntu Desktop과 Ubuntu S.. GMKtec N100 미니 PC 언박싱 홈서버 구축을 위해 구매한 미니 PC가 드디어 배송되었다! 예정일보다 하루 일찍 도착했으니 아주 만족이다. 가장 외곽은 비닐로 싸여 있었고, 제거하고 나니 아래와 같은 박스가 나왔다. 박스 외관에 찌그러짐이 살짝 있지만 내부는 전혀 문제가 없었다. 구성품으로는 미니 PC, HDMI 케이블, 전원 케이블 등이 있었다. 모니터 연결해서 전원도 켜보았다. Windows 11이 이미 깔려있고 언어, 지역 등 몇 가지 설정을 해주면 재부팅된다. 잘 작동하는 걸 확인할 수 있다. 어차피 서버용이라 다 밀고 리눅스 설치할 거라 조금 아깝긴 하다. 앞으로 이 PC로 서버 돌릴 생각에 기대가 된다ㅎㅎ [홈서버 만들기 - 3] 클라이언트 앱 만들기 1. 서론애자일 방법론 관련해서 유명한 그림이 있다. 이번 프로젝트에 애자일을 적용해보자! 이런 건 아니지만 기능하는 최소 단위를 만들어서 서버가 잘 작동하는 걸 확인하고 싶었다. 그래서 클릭을 할 때마다 서버에 요청을 보내서 DB 저장된 값을 1 더하고, 이걸 응답받아 처리하는 앱을 만들 것이다. 2. 안드로이드 스튜디오로 앱 만들기개발 툴은 갤럭시 유저이므로 안드로이드 스튜디오를 사용하기로 했다. 1) 안드로이드 스튜디오 다운로드https://developer.android.com/studio?hl=ko Android 스튜디오 및 앱 도구 다운로드 - Android 개발자 | Android Studio | Android DevelopersAndroid Studio provides app bui.. [홈서버 만들기 - 2] 아키텍처 설계 1. 서론이번 프로젝트에서 내게 맞춤형으로 편리한 서비스를 종합적으로 제공하는 휴대폰 앱을 만드려고 한다. 예를 들면 아침에 자주 타는 버스 도착 시간을 알림으로 띄워주는 식이다. 이를 위해서는 휴대폰에 클라이언트 앱이 설치되어야 하고 서버가 있어야 한다. 2. 아키텍처구상해본 구조는 다음과 같다. 보안을 위해 앱서버 포트를 외부에 직접 노출시키지 않고 VPN 서버를 통해서만 접속 가능하도록 설계했다. 앱 화면을 클릭했을 때 서버에 요청을 보내고 처리되어 화면에 보이는 과정은 다음과 같다. 통신 과정1) OpenVPN 앱을 통해서 VPN 서버에 연결한다. 공유기 DDNS를 사용하면 IP 대신 주소로 접속할 수 있다.2) VPN 서버에 연결되면 내부망에 있는 것처럼 간주되므로, 앱서버 내부망 IP로 직접 .. [홈서버 만들기 - 1] 장비 구매 1. 서론엔지니어로서 이거저거 만들어보는 걸 좋아하는데, 나만을 위한 앱서비스를 하나 만들고 싶었다.그러기 위해 서버가 필요한데 요즘에는 AWS 클라우드 서비스가 워낙 잘 되어있고, 회사 취업에도 도움이 될 것 같다. 그렇지만 그건 낭만이 없잖아! 홈서버 장점- 집에 서버가 있으니 유사시 대응이 빠르다.- 저전력 CPU 사용 시 AWS보다 유지비용이 적다.- 재미있을 것 같다! (가장 중요) 홈서버 단점- 직접 운영체제 설치부터 포트 관리까지 모든 걸 진행해야 한다.- 보안에 신경써야 한다. 하지만 하고 싶다는 거 하나로 이유는 충분했다ㅎㅎ 2. 장비 구매처음에는 라즈베리파이로 진행하려고 했다. 그렇지만 조사하다보니 코로나 이후로 라즈베리파이 가격이 높게 형성되었다는 얘기도 있고, 이제는 미니 PC가 더.. 이전 1 다음