웹사이트 검색

FreeBSD 12에서 Nginx와 함께 InvoicePlane을 설치하는 방법


이 페이지에서

  1. 요구 사항\n
  2. 전제 조건
  3. 초기 단계
  4. 1단계 - PHP 및 필요한 PHP 확장 프로그램 설치\n
  5. 2단계 - MySQL 설치
  6. 3단계 - acme.shbclient 설치 및 Lets Encrypt 인증서 획득(선택 사항)\n
  7. 3단계 - NGINX 설치
  8. 4단계 - InvoicePlane 설치
  9. 5단계 - InvoicePlane 설정 완료
  10. 링크

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, usernamepassword를 자신의 이름으로 바꾸십시오.

3단계 - acme.shbclient 설치 및 Lets Encrypt 인증서 획득(선택 사항)

HTTPS로 웹 사이트를 보호할 필요는 없지만 사이트 트래픽을 보호하는 것이 좋습니다. Lets Encrypt에서 TLS 인증서를 얻기 위해 Acme.sh 클라이언트를 사용합니다. Acme.sh는 종속성이 없는 Lets Encrypt에서 TLS 인증서를 얻기 위한 순수 UNIX 셸 소프트웨어입니다.&nbsp

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