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

Как установить Monica Personal Relation Manager на Debian 11


Это руководство существует для этих версий ОС

  • Debian 11 (Bullseye)
  • Debian 10 (Buster)

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

  1. Предпосылки
  2. Установка веб-сервера Nginx
  3. Установка сервера MariaDB
  4. Установка и настройка PHP-FPM 8.1
  5. Настройка базы данных и пользователя MariaDB
  6. Установка Composer
  7. Установка Node.js и Yarn
  8. Установка Monica CRM
  9. Настройка блока сервера Nginx
  10. Завершение
  11. Заключение

Monica CRM — это бесплатная CRM (менеджер по работе с клиентами) с открытым исходным кодом, написанная на PHP. Monica CRM помогает отслеживать личные события, действия, рабочую информацию, контакты, журналы, заметки и многое другое.

Monica CRM предоставляет множество функций, таких как управление контактами и взаимосвязь между контактами, напоминания, действия и управление задачами, базовое ведение журнала, импорт и экспорт данных, загрузка медиафайлов, таких как документы и фотографии, и многое другое. Его можно установить несколькими способами: через Docker, вручную на сервере (VPS) или с помощью PaaS (платформа как услуга).

В этом руководстве вы узнаете, как установить Personal Relationship Manager Monica CRM на сервер Debian 11. Вы также установите и настроите стек LEMP (Nginx, MariaDB, PHP-FPM), установите зависимости PHP через Composer, установите и скомпилируете статические ресурсы с помощью Node.js и Yarn.

Предпосылки

Чтобы это руководство работало, вам понадобится один сервер Debian 11 и настроенный пользователь без полномочий root с правами root или администратора. Кроме того, если вы планируете развертывание в рабочей среде, вам потребуется доменное имя, указывающее на IP-адрес вашего сервера Debian. Кроме того, рекомендуется включить брандмауэр на рабочем сервере Debian.

Установка веб-сервера Nginx

Monica CRM — это веб-приложение, в основном написанное на PHP. Чтобы установить Monica CRM, вы можете использовать веб-сервер, такой как Apache2, Nginx или веб-сервер Caddy.

В этом руководстве вы запустите Monica CRM с веб-сервером Nginx. Итак, теперь вы установите пакеты Nginx на свой сервер Debian.

Перед началом установки пакетов выполните следующую команду apt, чтобы обновить индекс пакетов Debian.

sudo apt update

Теперь установите пакеты Nginx с помощью приведенной ниже команды apt. Когда будет предложено подтвердить установку, введите Y и нажмите ENTER, чтобы продолжить.

sudo apt install nginx

После установки Nginx проверьте службу nginx, чтобы убедиться, что она работает, с помощью приведенной ниже команды systemctl.

sudo systemctl is-enabled nginx
sudo systemctl status nginx

Теперь вы увидите, что служба nginx включена и будет запускаться автоматически при загрузке системы. И статус службы Nginx теперь работает.

Установка сервера MariaDB

Monica CRM поддерживает установку MySQL/MariaDB. Теперь вы установите MariaDB на свой сервер Debian. Вы также защитите развертывание сервера MariaDB с помощью сценария mysql_secure_installation.

Установите сервер MariaDB с помощью приведенной ниже команды apt. Когда будет предложено подтвердить установку, введите Y и нажмите ENTER, чтобы продолжить.

sudo apt install mariadb-server

Если установлена MariaDB, проверьте службу MariaDB и убедитесь, что служба работает. Выполните следующую команду systemctl.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Вы увидите, что сервер MariaDB включен и будет запускаться автоматически при загрузке системы. И текущий статус службы MariaDB работает.

Затем вы защитите развертывание сервера MariaDB с помощью сценария mysql_secure_installation, который предоставляется пакетами MariaDB.

Выполните следующую команду, чтобы начать защиту развертывания MariaDB.

sudo mysql_secure_installation

Вас спросят о нескольких конфигурациях MariaDB:

  • Изменить аутентификацию на unix_socket? ввод н.
  • Изменить корневой пароль MariaDB? введите y для подтверждения, введите новый пароль для вашего сервера MariaDB и повторите пароль.
  • Отключить удаленный вход в систему root? введите y для подтверждения — пользователю root не должно быть разрешено удаленное подключение. Удалить анонимного пользователя? введите y для подтверждения.
  • Удалить тест базы данных по умолчанию? введите y, чтобы подтвердить и удалить тестовую базу данных.
  • Наконец, введите y, чтобы перезагрузить права доступа к таблицам и применить новые изменения.

Теперь сервер MariaDB установлен и защищен.

Установка и настройка PHP-FPM 8.1

Monica CRM — это веб-приложение, основанное на PHP, поэтому вы должны установить пакеты PHP на свой сервер Debian. Для текущей версии Monica CRM требуется как минимум PHP версии 8.1 или новее.

Для системы Debian 11 вы будете устанавливать пакеты PHP 8.1 через сторонний репозиторий. Теперь вы установите PHP-FPM 8.1 через репозиторий sury.org и настроите установку PHP в соответствии с требованиями Monica CRM.

Выполните следующую команду, чтобы добавить репозиторий PHP 8.1 на ваш сервер Debian.

curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x

Теперь вы увидите, что новый репозиторий для PHP 8.1 добавлен, а индекс пакета автоматически обновляется и обновляется.

Затем установите пакеты PHP-FPM 8.1 с помощью приведенной ниже команды apt.

sudo apt install php8.1 php8.1-cli php8.1-fpm php8.1-common php8.1-mbstring php8.1-xml php8.1-mysql php8.1-curl php8.1-zip php8.1-intl php8.1-bcmath php8.1-gd php8.1-gmp php8.1-redis

Введите Y, чтобы подтвердить установку, и нажмите ENTER, чтобы продолжить.

После установки PHP 8.1 отредактируйте файл конфигурации /etc/php/8.1/fpm/php.ini с помощью команды редактора nano.

sudo nano /etc/php/8.1/fpm/php.ini

Измените конфигурацию PHP по умолчанию со следующими настройками.

date.timezone = Europe/Paris
max_execution_time = 130
memory_limit = 256M
post_max_size = 128M
upload_max_filesize = 128M

Сохраните файл и закройте редактор, когда закончите.

Затем перезапустите службу PHP-FPM 8.1, чтобы применить новые изменения с помощью приведенной ниже команды systemctl.

sudo systemctl restart php8.1-fpm

Наконец, запустите следующую команду systemctl, чтобы проверить службу PHP-FPM 8.1 и убедиться, что служба включена и работает.

sudo systemctl is-enabled php8.1-fpm
sudo systemctl status php8.1-fpm

Вы увидите, что PHP-FPM 8.1 включен и будет запускаться автоматически при запуске системы. И текущий статус службы PHP-FPM 8.1 работает.

Теперь стек LEMP установлен и настроен, затем начните создавать новую базу данных и пользователя для Monica CRM.

Настройка базы данных и пользователя MariaDB

Чтобы настроить базу данных MariaDB и пользователя для установки Monica CRM, вы должны войти в оболочку MariaDB.

Войдите в оболочку MariaDB с помощью команды mysql ниже.

sudo mysql -u root -p

Выполните следующие запросы, чтобы создать новую базу данных и пользователя для Monica CRM. В этом руководстве вы создадите новую базу данных monicacrm_db с пользователем MariaDB [адрес электронной почты защищен]. Также не забудьте сменить пароль на новый пароль.

CREATE DATABASE monicacrm_db;
CREATE USER ;
GRANT ALL ON monicacrm_db.* TO 'monica'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

Затем выполните следующий запрос, чтобы проверить права пользователя MariaDB [email .

SHOW GRANTS FOR ;
quit

И вы увидите, что пользователю MariaDB [email  разрешен доступ к базе данных Monica CRM monicacrm_db.

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

После настройки базы данных и пользователя MariaDB вы установите Composer, который будет использоваться для установки PHP-зависимостей для Monica CRM.

Установите Composer с помощью однострочной команды ниже. Эта команда загрузит сценарий установки для Composer и запустит его. Затем установите Composer в папку /usr/bin/composer.

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer

После установки Composer проверьте, используя следующую команду composer. Вы должны увидеть подробную версию Composer и страницу справки о том, как использовать Composer.

sudo -u www-data composer -v

Установка Node.js и Yarn

После установки Composer вы теперь установите Node.js и Yarn. Оба пакета будут использоваться для компиляции статических файлов для Monica CRM. А текущая версия Monica CRM требует как минимум Node.js v16.

Репозиторий Debian по умолчанию предоставляет Node.js v12, поэтому вы установите последнюю версию Node.js через сторонний репозиторий Nodesource.

Выполните следующую команду, чтобы добавить репозиторий Node.js Nodesource. В этом примере вы установите Node.js v16.

curl -fsSL https://deb.nodesource.com/setup_16.x | bash -

Теперь вы увидите, что репозиторий Nodesource добавлен в вашу систему Debian, а индекс пакетов обновлен.

Затем выполните следующую команду, чтобы добавить репозиторий пакетов Yarn в вашу систему.

curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

Теперь обновите и обновите индекс пакетов Debian. Затем установите Node.js и Yarn с помощью следующей команды apt.

sudo apt update
sudo apt install nodejs yarn

Введите y, чтобы подтвердить установку, и нажмите ENTER, чтобы подтвердить и продолжить.

После установки Node.js и Yarn выполните следующую команду, чтобы проверить двоичный файл обоих приложений.

which node
which yarn

Наконец, проверьте версию Node.js и Yarn с помощью следующей команды. В выводе вы увидите установленную версию Node.js и Yarn.

node --version
yarn --version

На этом этапе установлены зависимости пакета для Monica CRM. Затем вы начнете установку Monica CRM, загрузив исходный код, установив зависимости пакета через Composer, а затем скомпилировав статические файлы с помощью Node.js и Yarn.

Установка Моники CRM

Теперь вы приступите к установке Monica CRM. Вы загрузите исходный код, настроите правильное разрешение и владельца, установите зависимости PHP через Composer, установите и сгенерируете статические файлы через Yarn и Node.js, затем сгенерируете ключ приложения и перенесете базу данных для производства.

Перед началом установки убедитесь, что пакет git установлен. Если нет, вы можете установить его с помощью команды apt ниже.

sudo apt install git -y

Теперь переместите рабочий каталог в \/var/www/\ и загрузите исходный код Monica CRM с помощью команды git, как показано ниже. Вы увидите новый каталог \monica\.

cd /var/www/
git clone https://github.com/monicahq/monica.git

Перейдите в каталог \/var/www/monica\ и переместите ветку master на конкретную версию \3.7.0\. Вы можете проверить страницу GitHub Monica CRM, чтобы получить подробные версии Monica CRM.

cd /var/www/monica
git checkout tags/v3.7.0

Затем скопируйте конфигурацию по умолчанию .env.example в .env. Затем измените владельца на www-data.

cp /var/www/monica/.env.example /var/www/monica/.env
sudo chown www-data:www-data /var/www/monica/.env

Отредактируйте файл .env с помощью редактора nano.

nano /var/www/monica/.env

Измените APP_ENV на рабочее, а APP_URL — на доменное имя вашей установки Monica CRM. Затем измените данные базы данных MariaDB на базу данных и пользователя, которых вы создали ранее.

APP_ENV=production
...
APP_URL=https://hwdomain.io/
...
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
...
DB_DATABASE=monica
DB_USERNAME=homestead
DB_PASSWORD=password

Сохраните файл и выйдите из редактора, когда закончите.

Теперь выполните следующую команду, чтобы изменить владельца каталога установки Monica CRM /var/www/monica на пользователя www-data. Затем создайте другой каталог /var/www/.cache и измените владельца на www-data.

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

sudo mkdir -p /var/www/.cache
sudo chown -R www-data:www-data /var/www/.cache

Затем запустите следующую команду композитора, чтобы установить зависимости пакета PHP для Monica CRM.

sudo -u www-data composer install --no-interaction --no-dev

Ниже вы можете увидеть установку зависимостей PHP.

После установки зависимостей вы увидите вывод, подобный следующему:

Затем создайте еще один новый каталог, который будет использоваться для хранения кеша пакетов JavaScript. Затем измените владельца на www-data.

sudo mkdir -p /var/www/.yarn
sudo chown -R www-data:www-data /var/www/.yarn

После этого установите пакеты JavaScript для веб-приложений Monica CRM и сгенерируйте статические файлы для производственной среды с помощью приведенной ниже команды yarn.

sudo -u www-data yarn install
sudo -u www-data yarn run production

Ниже вы можете увидеть процесс загрузки пакетов JavaScript.

Ниже вы можете увидеть процесс при компиляции статических файлов.

Когда статические файлы скомпилированы, вы увидите выходное сообщение, например \Успешно скомпилировано в...\.

Теперь выполните следующую команду, чтобы сгенерировать ключ приложения для Monica CRM. Затем перенесите базу данных для производства. Когда будет предложено подтвердить действие, введите yes и нажмите ENTER, чтобы продолжить.

sudo -u www-data php artisan key:generate
sudo -u www-data php artisan setup:production -v

После переноса базы данных вы увидите вывод, подобный следующему:

Наконец, чтобы завершить настройку Monica CRM, вам также потребуется создать Cronjob. Выполните следующую команду, чтобы создать новый cron для пользователя www-data.

crontab -u www-data -e

Выберите предпочитаемый редактор и попробуйте следующую конфигурацию файла.

* * * * *   /usr/bin/php /var/www/monica/artisan schedule:run >> /dev/null 2>&1

Сохраните файл и выйдите из редактора, когда закончите.

Чтобы обеспечить разрешение каталога установки Monica CRM, выполните следующую команду, чтобы изменить владельца на www-data. Затем измените разрешение каталога storage на 775.

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

На этом вы завершили настройку Monica CRM. затем вы настроите серверный блок Nginx для Monica CRM.

Настройка блока сервера Nginx

Перед настройкой блока сервера Nginx, если ваше доменное имя указывает на IP-адрес сервера, также убедитесь, что у вас уже есть SSL-сертификаты. Если у вас нет сертификатов SSL, вы можете создать бесплатный SSL через Letsencrypt.

Создайте новый файл /etc/nginx/sites-available/monicacrm с помощью редактора nano.

sudo nano /etc/nginx/sites-available/monicacrm

Добавьте конфигурации Nginx ниже. И обязательно измените доменное имя и путь SSL-сертификатов.

server {

    listen 80;
    server_name hwdomain.io;
    return 301 https://$host$request_uri;

}

server {
    listen 443 ssl http2;

    ssl_certificate /etc/letsencrypt/live/hwdomain.io/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/hwdomain.io/private.key;

    server_name hwdomain.io;
    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/php8.1-fpm.sock;
    }
}

Сохраните файл и выйдите из редактора, когда закончите.

Затем выполните следующую команду, чтобы активировать серверный блок Nginx monicacrm. Затем проверьте конфигурацию Nginx, чтобы убедиться, что у вас правильная конфигурация.

sudo ln -s /etc/nginx/sites-available/monicacrm /etc/nginx/sites-enabled/
sudo nginx -t

Если у вас есть правильная конфигурация Nginx, вы должны увидеть выходное сообщение, такое как «Синтаксис в порядке — тест успешно выполнен».

Теперь выполните следующую команду systemctl, чтобы перезапустить службу Nginx и применить новую конфигурацию блока сервера.

sudo systemctl restart nginx

Ваша установка Monica CRM теперь доступна через веб-браузер.

Заканчивать

Откройте веб-браузер и перейдите на доменное имя вашей установки Monica CRM (например, https://hwdomain.io/). При первой настройке вам нужно будет зарегистрировать учетную запись для установки Monica CRM.

Введите подробное имя пользователя, пароль и адрес электронной почты. Затем нажмите Зарегистрироваться.

После того, как пользователь зарегистрируется, вы увидите панель пользователя Monica CRM.

Заключение

В этом руководстве вы установили Monica CRM на сервер Debian 11. Вы также настроили стек LEMP (Nginx, MariaDB и PHP-FPM) на сервере Debian, установили Composer для управления пакетами PHP и установили Node.js и Yarn.

На протяжении всего этого руководства вы установили Monica CRM и защитили ее через соединения HTTPS. Теперь вы можете упорядочивать свои контакты, создавать журналы и отслеживать все важные сведения о ваших контактах.