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
Controlla la versione di Fedora.
cat /etc/fedora-release
# Fedora release 28 (Twenty Eight)
Crea un nuovo account utente non root con sudoaccesso e passa ad esso.
useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe
NOTA : sostituisci johndoecon 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 dnf check-upgrade || sudo dnf upgrade -y
Installa i pacchetti richiesti.
sudo dnf install -y git vim wget curl gcc-c++ make libpng12 libpng12-devel
Per semplicità, disabilitare SELinux e Firewall.
sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld
Installa PHP
Installa PHP e le estensioni PHP richieste.
sudo dnf install -y php-cli php-fpm php-common php-mbstring php-xml php-mysqlnd php-curl php-zip php-intl php-json
Controlla la versione
php --version
# PHP 7.2.7 (cli) (built: Jun 19 2018 14:40:10) ( NTS )
Avviare e abilitare PHP-FPM.
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Installa MariaDB e imposta il database
Installa il server di database MariaDB.
sudo dnf install -y mariadb-server
Controlla la versione
mysql --version
# mysql Ver 15.1 Distrib 10.2.16-MariaDB, for Linux (x86_64) using readline 5.1
Avviare e abilitare MariaDB.
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Esegui lo mysql_secure_installationscript 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
Installa Nginx.
sudo dnf install -y nginx
Controlla la versione
sudo nginx -v
# nginx version: nginx/1.12.1
Avvia e abilita Nginx.
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Esegui sudo vim /etc/nginx/conf.d/monica.confe 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 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;
}
}
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_8.x | sudo bash -
sudo dnf -y install nodejs
Controlla le versioni Node.js e NPM.
node -v && npm -v
# v8.11.3
# 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') === '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
Controlla la versione
composer --version
# Composer version 1.8.0 2018-05-04 11:44:59
Crea una cartella radice del documento vuota in cui verrà installata Monica.
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.11.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.
sudo vim .env
Nota: 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à automaticamente APP_KEYnel .envfile 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 nginx.
sudo chown -R nginx:nginx /var/www/monica
Esegui sudo vim /etc/php-fpm.d/www.confe imposta l'utente e il gruppo su nginx. Inizialmente, sarà impostato su utente e gruppo apache.
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Riavvia 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.