FreeBSD 12에서 Nginx와 함께 InvoicePlane을 설치하는 방법
이 페이지에서
- 요구 사항\n
- 전제 조건
- 초기 단계
- 1단계 - PHP 및 필요한 PHP 확장 프로그램 설치\n
- 2단계 - MySQL 설치
- 3단계 - acme.shbclient 설치 및 Lets Encrypt 인증서 획득(선택 사항)\n
- 3단계 - NGINX 설치
- 4단계 - InvoicePlane 설치
- 5단계 - InvoicePlane 설정 완료
- 링크
InvoicePlane은 무료 오픈소스 인보이스 발행 애플리케이션입니다. 이 튜토리얼에서는 FreeBSD 12 시스템에 InvoicePlane을 설치하는 방법을 보여줍니다.
요구 사항
- WebServer(Apache, NGINX). 이 튜토리얼에서는 Nginx를 사용합니다.\n
- MySQL 버전 5.5 이상 또는 동등한 버전의 MariaDB.\n
- 다음 PHP 확장이 설치 및 활성화된 PHP 버전 7.0, 7.1 또는 7.2:\n
- php-gd
- php-해시\n
- php-json
- php-mbstring
- php-mcrypt
- php-mysqli
- php-openssl
- php-recode
- php-xmlrpc
- php-zlib
전제 조건
- FreeBSD 12를 실행하는 서버.\n
- sudo 권한이 있는 루트가 아닌 사용자.\n
초기 단계
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_secure 설치
스크립트를 실행하여 MySQL 보안을 개선하고 MySQL root
사용자의 비밀번호를 설정합니다.
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
루트 사용자로 MySQL 셸에 연결합니다.
sudo mysql -u root -p
# Enter password
빈 MySQL 데이터베이스와 Matomo 사용자를 만들고 사용자 인증 정보를 기억하세요.
CREATE DATABASE dbname;
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
MySQL에서 종료:
exit
dbname
, username
및 password
를 자신의 이름으로 바꾸십시오.
3단계 - acme.shbclient 설치 및 Lets Encrypt 인증서 획득(선택 사항)
HTTPS로 웹 사이트를 보호할 필요는 없지만 사이트 트래픽을 보호하는 것이 좋습니다. Lets Encrypt에서 TLS 인증서를 얻기 위해 Acme.sh 클라이언트를 사용합니다. Acme.sh는 종속성이 없는 Lets Encrypt에서 TLS 인증서를 얻기 위한 순수 UNIX 셸 소프트웨어입니다. 
Acme.sh 다운로드 및 설치:
sudo pkg install -y acme.sh
Acme.sh 버전 확인:
acme.sh --version
# v2.8.2
도메인/호스트 이름에 대한 RSA 및 ECC/ECDSA 인증서 받기:<br>
# 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에 로그인할 수 있습니다.
설치를 보호하려면 설치를 비활성화할 수 있습니다. 이렇게 하려면 DISABLE_SETUP=false
줄을 ipconfig.php
파일에서 DISABLE_SETUP=true
로 바꾸세요.
5단계 - InvoicePlane 설정 완료
이제 InvoicePlane이 설치 및 구성되었으며 웹 설치 마법사에 액세스할 시간입니다.
웹 브라우저를 열고 URL http://example.com을 입력합니다. 다음 페이지로 리디렉션됩니다.
이제 설정 버튼을 클릭하십시오. 다음 페이지가 표시됩니다.
다음으로 언어를 선택하고 계속 버튼을 클릭합니다. 다음 페이지가 표시됩니다.
다음으로 계속 버튼을 클릭합니다. 다음 페이지가 표시됩니다.
여기에서 데이터베이스 세부 정보를 제공하고 다시 시도 버튼을 클릭하십시오. 다음 페이지가 표시됩니다.
이제 계속 버튼을 클릭하십시오. 다음 페이지가 표시됩니다.
이제 계속 버튼을 클릭하십시오. 다음 페이지가 표시됩니다.
이제 필요한 모든 세부 정보를 제공한 다음 계속 버튼을 클릭합니다. 설치가 완료되면 다음 페이지가 표시됩니다.
이제 로그인 버튼을 클릭하여 InvoicePlane 관리에 액세스하십시오.
연결
- https://invoiceplane.com/
- https://github.com/InvoicePlane/InvoicePlane