설치 가이드 · 5 min read · Nov 22, 2025

Ubuntu 22.04에 SolidInvoice 설치하는 방법

SolidInvoice는 PHP 기반의 무료, 간단하고 우아한 청구 솔루션입니다. 이는 소규모 비즈니스가 일상적인 청구 작업을 처리할 수 있도록 설계되었습니다. SolidInvoice는 통합을 위한 RESTful API를 제공하며, 문자 메시지, 이메일 또는 HipChat과 같은 다양한 알림 채널을 제공합니다.

이 가이드는 Ubuntu 22.04 서버에 SolidInvoice를 설치하는 방법을 보여줍니다. LAMP 스택으로 SolidInvoice를 설정하고 Certbot과 letsencrypt로 설치를 안전하게 보호합니다.

필수 조건

시작하기 전에 다음 사항을 확인하세요:

  • Ubuntu 22.04 서버.
  • sudo 권한이 있는 비루트 사용자.
  • 서버 IP 주소를 가리키는 도메인 이름.

의존성 설치

SolidInvoice는 PHP와 MySQL로 작성된 오픈 소스 청구 애플리케이션입니다. 이를 설치하려면 Ubuntu 시스템에 LAMP 스택을 설치해야 합니다. 이 첫 번째 단계에서는 기본 Ubuntu 리포지토리에서 LAMP 스택을 설치합니다.

아래 명령어로 Ubuntu 패키지 인덱스를 업데이트하세요.

sudo apt update

이제 아래 명령어를 사용하여 LAMP 스택(리눅스, 아파치, MySQL/MariaDB 및 PHP) 의존성을 설치합니다. 이 예제에서는 SolidInvoice 설치를 위해 기본 PHP 8.x를 사용할 것입니다.

sudo apt install apache2 mariadb-server mariadb-client php php-curl php-common php-mbstring php-json php-mysql php-opcache php-bcmath php-intl php-gd php-xml php-soap php-zip php-apcu

설치를 확인하려면 Y를 입력하세요.

install deps

설치가 완료되면 아래 명령어를 실행하여 Apache 및 MariaDB 서비스 상태를 확인하여 두 서비스가 모두 실행 중인지 확인하세요.

sudo systemctl status apache2  
sudo systemctl status mysql

Apache 또는 MariaDB가 실행 중이라면 active(running)이라는 출력이 표시됩니다.

check apache

마지막으로 아래 명령어로 PHP 버전을 확인하세요. Ubuntu 시스템에 PHP 8.x가 설치되어 있는 것을 볼 수 있습니다.

php -v

MariaDB 서버 설정

LAMP 스택을 설치한 후에는 MariaDB 서버 설치를 설정해야 합니다. 먼저 MariaDB 서버를 보호한 다음 SolidInvoice에서 사용할 새 데이터베이스와 사용자를 생성합니다.

MariaDB 서버 설치를 보호하려면 다음을 입력하세요:

sudo mariadb-secure-installation

이 과정에서 MariaDB에 대한 변경 사항을 확인하려면 Y를 입력하고, 거부하려면 N을 입력하세요. 아래는 요청받을 MariaDB 서버 구성입니다:

  • 기본 MariaDB 설치는 비밀번호 없이 제공되므로 비밀번호를 요청받으면 ENTER를 누르세요.
  • 이제 Y를 입력하여 MariaDB 루트 비밀번호를 설정하세요. 그런 다음 MariaDB의 새 비밀번호를 입력하고 비밀번호를 반복하세요.
  • MariaDB 설치에서 익명 사용자를 제거하려면 Y를 입력하세요.
  • MariaDB 루트 사용자의 원격 로그인을 비활성화하라는 요청이 있을 때 Y를 다시 입력하세요.
  • MariaDB의 기본 데이터베이스 테스트를 제거하려면 Y를 입력하세요.
  • 마지막으로 Y를 입력하여 테이블 권한을 다시 로드하고 새 변경 사항을 적용하세요.

이제 MariaDB를 보호했으므로 기본 루트 사용자로 MariaDB에 로그인하려면 다음을 입력하세요. 요청 시 MariaDB 루트 비밀번호를 입력하세요.

sudo mariadb -u root -p

로그인한 후 다음 쿼리를 실행하여 새 데이터베이스 solidinvoicedb와 사용자 solidinvoice, 비밀번호 p4ssword를 생성하세요. 이 데이터베이스 세부정보는 SolidInvoice에서 사용됩니다.

CREATE DATABASE solidinvoicedb;  
CREATE USER solidinvoice@localhost IDENTIFIED BY 'p4ssword';  
GRANT ALL PRIVILEGES ON solidinvoicedb.* TO solidinvoice@localhost;  
FLUSH PRIVILEGES;

create datbase and user

이제 아래 쿼리를 실행하여 사용자 solidinvoice의 권한을 확인하세요. 사용자 solidinvoice가 데이터베이스 solidinvoicedb에 접근할 수 있는지 확인하세요.

SHOW GRANTS FOR solidinvoice@localhost;

마지막으로 quit를 입력하여 MariaDB 서버에서 종료하세요.

check db

PHP 설정

MariaDB 서버가 보호되고 구성되었으므로 PHP 설치를 설정합니다. 이 경우 기본 PHP 구성 파일 php.ini를 수정해야 합니다.

nano 편집기를 사용하여 기본 PHP 구성 /etc/php/8.1/apache2/php.ini를 엽니다.

sudo nano /etc/php/8.1/apache2/php.ini

기본 PHP 구성을 다음과 같이 변경하고, memory_limitdate.timezone을 서버 환경에 맞게 조정하세요.

date.timezone = Europe/Amsterdam  
memory_limit=512M  
upload_max_filesize=64M  
post_max_size=120M  
max_execution_time=120

파일을 저장하고 종료하세요.

이제 아래 명령어로 Apache 서비스를 재시작하여 PHP에 대한 수정을 적용하세요.

sudo systemctl restart apache2

SolidInvoice 다운로드

이제 MariaDB와 PHP가 구성되었으므로 SolidInvoice 소스 코드를 다운로드하고 적절한 권한과 소유권으로 설치를 설정할 수 있습니다.

/var/www 디렉토리로 이동하여 wget을 사용하여 SolidInvoice 소스 코드를 다운로드하세요. SolidInvoice 릴리스 페이지를 확인하여 최신 버전을 가져오세요.

cd /var/www/  
wget https://github.com/SolidInvoice/SolidInvoice/releases/download/2.2.5/SolidInvoice-2.2.5.zip

SolidInvoice 소스 코드를 solidinvoice 디렉토리에 추출하고 소유권을 www-data 사용자로 변경하세요. 따라서 SolidInvoice 설치를 위한 DocumentRoot 또는 Web-root 디렉토리는 /var/www/solidinvoice가 됩니다.

unzip SolidInvoice-2.2.5.zip -d solidinvoice  
sudo chown -R www-data:www-data /var/www/solidinvoice

이제 아래 명령어를 실행하여 www-data 사용자가 SolidInvoice의 일부 디렉토리와 파일에 쓸 수 있는지 확인하세요.

sudo chmod u+rw /var/www/solidinvoice/app/cache  
sudo chmod u+rw /var/www/solidinvoice/app/logs  
sudo chmod u+rw /var/www/solidinvoice/var/cache  
sudo chmod u+rw /var/www/solidinvoice/var/logs
sudo chmod u+rw /var/www/solidinvoice/web/upload  
sudo chmod u+rw /var/www/solidinvoice/app/config/parameters.yml

Apache 가상 호스트 설정

SolidInvoice의 DocumentRoot 디렉토리를 구성한 후에는 설치를 실행하는 데 사용할 새 Apache 가상 호스트를 생성해야 합니다. SolidInvoice를 위한 도메인 이름을 준비했는지 확인하세요.

먼저 아래 명령어를 실행하여 Apache에서 rewrite 모듈을 활성화하세요.

sudo a2enmod rewrite

nano 편집기를 사용하여 새 Apache 가상 호스트 구성 /etc/apache2/sites-available/solidinvoice.conf를 생성하세요.

sudo nano /etc/apache2/sites-available/solidinvoice.conf

다음 구성을 삽입하고 ServerName 옵션을 대상 도메인으로 변경하세요.

  
 ServerName invoice.howtoforge.local  
 ServerAlias www.invoice.howtoforge.local  
  
 DocumentRoot /var/www/solidinvoice/public  
   
 # .htaccess 재작성 활성화  
 AllowOverride All  
 Order allow,deny  
 Allow from All  
   
  
 ErrorLog /var/log/apache2/solidinvoice.error.log  
 CustomLog /var/log/apache2/solidinvoice.access.log combined  

파일을 저장하고 편집기를 종료하세요.

이제 아래 명령어를 입력하여 가상 호스트 파일 solidinvoice.conf를 활성화하고 Apache 구문을 확인하세요. 구문이 올바르면 ‘Syntax OK‘라는 출력이 표시됩니다.

sudo a2ensite solidinvoice.conf  
sudo apachectl configtest

마지막으로 아래 명령어를 입력하여 Apache를 재시작하고 새 가상 호스트 파일 solidinvoice.conf를 적용하세요. 실행 후 SolidInvoice가 실행되어야 합니다.

sudo systemctl restart apache2

setup apache

HTTPS로 SolidInvoice 보호하기

이 예제에서는 Certbot과 letsencrypt를 통해 SolidInvoice를 SSL/TLS 인증서로 보호합니다. 이제 Certbot을 설치하고 SolidInvoice 도메인 이름에 대한 SSL/TLS 인증서를 생성합니다.

먼저 아래 명령어로 Certbot과 Certbot Apache 플러그인을 설치하세요. 설치를 확인하려면 Y를 입력하세요.

sudo apt install certbot python3-certbot-apache

설치가 완료되면 아래 certbot 명령어를 사용하여 SSL/TLS 인증서를 생성하세요. 도메인 이름과 이메일 주소 정보를 귀하의 정보로 변경하세요.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d howtoforge.local

프로세스가 완료되면 SSL/TLS 인증서는 /etc/letsencrypt/live/domain.com 디렉토리에 있어야 합니다. 또한 SolidInvoice 설치는 자동으로 HTTPS로 보호되어야 합니다.

SolidInvoice 설치

웹 브라우저를 열고 https://invoice.howtoforge.local/와 같은 도메인 이름을 방문하세요. 시스템 요구 사항 확인에서 모든 것이 OK인지 확인한 후 다음을 클릭하여 확인하세요.

requirements

데이터베이스 드라이버를 MySQL로 선택하고 SolidInvoice에 대한 MariaDB 데이터베이스 및 사용자 세부정보를 입력하세요. 완료되면 다시 다음을 클릭하세요.

db configuration

이제 SolidInvoice의 데이터베이스 스키마가 생성되었음을 볼 수 있으며, 다음을 클릭하여 계속하세요.

db migrations

시스템 설정에서 기본 로케일을 영어로 선택하고 관리자 사용자, 이메일 및 비밀번호 세부정보를 입력하세요. 그런 다음 다시 다음을 클릭하여 확인하세요.

setup admin

설치가 완료되면 ‘SolidInvoice를 성공적으로 설치했습니다!‘라는 출력과 크론 작업을 생성하기 위한 추가 지침이 표시됩니다.

installation finished

서버 터미널로 돌아가서 아래 명령어로 www-data 사용자에 대한 새 크론 작업을 생성하세요.

sudo crontab -u www-data -e

페이지에서 크론탭 스크립트를 붙여넣고 파일을 저장하고 닫으세요.

* * * * * php /var/www/solidinvoice/bin/console cron:run -e prod -n

웹 브라우저로 돌아가서 로그인을 클릭하세요.

login

이제 회사 이름과 기본 통화를 생성하라는 요청을 받게 됩니다. 생성을 클릭하여 확인하세요.

create orgz

모든 것이 잘 진행되면 다음과 같은 SolidInvoice 대시보드를 볼 수 있습니다.

dashboard

결론

축하합니다! Ubuntu 22.04 서버에 SolidInvoice를 설치했습니다. LAMP 스택(Apache, MySQL/MariaDB 및 PHP)에서 SolidInvoice가 실행되고 HTTPS를 통해 설치를 안전하게 보호했습니다. 이제 SolidInvoice에 SMTP 서버와 같은 새로운 구성 요소를 추가하고 사용할 수 있습니다.

Share: X/Twitter LinkedIn

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

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