Requisits
Instal·leu PHP
Instal·leu MySQL i configureu una base de dades
Instal·leu i configureu Nginx
Instal·leu Node.js i NPM
Instal·leu Composer
Instal·la i configura la Mònica
Monica és un sistema de gestió de relacions personals de codi obert. Penseu en això com un CRM (una eina popular utilitzada pels equips de vendes al món corporatiu) per als vostres amics o familiars. El seu codi font està allotjat públicament a GitHub . En aquesta guia, repassarem el procés d'instal·lació d'una aplicació Monica.
Requisits
- Ubuntu Server 18.04 LTS (Bionic Beaver)
- Git
- NPM (gestor de paquets de nodes)
- PHP 7.1+ o posterior
- MySQL
- Nginx
- Compositor
Nota sobre Git : probablement Git ja estigui instal·lat al servidor Ubuntu. En cas que no ho sigui, podeu instal·lar-lo fàcilment executant:sudo apt install -y git
Comproveu la versió d'Ubuntu.
lsb_release -ds
# Ubuntu 18.04 LTS
Creeu un non-rootcompte d'usuari nou amb sudoaccés i canvieu-hi.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
NOTA : Substituïu-lo johndoepel vostre nom d'usuari .
Configura la zona horària.
sudo dpkg-reconfigure tzdata
Assegureu-vos que el vostre sistema estigui actualitzat.
sudo apt update && sudo apt upgrade -y
Instal·lar build-essentiali libpng-dev.
sudo apt install -y build-essential libpng-dev
Instal·leu PHP
Instal·leu PHP 7.2 i les extensions PHP necessàries.
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
Comproveu la versió.
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
Instal·leu MySQL i configureu una base de dades
Instal·leu MySQL.
sudo apt install -y mysql-server
Comproveu la versió.
mysql --version
# mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using EditLine wrapper
Executeu l' mysql_secure installationscript per millorar la seguretat de MySQL i establiu la contrasenya per a l' rootusuari de MySQL .
sudo mysql_secure_installation
Connecteu-vos a l'intèrpret d'ordres de MySQL com a usuari root.
sudo mysql -u root -p
# Enter password
Creeu una base de dades MySQL buida i un usuari per a la Monica i recordeu les credencials.
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;
Instal·leu Nginx.
sudo apt install -y nginx
Comproveu la versió.
sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)
Executeu sudo vim /etc/nginx/sites-available/monica.confi configureu Nginx per a 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;
}
}
Desa el fitxer i surt.
Activeu la nova monica.confconfiguració enllaçant el fitxer al sites-enableddirectori.
sudo ln -s /etc/nginx/sites-available/monica.conf /etc/nginx/sites-enabled/
Proveu la configuració.
sudo nginx -t
Torna a carregar Nginx.
sudo systemctl reload nginx.service
Instal·leu Node.js i NPM
Instal·leu Node.js.
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt install -y nodejs
Comproveu les versions de Node.js i npm.
node -v && npm -v
# v10.2.1
# 5.6.0
Instal·leu Composer
Instal·leu 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
Comproveu la versió.
composer --version
# Composer version 1.6.5 2018-05-04 11:44:59
Creeu una carpeta arrel del document buida on s'hauria d'instal·lar la Mònica.
sudo mkdir -p /var/www/monica
Navegueu a la carpeta arrel del document.
cd /var/www/monica
Canvia la propietat de la /var/www/monicacarpeta a usuari johndoe.
sudo chown -R johndoe:johndoe /var/www/monica
Clonar-hi el dipòsit de Monica.
git clone https://github.com/monicahq/monica.git .
git checkout tags/v2.1.1
NOTA : Trobeu la darrera versió oficial a la pàgina de versions de GitHub i actualitzeu el número de versió anterior a la darrera versió.
Executeu el següent per crear la vostra pròpia versió de les variables d'entorn necessàries per al projecte.
cp .env.example .env
Actualitzeu el .envfitxer segons les vostres necessitats específiques. No us oblideu de configurar DB_USERNAMEi DB_PASSWORDamb els paràmetres utilitzats anteriorment.
Instal·leu tots els paquets.
composer install --no-interaction --no-suggest --no-dev --ignore-platform-reqs
Instal·leu totes les dependències i les eines de front-end necessàries per compilar actius.
npm install yarn
npm install
Compileu els actius JS i CSS.
npm run production
Generar una clau d'aplicació. Això s'establirà APP_KEYal valor correcte automàticament.
php artisan key:generate
Executeu les migracions i inicieu la base de dades i les carpetes d'enllaços simbòlics.
php artisan setup:production
Canvia la propietat del /var/www/monicadirectori a www-data.
sudo chown -R www-data:www-data /var/www/monica
Possible problema: vue-directive-tooltipl'estructura de directoris del paquet NPM ha canviat, però la monicahqconfiguració encara no l'ha canviat (a partir del 09/2019). Per solucionar-ho, /var/www/monica/resources/assets/js/app.jscal canviar la línia següent de:
import 'vue-directive-tooltip/css/index.css'
to
import 'vue-directive-tooltip/src/css/index.css'
La instal·lació s'ha completat. Obriu el vostre domini al vostre navegador web i seguiu les instruccions que es mostren a la pantalla.