如何在CentOS 8上安装Monica Personal Relationship Manager

如何在CentOS 8上安装Monica Personal Relationship Manager

Monica是一个开放源代码的人际关系管理(PRM)Web应用程序,旨在组织与亲人的互动,可以将其视为CRM(企业界销售团队使用的流行工具),用于您的朋友或家人。人们可以跟踪与朋友和家人有关的所有重要事情,例如与他们进行的活动,上次给某人打电话时所说的话,这将有助于您记住孩子的名字和年龄,还可以提醒您打电话给您一段时间没有聊过的人。本教程将介绍如何在CentOS 8上安装Monica。

特色功能

  • 添加和管理联系人
  • 定义联系人之间的关系
  • 提醒事项
  • 生日自动提醒
  • 通过在给定间隔发送提醒来与联系人保持联系
  • 债务管理
  • 能够为联系人添加注释
  • 能够表明您如何认识某人
  • 与联系人进行的活动管理
  • 任务管理
  • 礼品管理
  • 地址管理以及与他人联系的所有不同方式
  • 联系人字段类型的管理
  • 接触宠物的管理
  • 基础期刊
  • 能够指示一天的过去
  • 上传文件和照片
  • 数据导入导出
  • 将联系人导出为vCard
  • 设置自定义性别的能力
  • 定义自定义活动类型的能力
  • 喜爱联系人的能力
  • 跟踪在社交媒体或SMS上进行的对话
  • 多用户
  • 标签来组织联系人
  • 能够定义应在联系表上显示的部分
  • 多种货币
  • 多国语言
  • 涵盖大部分数据的API

要求条件

  • CentOS的8
  • 吉特
  • NPM(节点程序包管理器)
  • PHP 7.1或更高版本
  • 的MySQL
  • 具有PHP支持的HTTP服务器(例如:Apache,Nginx,Caddy …)
  • 作曲家
  • 可选:Redis或Beanstalk

先决条件

  • 一个CentOS 8操作系统。
  • 具有以下权限的非root用户 sudo 特权。

初步步骤

检查您的CentOS版本:

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

设置时区:

timedatectl list-timezonessudo 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 -mctypecurlexiffileinfo. . .. . .

检查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.servicesudo systemctl enable php-fpm.service

第2步-安装acme.sh客户端并获取“让我们加密”证书(可选)

不必使用HTTPS保护您的站点,但这是保护站点流量的一种很好的做法。要从Let’s Encrypt获得TLS证书,我们将使用acme.sh客户端.Acme.sh是一个简单的UNIX Shell软件,用于获取TLS证书来自Let’s Encrypt的零依赖关系。

下载并安装acme.sh:

sudo su - rootgit clone https://github.com/Neilpang/acme.sh.gitcd acme.sh ./acme.sh --install --accountemail [email protected]source ~/.bashrccd ~

检查acme.sh版本:

acme.sh --version# v2.8.2

取得 RSAECC / ECDSA 您的域/主机名的证书:

# RSA 2048acme.sh --issue --standalone -d example.com --keylength 2048# ECDSAacme.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.comsudo mkdir -p /etc/letsencrypt/example.com_ecc

将证书安装/复制到/ etc / letsencrypt目录。

# RSAacme.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/ECDSAacme.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天自动更新一次。

获得证书后,从root用户退出并返回常规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.servicesudo systemctl enable mariadb.service

mysql_secure installation 脚本以提高MariaDB安全性并为MariaDB设置密码 root 用户:

sudo mysql_secure_installation

回答每个问题:

Would you like to setup VALIDATE PASSWORD plugin? NNew password: your_secure_passwordRe-enter new password: your_secure_passwordRemove anonymous users? [Y/n] YDisallow root login remotely? [Y/n] YRemove test database and access to it? [Y/n] YReload privilege tables now? [Y/n] Y

以root用户身份连接到MariaDB shell:

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的主要Web服务器软件上正常工作,但是在本指南中,我们将使用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 命令和配置NGINX for Monica。

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

安装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.phpphp -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/monicasudo 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安装

现在,打开Web浏览器并输入URL http://example.com,您将被重定向到以下页面:

提供您的电子邮件地址,名称和密码,然后单击注册按钮。您应该在下一页中看到Monica仪表板:

Monica PRM登录

Sidebar