Cách cài đặt Monica Personal Relationship Manager trên Debian 10

theanh

Administrator
Nhân viên
Monica là ứng dụng web Quản lý quan hệ cá nhân (PRM) nguồn mở được thiết kế để sắp xếp các tương tác với những người thân yêu của bạn. Hãy nghĩ về nó như một CRM (một công cụ phổ biến được các nhóm bán hàng trong thế giới doanh nghiệp sử dụng) cho bạn bè hoặc gia đình của bạn.Monica cho phép mọi người theo dõi mọi thứ quan trọng về bạn bè và gia đình của họ. Giống như các hoạt động đã thực hiện với họ. Lần cuối cùng bạn gọi cho ai đó là khi nào. Bạn đã nói về điều gì. Nó sẽ giúp bạn nhớ tên và tuổi của những đứa trẻ. Nó cũng có thể nhắc bạn gọi cho một người mà bạn đã lâu không nói chuyện.

Tính năng​

  • Thêm và quản lý danh bạ
  • Xác định mối quan hệ giữa các danh bạ
  • Nhắc nhở
  • Tự động nhắc nhở sinh nhật
  • Giữ liên lạc với danh bạ bằng cách gửi lời nhắc theo khoảng thời gian nhất định
  • Quản lý nợ
  • Khả năng thêm ghi chú vào danh bạ
  • Khả năng chỉ ra cách bạn đã gặp ai đó
  • Quản lý các hoạt động đã thực hiện với một danh bạ
  • Quản lý nhiệm vụ
  • Quản lý quà tặng
  • Quản lý địa chỉ và tất cả các cách khác nhau để liên hệ với ai đó
  • Quản lý các loại trường danh bạ
  • Quản lý thú cưng trong danh bạ
  • Nhật ký cơ bản
  • Khả năng chỉ ra ngày đã diễn ra như thế nào
  • Tải lên tài liệu và ảnh
  • Xuất và nhập của dữ liệu
  • Xuất danh bạ dưới dạng vCard
  • Khả năng thiết lập giới tính tùy chỉnh
  • Khả năng xác định loại hoạt động tùy chỉnh
  • Khả năng thêm danh bạ yêu thích
  • Theo dõi các cuộc trò chuyện được thực hiện trên phương tiện truyền thông xã hội hoặc SMS
  • Nhiều người dùng
  • Nhãn để sắp xếp danh bạ
  • Khả năng xác định phần nào sẽ xuất hiện trên trang danh bạ
  • Nhiều loại tiền tệ
  • Nhiều ngôn ngữ
  • Một API bao gồm hầu hết dữ liệu

Yêu cầu​

  • Debian 10.x (Buster)
  • Git
  • NPM (Trình quản lý gói nút)
  • Phiên bản PHP 7.1 trở lên
  • MySQL
  • Máy chủ HTTP có hỗ trợ PHP (ví dụ: Apache, Nginx, Caddy...)
  • Composer
  • Tùy chọn: Redis hoặc Beanstalk

Điều kiện tiên quyết​

  • Hệ điều hành ADebian 10 (buster).
  • Người dùng không phải root có quyền sudo.

Các bước ban đầu​

Kiểm tra phiên bản Debian của bạn:
Mã:
lsb_release -ds
# Debian GNU/Linux 10 (buster)
Thiết lập múi giờ:
Mã:
sudo dpkg-reconfigure tzdata
Cập nhật các gói hệ điều hành (phần mềm) của bạn. Đây là bước đầu tiên cần thiết vì nó đảm bảo bạn có các bản cập nhật và bản sửa lỗi bảo mật mới nhất cho các gói phần mềm mặc định của hệ điều hành:
Mã:
sudo apt update && sudo apt upgrade -y
Cài đặt một số gói thiết yếu cần thiết cho việc quản trị cơ bản hệ điều hành Debian:
Mã:
sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https libpng-dev

Bước 1 - Cài đặt PHP​

Cài đặt PHP cũng như các tiện ích mở rộng PHP cần thiết:
Mã:
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
Để hiển thị PHP đã biên dịch trong các mô-đun, bạn có thể chạy:
Mã:
php -m

ctype
curl
exif
fileinfo
. . .
. . .
Kiểm tra phiên bản PHP:
Mã:
php --version

# PHP 7.3.11-1~deb10u1 (cli) (được xây dựng: 26 tháng 10 năm 2019 14:14:18) ( NTS )
# Bản quyền (c) 1997-2018 The PHP Group
# Zend Engine v3.3.11, Bản quyền (c) 1998-2018 Zend Technologies
# với Zend OPcache v7.3.11-1~deb10u1, Bản quyền (c) 1999-2018, của Zend Technologies
Dịch vụ PHP-FPM được tự động khởi động và bật khi khởi động lại trên hệ thống Debian 10, do đó không cần phải khởi động và bật thủ công. Chúng ta có thể chuyển sang bước tiếp theo.

Bước 2 - Cài đặt acme.sh client và lấy chứng chỉ Let's Encrypt (tùy chọn)​

Không nhất thiết phải bảo mật trang web của bạn bằng HTTPS, nhưng đây là một biện pháp tốt để bảo mật lưu lượng truy cập trang web của bạn. Để lấy chứng chỉ TLS từ Let's Encrypt, chúng ta sẽ sử dụng acme.sh client. Acme.sh là phần mềm shell UNIX đơn giản để lấy chứng chỉ TLS từ Let's Encrypt mà không cần bất kỳ sự phụ thuộc nào.

Tải xuống và cài đặt acme.sh:
Mã:
sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
./acme.sh --install --accountemail [emailprotected]
source ~/.bashrc
cd ~
Kiểm tra phiên bản acme.sh:
Mã:
acme.sh --version
# v2.8.2
Lấy chứng chỉ RSAECC/ECDSA cho tên miền/tên máy chủ của bạn:
Mã:
# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256
Nếu bạn muốn có chứng chỉ giả để thử nghiệm, bạn có thể thêm cờ --staging vào các lệnh trên.

Sau khi chạy các lệnh trên, chứng chỉkhóa của bạn sẽ nằm trong:
  • Đối với RSA: thư mục /home/username/example.com.
  • Đối với ECC/ECDSA: Thư mục /home/username/example.com_ecc.
Để liệt kê các chứng chỉ đã cấp, bạn có thể chạy:
Mã:
acme.sh --list
Tạo một thư mục để lưu trữ các chứng chỉ của bạn. Chúng tôi sẽ sử dụng thư mục /etc/letsencrypt.
Mã:
mkdir -p /etc/letsecnrypt/example.com
[ICODE]sudo mkdir -p /etc/letsencrypt/example.com_ecc
Cài đặt/sao chép chứng chỉ vào /etc/letsencrypt thư mục .
Mã:
# 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"
Tất cả các chứng chỉ sẽ được tự động gia hạn sau mỗi 60 ngày.

Sau khi lấy được chứng chỉ, hãy thoát khỏi người dùng root và quay lại người dùng sudo thông thường:
Mã:
exit

Bước 3 - Cài đặt MariaDB và tạo cơ sở dữ liệu cho Monica​

Cài đặt máy chủ cơ sở dữ liệuMariaDB:
Mã:
sudo apt install -y mariadb-server
Kiểm tra phiên bảnMariaDB:
Mã:
mysql --version
#mysql Ver 15.1 Distrib 10.3.17-MariaDB, dành cho debian-linux-gnu (x86_64) bằng readline 5.2
Chạy tập lệnh mysql_secure installation[/ICODE] để cải thiện bảo mậtMariaDB và đặt mật khẩu cho người dùngMariaDB root:
Mã:
sudo mysql_secure_installation
Trả lời từng câu hỏi sau:
Mã:
Bạn có muốn thiết lập plugin VALIDATE PASSWORD? [B]N[/b]
Mật khẩu mới: [B]your_secure_password[/b]
Nhập lại mật khẩu mới: [B]your_secure_password[/b]
Xóa người dùng ẩn danh? [Y/n] [B]Y[/b]
Không cho phép đăng nhập root từ xa? [Y/n] [B]Y[/b]
Xóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? [Y/n] [B]Y[/b]
Tải lại bảng đặc quyền ngay bây giờ? [Y/n] [B]Y[/b]
Kết nối đến shell MariaDB với tư cách là người dùng root:
Mã:
sudo mysql -u root -p
# Nhập mật khẩu
Tạo cơ sở dữ liệu MariaDB trống và người dùng cho Monica và ghi nhớ thông tin đăng nhập:
Mã:
mariadb>CREATE DATABASE dbname;
mariadb>GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mariadb>FLUSH PRIVILEGES;
Thoát khỏi MariaDB:
Mã:
mariadb>exit
Thay thếdbname,usernamepassword bằng tên của bạn.

Bước 4 - Cài đặt và cấu hình NGINX​

Monica sẽ hoạt động tốt với hầu hết các phần mềm máy chủ web chính có hỗ trợ PHP, nhưng trong hướng dẫn này, chúng tôi sẽ sử dụng NGINX. Bạn có thể sử dụng Apache nếu thích hơn NGINX.

Cài đặt NGINX:
Mã:
sudo apt install -y nginx
Kiểm tra phiên bản NGINX:
Mã:
sudo nginx -v
# phiên bản nginx: nginx/1.14.2
Chạy sudo vim /etc/nginx/sites-available/monica.conflệnhvà cấu hình NGINX cho Monica.
Mã:
máy chủ { lắng nghe 80; lắng nghe [::]:80; lắng nghe 443 ssl;
 lắng nghe [::]:443 ssl;

 chứng chỉ ssl /etc/letsencrypt/example.com/fullchain.pem;
 khóa chứng chỉ ssl /etc/letsencrypt/example.com/private.key;
 chứng chỉ ssl /etc/letsencrypt/example.com_ecc/fullchain.pem;
 khóa chứng chỉ ssl /etc/letsencrypt/example.com_ecc/private.key;
 tên máy chủ example.com; gốc /var/www/monica/public; chỉ mục index.php; vị trí / { try_files $uri $uri/ /index.php?$args; } vị trí ~ \.php$ { bao gồm các đoạn mã/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; }}
Kích hoạt cấu hình monica.conf mới bằng cách liên kết tệp đến thư mục sites-enabled:
Mã:
sudo ln -s /etc/nginx/sites-available/monica.conf /etc/nginx/sites-enabled/
Kiểm tra cấu hình NGINX:
Mã:
sudo nginx -t
Tải lại NGINX:
Mã:
sudo systemctl reload nginx.service

Bước 5 - Cài đặt Node.js và npm​

Cài đặt Node.js:
Mã:
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt install -y nodejs
Kiểm tra phiên bản Node.js và npm:
Mã:
node -v && npm -v
# v12.13.0
# 6.12.0

Bước 6 - Cài đặt Composer​

Cài đặt Composer:
Mã:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Đã xác minh trình cài đặt'; } else { echo 'Trình cài đặt bị hỏng'; 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
Kiểm tra phiên bản Composer:
Mã:
composer --version
# Phiên bản Composer 1.9.1 2019-11-01 17:20:17

Bước 7 - Cài đặt và cấu hình Monica​

Tạo một thư mục gốc tài liệu trống nơi Monica sẽ được cài đặt:
Mã:
sudo mkdir -p /var/www/monica
Điều hướng đến thư mục gốc tài liệu:
Mã:
cd /var/www/monica
Thay đổi quyền sở hữu thư mục /var/www/monica thành người dùng johndoe:

Đừng quên thay thế "johndoe" bằng tên người dùng của bạn.
Mã:
sudo chown -R johndoe:johndoe /var/www/monica
Sao chép kho lưu trữ Monica vào đó:
Mã:
git clone https://github.com/monicahq/monica.git .
git checkout tags/v2.15.2
LƯU Ý: Kiểm tra phiên bản được gắn thẻ của Monica vì nhánh chính có thể không phải lúc nào cũng ổn định. Tìm phiên bản chính thức mới nhất trên trang phát hành trên Github và cập nhật lên số phiên bản trên thành bản phát hành mới nhất.

Để tạo phiên bản của tất cả các biến môi trường cần thiết cho dự án hoạt động, hãy chạy:
Mã:
cp .env.example .env
Cập nhật .env theo nhu cầu cụ thể của bạn. Đừng quên đặt DB_USERNAMEDB_PASSWORD với các cài đặt được sử dụng phía sau. Bạn sẽ cần cấu hình máy chủ thư để đăng ký và nhắc nhở hoạt động chính xác.

Chạy composer install --no-interaction --no-suggest --no-dev để cài đặt tất cả các gói.

Chạy php artisan key:generate để tạo khóa ứng dụng.Điều này sẽ tự động đặt APP_KEY với giá trị phù hợp.

Chạy php artisan setup:production -v để chạy các bản di chuyển, tạo hạt giống cho các thư mục cơ sở dữ liệu và liên kết tượng trưng.

Đặt quyền sở hữu và quyền thích hợp:
Mã:
sudo chown -R www-data:www-data /var/www/monica
sudo chmod -R 775 /var/www/monica/storage

Bước 8 - Hoàn tất cài đặt Monica​

Bây giờ, hãy mở trình duyệt web của bạn và nhập URL http://example.com. Bạn sẽ được chuyển hướng đến trang sau:



Cung cấp địa chỉ email, tên và mật khẩu của bạn. Sau đó, nhấp vào nút Đăng ký. Bạn sẽ thấy bảng điều khiển Monica ở trang sau:


Liên kết​

 
Back
Bên trên