설치 가이드 · 4 min read · Dec 09, 2025

FreeBSD 12에서 Nginx로 InvoicePlane 설치하는 방법

InvoicePlane은 무료 오픈 소스 청구 애플리케이션입니다. 이 튜토리얼에서는 FreeBSD 12 시스템에 InvoicePlane을 설치하는 방법을 보여줍니다.

요구 사항

  • 웹 서버 (Apache, NGINX). 이 튜토리얼에서는 Nginx를 사용합니다.
  • MySQL 버전 5.5 이상 또는 동등한 버전의 MariaDB.
  • PHP 버전 7.0, 7.1 또는 7.2와 다음 PHP 확장이 설치되고 활성화되어 있어야 합니다:
    • php-gd
    • php-hash
    • php-json
    • php-mbstring
    • php-mcrypt
    • php-mysqli
    • php-openssl
    • php-recode
    • php-xmlrpc
    • php-zlib

전제 조건

  • FreeBSD 12를 실행하는 서버.
  • sudo 권한이 있는 비루트 사용자.

초기 단계

FreeBSD 버전을 확인하세요:

uname -ro  
# FreeBSD 12.1-RELEASE

시간대를 설정하세요:

tzsetup

운영 체제 패키지(소프트웨어)를 업데이트하세요. 이는 운영 체제의 기본 소프트웨어 패키지에 대한 최신 업데이트 및 보안 수정을 보장하기 때문에 중요한 첫 번째 단계입니다:

freebsd-update fetch install  
pkg update && pkg upgrade -y

FreeBSD 12.0 운영 체제의 기본 관리를 위해 필요한 몇 가지 필수 패키지를 설치하세요:

pkg install -y sudo vim unzip wget bash

1단계 - PHP 및 필요한 PHP 확장 설치

InvoicePlane 웹 애플리케이션은 PHP 버전 7.0 이상이 필요합니다.

PHP와 필요한 PHP 확장을 설치하세요:

sudo pkg install -y php72 php72-ctype php72-curl php72-dom php72-hash php72-iconv php72-gd php72-json php72-mbstring php72-openssl php72-session php72-simplexml php72-xml php72-zip php72-zlib php72-pdo php72-pdo_mysql php72-mysqli php72-filter php72-ftp php72-tokenizer php72-calendar php72-pecl-APCu php72-opcache

PHP 버전을 확인하세요:

php --version  
  
# PHP 7.2.7 (cli) (built: Jul 25 2019 01:28:53) ( NTS )  
# Copyright (c) 1997-2018 The PHP Group  
# Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies  
# with Zend OPcache v7.3.7, Copyright (c) 1999-2018, by Zend Technologies

PHP-FPM 서비스를 활성화하고 시작하세요:

sudo sysrc php_fpm_enable=yes  
sudo service php-fpm start

2단계 - MySQL 설치

MySQL 데이터베이스 서버를 설치하세요:

sudo pkg install -y mysql57-server

MySQL 버전을 확인하세요:

mysql --version  
# mysql  Ver 14.14 Distrib 5.7.26, for FreeBSD12.0 (amd64) using  EditLine wrapper

MySQL 서비스를 활성화하고 시작하세요:

sudo sysrc mysql_enable="yes"  
sudo service mysql-server start

MySQL 보안을 개선하고 MySQL root 사용자에 대한 비밀번호를 설정하기 위해 mysql_secure_installation 스크립트를 실행하세요:

sudo mysql_secure_installation

각 질문에 답하세요:

Would you like to setup VALIDATE PASSWORD plugin? N  
New password: your_secure_password  
Re-enter new password: your_secure_password  
Remove anonymous users? [Y/n] Y  
Disallow root login remotely? [Y/n] Y  
Remove test database and access to it? [Y/n] Y  
Reload privilege tables now? [Y/n] Y

root 사용자로 MySQL 셸에 연결하세요:

sudo mysql -u root -p  
# Enter password  

Matomo를 위한 빈 MySQL 데이터베이스와 사용자를 생성하고 자격 증명을 기억하세요:

CREATE DATABASE dbname;  
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';  
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';  
FLUSH PRIVILEGES;

MySQL에서 나가세요:

exit

dbname, usernamepassword를 자신의 이름으로 바꾸세요.

3단계 - acme.sh 클라이언트 설치 및 Let’s Encrypt 인증서 받기 (선택 사항)

HTTPS로 웹사이트를 보호하는 것은 필수는 아니지만 사이트 트래픽을 보호하는 좋은 방법입니다. Let’s Encrypt에서 TLS 인증서를 받기 위해 Acme.sh 클라이언트를 사용할 것입니다. Acme.sh는 종속성이 없는 Let’s Encrypt에서 TLS 인증서를 받기 위한 순수 UNIX 셸 소프트웨어입니다. 

Acme.sh를 다운로드하고 설치하세요:

sudo pkg install -y acme.sh

Acme.sh 버전을 확인하세요:

acme.sh --version  
# v2.8.2

도메인/호스트 이름에 대한 RSAECC/ECDSA 인증서를 받으세요:

# RSA  
sudo acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048  
# ECDSA  
sudo acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256

위의 명령을 실행한 후, 인증서는 다음 위치에 있습니다:

  • RSA: /etc/letsencrypt/example.com 디렉토리.
  • ECC/ECDSA: /etc/letsencrypt/example.com_ecc 디렉토리.

3단계 - NGINX 설치

NGINX 웹 서버를 설치하세요:

sudo pkg install -y nginx

NGINX 버전을 확인하세요:

nginx -v  
# nginx version: nginx/1.14.2

NGINX 서비스를 시작하고 활성화하세요:

sudo sysrc nginx_enable=yes  
sudo service nginx start

InvoicePlane을 위한 Nginx를 구성하려면 다음을 실행하세요:

sudo vim /usr/local/etc/nginx/invoiceplane.conf

그리고 다음 구성으로 파일을 채우세요:

server {
    listen 80;
    listen [::]:80;

    server_name example.com;

    root /usr/local/www/invoiceplane;

    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~* \.php$ {  
      fastcgi_pass 127.0.0.1:9000;  
      include fastcgi_params;  
      fastcgi_index index.php5;  
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
    }
}

NGINX 구성을 테스트하세요:

sudo nginx -t

NGINX를 다시 로드하세요:

sudo service nginx restart

4단계 - InvoicePlane 설치

InvoicePlane의 최신 안정 버전을 다운로드하고 아카이브를 추출하세요:

sudo mkdir -p /usr/local/www  
cd /usr/local/www  
sudo curl -O -J -L https://invoiceplane.com/download/v1.5.9  
sudo unzip v1.5.9.zip  
sudo rm v1.5.9.zip  
sudo mv ip invoiceplane

/var/www/invoiceplane 디렉토리로 이동하세요:

cd /usr/local/www/invoiceplane

ipconfig.php.example 파일의 복사본을 만들고 복사본의 이름을 ipconfig.php로 바꾸세요:

sudo cp ipconfig.php.example ipconfig.php

ipconfig.php 파일을 열고 URL을 추가하세요:

sudo vim ipconfig.php  
# Something like this  
IP_URL=http://example.com

/usr/local/www/invoiceplane 디렉토리의 소유권을 www:로 변경하세요:

sudo chown -R www:www /usr/local/www/invoiceplane

sudo vim /etc/php.ini를 실행하고 date.timezone:을 설정하세요:

date.timezone = Region/City

PHP-FPM 서비스를 재시작하세요:

sudo service php-fpm restart

웹 브라우저에서 InvoicePlane 설치 프로그램을 실행하고 지침을 따르세요:

http://example.com/index.php/setup

설치가 완료되면 설치 중 선택한 이메일 주소와 비밀번호로 InvoicePlane에 로그인할 수 있습니다.

설치를 보호하려면 설정을 비활성화할 수 있습니다. 그렇게 하려면 ipconfig.php 파일에서 DISABLE_SETUP=false 줄을 DISABLE_SETUP=true로 바꾸세요.

5단계 - InvoicePlane 설정 완료

InvoicePlane이 이제 설치되고 구성되었습니다. 웹 설치 마법사에 접근할 시간입니다.

웹 브라우저를 열고 URL http://example.com을 입력하세요. 다음 페이지로 리디렉션됩니다:

InvoicePlane 웹 설치 프로그램

이제 Setup 버튼을 클릭하세요. 다음 페이지가 표시됩니다:

언어 선택

다음으로 언어를 선택하고 Continue 버튼을 클릭하세요. 다음 페이지가 표시됩니다:

시스템 요구 사항 확인

다음으로 Continue 버튼을 클릭하세요. 다음 페이지가 표시됩니다:

데이터베이스 세부정보

여기에서 데이터베이스 세부정보를 제공하고 Try Again 버튼을 클릭하세요. 다음 페이지가 표시됩니다:

데이터베이스 연결 성공

이제 Continue 버튼을 클릭하세요. 다음 페이지가 표시됩니다:

사용자 계정 생성

이제 Continue 버튼을 클릭하세요. 다음 페이지가 표시됩니다:

InvoicePlane 설치 완료

이제 모든 필수 세부정보를 제공한 후 Continue 버튼을 클릭하세요. 설치가 완료되면 다음 페이지가 표시됩니다:

InvoicePlane에 로그인

이제 Login 버튼을 클릭하여 InvoicePlane 관리에 접근하세요.

링크

Share: X/Twitter LinkedIn

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

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