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
- Ubuntu Server 18.04 LTS (Bionic Beaver)
- Idiota
- NPM (Node Package Manager)
- PHP 7.1+ o successivo
- MySQL
- nginx
- Compositore
Nota su Git : Git molto probabilmente sarà già installato sul server Ubuntu. In caso contrario, puoi installarlo facilmente eseguendo:sudo apt install -y git
Controlla la versione di Ubuntu.
lsb_release -ds
# Ubuntu 18.04 LTS
Crea un nuovo non-root
account utente con sudo
accesso e passa ad esso.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
NOTA : sostituisci johndoe
con il tuo nome utente .
Imposta il fuso orario.
sudo dpkg-reconfigure tzdata
Assicurati che il tuo sistema sia aggiornato.
sudo apt update && sudo apt upgrade -y
Installa build-essential
e libpng-dev
.
sudo apt install -y build-essential libpng-dev
Installa PHP
Installa PHP 7.2 e le estensioni PHP richieste.
sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mbstring php7.2-xml php7.2-mysql php7.2-curl php7.2-zip php7.2-intl
Controlla la versione
php --version
# PHP 7.2.5-0ubuntu0.18.04.1 (cli) (built: May 9 2018 17:21:02) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.5-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies
Installa MySQL e imposta un database
Installa MySQL.
sudo apt install -y mysql-server
Controlla la versione
mysql --version
# mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using EditLine wrapper
Esegui lo mysql_secure installation
script per migliorare la sicurezza di MySQL e impostare la password per l' root
utente MySQL .
sudo mysql_secure_installation
Connettiti alla shell MySQL come utente root.
sudo mysql -u root -p
# Enter password
Crea un database MySQL e un utente vuoti per Monica e ricorda le credenziali.
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;
Installa Nginx.
sudo apt install -y nginx
Controlla la versione
sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)
Esegui sudo vim /etc/nginx/sites-available/monica.conf
e configura Nginx per Monica.
server {
listen 80;
listen [::]:80;
server_name example.com;
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/php7.2-fpm.sock;
}
}
Salva il file ed esci.
Attiva la nuova monica.conf
configurazione collegando il file alla sites-enabled
directory.
sudo ln -s /etc/nginx/sites-available/monica.conf /etc/nginx/sites-enabled/
Prova la configurazione.
sudo nginx -t
Ricarica Nginx.
sudo systemctl reload nginx.service
Installa Node.js e NPM
Installa Node.js.
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt install -y nodejs
Controlla le versioni Node.js e npm.
node -v && npm -v
# v10.2.1
# 5.6.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.1.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 yarn
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 www-data
.
sudo chown -R www-data:www-data /var/www/monica
Possibile problema: il pacchetto NPM vue-directive-tooltip
ha cambiato la struttura della directory, ma monicahq
config non lo ha ancora modificato (al 09/2019). Per risolvere il problema, è necessario modificare la seguente riga in /var/www/monica/resources/assets/js/app.js
:
import 'vue-directive-tooltip/css/index.css'
to
import 'vue-directive-tooltip/src/css/index.css'
L'installazione è completa. Apri il tuo dominio nel browser Web e segui le istruzioni visualizzate sullo schermo.