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
- Debian 9.x (allungamento)
- Idiota
- NPM (Node Package Manager)
- PHP 7.1+ o successivo
- MySQL
- nginx
- Compositore
Controlla la versione di Debian.
lsb_release -ds
# Debian GNU/Linux 9.4 (stretch)
Crea un nuovo non-rootaccount utente con sudoaccesso e passa ad esso.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
NOTA : sostituisci johndoecon 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
Installare i build-essential, curl, git, apt-transport-https, libpng-devpacchetti.
sudo apt install -y build-essential curl git apt-transport-https libpng-dev
Installa PHP
Aggiungi il repository per le versioni più recenti di PHP.
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update
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 php7.2-bcmath php7.2-gd
Controlla la versione
php --version
# PHP 7.2.5-1+0~20180505045740.21+stretch~1.gbpca2fa6 (cli) (built: May 5 2018 04:57:44) ( 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-1+0~20180505045740.21+stretch~1.gbpca2fa6, Copyright (c) 1999-2018, by Zend Technologies
Installa MySQL e imposta il database
Installa MySQL.
cd /tmp
wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb
rm mysql-apt-config_0.8.10-1_all.deb
sudo apt update
sudo apt install -y mysql-server
Controlla la versione
mysql --version
# mysql Ver 8.0.11 for Linux on x86_64 (MySQL Community Server - GPL)
Esegui lo mysql_secure installationscript per migliorare la sicurezza di MySQL e impostare la password per l' rootutente 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;
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON dbname.* TO username@localhost;
FLUSH PRIVILEGES;
EXIT;
Installa Nginx.
sudo apt install -y nginx
Controlla la versione
sudo nginx -v
# nginx version: nginx/1.10.3
Esegui sudo vim /etc/nginx/sites-available/monica.confe 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.confconfigurazione collegando il file alla sites-enableddirectory.
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/monicacartella 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.
Crea il tuo file contenente le variabili di ambiente richieste da Monica.
cp .env.example .env
Aggiorna il .envfile in base alle tue esigenze specifiche. Non dimenticare di impostare DB_USERNAMEe DB_PASSWORDcon 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_KEYautomaticamente 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/monicadirectory in www-data.
sudo chown -R www-data:www-data /var/www/monica
L'installazione è completa. Apri il tuo dominio nel browser Web e segui le istruzioni visualizzate sullo schermo.