Monica este un sistem open source de management al relațiilor personale. Gândiți-vă la el ca la un CRM (un instrument popular folosit de echipele de vânzări din lumea corporativă) pentru prieteni sau familie. Codul sursă este găzduit public pe GitHub . În acest ghid, vom trece peste procesul de instalare a unei aplicații Monica.
cerinţe
- git
- NPM (Node Package Manager)
- PHP 7.1 sau mai nou
- MariaDB
- Nginx
- Compozitor
Înainte de a începe
Verificați versiunea CentOS.
cat /etc/centos-release
# CentOS Linux release 7.5.1804 (Core)
Creați un nou cont de utilizator non-root cu sudoacces și treceți la acesta.
useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe
NOTĂ : Înlocuiți johndoecu numele de utilizator .
Setați fusul orar.
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Asigurați-vă că sistemul dvs. este actualizat.
sudo yum update -y
Instalați pachetele necesare.
sudo yum install -y git vim wget curl gcc-c++ make libpng-devel
Pentru simplitate, dezactivați SELinux și Firewall.
sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld
Instalați PHP
Configurați repoziția Webtatic YUM.
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Instalați PHP și extensiile PHP necesare.
sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-mbstring php72w-xml php72w-mysql php72w-curl php72w-zip php72w-intl
Verificați versiunea.
php --version
# PHP 7.2.6 (cli) (built: Jun 2 2018 07:49:42) ( NTS )
Porniți și activați PHP-FPM.
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Instalați MariaDB și baza de date de configurare
Creați fișierul repo pentru MariaDB.
sudo vi /etc/yum.repos.d/MariaDB.repo
Populați fișierul cu următoarele.
[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Instalați MariaDB.
sudo yum install -y MariaDB-server MariaDB-client
Verificați versiunea MariaDB.
mysql --version
# mysql Ver 15.1 Distrib 10.2.16-MariaDB, for Linux (x86_64) using readline 5.1
Porniți și activați serviciul MariaDB.
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Rulați mysql_secure_installationscriptul pentru a îmbunătăți securitatea instalării MariaDB.
sudo mysql_secure_installation
Conectați-vă la MariaDB ca utilizator root.
mysql -u root -p
# Enter password:
Creați o nouă bază de date MariaDB și un utilizator și nu uitați de datele de acreditare.
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT
Creați repoziția Nginx.
sudo vim /etc/yum.repos.d/nginx_mainline.repo
Populați-l cu următorul conținut.
[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=1
enabled=1
Generați cheia de semnare Nginx.
wget https://nginx.org/keys/nginx_signing.key
sudo rpm --import nginx_signing.key
rm nginx_signing.key
Instalați Nginx.
sudo yum install -y nginx
Verificați versiunea.
sudo nginx -v
# nginx version: nginx/1.15.0
Porniți și activați Nginx.
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Rulați sudo vim /etc/nginx/conf.d/monica.confși configurați Nginx pentru Monica.
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;
}
}
Salvați fișierul și ieșiți.
Testați configurația.
sudo nginx -t
Reîncărcați Nginx.
sudo systemctl reload nginx.service
Instalați Node.js și NPM
Instalează Node.js.
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
sudo yum -y install nodejs
Verificați versiunile Node.js și npm.
node -v && npm -v
# v10.5.0
# 6.1.0
Instalați Composer
Instalați 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
Verificați versiunea.
composer --version
# Composer version 1.6.5 2018-05-04 11:44:59
Creați un dosar rădăcină document gol unde trebuie instalată Monica.
sudo mkdir -p /var/www/monica
Navigați la folderul rădăcină al documentului.
cd /var/www/monica
Schimbați proprietatea /var/www/monicafolderului la utilizator johndoe.
sudo chown -R johndoe:johndoe /var/www/monica
Clonați depozitul Monica la acesta.
git clone https://github.com/monicahq/monica.git .
git checkout tags/v2.3.1
NOTĂ: Găsiți cea mai recentă versiune oficială pe pagina versiunilor de pe GitHub și actualizați numărul versiunii de mai sus la cea mai recentă versiune.
Executați următoarele pentru a crea propria versiune a variabilelor de mediu necesare proiectului.
cp .env.example .env
Actualizați .envfișierul la nevoile dvs. specifice. Nu uitați să setați DB_USERNAMEși DB_PASSWORDcu setările folosite anterior.
Instalați toate pachetele.
composer install --no-interaction --no-suggest --no-dev --ignore-platform-reqs
Instalați toate dependențele și instrumentele front-end necesare pentru compilarea activelor.
npm install
Compilați activele JS și CSS.
npm run production
Generați o cheie de aplicație. Aceasta se va seta APP_KEYautomat la valoarea corectă.
php artisan key:generate
Executați migrațiile și însemnați baza de date și folderele de link-uri.
php artisan setup:production
Schimbați proprietatea /var/www/monicadirectorului în nginx.
sudo chown -R nginx:nginx /var/www/monica
Rulați sudo vim /etc/php-fpm.d/www.confși setați utilizatorul și grupul la nginx. Inițial, acestea vor fi setate la apache.
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Repornire php-fpm.service
sudo systemctl restart php-fpm.service
Instalarea este completă. Deschideți-vă domeniul în browserul dvs. web și urmați instrucțiunile afișate pe ecran.