소프트웨어 설치 · 4 min read · Sep 08, 2025

Debian 12 서버에 Actual 예산 소프트웨어 설치하는 방법

Actual Budget는 개인 정보 보호에 중점을 둔 오픈 소스 재무 관리 소프트웨어로, “봉투 스타일 예산” 위에 구축되었습니다. Actual은 Node.js로 작성되었으며, 로컬에 신속하게 설치할 수 있습니다. 여러 장치 간 동기화를 지원하며 선택적으로 종단 간 암호화를 제공합니다.

이 튜토리얼에서는 Debian 12 서버에 Actual 예산 시스템을 설치하는 방법을 보여줍니다. Nginx를 리버스 프록시로 사용하여 Actual을 설치하고, Certbot과 Letsencrypt를 통해 HTTPS로 보안합니다.

전제 조건

이 튜토리얼을 시작하기 전에 다음을 확인하세요:

  • Debian 12 서버
  • 관리자 권한이 있는 비루트 사용자
  • 서버 IP 주소를 가리키는 도메인 이름

Node.js 및 Yarn 설치

Actual을 설치하기 전에 시스템에 Node.js, Git 및 Yarn 패키지 관리자가 설치되어 있는지 확인해야 합니다. 현재 Actual은 Node v18 이상이 필요하며, 이는 공식 Debian 저장소에서 설치할 수 있습니다.

먼저, 아래의 ‘ apt ‘ 명령어를 실행하여 Debian 패키지 인덱스를 업데이트하고 Node.js, NPM 및 Git과 같은 기본 패키지를 설치합니다. 설치를 확인하려면 ‘ Y ‘를 입력하세요.

sudo apt update  
sudo apt install nodejs npm git

nodejs 및 npm 설치

설치가 완료되면 아래의 ‘ npm ‘ 명령어를 사용하여 Yarn 패키지 관리자를 설치합니다. 이 예제에서는 Yarn을 전역 또는 시스템 전체에 설치합니다.

npm install --global yarn

완료되면 아래의 명령어로 Node.js 및 Yarn 버전을 확인합니다.

node --version  
yarn --version

아래 출력에서 Node.js 18 및 Yarn 1.22가 설치된 것을 확인할 수 있습니다.

yarn 확인

Actual 예산 소스 코드 다운로드

종속성이 설치된 후, Actual 소스 코드를 다운로드하고 Yarn을 통해 종속성을 설치하며, ‘config.json’ 파일로 Actual을 구성한 다음 명령줄을 통해 Actual을 실행할 준비가 되었습니다. 또한, 시스템에서 Actual을 설치하고 실행할 전용 사용자가 필요합니다.

아래의 명령어로 사용자로 로그인합니다.

su - username

아래의 ‘ git ‘ 명령어로 Actual Budget 소스 코드를 다운로드합니다.

git clone https://github.com/actualbudget/actual-server.git

actual-server 다운로드

actual-server ‘ 디렉토리로 이동하고 아래의 ‘ yarn ‘ 명령어로 JavaScript 종속성을 설치합니다.

cd actual-server  
yarn install

아래에서 Yarn 패키지 관리자를 통해 JavaScript 종속성이 설치되는 것을 볼 수 있습니다.

deps 설치

설치가 완료되면 ‘ nano ‘ 편집기를 사용하여 새 파일 ‘ config.json ‘을 만듭니다.

nano config.json

기본 포트 5006에서 로컬 IP 주소로 Actual을 실행하기 위해 아래 구성을 삽입합니다.

{  
 "hostname": "127.0.0.1",  
 "port": 5006  
}

파일을 저장하고 편집기를 종료합니다.

마지막으로, 아래의 ‘ yarn start ‘ 명령어를 실행하여 Actual 소프트웨어를 시작합니다. 이는 애플리케이션에서 사용할 로컬호스트 또는 ‘ 127.0.0.1 ‘ 주소의 포트 5006을 엽니다.

yarn start

프로세스를 종료하려면 Ctrl+c를 누릅니다.

yarn 시작

Actual을 Systemd 서비스로 백그라운드에서 실행

이제 Actual을 설치하고 구성했으므로, Actual을 백그라운드에서 systemd 서비스로 실행하기 위한 새로운 systemd 서비스 파일을 생성해 보겠습니다.

아래의 ‘ nano ‘ 편집기를 사용하여 새로운 systemd 서비스 파일 ‘ /etc/systemd/system/actual.service ‘을 만듭니다.

sudo nano /etc/systemd/system/actual.service

Actual을 백그라운드에서 systemd 서비스로 실행하기 위해 아래 구성을 삽입합니다. 기본 ‘ User ‘ 및 ‘ Group ‘을 사용자 이름으로 변경하고, ‘ WorkingDirectory ‘를 적절한 경로로 변경해야 합니다.

[Unit]  
Description=Actual-Server (https://actualbudget.org)  
After=network.target  
  
[Service]  
User=flash  
Group=flash  
WorkingDirectory=/home/flash/actual-server/  
ExecStart=/usr/local/bin/yarn start  
Restart=on-watchdog  
  
[Install]  
WantedBy=multi-user.target

작업이 완료되면 파일을 저장하고 편집기를 종료합니다.

이제 아래의 ‘ systemctl ‘ 명령어를 실행하여 systemd 관리자를 다시 로드하고 변경 사항을 적용합니다.

sudo systemctl daemon-reload

그런 다음, 아래의 명령어를 사용하여 ‘ actual.service ‘를 시작하고 활성화합니다. 이는 ‘ actual.service ‘를 백그라운드에서 시작하고 시스템 부팅 시 자동으로 실행되도록 설정합니다.

sudo systemctl enable --now actual.service

서비스 활성화

아래의 명령어로 ‘ actual.service ‘ 상태를 확인합니다. ‘ actual.service ‘가 실행 중이며 시스템에서 활성화되어 있는 것을 확인할 수 있습니다.

sudo systemctl status actual.service

actual 서비스 확인

Nginx를 리버스 프록시로 설정

이 시점에서 Actual은 백그라운드에서 systemd 서비스로 실행되고 있습니다. 이 섹션에서는 Nginx를 설치하고 Actual의 리버스 프록시로 구성합니다. 그 후, Certbot과 Letsencrypt를 통해 Actual 배포를 위한 SSL 인증서를 생성합니다.

먼저, 아래의 ‘ apt ‘ 명령어를 실행하여 Nginx, Certbot 및 Python3 Certbot Nginx 플러그인을 설치합니다. 설치를 진행하려면 ‘ Y ‘를 입력하세요.

sudo apt install nginx certbot python3-certbot-nginx -y

nginx certbot 설치

설치가 완료되면 아래의 ‘ nano ‘ 편집기를 사용하여 새로운 Nginx 서버 블록 파일 ‘ /etc/nginx/sites-available/actual-budget ‘을 만듭니다.

sudo nano /etc/nginx/sites-available/actual-budget

아래 구성을 삽입하고 ‘ server_name ‘ 매개변수를 도메인 이름으로 변경해야 합니다.

server {  
listen 80;  
server_name budget.howtoforge.local;  
  
location / {  
include /config/nginx/proxy.conf;  
include /config/nginx/resolver.conf;  
  
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
proxy_set_header Host $host;  
  
set $upstream_app 127.0.0.1;  
set $upstream_port 5006;  
set $upstream_proto http;  
proxy_pass $upstream_proto://$upstream_app:$upstream_port;  
}  
}

작업이 완료되면 파일을 저장하고 편집기를 종료합니다.

이제 아래의 명령어를 실행하여 ‘ actual-budget ‘ 서버 블록을 활성화하고 Nginx 구성을 확인합니다. 오류가 없으면 ‘ syntax is ok - test is successful ‘와 같은 출력을 받게 됩니다.

sudo ln -s /etc/nginx/sites-available/actual-budget /etc/nginx/sites-enabled/  
sudo nginx -t

nginx 설정

다음으로, 아래의 명령어를 실행하여 Nginx 서비스를 재시작하고 상태를 확인합니다. Nginx 웹 서버가 실행 중인지 확인하세요.

sudo systemctl restart nginx  
sudo systemctl status nginx

nginx 확인

마지막으로, 아래의 ‘ certbot ‘ 명령어를 실행하여 SSL 인증서를 생성하고 Actual 소프트웨어 설치를 보안합니다. 아래 명령어에서 도메인 이름과 이메일 주소를 변경해야 합니다.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email <[email protected]> -d budget.howtoforge.local

프로세스가 완료되면, Actual 설치가 Certbot과 Letsencrypt를 통해 HTTPS로 보안됩니다. SSL 인증서는 ‘ /etc/letsencrypt/live/domain.com ‘ 디렉토리에 있으며, HTTPS는 서버 블록 파일에서 자동으로 활성화됩니다.

웹 브라우저를 통한 Actual Budget 접근

Actual 설치의 도메인 이름인 https://budget.howtoforge.local에 방문합니다. 성공하면 Actual에 대한 환영 메시지가 표시되며 비밀번호 설정을 요청받습니다.

새 비밀번호를 입력하고 반복한 후 ‘ OK ‘를 클릭합니다.

비밀번호 설정

비밀번호가 구성되면 Actual 대시보드에 로그인하기 위해 비밀번호를 입력합니다.

로그인

처음에는 데모 데이터 보기 또는 새로 시작을 요청받습니다.

Actual에 익숙하다면 ‘ 새로 시작 ‘을 클릭할 수 있지만, Actual이 처음이라면 ‘ 데모 보기 ‘를 클릭하여 Actual의 기본 사용법을 익힐 수 있습니다.

데이터 보기

아래는 Actual 예산 시스템의 데모 데이터 예시입니다.

Actual 대시보드

결론

축하합니다! Debian 12 서버에 개인 정보 보호에 중점을 둔 재무 소프트웨어인 Actual 설치를 완료했습니다. Actual은 백그라운드에서 systemd 서비스로 실행되고 있으며, Nginx 리버스 프록시 위에서 실행되고 있습니다. 또한, Certbot과 Letsencrypt를 통해 Actual을 HTTPS로 보안했습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.