技术教程 · 2019年12月5日 0

如何在Debian 10上安装Monica Personal Relationship Manager

Monica是一个开放源代码的个人关系管理(PRM)Web应用程序,旨在组织与您所爱的人的互动。将其视为针对您的朋友或家人的 CRM (CRM)(企业界销售团队使用的一种流行工具)。 Monica允许人们跟踪有关其朋友和家人的所有重要信息。喜欢与他们一起完成的活动。您上次打电话给某人的时间。你在说什么 它将帮助您记住孩子的名字和年龄。它还可以提醒您呼叫您一段时间没有聊天的人。

特征

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

要求

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

先决条件

  • Debian 10(破坏性)操作系统。
  • 具有sudo特权的非root用户。

初步步骤

检查您的Debian版本:

lsb_release -ds
# Debian GNU/Linux 10 (buster)

设置时区:

sudo dpkg-reconfigure tzdata

更新您的操作系统软件包(软件)。这是必不可少的第一步,因为它可以确保您具有操作系统默认软件包的最新更新和安全修复程序:

sudo apt update && sudo apt upgrade -y

安装一些基本软件包,这些软件包对于Debian操作系统的基本管理是必需的:

sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https libpng-dev

第1步-安装PHP

安装PHP以及必需的PHP扩展:

sudo apt install -y php php-cli php-fpm php-common php-mbstring php-xml php-mysql 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.3.11-1~deb10u1 (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服务会在Debian 10系统上自动启动并在重新启动时启用,因此无需手动启动并启用它。我们可以继续下一步。

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

不必使用HTTPS保护您的网站,但这是确保网站流量安全的一种好习惯。为了从Let’s Encrypt获得TLS证书,我们将使用acme.sh客户端。Acme.sh是一个简单的UNIX shell软件,用于以零依赖关系从Let’s Encrypt获得TLS证书。

下载并安装acme.sh:

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

检查acme.sh版本:

acme.sh --version
# v2.8.2

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

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

获得证书后,从root用户退出并返回常规sudo用户:

exit

步骤3-安装MariaDB并为Monica创建数据库

安装  MariaDB数据库服务器:

sudo apt 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

运行mysql_secure installation脚本以提高  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

以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 apt install -y nginx

检查NGINX版本:

sudo nginx -v
# nginx version: nginx/1.14.2

运行sudo vim /etc/nginx/sites-available/monica.conf 命令 并为Monica配置NGINX。

server {
    listen 80;
    listen [::]:80;
    listen 443 ssl;
    listen [::]:443 ssl;

    ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/example.com/private.key;
    ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
    server_name example.com;
    root /var/www/monica/public;

    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
    }
}

monica.conf通过将文件链接到sites-enabled目录来激活新配置:

sudo ln -s /etc/nginx/sites-available/monica.conf /etc/nginx/sites-enabled/

测试NGINX配置:

sudo nginx -t

重新加载NGINX:

sudo systemctl reload nginx.service

第5步-安装Node.js和npm

安装Node.js:

curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt install -y nodejs

检查Node.js和npm版本:

node -v && npm -v
# v12.13.0
# 6.12.0

第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.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

注意:由于master分支可能并不总是稳定的,因此请签出标记版本的Monica。在Github的发行页面上找到最新的正式版本,并将其更新为上述版本号为最新版本。

要创建项目运行所需的所有环境变量的版本,请执行以下操作

cp .env.example .env

更新.env您的特定需求。别忘了进行设置DB_USERNAME以及DB_PASSWORD后面使用的设置。您需要配置 邮件服务器进行注册和提醒才能正常工作。

运行composer install --no-interaction --no-suggest --no-dev以安装所有软件包。

运行php artisan key:generate以生成应用程序密钥。 这将自动设置APP_KEY正确的值。

运行php artisan setup:production -v以运行迁移,为数据库和符号链接文件夹设定种子。

设置适当的所有权和权限:

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

步骤8-完成Monica安装

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

创建一个帐户

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

Monica PRM登录