Monica è un software di gestione delle relazioni personali basato sul Web gratuito e open source scritto nel framework Laravel. Viene utilizzato per tenere traccia di tutti i dettagli importanti sui tuoi amici e familiari. Puoi facilmente aggiungere e gestire i contatti, definire le relazioni tra i contatti, impostare promemoria automatici per i compleanni utilizzando Monica. Puoi anche tenere traccia delle conversazioni effettuate sui social media o tramite SMS utilizzando Monica. Monica ha la capacità di definire quale sezione dovrebbe apparire sul foglio di contatto.
In questo tutorial impareremo come installare Monica PRM sul server Ubuntu 18.04.
Requisiti
- Un server che esegue Ubuntu 18.04.
- È stata impostata una password di root sul tuo server.
Per iniziare
Innanzitutto, dovrai aggiornare il tuo sistema con l'ultima versione. Puoi farlo con il seguente comando:
apt-get update -y
apt-get upgrade -y
Una volta aggiornato il sistema, riavvia il sistema per applicare queste modifiche.
Installa Nginx, MariaDB e PHP
Innanzitutto, dovrai installare Nginx, il server MariaDB, PHP e altri moduli PHP sul tuo server. Puoi installarli tutti eseguendo il seguente comando:
apt-get install nginx mariadb-server 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 git wget unzip -y
Una volta installati tutti i pacchetti, puoi procedere al passaggio successivo.
Configura MariaDB
Per impostazione predefinita, l'installazione di MariaDB non è protetta, quindi dovrai prima proteggerla. Puoi proteggerlo con il seguente comando:
mysql_secure_installation
Enter current password for root (enter for none): Set root password? [Y/n]: N Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
Una volta che MariaDB è sicuro, accedi alla shell di MariaDB con il seguente comando:
mysql -u root -p
Inserisci la tua password di root. Quindi, crea un database e un utente per Monica con il seguente comando:
MariaDB [(none)]> create database monica;
MariaDB [(none)]> create user [email protected] identified by 'password';
Quindi, concedi tutti i privilegi a Monica con il seguente comando:
MariaDB [(none)]> GRANT ALL ON monica.* TO 'monica'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
Quindi, svuota i privilegi ed esci dalla shell MariaDB con il seguente comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Installa Composer e Node.j
Successivamente, dovrai installare Composer sul tuo sistema. Composer è un gestore di pacchetti per il linguaggio di programmazione PHP. Viene utilizzato per installare tutte le dipendenze richieste da PHP.
Innanzitutto, scarica il programma di installazione del compositore con il seguente comando:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Successivamente, dovrai verificare l'integrità dei dati dello script confrontando l'hash SHA-384 dello script con l'ultimo hash del programma di installazione trovato nella pagina della chiave pubblica del compositore. Puoi farlo con il seguente comando:
HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Se tutto andrà bene, dovresti vedere il seguente output:
Installer verified
Quindi, installa Composer con il seguente comando:
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Dovresti vedere il seguente output:
All settings correct for using Composer Downloading... Composer (version 1.8.4) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
Quindi, installa Node.js con il seguente comando:
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt-get install -y nodejs
Installa e configura Monica
Successivamente, dovrai creare una struttura di directory per Monica. Puoi farlo con il seguente comando:
mkdir -p /var/www/monica
Quindi, cambia la directory in monica e scarica l'ultima versione di Monica con il seguente comando:
cd /var/www/monica
git clone https://github.com/monicahq/monica.git .
git checkout tags/v2.1.1
Dovresti vedere il seguente output:
Note: checking out 'tags/v2.1.1'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -bHEAD is now at dcfd15fa Update translations (#1324)
Successivamente, dovrai rinominare il file della variabile di ambiente di esempio. Puoi farlo con il seguente comando:
mv .env.example .env
Quindi, apri il file .env e definisci il tuo database e nome utente:
nano .env
Apporta le seguenti modifiche:
# Database information # To keep this information secure, we urge you to change the default password DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 # You can use mysql unix socket if available, it overrides DB_HOST and DB_PORT values. #DB_UNIX_SOCKET=/var/run/mysqld/mysqld.sock DB_DATABASE=monica DB_USERNAME=monica DB_PASSWORD=password
Quindi, installa tutte le dipendenze PHP richieste usando Composer con il seguente comando:
composer install --no-interaction --no-suggest --no-dev --ignore-platform-reqs
Quindi, installa tutte le dipendenze front-end con il seguente comando:
npm install
Quindi, compila JS e CSS con il seguente comando:
npm run production
Quindi, genera una chiave dell'applicazione con il seguente comando:
php artisan key:generate
Quindi, migra e semina il database con il seguente comando:
php artisan setup:production
Dovresti vedere il seguente output:
You are about to setup and configure Monica. Do you wish to continue? (yes/no) [no]: > yes ----------------------------- | | Welcome to Monica v2.1.1 | ----------------------------- | You can now register to the first account by opening the application: | URL: http://localhost ----------------------------- Setup is done. Have fun.
Quindi, fornisci le autorizzazioni appropriate alla directory monica con il seguente comando:
chown -R www-data:www-data /var/www/monica
Una volta terminato, puoi procedere al passaggio successivo.
Configura Nginx per Monica
Successivamente, dovrai creare un file host virtuale Nginx per Monica. Puoi farlo creando il file monica.conf nella directory/etc/nginx/sites-available/ con il seguente comando:
nano /etc/nginx/sites-available/monica.conf
Aggiungi le seguenti righe:
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 e chiudi il file. Quindi, riavvia il servizio Nginx con il seguente comando:
systemctl restart nginx
Ora puoi controllare lo stato di Nginx con il seguente comando:
systemctl status nginx
Uscita:
? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2019-02-15 10:03:53 UTC; 2min 12s ago Docs: man:nginx(8) Process: 22598 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=killed, signal=TERM) Process: 22612 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 22601 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 22613 (nginx) Tasks: 2 (limit: 1114) CGroup: /system.slice/nginx.service ??22613 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ??22615 nginx: worker process Feb 15 10:03:53 ubuntu1804 systemd[1]: nginx.service: Failed with result 'timeout'. Feb 15 10:03:53 ubuntu1804 systemd[1]: Stopped A high performance web server and a reverse proxy server. Feb 15 10:03:53 ubuntu1804 systemd[1]: Starting A high performance web server and a reverse proxy server... Feb 15 10:03:53 ubuntu1804 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument Feb 15 10:03:53 ubuntu1804 systemd[1]: Started A high performance web server and a reverse proxy server.
Accedi a Monica
Monica è ora installata e configurata. è ora di accedere all'interfaccia web di Monica.
Ora apri il tuo browser web e digita l'URL http://example.com. Verrai reindirizzato alla seguente pagina:
Fornisci il tuo indirizzo email, nome e password. Quindi, fare clic sul pulsante Registrati. Dovresti vedere la dashboard di Monica nella pagina seguente:
Congratulazioni! hai installato con successo Monica sul server Ubuntu 18.04. Ora puoi gestire facilmente i tuoi contatti utilizzando Monica da una posizione centrale. sentiti libero di chiedermi se hai domande.