Как установить Monica на CentOS 7

Monica - это система управления личными отношениями с открытым исходным кодом. Думайте об этом как о CRM (популярном инструменте, который используется командами по продажам в корпоративном мире) для ваших друзей или семьи. Его исходный код размещен на GitHub . В этом руководстве мы рассмотрим процесс установки приложения Monica.

Требования

  • Гит
  • NPM (менеджер пакетов узлов)
  • PHP 7.1 или новее
  • MariaDB
  • Nginx
  • Композитор

Прежде чем вы начнете

Проверьте версию CentOS.

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

Создайте новую учетную запись пользователя без полномочий rootsudo и перейдите на нее.

useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe

ПРИМЕЧАНИЕ . Замените johndoeна свое имя пользователя .

Установите часовой пояс.

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Убедитесь, что ваша система обновлена.

sudo yum update -y

Установите необходимые пакеты.

sudo yum install -y git vim wget curl gcc-c++ make libpng-devel

Для простоты отключите SELinux и Firewall.

sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld

Установить PHP

Настройте репозиторий Webtatic YUM.

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Установите PHP и необходимые расширения PHP.

sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-mbstring php72w-xml php72w-mysql php72w-curl php72w-zip php72w-intl

Проверьте версию.

php --version
# PHP 7.2.6 (cli) (built: Jun  2 2018 07:49:42) ( NTS )

Запустите и включите PHP-FPM.

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

Установите MariaDB и настройте базу данных

Создайте файл репо для MariaDB.

sudo vi /etc/yum.repos.d/MariaDB.repo

Заполните файл следующим.

[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Установите MariaDB.

sudo yum install -y MariaDB-server MariaDB-client

Проверьте версию MariaDB.

mysql --version
# mysql  Ver 15.1 Distrib 10.2.16-MariaDB, for Linux (x86_64) using readline 5.1

Запустите и включите сервис MariaDB.

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Запустите mysql_secure_installationскрипт, чтобы повысить безопасность вашей установки MariaDB.

sudo mysql_secure_installation

Войдите в MariaDB как пользователь root.

mysql -u root -p
# Enter password:

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

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

Установите и настройте Nginx

Создайте репозиторий Nginx.

sudo vim /etc/yum.repos.d/nginx_mainline.repo

Заполните его следующим содержанием.

[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=1
enabled=1

Сгенерируйте ключ подписи Nginx.

wget https://nginx.org/keys/nginx_signing.key
sudo rpm --import nginx_signing.key
rm nginx_signing.key

Установите Nginx.

sudo yum install -y nginx

Проверьте версию.

sudo nginx -v
# nginx version: nginx/1.15.0

Запустите и включите Nginx.

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Запустите sudo vim /etc/nginx/conf.d/monica.confи настройте Nginx для Моники.

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

  server_name example.com;
  root /var/www/monica/public/;

  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;
  }
}

Сохраните файл и выйдите.

Протестируйте конфигурацию.

sudo nginx -t

Перезагрузить Nginx.

sudo systemctl reload nginx.service

Установите Node.js и NPM

Установите Node.js.

curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
sudo yum -y install nodejs

Проверьте версии Node.js и npm.

node -v && npm -v
# v10.5.0
# 6.1.0

Установите Composer

Установите Composer.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { 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 --version
# Composer version 1.6.5 2018-05-04 11:44:59

Установите и настройте Монику

Создайте пустую корневую папку для документов, в которую следует установить Monica.

sudo mkdir -p /var/www/monica

Перейдите в корневую папку документа.

cd /var/www/monica

Измените владельца /var/www/monicaпапки на пользователя johndoe.

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

Клонируйте репозиторий Моники к нему.

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

ПРИМЕЧАНИЕ. Найдите последнюю официальную версию на странице релизов на GitHub и обновите номер версии выше до последней версии.

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

cp .env.example .env

Обновите .envфайл в соответствии с вашими потребностями. Не забудьте установить DB_USERNAMEи DB_PASSWORDс настройками, использованными ранее.

Установите все пакеты.

composer install --no-interaction --no-suggest --no-dev --ignore-platform-reqs

Установите все внешние интерфейсы и инструменты, необходимые для компиляции ресурсов.

npm install

Скомпилируйте ресурсы JS и CSS.

npm run production

Создайте ключ приложения. Это автоматически установит APP_KEYправильное значение.

php artisan key:generate

Запустите миграции и заполните папки базы данных и символической ссылки.

php artisan setup:production

Изменить владельца /var/www/monicaкаталога на nginx.

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

Запустите sudo vim /etc/php-fpm.d/www.confи установите пользователя и группу на nginx. Первоначально они будут установлены в apache.

sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx

Рестарт php-fpm.service

sudo systemctl restart php-fpm.service

Установка завершена. Откройте свой домен в веб-браузере и следуйте инструкциям на экране.

Оставить комментарий

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше