Monica è un sistema di gestione delle relazioni personali open source. Pensalo come un CRM (uno strumento popolare utilizzato dai team di vendita nel mondo aziendale) per i tuoi amici o familiari. Il suo codice sorgente è ospitato pubblicamente su GitHub . In questa guida, esamineremo il processo di installazione di un'applicazione Monica.
Requisiti
- Idiota
- NPM (Node Package Manager)
- PHP 7.1 o successivo
- MariaDB
- nginx
- Compositore
Prima di iniziare
Controlla la versione di CentOS.
cat /etc/centos-release
# CentOS Linux release 7.5.1804 (Core)
Crea un nuovo account utente non root con sudo
accesso e passa ad esso.
useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe
NOTA : sostituisci johndoe
con il tuo nome utente .
Imposta il fuso orario.
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Assicurati che il tuo sistema sia aggiornato.
sudo yum update -y
Installa i pacchetti richiesti.
sudo yum install -y git vim wget curl gcc-c++ make libpng-devel
Per semplicità, disabilitare SELinux e Firewall.
sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld
Installa PHP
Imposta il repository YUM di Webtatic.
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Installa PHP e le estensioni PHP richieste.
sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-mbstring php72w-xml php72w-mysql php72w-curl php72w-zip php72w-intl
Controlla la versione
php --version
# PHP 7.2.6 (cli) (built: Jun 2 2018 07:49:42) ( NTS )
Avviare e abilitare PHP-FPM.
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Installa MariaDB e imposta il database
Creare il file repo per MariaDB.
sudo vi /etc/yum.repos.d/MariaDB.repo
Popolare il file con il seguente.
[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Installa MariaDB.
sudo yum install -y MariaDB-server MariaDB-client
Controlla la versione di MariaDB.
mysql --version
# mysql Ver 15.1 Distrib 10.2.16-MariaDB, for Linux (x86_64) using readline 5.1
Avviare e abilitare il servizio MariaDB.
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Esegui lo mysql_secure_installation
script per migliorare la sicurezza dell'installazione di MariaDB.
sudo mysql_secure_installation
Accedi a MariaDB come utente root.
mysql -u root -p
# Enter password:
Creare un nuovo database e utente MariaDB e ricordare le credenziali.
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT
Crea il repository Nginx.
sudo vim /etc/yum.repos.d/nginx_mainline.repo
Popolarlo con i seguenti contenuti.
[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=1
enabled=1
Genera la chiave di firma Nginx.
wget https://nginx.org/keys/nginx_signing.key
sudo rpm --import nginx_signing.key
rm nginx_signing.key
Installa Nginx.
sudo yum install -y nginx
Controlla la versione
sudo nginx -v
# nginx version: nginx/1.15.0
Avvia e abilita Nginx.
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Esegui sudo vim /etc/nginx/conf.d/monica.conf
e configura Nginx per 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 il file ed esci.
Prova la configurazione.
sudo nginx -t
Ricarica Nginx.
sudo systemctl reload nginx.service
Installa Node.js e NPM
Installa Node.js.
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
sudo yum -y install nodejs
Controlla le versioni Node.js e npm.
node -v && npm -v
# v10.5.0
# 6.1.0
Installa Composer
Installa 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
Controlla la versione
composer --version
# Composer version 1.6.5 2018-05-04 11:44:59
Crea una cartella radice del documento vuota in cui Monica dovrebbe essere installata.
sudo mkdir -p /var/www/monica
Passare alla cartella principale del documento.
cd /var/www/monica
Cambia la proprietà della /var/www/monica
cartella in utente johndoe
.
sudo chown -R johndoe:johndoe /var/www/monica
Clonare il repository Monica su di esso.
git clone https://github.com/monicahq/monica.git .
git checkout tags/v2.3.1
NOTA: trova l'ultima versione ufficiale nella pagina delle versioni su GitHub e aggiorna il numero di versione sopra alla versione più recente.
Eseguire quanto segue per creare la propria versione delle variabili di ambiente necessarie per il progetto.
cp .env.example .env
Aggiorna il .env
file in base alle tue esigenze specifiche. Non dimenticare di impostare DB_USERNAME
e DB_PASSWORD
con le impostazioni utilizzate in precedenza.
Installa tutti i pacchetti.
composer install --no-interaction --no-suggest --no-dev --ignore-platform-reqs
Installa tutte le dipendenze front-end e gli strumenti necessari per compilare le risorse.
npm install
Compilare le risorse JS e CSS.
npm run production
Genera una chiave dell'applicazione. Questo imposterà APP_KEY
automaticamente il valore corretto.
php artisan key:generate
Esegui le migrazioni e esegui il seeding del database e delle cartelle dei collegamenti simbolici.
php artisan setup:production
Cambia la proprietà della /var/www/monica
directory in nginx
.
sudo chown -R nginx:nginx /var/www/monica
Esegui sudo vim /etc/php-fpm.d/www.conf
e imposta l'utente e il gruppo su nginx
. Inizialmente, saranno impostati su apache
.
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Ricomincia php-fpm.service
sudo systemctl restart php-fpm.service
L'installazione è completa. Apri il tuo dominio nel browser Web e segui le istruzioni visualizzate sullo schermo.