웹사이트 검색

CentOS 8에 Monica Personal Relationship Manager를 설치하는 방법


이 페이지에서

  1. 기능
  2. 요구 사항\n
  3. 전제 조건
  4. 초기 단계
  5. 1단계 - PHP 설치
  6. 2단계 - acme.sh 클라이언트 설치 및 Lets Encrypt 인증서 획득(선택 사항)\n
  7. 3단계 - MariaDB 설치 및 Monica용 데이터베이스 만들기
  8. 4단계 - NGINX 설치 및 구성
  9. 5단계 - Node.js 및 npm 설치
  10. 6단계 - Composer 설치
  11. 7단계 - Monica 설치 및 구성
  12. 8단계 - Monica 설치 완료
  13. 링크

Monica는 사랑하는 사람과의 상호 작용을 구성하도록 설계된 오픈 소스 개인 관계 관리(PRM) 웹 애플리케이션입니다. 친구나 가족을 위한 CRM(기업 세계의 영업 팀에서 사용하는 인기 있는 도구)이라고 생각하세요. Monica는 사람들이 친구와 가족에 관한 중요한 모든 것을 추적할 수 있도록 합니다. 그들과 함께하는 활동처럼. 마지막으로 누군가에게 전화를 걸었을 때. 당신이 말한 것. 그것은 당신이 아이들의 이름과 나이를 기억하는 데 도움이 될 것입니다. 또한 한동안 통화하지 않은 사람에게 전화하라고 알려줄 수도 있습니다. 이 튜토리얼은 CentOS 8에서 Monica 설치에 대해 설명합니다.

특징

  • 연락처 추가 및 관리
  • 연락처 간의 관계 정의
  • 알림
  • 생일 자동 알림
  • 지정된 간격으로 미리 알림을 전송하여 연락처와 연락 유지\n
  • 채무 관리
  • 연락처에 메모를 추가하는 기능\n
  • 누군가를 어떻게 만났는지 나타내는 기능
  • 연락처로 수행한 활동 관리\n
  • 작업 관리
  • 선물 관리
  • 주소 관리 및 누군가에게 연락하는 다양한 방법\n
  • 연락처 필드 유형 관리\n
  • 연락 애완동물 관리
  • 기본 저널
  • 하루가 어땠는지 표시하는 기능\n
  • 문서 및 사진 업로드
  • 데이터 내보내기 및 가져오기
  • 연락처를 vCard로 내보내기
  • 맞춤 성별 설정 기능
  • 사용자 지정 활동 유형을 정의하는 기능\n
  • 연락처 즐겨찾기 기능
  • 소셜 미디어 또는 SMS에서 이루어진 대화 추적\n
  • 다중 사용자
  • 연락처를 정리하는 라벨\n
  • 밀착 인화에 표시할 섹션을 정의하는 기능\n
  • 다중 통화\n
  • 다국어
  • 대부분의 데이터를 다루는 API

요구 사항

  • 센트OS 8
  • 힘내\n
  • NPM(노드 패키지 관리자)
  • PHP 버전 7.1 이상
  • MySQL
  • PHP를 지원하는 HTTP 서버(예: Apache, Nginx, Caddy...)\n
  • 작곡가
  • 선택사항: Redis 또는 Beanstalk\n

전제 조건

  • CentOS 8 운영체제.
  • sudo 권한이 있는 루트가 아닌 사용자.\n

초기 단계

CentOS 버전 확인:

cat /etc/centos-release
# CentOS Linux release 8.0.1905 (Core)

시간대 설정:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

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

sudo yum update -y

CentOS 운영체제의 기본 관리에 필요한 몇 가지 필수 패키지를 설치합니다.

sudo yum install -y curl wget vim git unzip socat bash-completion epel-release gcc-c++ make libpng-devel

1단계 - PHP 설치

PHP와 필수 PHP 확장을 설치합니다.

sudo yum install -y php php-cli php-fpm php-common php-mbstring php-xml php-mysqlnd php-curl php-zip php-intl php-bcmath php-gd php-json php-gmp

모듈로 컴파일된 PHP를 표시하려면 다음을 실행할 수 있습니다.

php -m

ctype
curl
exif
fileinfo
. . .
. . .

PHP 버전 확인:

php --version

# PHP 7.2.11-1-(cli) (built: Oct 26 2019 14:14:18) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.11, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.3.11-1~deb10u1, Copyright (c) 1999-2018, by Zend Technologies

PHP-FPM 서비스 시작 및 활성화:

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

2단계 - acme.sh 클라이언트 설치 및 Lets Encrypt 인증서 획득(선택 사항)

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

acme.sh 다운로드 및 설치:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail
source ~/.bashrc
cd ~

acme.sh 버전 확인:

acme.sh --version
# v2.8.2

도메인/호스트 이름에 대한 RSA 및 ECC/ECDSA 인증서 받기:<br>

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

테스트를 위해 가짜 인증서를 원하는 경우 위 명령에 --staging 플래그를 추가할 수 있습니다.

위 명령을 실행하면 인증서가 다음 위치에 있게 됩니다.

  • RSA의 경우: /home/username/example.com 디렉토리.
  • ECC/ECDSA의 경우: /home/username/example.com_ecc 디렉터리.

발급된 인증서를 나열하려면 다음을 실행할 수 있습니다.

acme.sh --list

인증서를 저장할 디렉터리를 만듭니다. /etc/letsencrypt 디렉토리를 사용하겠습니다.

mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

인증서를 /etc/letsencrypt 디렉토리에 설치/복사합니다.

# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"

모든 인증서는 60일마다 자동으로 갱신됩니다.

인증서를 얻은 후 루트 사용자에서 종료하고 일반 sudo 사용자로 돌아갑니다.

exit

3단계 - MariaDB 설치 및 Monica용 데이터베이스 만들기

MariaDB 데이터베이스 서버 설치:

sudo yum install -y mariadb-server

MariaDB 버전을 확인합니다.

mysql --version
# mysql  Ver 15.1 Distrib 10.3.17-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

MariaDB 서비스 시작 및 활성화:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

mysql_secure 설치 스크립트를 실행하여 MariaDB 보안을 개선하고 MariaDB 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

루트 사용자로 MariaDB 셸에 연결합니다.

sudo mysql -u root -p
# Enter password

Monica의 빈 MariaDB 데이터베이스 및 사용자를 만들고 사용자 인증 정보를 기억하세요.

mariadb> CREATE DATABASE dbname;
mariadb> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mariadb> FLUSH PRIVILEGES;

MariaDB에서 종료:

mariadb> exit

dbname, usernamepassword를 귀하의 이름으로 바꿉니다.

4단계 - NGINX 설치 및 구성

Monica는 PHP를 지원하는 대부분의 주요 웹 서버 소프트웨어에서 잘 작동하지만 이 가이드에서는 NGINX를 사용합니다. NGINX보다 선호하는 경우 Apache를 자유롭게 사용하십시오.

NGINX 설치:

sudo yum install -y nginx

NGINX 버전 확인:

sudo nginx -v
# nginx version: nginx/1.14.2

sudo vim /etc/nginx/conf.d/monica.conf 명령을 실행하고 Monica용 NGINX를 구성합니다.

server {
  listen 80;
  listen 443 ssl;

  server_name example.com;
  root /var/www/monica/public/;
# RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
# ECC
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
index index.php; charset utf-8; location ^~ /storage { deny all; } location / { try_files $uri $uri/ /index.php?$query_string; } location ~* \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; include fastcgi_params; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_buffer_size 16k; fastcgi_buffers 4 16k; } }

NGINX 구성 테스트:

sudo nginx -t

NGINX 다시 로드:

sudo systemctl reload nginx.service

5단계 - Node.js 및 npm 설치

Node.js를 설치합니다.

curl --silent --location https://rpm.nodesource.com/setup_12.x | sudo bash -
sudo yum install -y nodejs

Node.js 및 npm 버전 확인:

node -v && npm -v
# v12.13.1
# 6.12.1

6단계 - Composer 설치

작성기 설치:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer

Composer 버전 확인:

composer --version
# Composer version 1.9.1 2019-11-01 17:20:17

7단계 - Monica 설치 및 구성

Monica를 설치해야 하는 빈 문서 루트 폴더를 만듭니다.

sudo mkdir -p /var/www/monica

문서 루트 폴더로 이동합니다.

cd /var/www/monica

/var/www/monica 폴더의 소유권을 사용자 johndoe:로 변경

\johndoe\를 사용자 이름으로 바꾸는 것을 잊지 마십시오.

sudo chown -R johndoe:johndoe /var/www/monica

Monica 리포지토리를 복제합니다.

git clone https://github.com/monicahq/monica.git .
git checkout tags/v2.15.2

참고: 마스터 분기가 항상 안정적이지 않을 수 있으므로 태그가 지정된 Monica 버전을 확인하십시오. Github의 릴리스 페이지에서 최신 공식 버전을 찾아 위의 버전 번호를 최신 릴리스로 업데이트하세요.

프로젝트 실행에 필요한 모든 환경 변수의 버전을 생성하려면 다음을 수행하십시오.

cp .env.example .env

특정 요구 사항에 맞게 .env를 업데이트합니다. 뒤에서 사용되는 설정으로 DB_USERNAMEDB_PASSWORD를 설정하는 것을 잊지 마십시오. 등록 및 알림이 올바르게 작동하려면 메일 서버를 구성해야 합니다.

composer install --no-interaction --no-suggest --no-dev를 실행하여 모든 패키지를 설치합니다.

php artisan key:generate를 실행하여 애플리케이션 키를 생성합니다. 그러면 올바른 값으로 APP_KEY가 자동으로 설정됩니다.

php artisan setup:production -v를 실행하여 마이그레이션을 실행하고 데이터베이스 및 symlink 폴더를 시드하십시오.

적절한 소유권 및 권한을 설정합니다.

sudo chown -R nginx:nginx /var/www/monica
sudo chmod -R 775 /var/www/monica/storage

sudo vim /etc/php-fpm.d/www.conf를 실행하고 사용자 및 그룹을 nginx로 설정합니다. 처음에는 사용자 및 그룹 apache로 설정됩니다.

sudo vim /etc/php-fpm.d/www.conf

php-fpm.service:를 다시 시작합니다.

sudo systemctl restart php-fpm.service

8단계 - Monica 설치 완료

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

이메일 주소, 이름 및 비밀번호를 제공하십시오. 그런 다음 등록 버튼을 클릭하십시오. 다음 페이지에 Monica 대시보드가 표시되어야 합니다.

연결

  • https://www.monicahq.com/
  • https://github.com/monicahq/monica