Поиск по сайту:

Как установить Monica Personal Relationship Manager на CentOS 8


На этой странице

  1. Функции
  2. Требования
  3. Предпосылки
  4. Начальные шаги
  5. Шаг 1. Установите PHP
  6. Шаг 2. Установите клиент acme.sh и получите сертификат Lets Encrypt (необязательно)
  7. Шаг 3. Установите MariaDB и создайте базу данных для Моники.
  8. Шаг 4. Установите и настройте NGINX
  9. Шаг 5. Установите Node.js и npm
  10. Шаг 6. Установите Composer
  11. Шаг 7. Установите и настройте Monica
  12. Шаг 8. Завершите установку Monica.
  13. Ссылки

Monica — это веб-приложение для управления личными отношениями (PRM) с открытым исходным кодом, предназначенное для организации взаимодействия с вашими близкими. Думайте об этом как о CRM (популярный инструмент, используемый отделами продаж в корпоративном мире) для ваших друзей или семьи. Моника позволяет людям отслеживать все важное о своих друзьях и семье. Как деятельность, которая делается с ними. Когда вы в последний раз кому-то звонили. То, о чем вы говорили. Это поможет вам запомнить имя и возраст детей. Это также может напомнить вам позвонить кому-то, с кем вы давно не разговаривали. В этом руководстве рассматривается установка Monica на CentOS 8.

Функции

  • Добавление контактов и управление ими
  • Определение отношений между контактами
  • Напоминания
  • Автонапоминания о днях рождения
  • Оставайтесь на связи с контактом, отправляя напоминания с заданным интервалом.
  • Управление долгами
  • Возможность добавлять примечания к контакту
  • Возможность указать, как вы познакомились с кем-то
  • Управление действиями с контактом
  • Управление задачами
  • Управление подарками
  • Управление адресами и различные способы связи с кем-либо
  • Управление типами полей контактов
  • Управление контактными животными
  • Базовый журнал
  • Возможность указать, как прошел день
  • Загрузить документы и фотографии
  • Экспорт и импорт данных
  • Экспортировать контакт в формате vCard
  • Возможность устанавливать собственный пол
  • Возможность определять пользовательские типы действий
  • Возможность добавлять контакты в избранное
  • Отслеживание разговоров в социальных сетях или SMS.
  • Несколько пользователей
  • Ярлыки для организации контактов
  • Возможность определить, какой раздел должен отображаться на контактном листе.
  • Мультивалютность
  • Многоязычный
  • API, охватывающий большую часть данных

Требования

  • СентОС 8
  • Гит
  • NPM (диспетчер пакетов узла)
  • PHP версии 7.1 или новее
  • MySQL
  • HTTP-сервер с поддержкой PHP (например, Apache, Nginx, Caddy...)
  • Композитор
  • Необязательно: Redis или Beanstalk.

Предпосылки

  • Операционная система CentOS 8.
  • Пользователь без полномочий root с правами sudo.

Начальные шаги

Проверьте свою версию 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 не обязательно, но это хорошая практика для защиты трафика вашего сайта. Чтобы получить сертификат TLS от Lets Encrypt, мы будем использовать клиент acme.sh. Acme.sh — это простое программное обеспечение оболочки UNIX для получения сертификатов TLS от Lets Encrypt без каких-либо зависимостей.

Загрузите и установите 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 дней.

После получения сертификатов выйдите из-под пользователя root и вернитесь к обычному пользователю sudo:

exit

Шаг 3. Установите MariaDB и создайте базу данных для Моники.

Установите сервер базы данных 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, и установите пароль для пользователя root MariaDB:

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 как пользователь root:

sudo mysql -u root -p
# Enter password

Создайте пустую базу данных MariaDB и пользователя для Monica и запомните учетные данные:

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

Выход из MariaDB:

mariadb> exit

Замените dbname, имя пользователя и пароль своими именами.

Шаг 4 — Установите и настройте NGINX

Monica прекрасно работает с большинством основных программ веб-серверов с поддержкой PHP, но в этом руководстве мы будем использовать 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 для 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 - Установите Композитор

Установить Композитор:

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

Клонируем на него репозиторий моники:

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

ЗАМЕЧАНИЕ. Используйте помеченную версию 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 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