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
- Git
- NPM (gestor de paquets de nodes)
- PHP 7.1 o posterior
- MariaDB
- Nginx
- Compositor
Comproveu la versió de Fedora.
cat /etc/fedora-release
# Fedora release 28 (Twenty Eight)
Creeu un nou compte d'usuari no root amb sudoaccés i canvieu-hi.
useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe
NOTA : Substituïu-lo johndoepel vostre nom d'usuari .
Configura la zona horària.
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Assegureu-vos que el vostre sistema estigui actualitzat.
sudo dnf check-upgrade || sudo dnf upgrade -y
Instal·leu els paquets necessaris.
sudo dnf install -y git vim wget curl gcc-c++ make libpng12 libpng12-devel
Per simplificar, desactiveu SELinux i Firewall.
sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld
Instal·leu PHP
Instal·leu PHP i les extensions PHP necessàries.
sudo dnf install -y php-cli php-fpm php-common php-mbstring php-xml php-mysqlnd php-curl php-zip php-intl php-json
Comproveu la versió.
php --version
# PHP 7.2.7 (cli) (built: Jun 19 2018 14:40:10) ( NTS )
Inicieu i activeu PHP-FPM.
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Instal·leu MariaDB i configureu la base de dades
Instal·leu el servidor de bases de dades MariaDB.
sudo dnf install -y mariadb-server
Comproveu la versió.
mysql --version
# mysql Ver 15.1 Distrib 10.2.16-MariaDB, for Linux (x86_64) using readline 5.1
Inicieu i activeu MariaDB.
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Executeu l' mysql_secure_installationscript per millorar la seguretat de la vostra instal·lació de MariaDB.
sudo mysql_secure_installation
Inicieu sessió a MariaDB com a usuari root.
mysql -u root -p
# Enter password:
Creeu una base de dades i un usuari MariaDB nous i recordeu les credencials.
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT
Instal·leu Nginx.
sudo dnf install -y nginx
Comproveu la versió.
sudo nginx -v
# nginx version: nginx/1.12.1
Inicieu i activeu Nginx.
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Executeu sudo vim /etc/nginx/conf.d/monica.confi configureu Nginx per a 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 unix:/run/php-fpm/www.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
}
}
Desa el fitxer i surt.
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 --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo dnf -y install nodejs
Comproveu les versions de Node.js i NPM.
node -v && npm -v
# v8.11.3
# 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') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { 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.8.0 2018-05-04 11:44:59
Creeu una carpeta arrel del document buida on s'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.11.1
NOTA: Trobeu la darrera versió oficial a la pàgina de versions de GitHub i actualitzeu el número de versió anterior a l'última versió.
Creeu el vostre propi fitxer que contingui les variables d'entorn requerides per la Mònica.
cp .env.example .env
Actualitzeu el .envfitxer segons les vostres necessitats específiques.
sudo vim .env
Nota: No oblideu 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
Compileu els actius JS i CSS.
npm run production
Generar una clau d'aplicació. Això s'establirà APP_KEYal .envfitxer amb el 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 nginx.
sudo chown -R nginx:nginx /var/www/monica
Executeu sudo vim /etc/php-fpm.d/www.confi configureu l'usuari i el grup a nginx. Inicialment, s'establirà com a usuari i grup apache.
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Reinicieu php-fpm.service.
sudo systemctl restart php-fpm.service
La instal·lació s'ha completat. Obriu el vostre domini al vostre navegador web i seguiu les instruccions que es mostren a la pantalla.